一覧に戻る

物体認識で使用する最適な物体と動画ファイルの撮影方法

2017.07.25技術系記事

はじめに

Wikitude SDKの物体認識機能では、認識対象である物体の3Dマップデータが必要です。3Dマップデータの作成にはソースとして、動画ファイルを使用します。 今回は、3Dマップデータの作成に最適な入力用動画ファイルを撮影する際に考慮すべきポイントについて説明します。
入力用動画ファイルから、高品質な物体の3Dマップデータを作成するには、2つのことを考慮する必要があります。

認識に最適な物体とは

ひとつめは認識対象とする物体そのものです。 物体認識機能に適した物体を使用することは物体認識機能がより良いパフォーマンスを発揮するために非常に重要な要素となります。 具体的には下記の条件を満たす物体が最適な物体ということができます。

  1. はっきりと見える程度で影がささないこと。
  2. 表面が反射する構造でないこと。
  3. シーン内に他の物体が映りこまないこと。
  4. どのような状況下でも、形状の変化がほとんどないこと。
  5. 大きすぎない物体であること。1.5メートルぐらいまでのスケールであることが好ましい。

よくない例

対象の物体を選定するうえで、よくある間違いは、反復パターンのテクスチャを持つ物体を使用することです。 以下の動画で使用されている人形とヘルメットは、エッジとコーナーがはっきりしない反復パターンをテクスチャに持つため、物体認識では不適切な物体のイチ例です。

 

また、このブタの貯金箱のように、表面が反射する構造の物体も不適切なものになります。

この象の置物はテクスチャ自体は物体認識に適したものになっていますが、表面が反射しているため、トータルで物体認識では高いパフォーマンスを発揮することができません。

最後に、小さすぎる物体を使用することも、認識プロセスには適していません。 この物体のテクスチャは反復パターンでなく、特徴点を抽出しやすいものに思えます。また、表面構造も反射が抑えられたものになっているため、最適な物体のイチ例のように思えますが、この物体の大きさではスケールが小さすぎるため、物体のトラッキングを行うのが非常に困難になります。 撮影時にズームインしたとしても、実際に物体をトラッキングしようとすると、満足な結果を得られません。

選定した物体が物体認識に適しているかわからない場合は、実際に動画を撮影しStudio Managerでオブジェクトターゲットを作成してみてください。そうすると、物体が適しているか星印のレーティングで確認することもできますし、物体のマップデータを確認することもできます。 たとえば、下の人形を撮影した動画をStudio Managerにアップロードすると、この画像が生成されましたが、3Dマップデータを見ると、その特徴点があまりないということがわかります。

最適な動画ファイルの撮影方法とは

最適な物体を選定したら、3Dデータマップを作成するために、動画ファイルを撮影します。 この撮影では下記の点に注意する必要があります。

  1. 撮影は十分な照明条件下で行ってください。物体を均等に照らす間接照明が理想的です。
  2. 撮影時のカメラワークも重要です。カメラを滑らかに動かすことをお勧めします。 速い動きは、3Dマップデータの品質に悪影響を与える可能性があります。
  3. 実際に物体が認識されるべきすべての視点および距離から撮影されている必要があります。

動画を撮影する最善のプロセスは下記のとおりです。
なお、この撮影プロセスは、物体を全方位からの認識を行う必要がある場合のものになります。認識し、トラッキングする視点に基づいてプロセスを調整してください。

  1. 物体の水平方向を撮影します。
  2. そのまま、物体の水平方向を全角度から撮影します。この時、カメラは滑らかにゆっくり動かす必要があります。
  3. 最後に、垂直方向物体の上から撮影します。

さいごに

物体認識機能で、良いパフォーマンスを発揮できる物体の例をご紹介します。 この物体は、テクスチャにエッジとコーナーが理想的に分布しています。 さらに、物体のスケールも小さすぎず大きすぎず、この動画で撮影した動画ファイルをStudio Managerにアップロードすると完璧なオブジェクトターゲットが作成されます。

この内容を参考に、ぜひSDK 7の目玉機能である物体認識をお試しください。