【Kudan】What Makes a Good Marker?【和訳】

2018年07月29日

良いマーカーの条件とは?
画像トラッキングについての詳細と、最良のマーカーを選ぶ方法

Kudanのマーカーとして使用する画像を選ぶ際、確実な検知とスムーズなトラッキングを確保するために、気をつけるべきことがいくつかあります。

画像トラッキングは、情報が多く、細かいテクスチャに富んだ画像を処理するときに一番良く動作します。
ですので、マーカーには多くの特徴を含めるほうが良いです。太い線とか、面からなるデザインでは、狭い範囲での認識が難しく、マーカーの検知が難しくなります。

例えば、次のマーカー(Fig. 1)は素敵な太い線でできていますが、トラッキングの手がかりとなる箇所が少ないため、検知が難しくなっています。(Fig. 2)この画像では、マーカー(上)と、カメラ画像(下)の特徴的な点が一致する箇所が青で示されています。
最終的にマーカーと合致すると判定された箇所が緑で示されていますが、この例では、マーカーの検知に十分な数がなく、検知されません。

Fig. 1. スケールが大きく面的な特徴しかない、情報量の少ないマーカー

Fig. 2. 情報量が少ない部分が大部分を占めると、マーカーは検知が難しくなる

次のマーカー(Fig. 3)は、少し詳細となる情報を足しただけで大体同じですが、検知は問題なくできます。(Fig. 4 – 緑の線が多数を占めており、マーカーとカメラ画像が正しく対応しているのが分かります)

Fig. 3. 詳細を追加することでより良いマーカーになる

Fig. 4. 追加した詳細により、このマーカーの検知がよりしやすくなる

画像トラッキングには、マーカーとカメラ画像の一致する部分を見つけるだけでは不十分です。それらの一致の幾何学的に一貫した対応も見つける必要があります。これは誤った検出を減らす(見た目と配置の一致が必要なため)一方で、繰り返しのパターンや、似たような部分があるマーカーは良くない、ということにもなります。

同じようなパターンが画像の複数箇所にあると、それぞれが混同されてしまい、マーカーがどこにあるのかを把握するのが難しくなり、また、複雑な状況での検知が難しくなります。
例として、次のマーカー(Fig. 5)の一つ一つの要素は簡単に認識できますが、検知処理ではそれぞれを区別できず(Fig. 6)、マーカーは検知されません(青の線が同じ形同士で一致する可能性を示していますが、一貫したパターンは見つけられませんでした)

Fig. 5. 繰り返しの要素からなる、検知が難しいマーカー

Fig. 6. 個々の要素は一致するが、繰り返しにより、幾何学的な一致はうまくいかない

上記の2つの問題(面的なデザインと繰り返しのパターン)から、グリッドや、シンプルな繰り返しを含むデザインは、トラッキング処理では完全に見逃してしまうでしょう。
次のマーカー(Fig. 7)では、視界の中にマーカー以外のものが少ない場合であっても、検知に失敗しています。(Fig. 8)

Fig. 7. グリッドや、シンプルな繰り返しを含むマーカーは検知が難しい

Fig. 8. 特徴は多くあるが、自己類似するグリッドにより検知が妨げられる

画像トラッキング処理の強みの一つとして、スケールの変化に対応できるということがあります。つまり、マーカーは近くでも遠くでも特定できるということです。
これがうまくいくためには、広い範囲の距離で見える画像が必要で、細かい特徴しかないマーカーは遠くからでは検知できません。なぜならば、認識できる要素が、離れた場所からでは特定することが難しいからです。
例えば、文字だけのマーカーは、文字がくっきり見えるような近距離では確実に検知されますが(Fig. 9)、少し離れたところからでは、認識するために十分な解像度が得られません。(Fig. 10)

Fig. 9. 特定の距離からしか検知できないような、細かい特徴しかないマーカー

Fig. 10. このマーカーは、距離が離れると、大部分を占めている細かい特徴が区別でできなくなり、検知が難しい

検知に成功したとすれば、トラッキングの段階では繰り返しのパターンは問題になりません(一部分の一致しかチェックしません)。しかし、マーカーが、十分な距離の範囲での特徴を持っていない場合はやはり問題となります。
ある距離で十分な詳細が見えない場合、距離があったり、(カメラのブレやフォーカスにより)ボケた際に表示が不安定になります。
次の例で示します。単一の小さいスケールでの特徴からなるマーカー(Fig. 11)ではカメラ画像がボケた際にトラッキングに問題が発生します。

