ターゲット管理
ターゲット画像
ここでは、AR体験でのターゲットの検出およびトラッキングに使用する、ターゲットコレクションの作成方法について示します。
基本的に、ターゲットコレクションの作成には以下の4種類の方法のいずれかを使用します。
- Wikitude Studio Manager: 画像をターゲットに変換し、wtcファイルを作成するブラウザベースのツール。このツールを使用するにはhttps://targetmanager.wikitude.comにアクセスします。サインインするにはWikitudeアカウントの登録が必要です。このツールについては、後で詳しく説明します。
- Unityエディター内のWTCエディター: WikitudeのUnityプラグインによってインストールされたUnityエディターの拡張機能。Unityの開発者はすべてのターゲットとターゲットコレクションをUnityエディターに直接管理できます。
- RESTful API: Wikitude Cloud RecognitionサービスのManager APIは、ターゲット画像をアップロードしてwtcファイルに変換するRESTful APIを提供します。詳しくはこちらをご確認ください。
- Targets Enterprise Script: Mac OS XおよびLinux環境において、画像をターゲットに変換し、ターゲットコレクションを作成するバイナリシェルスクリプト。技術的要件と価格については、弊社営業部にお問い合わせください。
次の図は、上記の方法とWikitude Cloud Recognitionサービスとの関係を示します。
Wikitude Studio Manager
新しいプロジェクトの追加
- TargetManagerを開き、Wikitudeアカウントでサインインします。
- 新しいプロジェクトを追加します。
プロジェクトへのターゲットの追加
- 既存のプロジェクトを開きます。
[Add Targets]
をクリックするか画像をドラッグ&ドロップして、新しいターゲットをプロジェクトに追加します。サポートされているファイル形式はPNGとJPEGです。PNG画像を使用する場合は、透明ピクセルが含まれていないことを確認してください。透明ピクセルはサポートされていません。
- ターゲットをアップロードするとき、ファイル名が
ターゲット名
として使用されます。この名前によって、AR体験でターゲットが識別されます。ターゲット名
が一部しか表示されていない場合は、マウスを合わせると完全な名前が表示されます。また、ターゲットをダブルクリックすると編集モードになります。
独自のターゲットを追加した場合は、そのターゲット名を
AR.ImageTrackable
に設定する必要があります。
星評価
- 星0個: トラッキングに適していません。このターゲットは、局所コントラストが高くテクスチャに富んだ特徴が欠けているため、トラッキングできません。別の画像をターゲットに使用してください。
- 星1個: トラッキングに制限があります。このターゲットは、良好な照明条件であればトラッキングが可能な基本的な特徴があります。より良好なトラッキングをもとめる場合は、画像の改善を検討してください。
- 星2個: トラッキングが良好です。このターゲットは、ほとんどの条件で良好にトラッキングできます。
- 星3個: トラッキングが非常に良好です。このターゲットは、ほとんどの条件で非常に良好にトラッキングできます。
ターゲットに適した画像と適さない画像の特徴
-
トラッキングに適した画像の特徴:
- 局所コントラストが高く、変化に富んだテクスチャを持っている
-
トラッキングに適さない画像の特徴:
- 広い範囲で色が単一であるか、滑らかに色が変化している
- 反復的パターン
- ロゴ、サイン
ターゲットコレクションの作成
- AR.TargetCollectionResourceを使用するには、認識するターゲットのすべての情報を含むWTC(Wikitude Target Collection)ファイルが必要です。WTCファイルを作成するプロジェクトを開き、ツールバーのWTCアイコンをクリックします。
- 使用するWikitude SDKのバージョンを選択し、[Generate]をクリックしてWTCファイルの作成を開始します。ファイルがダウンロードできるようになったら、電子メールで通知されます。
JavaScript APIでのターゲット画像の使用
作成したターゲットコレクションをARchitect Worldに使用する方法については、クライアント認識を見るか、JavaScript APIリファレンスのAR.TargetCollectionResource
を参照してください。
クラウド認識
プロジェクトをクラウドアーカイブとして公開して
[AR.CloudRecognitionService
] (http://docs.grapecity.com/help/wikitude/wikitude-sdk-js-api-reference/classes/CloudRecognitionService.html)でアクセスすることもできます。
詳細については、ツールバーのクラウドアイコンをクリックしてください。
クラウド認識は、テスト目的では無償で使用できますが、実運用に使用する場合はライセンスをご購入いただく必要があります。詳細については、こちらを参照してください。
クラウドアーカイブを公開したら、'Client Token'と'Target Collection ID'を使用してWikitude SDKからアクセスできます(AR.CloudRecognitionService
と比較してください)。
ヒント
-
クラウドアーカイブはいつでも非公開にできますが、このアクションは該当する資格情報を使用しているアプリケーションにただちに影響することに注意してください。
-
[Edit Target]ダイアログの[Metadata]はクラウド認識で使用され、[Physical Height]はdistanceToTarget機能に使用されます。
-
AR.ImageTrackable
のdistanceToTarget機能を使用しない場合、[Physical Height]は空のままにします。 -
[Metadata]フィールドは非常に便利です。これを使用して、JSONデータを特定のターゲットに関連付けることができます。そうすることで、何らかの追加データを定義し、たとえばボタンをクリックしたときに[Metadata]フィールドに定義された詳細ページを開くといった動的な処理を実行できます。
ターゲット画像の物理的な高さ
Wikitude SDKのいくつかの機能については、認識されるターゲット画像の実際の物理的なサイズを知る必要があります。
- ターゲットまでの距離の計算
- Epson BTシリーズなどのウェアラブルデバイスのキャリブレーション
Wikitude SDKは、ターゲット画像の実際の高さだけを情報として必要とします。実際の画像の幅は自動的に決定されます。
Wikitude SDKに情報を提供するには、以下の3つの方法があります。
- Wikitude Studioを使用する
- JavaScript APIを使用する
- Unity WTC Editorを使用する
Wikitude Studioを使用してターゲットの物理的な高さを設定する
Wikitude Studioはターゲットの高さの情報を追加する最も一般的な方法です。このツールでは、画像ごとに値を追加できます。高さの情報(物理的なターゲットの高さ)はImage Target Collection (.wtc)の一部として保存され、自動的にSDKに適用されます。
- ターゲット画像を追加する
Properties
をクリックする- Propertiesダイアログの[物理的な高さ]に値を追加する
- [保存]をクリックする
- .wtcファイルをエクスポートする
JavaScript APIを使用してターゲットの物理的な高さを設定する
JavaScript APIでは、ImageTracker
のオプションであるphysicalTargetImageHeights
を使用することで、ターゲット画像の高さを動的に設定できます。
Unity WTC Editorを使用してターゲットの物理的な高さを設定する
Wikitude SDKのUnityプラグインに含まれるWTC Editorでもターゲットの物理的な高さを設定できます。ターゲットの高さは.wtcファイルに格納されます。
ターゲットオブジェクト
Wikitude SDKの物体認識機能は、画像認識と同様に機能します。 物体認識機能はライブカメラ画像を分析し、事前に作成されたターゲットを検出します。この事前に作成されたターゲットはターゲットオブジェクトと呼ばれます。これは事前に記録されたSLAMマップであるため、マップとして参照することもあります。Wikitude SDKのバージョン8.0からは、動画や画像をソース素材として使用してターゲットオブジェクトを作成することができます。ソース素材はWikitude Object Target Collectionに変換され、.wto
ファイルとして保存されます。
ターゲットオブジェクトの作成と管理
Wikitude SDKの物体認識機能は、画像認識と同様に動作します。物体認識機能はライブカメラ画像を分析し、事前に作成されたターゲットを検出します。この事前に作成されたターゲットはターゲットオブジェクトと呼ばれます。これは事前に記録されたSLAMマップであるため、マップとして参照することもあります。ターゲットオブジェクトは、物体を示す動画ファイルから作成されますが、この動画ファイルはObjectTargetCollectionに変換され、.wto形式のファイルとして保存されます。
以下の手順を実行してください。
- ソース素材の収集: 物体の動画ファイルを作成するか、物体の画像を撮影します。
- ソース素材をWikitude Object Target Collection (
.wto
)に変換します。 - 変換した
.wto
ファイルを独自のプロジェクトに使用します。
以下の章では、動画ベースの方法と画像ベースの方法について詳しく説明します。
画像ベースの変換
Wikitude SDKのバージョン8.0からは動画だけではなく、一連の画像からターゲットオブジェクトを生成することができます。このアプローチは動画ベースの変換に比べていくつかの利点があるため、画像ベースの変換を推奨します。これは、動画ベースの変換に比べて常に良い結果を生み出します。
- アプローチ自体がより正確なターゲットオブジェクトを生成します。 li>
- 入力の解像度は動画と比べて非常に高くなる可能性があり、結果がより正確になります。 li>
- 画像の場合は難しい角度でも簡単に作成できます。 li>
- 同じオブジェクトの異なる背景から画像を追加して、認識精度を高めることができます。 li>
- ターゲットオブジェクトは、オブジェクトの追加領域をカバーするために、追加イメージ(2018年の後半に利用可能)で拡張できます。 li>
オブジェクトの画像撮影
最初のステップは、オブジェクトから画像を収集することです。 ソース素材がターゲットオブジェクトの品質を決定するので、このステップは必須です。一般的に、画像の取得場所が手動で撮影したものか、3D/CADソフトウェアでレンダリングされて生成されたものかは関係ありません。
使用する画像の推奨事項の詳細なリストについては、こちらのガイドを参照してください。
画像をObject Target Collectionに変換
画像をObject Target Collectionに変換するには、2つの方法があります。
- Studio Managerのを使用する li>
- Cloud Recognition Manager APIのRESTful APIを使用する li>
Studio Managerの使用
Image Targetsを使用している場合、Studio Managerを既に使用している可能性があります。Studio Managerは、Wikitude SDKと組み合わせて使用するターゲットを管理するための無料のWebツールです。
- Wikitude開発者アカウントでStudio Managerにログインします。 li>
- 新しいプロジェクトのタイプとして
Object
を選択して、ターゲットオブジェクト用プロジェクトを作成します。 li> SDK version
フィールドで、適切なSDKのバージョン番号を選択します。画像ベースの変換を使用するには、これを8.0
に設定します。
- プロジェクトを開きます。
- 新しいターゲットオブジェクトを追加します。
- ターゲットオブジェクトに使用する画像一式をアップロードします。
レコーディングデバイスまたはFOVを選択します - サービスが知る必要があるターゲットオブジェクトファイルを作成するには、画像を撮影したデバイスを選択します。関連する情報は、カメラの視界の大きさを示すField of ViewまたはFoVです。Studio Managerには、この値がすでに分かっている一般的なデバイスのリストが用意されています。リストからデバイスを選択するか、
Custom
オプションの下にこの値を手動で入力します。- 手動でFoVを入力するときは、 horizontal FoVを入力してください。ベンダーは、最大値であるdiagonal FoVを組み合わせてデバイスを誇示する傾向があります。diagonal FoVは使用せず、horizontal FoVのみを使用してください。
自動でFoVを検出:画像ベースの変換では、アップロードするすべての画像の FoV 値が自動的に識別されます。 これは、JPEG画像と一緒に保存されているEXIFデータを読み出すことによって行われます。 次のいずれかのEXIFプロパティが正しく設定されている場合、Webインターフェイスで指定した値にかかわらず、この値が変換に使用されます。
35mm判換算焦点距離
focal plane resolution in x
、focal plane resolution in y
、および、focal plane resolution unit
変換が完了するのを待ちます。また、変換プロセスが完了すると電子メールで通知されます。
.wto
ファイルをダウンロードしてアプリケーションに埋め込みます。使用方法の詳細についてはサンプルを参照してください。
RESTful Manager APIの使用
Studio ManagerはRESTful APIを介してアクセスすることもできます。APIはCloud Recognition Manager APIの一部です。
動画ベースの変換
オブジェクトの動画作成
ターゲットオブジェクトはソースの動画素材と同じくらいのものにすることができるので、この部分は必須です。 物体の動画ファイルを自分で撮影するか、 3D/CAD モデリング ソフトウェアで作成することができます。サポートされている動画形式は以下のとおりです。
- mp4
- mov
動画を正常に作成するには、このガイドを参照してください。
動画のObjectTargetCollectionへの変換
動画をObjectTargetCollectionに変換するには以下の2種類の方法のいずれかを使用します。
- Wikitude Studio Manager
- RESTful API
Studio Managerの使用
Image Targetsを使用している場合、Studio Managerを既に使用している可能性があります。Studio Managerは、Wikitude SDKと組み合わせて使用するターゲットを管理するための無料のWebツールです。
- Wikitude開発者アカウントでStudio Managerにログインします。
- 新しいプロジェクトのタイプとして
Object
を選択して、ターゲットオブジェクト用プロジェクトを作成します。
- プロジェクトを開きます。
- 新しいターゲットオブジェクトを追加します。
- オブジェクトの動画をアップロードします。
- レコーディングデバイスまたはFOVを選択します - サービスが知る必要があるターゲットオブジェクトファイルを作成するには、動画を撮影したデバイスを選択します。関連する情報は、カメラの視界の大きさを示すField of ViewまたはFoVです。Studio Managerには、この値がすでに分かっている一般的なデバイスのリストが用意されています。リストからデバイスを選択するか、
Custom
オプションの下にこの値を手動で入力します。- 手動でFoVを入力するときは、 horizontal FoVを入力してください。ベンダーは、最大値であるdiagonal FoVを組み合わせてデバイスを誇示する傾向があります。diagonal FoVは使用せず、horizontal FoVのみを使用してください。
- 変換が完了するまでお待ちください。サービスは、動画に最適な設定を見つけるためにバックグラウンドで複数回実行されます。変換には動画の再生時間の3倍の時間が必要です。したがって、50秒間の動画では、最低でも3分ほどかかります。現在の負荷にもよりますが、さらに時間がかかる場合があります。プロセスが完了したら、電子メールで通知されます。
.wto
ファイルをダウンロードしてアプリケーションに埋め込みます。使用方法の詳細についてはサンプルを参照してください。
RESTful Manager APIの使用
Studio Managerには、RESTful APIを介してアクセスすることもできます。APIはCloud Recognition Manager APIの一部です。