LoginSignup
0
1

More than 1 year has passed since last update.

Unity 2021.3 と Vuforia Engine 10.13 で猫の顔を認識するARアプリを作る

Posted at

背景

  • 猫カフェに行ったときに猫の名前が覚えられない
  • 常連さんや店員さんは見分けがつくようだけど…
  • 猫の名前や情報を知れれば、より猫カフェを楽しめるのでは?

問題

  • 写真や冊子で紹介はしてくれてるけど、似てる柄だと自信持てない
  • 知りたいときに手元にない
  • 情報が最新化されてない(入ってきたばっかりの猫の情報がない)

アプローチ

「スマホカメラで認識してARで情報出せたら面白そう」というアイデアがあがったので実装してみた。

参考記事

必要なもの

  • Unity Hub (無料)
  • Unityアカウント (Personalライセンス、無料)
  • Vuforiaアカウント (Basicプラン、無料)
  • Unity動かすPC
  • PCに付けるカメラ(内臓でも可)

成果物

Unity上でPC接続したカメラ映像からマーカーを認識してオブジェクトを表示できました。

マーカーに指定した画像をスマホで表示している
image.png
認識した部分にオブジェクトを表示している
image (1).png

実環境ではマーカーが認識されず、課題が残りました。

マーカーと同じような顔をしてくれない
image (2).png
照度や角度を近づけようと頑張っても限度がある
image (3).png

作り方

基本的には冒頭にあげた参考記事を読めばOK
バージョン差分で手順が異なる部分があったので、Unity2021の場合は以下で実施

Vuforia環境

  1. 開発アカウントを作成
  2. License Managerで新規ライセンスを作成
  3. Target ManagerでDatabase(Type:Device)を作成
  4. DatabaseにTargetを追加(マーカー画像をアップロード)
  5. DatabaseをDownload
    1. Unity Editor

Unity環境

  1. Unity Hub 3.4.1 をダウンロード
  2. アカウントを新規作成
    1. Install Editorで「2021.3.18f1」を選択 (2021.3系なら良いと思われる)
  3. New Projectで「Unity」「3D Core」を選択
    image.png
  4. Unity Asset StoreでVuforia Engineを取得
  5. Unityの Window > Package Manager > Vuforia をDownloadしてImport

結合

  1. UnityのGameObject > Vuforia Engine > AR Camera
    1. Vuforia Behaviour(Script)
      1. Open Vuforia Engine Config
      2. App License Key にVuforiaのライセンスを記載
  2. UnityのGameObject > Vuforia Engine > Image Target
    1. Image Target Behaviour(Script)
      1. Type: From Database
      2. Database: VuforiaでDownloadしたDatabase
  3. UnityのGameObject > 3D Object > Cube
  4. Unityの再生ボタンをクリック

課題

成果物の通り、ARマーカーとして猫の顔を登録した場合、同じ画像を認識させることはできました。一方、カメラの角度や照度、猫の表情などの影響を受けて認識精度が実用的ではありません。(Vuforiaはテンプレートマッチングに近い手法で識別されている?)

今後の展開として以下のような実装を検討中です。

  • マーカーの識別精度を高める
    • 首輪にマーカーを付ける、あるいはQRコードを使用する
  • マーカー以外の情報を活用する
    • 汎用的な検出器で猫を検出し、特化した識別器で個体名を判定する
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1