画像トラッキングの詳しい説明と最適なマーカーを選択する方法
Kudan 画像トラッカーでマーカーとして使用する画像を選択する場合、信頼性の高い検出と滑らかなトラッキングを保証するため、いくつか考慮すべき点があります。
画像トラッカーは、リッチなハイテクスチャ画像で使用すると効果的です。そのため、太線やブロックのようなデザインではなく、ディテールを多く含むマーカーが適しています。太線やブロックのようなデザインは認識されにくい局所領域を持つため、検出が困難になります。
例えば、次のマーカー (図 1) は綺麗な太線ですが、トラッカーがラッチできるポイントが少ないため (図 2)、検出が非常に困難になります。これらの画像では、マーカー (上) とカメラ画像 (下) の間で一致する点を青で示しています。最終的に承認された一致点は緑で示しています。1 つ目の例では、マーカーのディテールが不足しているため、検出できません:
図 1. 大きなブロック デザインを含む不適切なマーカー
図 2. 非常に大きくディテールの少ないコンテンツは検出が困難
次のマーカー (図 3) は最初のマーカーと似ていますが、いくつかのディテールが追加されており、問題なく検出できます。図 4 に示すように、緑の一致線が大幅に増加し、マーカーとカメラ画像の正しい関係を示しています:
図 3. ディテールを追加したマーカー
図 4. ディテールの追加によりマーカーが検出されやすくなる
画像トラッカーが、マーカーとカメラ画像の間で一致する領域のセットを見つけるだけでは不十分です。画像トラッカーは、これらの一致点の中で一貫したジオメトリ関係を見つける必要があります。外観とジオメトリが一致するする必要があることから検出ミスを防ぐことができますが、同時に、反復パターンや自己相似部分があるマーカーは適していないことを意味します。画像の異なる場所にある類似パターンが混同して、マーカー位置を特定するのが難しくなり、検出が困難になります。例えば、次のマーカー (図 5) のそれぞれの要素は簡単に認識できますが、各要素を区別できないため検出されません。図 6 の青い線は、同じ形の異なるインスタンス間における一致の可能性を示していますが、一貫したパターンが検出されません:
図 5. 反復要素により検出が困難なマーカー
図 6. それぞれの画像要素は一致するが一貫したジオメトリが見つからない
ブロック デザインや反復パターンといった上記の 2 つの問題は、グリッドやその他のシンプルな反復デザインをマーカーとして使用する場合、図 7 のように画像にその他の要素が含まれていても、全くトラッキングできない可能性があります (図 8):
図 7. グリッドやその他のシンプルな反復デザインのマーカーは検出が困難
図 8. ディテールが含まれていても自己相似グリッドによって検出が妨げられる
画像トラッカーの長所の 1 つは、スケールの変化に対処できることです。つまり、マーカーを近くからでも、遠くからでも識別できます。そのためには、画像コンテンツはさまざまなスケールで認識可能なものでなければなりません。ディテールのみで構成されるマーカーは、画像の要素を遠くから認識できないため、検出されません。例えば、このテキストのみのマーカー (図 9) は、テキストがはっきりと見えるとても近い距離であれば信頼性の高い検出ができますが、やや遠くからでは解像度不足により認識できません (図 10):
図 9. 特定の距離で検出可能なディテールのみを含むマーカー
図 10. このマーカーはディテールが不明瞭になるため遠くからは検出できない
検出が成功すれば、トラッキング段階ではローカルで一致点を探すため、反復パターンがあっても問題になりません。しかし、マーカーが大きなスケールでディテールを持っていない場合は、問題になります。一部のスケールで十分なディテールが見えない場合、ある距離から見たり、高速モーションやカメラのフォーカスがぼやけたりすると、ポーズが不安定になることがあります。次の例に示すように、特定の小さなスケールでのみ見えるディテールを含むマーカー (図 11) は、カメラ画像がぼやけるとトラッキングできません (図 12):
図 11. 小さなスケールの特徴のみを含むマーカーはトラッキングの信頼性を低下させる
図 12. 画像がぼやけると小さなスケールのコンテンツは失われてしまうので、大きなスケールでディテールがない場合はトラッキングが困難
大きなスケールで認識可能なディテールを追加したマーカー (図 13) は、ぼやけた状態でもより正確なポーズを検出します (図 14):
図 13. さまざまなスケールでディテールを含むマーカーはトラッキングの信頼性を向上させる
図 14. さまざまなスケールでディテールを含むマーカーは、画像がぼやけていても大きなスケールの特徴が見えるためトラッキングできる
正確にトラッキング可能なマーカーのもう 1 つの条件は、テクスチャが全体に均一に分布されていることです。すべてのディテールがマーカーの片側に集中している場合、そちら側の点は正確にトラッキングできますが、反対側に固定するためのテクスチャがないため、ポーズは不安定になります。不安定なポーズは、マーカーの動きに合わせて一致点を探すのが難しいため、トラッキングが正常に動作しない可能性があります。例えば、下記のマーカー (図 15) は片側にテクスチャが集中しています。このマーカーは簡単に検出できますが、トラッキングに使用できるテクスチャが右側に存在しないため、最終的なポーズの推定が大きく異なる場合があります (図 16):
図 15. コンテンツの分布が均一でないとトラッキングが不安定になる
図 16. マーカーの右側にコンテンツがないためトラッカーは全体のポーズを特定できない
画像全体に同じようなディテールを追加することで (図 17)、激しい動きの中でも位置を特定できるようになります (図 18):
図 17. コンテンツが画像全体に分布されたマーカーのほうが正確にトラッキングできる
図 18. マーカー全体にディテールを分布することで困難な状況でも正確なポーズが得られる
最後に、検出とトラッキングのためにマーカーが持つべき要素は、画像強度における適切なコントラストです。コントラストが高いと、検出とトラッキングの際に画像の各パーツを認識しやすくなり、異なる照明条件下でより安定したポーズを実現できます。このマーカー (図 19) は検出が難しく、マーカー画像自体には十分なディテールがあっても (図 20 の上)、カメラから捉えたマーカー画像では十分なコントラストが存在しません (図 20 の下):
図 19. コントラストが低いマーカーは検出とトラッキングが困難
図 20. カメラを通した画像に十分なディテールがないため、コントラストが低いマーカーは検出できない
もう 1 つの問題は、色の違いによりマーカーのコントラストが高いように見える場合です。ソフトウェアでは色に関する情報が使用されないため、グレースケールに変換すると一部のディテールがはっきり見えなくなる場合があります。例えば、次のマーカー (図 21) のコントラストは非常に高く見えますが、検出された画像 (図 22) は実用的ではありません:
図 21. 色の違いによりコントラストが高く見えるマーカーはグレースケールではコントラストが乏しくなることがある
図 22. 鮮明な色を使用していてもグレースケールのコントラストが低すぎて検出できないマーカー
一方で、同じパターンをさまざまな色調のグレーでレンダリングすると (図 23)、問題なく検出およびトラッキングできるようになります (図 24):
図 23. 図 21 と同じパターンのマーカー
図 24. 図 21 とは異なり、グレースケールのコントラストが高いこのマーカーは容易に検出可能
ここで紹介したのはすべて一般的なガイドラインです。一部の条件下では、これらのガイドラインに沿わない場合でもマーカーが正常に機能することがあります。特定の画像がマーカーに適しているかどうかを判断する最適な方法は、意図するアプリケーションでテストしてみることです。マーカー画像を選択、デザインする際に上記のガイドラインを考慮することで、Kudan の画像トラッカーで最適なパフォーマンスを得ることができます。