はじめに
こんにちは、ハニカムラボのdoshitaです。
今回はARFoundationで読み取りやすいマーカーはどういったものなのかを調査したため、こちらにまとめていきます。
ARマーカーにおける読みやすさの判定基準
ARマーカーの認識の基準となるものに特徴点というものが存在します。
特徴点とは
特徴点とは、画像の中で情報量が多く、他と区別しやすいユニークな箇所のことです。
主にカド(コーナー)、輪郭、境界線、細かい模様などが特徴点として認識されます。
ARマーカーは以下のような条件で読みやすさの判定が行われます。
-
数
- 画像の中にコンピュータが目印として認識できるカド、境界線、細かい模様がどれだけ豊富に含まれているか
-
分布・密度
- 特徴点が画像の一部に偏らず全体にまんべんなく散らばっているか
-
コントラスト
- 特徴点が背景と明確に区別できるか
- 多くのAR画像認識システムはグレースケールでの認識を行っているため、白黒にした際にどのくらいのコントラストになるかを考慮する
上記の条件が不完全だと以下のようなことが起きます。
特徴点が少ない場合
- 認識に時間がかかる、または失敗する
- 画像内で目印にできる箇所が少ないため、認識しづらくなる
- 認識できる距離が短くなる
- 特徴点が少ないとカメラをARマーカーにかなり近づけないと認識できない場合がある
- 読み取れる角度がシビアになる
- カメラを少し斜めにしただけで認識できなくなる
分布・密度が均等でない場合
- 認識精度が下がる
- 特定の箇所にしか目印がないため、マーカーの一部しかを捉えることができなかった場合にそこが余白であると認識ができない
コントラストがはっきりしていない場合
- 認識精度が下がる
- 色が近いことによって境界線が曖昧になるため、特徴点を認識しづらくなり精度が落ちる
以上のことから、読み取りやすいARマーカーを作るには
- 特徴点が豊富
- 分布が均等
- コントラストがはっきりしている
ARマーカーの例
良い例
これはAIに「上記の条件をクリアしたARマーカーっぽい画像を作成して」と言って作ったものです。
先ほどの読み取りやすいマーカーの条件に沿って見ていきましょう。
特徴点が豊富
細かい模様を幾何学的に配置することで大量の特徴点が生まれます。
また、文字は多くのカドや境界線を含んでいるため、文字を入れることは特徴点を作り出す上でとても有効な手段です。
分布が均等
画像を配置の偏りがないように適度な大きいサイズで中央に置いて、画像の模様も一部の密度が極端に高い低いといったことがないようにデザインされています。
コントラストがはっきりしている
白と黒を用いることにより模様の境界線が明確になるため、特徴点の認識が容易になります。
以上の点で上の画像は読み取りやすいARマーカーと言えます。
悪い例
では、反対に悪い例はどのようなものになるでしょうか。
特徴点が少ない
先程の画像から真ん中のマークを抜き出しました。
これだと図形がほとんどシンプルな円のみとなっているため、特徴点が少なく読み取りづらいものとなってしまいます。
分布が均等でない
こちらは複雑な模様も含めていますが、配置が寄ってしまっているため右下しか読み取れない状況だった場合に認識できなくなってしまいます。
コントラストがはっきりしていない
背景を青くしてみました。
人間の目ではまだ認識できますが、ARFoundationには以下のような画像が送られてきます。
このくらいのコントラストになると、もう読み取れない可能性が出てきてしまいます。
以上のような要素があると認識精度が下がる、または読み取れないということが起きてしまいます。
分かりやすくするためそれなりに極端な例を作ってしまいましたが、実際には少し不安定な要素が入るだけで精度が落ちてしまうケースも珍しくないので注意が必要です。
実際の運用において気をつけるべき点
せっかく読み取りやすいマーカーを作成しても、運用時の環境によって精度が下がってしまうことがあります。
反射と日光
マーカーを光沢のある素材に印刷すると、光が反射し白飛びしてしまう場合があります。
そうなるとカメラはマーカーの模様を見ることができず、認識できないといったことが起きてしまいます。
また屋外や窓の近くで西日が入ってきた場合に、白飛びだけでなくマーカーの一部に濃い影が映ってしまいコントラストが想定と違う状態になってしまう場合があります。(所謂黒潰れ)
こちらも使っている色によっては境界線がはっきりしなくなり精度が落ちる可能性があるため、注意が必要です。
対策としては
「光沢のない素材を使用する」
「屋外や極端に明るい照明を避けて使用する」
「サンシェードの設置など日光があたらないように工夫する」
などでしょうか。
マーカーのサイズ
マーカーの物理サイズが小さすぎると特徴点が潰れてしまうため、カメラを非常に近づけないと認識できなくなってしまいます。
一般的に推奨されているのは15cm以上で、最低でも10cmは必要であるとされています。
参考:マーカーの品質を確認する方法
作成したマーカーがどのくらい読み取りやすいかを確認する方法としてVuforiaのTarget Managerを使う方法があります。
Target Managerは本来ARマーカーのデータベースを管理するツールですが、登録したマーカーの品質を5段階で評価してくれる機能があります。
試しに作ったマーカーをアップロードして見てみたところ、良い例のマーカーは星5になりましたが悪い例として作ったマーカーは評価が低く、背景色を変更したものは精度が低すぎてアップロードができませんでした。
Target Managerの評価=読みやすさとならない時もあるのであくまで参考値にはなりますが、基本的に星5評価のマーカーが読み取り精度イマイチだなとなることはなかったので星5評価になるようにマーカーを調整するといいかと思います。
まとめ
ARマーカーについてはかなり厄介な思いをした記憶が多いので、腰を据えて調査をしたことで今後作る際にどのようなデザインにするかの指針を決めることができました。