目次
はじめに
こんにちは。NEXTSCAPE HoloLensチームの髙木です。
今回はHoloLens2によるQRコード認識について、調査・検証した結果を紹介します。
なお、本記事は2回に分けて投稿します。今回は概要編、次回は検証編となります。
当社でもQRコードを使用するHoloLens2アプリを開発する機会は多くあり、もう慣れたものだと思っていた私ですが、あらためて調査・検証を行ってみると、知らなかったことや新しい発見があるものですね。。
ですので、「もう知ってるよ」という方も読んでいただくと新しい発見を得られるかもしれません。
HoloLens2アプリでQRコードを使用する方法
HoloLens2でQRコードを扱ったことが無い方向けに記載しておきます。
- HoloLens2向けのアプリでQRコードを認識させるためには、QRコード認識用パッケージの導入が必要となります
- 以下のNugetパッケージから導入できます。
- パッケージの導入後、QRコードの追跡を行うコードを実装する必要があります。
- 実装方法は以下のドキュメントでガイドされています
- QRコードの追跡の実装ガイド(Microsoft)
- 追跡処理が実装済のサンプルプロジェクトも提供されていますので、まずは実際に動かしてみてからコードを追うと理解が深まるかと思います。
QRコードから得られる情報としては、QRコードのコンテンツ、QRコードのサイズ・位置・姿勢情報等があります。
そのため、一般的なQRコードのようにデータを取得したり物を識別するような用途でも使えますが、HoloLensアプリの位置合わせを行うマーカーとして使用する事もできるため、非常に有用です。
QRコード認識に関するベストプラクティス
- 以下のドキュメントに、Microsoft社が推奨するHoloLensでのQRコードの使用方法が掲載されています
- ざっくりと読んでみると以下のような内容です。
1. QRコードの余白に関する要件
- 四辺方向それぞれに、QRコード内の小さな四角形4つ分の余白が必要です
- こちらは、HoloLensに関係なく、QRコード自体の仕様のようです。
2. 照明と背景に関する要件
- 照明が明るい場所 または 背景色が暗い場所
- 灰色の背景に黒いQRコードを印字したものを使用します
- 上記以外
- 白背景に黒いQRコードを印字したもの(通常のQRコード)を使用します
3. QRコードのサイズに関する要件
- QRコードの一辺が最低でも5cm以上である事が必要です
- 5cm未満では、認識できません
4. QRコードとカメラの距離、角度に関する要件
- 一辺が10cm未満のQRコードの場合、かなり近くからスキャンする必要があります
- 10~25cmのバージョン1のQRコード(21×21px)の場合、最小検出距離は0.15~0.5メートルとなります
- サイズに比例して、検出可能な距離は長くなります
- QRコードのバージョンが上がる(ピクセルが細かくなる)ほど、検出可能な距離は短くなります
5. ロゴ入りのQRコードについて
- テストされていないため、サポート対象外です
- ※サポート外とは言うものの認識はしてくれました。
6. QRコード情報の保持について
- QRコードの認識情報はOSのドライバレベルで管理され、OSが再起動されるまで保持されます
おわりに
今回は、ここまでです。
次回は、検証編として環境条件に応じたQRコード認識を実際にテストした結果をご紹介しますので、お楽しみに。