manahiyoの気まぐれ

備忘録を兼ねたブログです。

UNITY+WIKITUDEで物体認識試してみた

はじめに

ARCoreでは物体認識ができないようなので、WIKITUDEを使ってみることにした。こちらは有償なので個人では手が出ないですが、試す分には無料。

 

WIKITUDEについて

WIKITUDEは以前からUDEMYなどで勉強しながら動作はさせていて、使いやすさでいえばARCoreよりも簡単です。

ちなみにUDEMYは世界最大級のオンラインセミナーです。気になる人はググってみてください。

私が受講したのは下記になります。有料なのでセール中がねらい目です。

www.udemy.com

 

 ARCoreだとANDROIDに転送して動作させないと動作確認ができないのに比べ、WIKITUDEはプラットフォームがPCでも動作するので、UNITYの再生ボタンだけですぐ動かせるので、デバッグがはかどります。デバッグ中にいろいろパラメータも変えて調整できます。

ARCoreもインスタントプレビューなるものもあるようですが、なぜか私のPCでやるとハング状態になってしまうので使えていません。

ということで今回はPCのカメラを使って動作させてみます。

 

キティちゃんを横にした状態で認識させてみる

以前展示会か何かでもらったTEのキティちゃんです。

物体の認識にはWIKITUDEではWTOというファイルを作成します。

これはUNITY上ではできなくて、WIKITUDEのwebにあるWIKITUDE-STUDIOで作業を行います。

物体を360度周りからとった画像を用意するが、何枚用意するかはわからない。とりあえず40枚くらいとってみました。

カメラのFOVがないということですが、よくわからないのでとりあえずデフォルトで続行してみます。

下記のようにキティちゃんを寝かして写真を撮ってみました。

f:id:manahiyo831:20201230124633p:plain

そのままだと画像ファイルが重いので、500kBくらいのサイズに小さくしました。

WIKITUDE-STUDIO上の下記の画面で画像ファイルをドラッグアンドドロップ

f:id:manahiyo831:20201230124440p:plain

アップロード後、数分で処理が完了

 

早速WIKITUDEのサンプルを使って実行。

もとにしたサンプルは消防車を使っているので、変なものがついている感じですが認識はちゃんとできているようです。いろいろ動かしても、画像の時と変わらない認識具合です。さすが有償だけあります。

 

キティちゃんを立てて認識させてみる

ここで気が付いたのが、横に寝かして画像を取得したため、背中の情報がなくカメラに背中を向けると認識ができなくなります。

セロテープで無理やりキティちゃんを立たせて、再度チャレンジ

f:id:manahiyo831:20201230130131p:plain

 

これでばっちりかと期待していたのですが、逆に全然認識できません。なぜだろう。

 

WIKITUDE STUDIOのエディタで認識の特徴点が表示できるということで、こちらを確認してみました。

認識できたもの(寝た状態)

こちらは何となくキティちゃんが横になっているのが分かります

f:id:manahiyo831:20201230130803p:plain

 

認識しないもの(立てた状態)

なんとなく雰囲気はあるものの、ここからはキティちゃんらしさが見えません。

f:id:manahiyo831:20201230125629p:plain

 

一度ちゃんとドキュメントを読むべきなのかもしれません。

 下記にありました。

www.wikitude.com

 とはいえ、まじめにやると結構大変そう。

とても複数のライトなどは用意できないので、下を白の紙にして解像度をそのままにして、再度トライ。FOVは立画面でとった状態で72としてみた。

f:id:manahiyo831:20201230202022p:plain

イメージは見えるので、さっきよりはよさそう

 

やってみましたが、認識はある程度できるようになりましたが、初めの横にして撮影したものよりはだいぶ悪いです。工夫が必要なのかもしれません。