nreal developerページをざっと読んでみた (Image Tracking編)


前回はQuickstart編

今回はImage Tracking編で
https://developer.nreal.ai/develop/unity/image-tracking
を見ていきます!

Introduction (導入)

画像追跡機能には画像やロゴなどを使用できる。
順序としては

  1. Unityの画像データベースに登録
  2. アプリをビルド
  3. 画像を印刷
  4. Nrealで画像を見る

の順番となりそうです。

Capabilities (何できる?)

  • 所定の位置に固定された画像の検出と追跡
  • 動いている画像の検出と追跡
  • 追跡開始後、画像の位置、回転、スケールの推定を継続的に行う
  • 1つの環境内で10個の画像を記憶できる。 しかし、現在のバージョンでは、これらの画像を同時に追跡することはできない。したがって、各フレームで追跡できる画像は1つだけです。さらに、同じ画像の複数インスタンスも追跡しません。

複数同時画像トラッキングに関して、今はできないようです。

Requirements (これはやってね)

Image Selection Checklist(画像選択のチェックリスト)

  • 最低限
    • jpeg形式
    • グレースケール or RGBカラー
    • dpi値が150以上
    • 印刷された画像は1m×1m未満
  • より良い推定のために
    • 特徴点が分散している
      • 真っ白or真っ黒な画像はやめよう
    • 自己類似度が低い画像
      • 同じ模様の繰り返しのような画像は避けよう
    • NRSDKは追跡品質を評価できる
      • 一定以上の追跡頻出でなければならない
  • オリジナルの画像をデザインする場合
    • Adobe PhotoshopではなくAdobe Illustratorでエクスポートするほうがおすすめ

Image Tracking Condition Requirement (画像追跡する時のお願い)

  • 光沢な印刷紙より、光の反射が少ない印刷紙が良い
  • 画像追跡を初める良い方法は、画像を少し角度を付けて表示しながら、画像を平坦で歪みのない状態に保つことが良い。

良い画像、悪い画像の例
https://developer.nreal.ai/develop/unity/image-tracking

Image Tracking Tutorial (やってみよう)

nreal developerページをざっと読んでみた (Quickstart編)
でQuickStartしている前提で進めます。

Build and Run the Sample App (早速試そうぜ)

ビルドする前に、Build SettingでAssets > NRSDK > Demos > ImageTrackingのシーンが選択されていることを確認してください。

ケーブルを繋いでBuild and Run。

すると、指定の画像を見るとトラッキングするようになります。
指定の画像はAssets>NRSDK>Demos>TrackingImage>Imagesにあります。

Create the Database File (画像データベースを作ろう)

Unity内で画像を選択して右クリックして、Create/NRSDK/TrackingImageDatabaseを選択すると新しく画像データベースが生成される。

ポイントは
- Quality Scoreが65以上が好ましい
- Width(m)は実際の画像のサイズを等しくする必要がある

Set the Database File (データベースファイルをセットしよう)

プロジェクトウィンドウからAssets/NRSDK/にてNRKernalSessionConfigを開く。
そして、Tracking Image Database部分を入れ替える。

Get Tracked Image (追跡された画像を取得)

Assets > NRSDK > Demos > TrackingImage > Scripts > MarkerDetecter.csを見て、

NRSession.GetTrackables<NRTrackableImage>(m_NewMarkers, TrackableQueryFilter.New);

これが取得している例だよ。

m_NewMarkersにトラッキングした画像情報が入るみたいです。

Next Step

次はNreal Controller編、見てね!