ARToolKitの安定化 その③ マーカーのパターンについて
ARToolKitをより安定的なものにするには、プログラムもそうですが、使う道具も考えなければいけません。
その道具の中で重要なものの1つが、マーカーのパターンです。
マーカーの数が少ない場合、その中のパターンはよりシンプルなものの方が認識率が良いです。
シンプルなマーカーは既存のサンプルにも入っています。


しかし、マーカーの数が多い場合は、誤認識を避けるために、どうしてもパターンが複雑になってしまいます。
そこで、シンプルさを保ちながら、多くのマーカーを作成する方法として、パターンをカラーにしてみることにしました。
最初に作成したのは、次のようなパターンです。


このパターンではマーカー内部を4つに分けて、それぞれの区画に3原色(赤、青、緑)を配置し、その組み合わせでマーカーを区別しています。右下に必ずある黒い区画は、マーカーの方向を決めるためのものです。これだと3×3×3で27通りのパターンを作成することができます。
これを実際に使用すると、以下のようなことがわかりました。
・右下の黒い区画をマーカーの黒枠だと誤認してしまう。
・青が黒に近いので、これもマーカーの黒枠だと間違われることがある。
つまり、マーカー内部に黒に近い四角形があると、誤認の確率が高くなることが判明しました。
この教訓により作成したのが、次のマーカーです。


なんだか顔みたいですね。
まず、右下の黒い区画を白に変え、次に他の色が四角形にならないように、凹を入れました。あと余計な隙間も一応埋めました。
これで、だいぶ誤認しないようになりましたが、どうせ凹を入れるなら、色によって位置を分けたほうが、個体差が大きくなります。


今回のパターンでは色によって凹の位置が違います。
というわけで、動画で使われているマーカーはこのパターンになりました。
次は凹をもう少し小さくして、試してみます。
※訂正
パターンの凹を小さくして実験しましたが、どうやらこの凹は要らないようです。
ARToolKitでは黒枠を認識するときに、画像を2値化してます。(パターン認識の時はもちろんカラー画像を使う)
そうなるともう色は関係なく、明るいか暗いかのみの違いになります。
つまり、色の領域が外枠と接してさえいれば、四角形と認識されることはなくなるのです。
しかし、凹が黒枠の誤認識に効果がなくても、各パターンの誤認識には効果があるかもしれません。
とりあえず、この凹なしのパターンで実験を続けてみて、誤認識の割合を見てみることとします。
その道具の中で重要なものの1つが、マーカーのパターンです。
マーカーの数が少ない場合、その中のパターンはよりシンプルなものの方が認識率が良いです。
シンプルなマーカーは既存のサンプルにも入っています。


しかし、マーカーの数が多い場合は、誤認識を避けるために、どうしてもパターンが複雑になってしまいます。
そこで、シンプルさを保ちながら、多くのマーカーを作成する方法として、パターンをカラーにしてみることにしました。
最初に作成したのは、次のようなパターンです。


このパターンではマーカー内部を4つに分けて、それぞれの区画に3原色(赤、青、緑)を配置し、その組み合わせでマーカーを区別しています。右下に必ずある黒い区画は、マーカーの方向を決めるためのものです。これだと3×3×3で27通りのパターンを作成することができます。
これを実際に使用すると、以下のようなことがわかりました。
・右下の黒い区画をマーカーの黒枠だと誤認してしまう。
・青が黒に近いので、これもマーカーの黒枠だと間違われることがある。
つまり、マーカー内部に黒に近い四角形があると、誤認の確率が高くなることが判明しました。
この教訓により作成したのが、次のマーカーです。


なんだか顔みたいですね。
まず、右下の黒い区画を白に変え、次に他の色が四角形にならないように、凹を入れました。あと余計な隙間も一応埋めました。
これで、だいぶ誤認しないようになりましたが、どうせ凹を入れるなら、色によって位置を分けたほうが、個体差が大きくなります。


今回のパターンでは色によって凹の位置が違います。
というわけで、動画で使われているマーカーはこのパターンになりました。
次は凹をもう少し小さくして、試してみます。
※訂正
パターンの凹を小さくして実験しましたが、どうやらこの凹は要らないようです。
ARToolKitでは黒枠を認識するときに、画像を2値化してます。(パターン認識の時はもちろんカラー画像を使う)
そうなるともう色は関係なく、明るいか暗いかのみの違いになります。
つまり、色の領域が外枠と接してさえいれば、四角形と認識されることはなくなるのです。
しかし、凹が黒枠の誤認識に効果がなくても、各パターンの誤認識には効果があるかもしれません。
とりあえず、この凹なしのパターンで実験を続けてみて、誤認識の割合を見てみることとします。
