3月28日の午前、シンガポールの Tech系スタートアップの集まる One Northにある Pixel BuildingでUnity Augumented Reality (AR) with Vuforiaと言うAR講座がありました。今回はその講座のレポートをします。
Unity Vuforia_01

特に、私が現在やっている ARプロジェクトの1つであるマーカー認識AR。そのマーカー画像の認識率を上げたいと思っていたのですが、まさにそのネタをかなりの時間をかけて話してくれました。このブログでも、そのマーカー画像の認識率向上方法をメインに、使われた全スライドを使って紹介していきます。
(その分、ネットによくある情報である、「Vuforiaの特徴」や「Vuforiaの設定方法」の説明は端折ります。)
まず、講師は Unityの Evangelistである Marek Marchlewicz です。彼はその場での質問全てに丁寧に回答してくれましたし、後日 Mailで講座内容の詳細部分を質問したら即日かなり詳しく返答してくれました。とても気の利くNice Guyと言った感じ。
(何度か会ったことのある Unity Field Engineerの Boon Yi Fei もサポートで来ていました。)
Unity Vuforia_02


【Vuforiaの特徴】

AR自体の概要的話から、Vuforiaの特徴まで説明がありました。
例えば、以下のようなVuforiaの認識できるターゲット紹介とか。(基本、ネットなんかでも見たことのある情報です。)
Unity Vuforia_03
Unity Vuforia_04


【Vuforiaの設定方法】

Unity上で Vuforiaを用いてマーカーを認識して3Dモデルを出す、よくある簡単なARの作成説明が行われました。
元々最新版 Unityがインストールされている Laptopを持ってくるように となっていたので、ここで実習的なことが行われると思いきや、スライドの説明をするだけで終わってしまいました。
(実際に試した際に、詳細の設定方法の解説をまた記事にします。)
Unity Vuforia_05

 
【トラッキングの改善法】

ここで、やっと私の一番聞きたかったマーカー画像の認識率の改善方法について。
あまりネットでも見たことない情報もあったので、ここは紹介のあった全スライドを使って詳細まで解説します。

まず、私の主に使っている ARCoreでは%で表される画像認識率に関して。
Vuforiaでは星の数で表現しており、星5つが最高値。ARCore の Augmented Images は75%以上が必要となっています。Vuforiaでは星4or5つは必要とのこと。
Unity Vuforia_06

そして、画像認識に理想的な画像をざっくり説明。

 ・ 細かい部分まで鮮明であること。
 ・ コントラストが強い部分が十分あること。
 ・ 同じような見た目が連続してないこと。
Unity Vuforia_07

これらは ARCoreでもこんな感じですが、このセッションではこれらの詳細を説明してくれました。

まず、マーカーの画像認識では、Feature(特徴点)が多いことが重要です。Featureとは画像を認識するための特徴的な部分であり、Corner や鋭いEdge が それにあたります。
以下のスライドの右側の写真に黄色い部分が Featureとして捉えられています。砂利の写真ですが、石の表面でなく尖った先端などが Featureとなってます。
Unity Vuforia_08

そして、マーカー画像を安定して認識させるには Featureが多いことが必要なわけですが、その Featureは上記した通りRatingの星で表されます。

下の画像の左側は丸っぽい物体の画像で Ratingが最低の星1つです。それに対して、右側は角張って Contrastのある画像では Featureがたくさん検出され、Ratingは最高の星5つとなっています。
正しく画像を認識させるためには、この星が4か5は必要だそうです。
Unity Vuforia_09

より Contrastの強い画像には、より多くの Featureが現れます。少し見えづらいですが、下の画像の一番上の画像は Contrastが弱く Ratingの星3つであり、一番下の画像は よりContrastが強く Ratingは星5つとなっています。

要は、白黒に変換して認識するため Contrastの強さが必要となります。カラー写真の色ではなく、Contrastがとても重要となります。
Unity Vuforia_10

次に、Featureの分布について。Featureは認識すべきマーカー全体に均一に分布しているのがより良いとのこと。

下の図は女性が複雑な形の物を持っています。その複雑な形の物にはかなり多くの Featureがありますが、女性の顔にはあまり Featureがありません。これが、Featureの分布が片寄っていて 良くない例となります。
Unity Vuforia_11

下の風船の画像は、Contrastが無さ過ぎて Featureがない例。
左の画像はカラー画像で、人間の目にははっきりと風船の境目も分かります。それを白黒にすると、右側のようになります。この場合 Contrastが弱い部分が多く、結局 風船と風船の交点にしか Featureが出てきません。
Unity Vuforia_12

次に Repetitive Patternについて。
これは Googleの ARCoreの公式ページにも同じことが書いてありましたが、Vuforiaも連続した画像は苦手です。例えば、同じ形の窓が続くビル、同じ柱が続く建築物とかの画像。人工の建造物にありがちかもしれません。

下の画像では左の画像は同じ模様が連続して付いています。これは星が0。一方、右側の画像は一見同じように見えますが、よく見ると違う模様がたくさん付いてます。こちらは星5つのようです。
Unity Vuforia_13

そして、Tipsとして。マーカー画像が四角形をしてない場合、透明な部分は白で補完して 外側が白色の四角形としてみなすそうです。下の画像のように、左のアメーバのような形の画像は、透明部分を白で補完し、右側のような四角い画像として認識処理を行うとのこと。
Unity Vuforia_14

画像ファイルの物理的な特性に関しても説明。

 ・ 適切なサイズにプリントすること。
  (ARCoreではプリントしなくても、モニタ上の画像でも認識できます。
   Vuforiaもプリントまでしなくてもテストはできるかと思います。)
 ・ 曲がったりしてない平面にプリントしてある必要がある。
  (ちょっとくらいは大丈夫かと思います。)
 ・ 光を反射するよな光沢のあるような表面は避けること。
Unity Vuforia_15


【おまけ:会場の Pixel Building】

会場となった施設は、シンガポールの中心からは少し離れて Tech系スタートアップ企業が多く集まる One Northにある Pixel Building。この施設は シンガポール政府の IMDA により Infocomm-Media 分野の開発支援のために設立されました。
多くの小規模なスタートアップ起業が入居しており、イベントを行う共用スペースなども完備しています。多くの High-Tech系のイベントをよくやっています。

Pixel Buildingの外からの様子と、当日の会場の様子。
Unity Vuforia_16

Unity Vuforia_17



Sponsored Link