Unity-AR入門Part3

タイトルはARですが、今回の内容はAIです。

やることはUnity上で画像をカメラでとり、学習済みモデルで推論、認識結果を返すというものです。

UnityではBarracudaというライブラリを使えばONNXを使うことができるので勉強しがいがあります。

 

下記の先人様の記事を多いに参考にしながらやっていましたがまだUnityになれていないため再現するのに苦労しました。

qiita.com

躓きポイント

Unityでは画像をテクスチャを介して表示させるのですが、張り付けるためのテクスチャ生成で躓いてしまいました。

f:id:pacifinapacific:20210224220208p:plain

Color Formatがデフォルトでは上のようになりますが、これだとアルファチャネルが存在するため、ONNXに入れるときにサイズ違いで動きません。

参考プロジェクトのようにb5g6r5_unorm_pack16などにカラーフォーマットを変更する必要がありました(これに気付かず3時間溶かす。。)

 

 

これ以外にもカメラのCulling Maskで移りたくないオブジェクトの属性を消すだとかC#スクリプトの実行順序だったりで時間をかけましたが最終的にはなんとか推論できました。

 

f:id:pacifinapacific:20210224221121p:plain

 

C#の入門書も買ったので自分でコードを書いてできることの自由度を増やしたいですね!

画像