Fig. 11. 小さいスケールでの特徴からなるマーカーは、しっかりとしたトラッキングができない

Fig. 12. 大きいスケールでの特徴がない場合、小さいスケールの内容は画像がボケた際に見失われてしまい、トラッキングが難しくなる

一方、ほぼ同じマーカーに大きいスケールの特徴を追加したもの(Fig. 13)では、画像がボケてもより正しい表示を保っています。

Fig. 13. 幅広いスケールの詳細を持つマーカーはよりしっかりとトラッキングできる

Fig. 14. 幅広いスケールの詳細を持つマーカーは、画像がボケても、大きいスケールの特徴がまだ見えるため、うまくトラッキングできる

良いマーカーのもう一つの基準として、テクスチャが十分に分散していることがあります。もし全部の特徴が片方に集中していると、そちらの端はうまくトラッキングできますが、もう片方の端を固定するものがないため、表示が不安定になります。
表示が不安定になると、トラッキングに失敗しやすくなります。なぜなら、マーカーが動くにつれて一致させることが難しくなるからです。
例として、片側の一部にテクスチャの多いマーカー(Fig. 15)を考えてみます。
検知は簡単にできますが、右側にはトラッキングで使えるものがないため、表示の結果はかなりずれやすくなります。(Fig. 16)

Fig. 15. 内容があまり分散していないマーカーはトラッキングが不安定になりうる

Fig. 16. マーカーの右側に内容がないため、トラッキングでうまく表示するのが難しい

同じマーカーに、残りの領域にも同じように特徴を追加することで、問題は解決します(Fig. 17)。これなら、動きがあってもトラッキングで画像全体を位置の測定に使えます。

Fig. 17. 画像全体に内容があるマーカーはより良いトラッキングが可能となる

Fig. 18. マーカー全体に特徴が分散していれば、難しい状況でもトラッキングで良い結果が得られる

最後に、検知とトラッキングの両方において、マーカーが持っておくと良い属性は、画像の強度に良好なコントラストがあることです。
コントラストが高いと、検知とトラッキングの両方で、画像のパーツを認識しやすくなり、異なる照明の環境で安定しやすくなります。
このマーカー(Fig. 19)は、検知する際に問題があります。マーカー画像そのものには十分に特徴がありますが(Fig. 20, 上)、カメラ画像に映るマーカー画像は同じ特徴をとらえるのに十分なコントラストがありません(Fig. 20, 下)。

Fig. 19. コントラストの低いマーカーは検知とトラッキングが難しくなる

Fig. 20. コントラストの低いこのマーカーは、カメラで十分な特徴がとらえられないため、検知できない

さらに微妙な問題は、マーカーがコントラストが高く見えても、そのコントラストが色の違いによるものである場合です。色情報はこのソフトウェアでは利用されず、グレースケールに変換されたときに、画像の特徴が捉えにくくなる場合があります。
例として、次のマーカー(Fig. 20)はコントラストが高く見えますが、一方で検知処理でとらえる画像(Fig. 22)では、実際には使用するのが難しいことが分かります。

Fig. 21. 色の違いによりコントラストが高いが、グレースケールではコントラストが低いマーカー

Fig. 22. このマーカーはグレースケールではコントラストが低く(非常に明確な色があるにもかかわらず)、検知できない

一方、同じパターンを非常に異なるグレーの色合いに変換したもの(Fig. 23)は、問題ありません(Fig. 24)

Fig. 23. 色のついている上のマーカー(Fig. 21)と同じパターンのマーカー

Fig. 24. グレースケールでの高いコントラストは、色の違いのみで生成した同じパターンと違い、簡単に検知できる。

以上は一般的なガイドラインです。
マーカーがこれらの提案のいくつかに合致せず、いくつかの状況では良好である場合もあります。
特定の画像が良いマーカーとなるかどうかを調べる最良の方法は、目的のアプリケーションで試してみることです。
しかし、上記をマーカーを選んだりデザインする際に頭に入れておくことは、Kudanのトラッキングで最良のパフォーマンスを引き出すのに役立つでしょう。

元記事: What Makes a Good Marker?