ターゲットコレクションの作成
ターゲットコレクションは、Cloud Recognitionサービスを使用するための中心的存在です。すべてのターゲットを保持し、クラウドアーカイブの基礎となります。
ターゲットコレクションはターゲットが格納されたディレクトリと見なすことができ、全体として検索される論理的グループを形成します。もちろん、1つのWikitudeアカウントの下で複数のターゲットコレクションを作成できます。各コレクションに保持できるターゲットの最大数は50,000です。
クラウドアーカイブとターゲットコレクションの違い
ターゲットコレクションの構造
プロパティ | 型 | 説明 |
---|---|---|
id | (String) | ターゲットコレクションを一意に識別するID |
name | (String) | ユーザーが指定したターゲットコレクションの名前 |
creDat | (Number) | ターゲットコレクションが作成されたタイムスタンプ(JavaScriptのDate.now() 関数によって返された数値) |
modDat | (Number) | ターゲットコレクションが最後に変更されたタイムスタンプ(JavaScriptのDate.now() 関数によって返された数値) |
ターゲットコレクションの作成
ターゲットコレクションは、Wikitudeアカウントの下でトライアルトークンを使用し誰でも作成できます。ターゲットコレクションの作成はCloud Recognitionサービスを使用するうえで、最初のステップになります。
必須のname
フィールドを指定して次のエンドポイント(地域サーバーの1つのドメインを使用)をPOST
リクエストとして呼び出し、
/cloudrecognition/targetCollection
新しいターゲットコレクションを作成します。レスポンスにはTargetCollectionオブジェクトが含まれており、そこで最も重要なパラメーターはIDです。metadata
を使用してターゲットコレクションに情報を追加することもできます。次のステップは、認識対象の画像をターゲットとしてターゲットコレクションに追加することです。
ターゲットの追加
ターゲットは、Wikitude Cloud Recognitionサービスによって認識できるように画像を最適化したものです。ターゲットを追加するということは任意の画像のパブリックURLをCloud Recognitionサービスに提供することであり、その結果対象の画像がダウンロードおよび分析され、ターゲットコレクションに追加されます。ターゲットを追加するには、追加先のターゲットコレクションのID
を指定して次のエンドポイントを呼び出します。
/cloudrecognition/targetCollection/:tcId/target
imageUrl
フィールドをリクエストに追加する必要があります。このURLへは公的にアクセスできる必要があります。オプションフィールドのname
とmetadata
に注意してください。name
は、ターゲットコレクション内でターゲットを識別する一意の識別子です。これを設定して使用するかどうかは任意です。同じことがmetadata
オブジェクトにも当てはまります。これは完全なJSONオブジェクトであり、任意の値を格納できます。metadata
オブジェクトは、認識結果のレスポンスとして返されます。
ターゲットの構造
プロパティ | 型 | 説明 |
---|---|---|
id | (String) | ターゲットを一意に識別するID |
name | (String) | ユーザーが指定したターゲットの名前 |
imageUrl | (String) | 圧縮もトリミングもされていないオリジナルのターゲットバイナリファイルを指すURL |
thumbnailUrl | (String) | ターゲットのサムネイル表現を指すURL |
rating | (Number) | ターゲットの評価(0~3) |
fileSize | (Number) | オリジナルのターゲットバイナリ画像ファイルのファイルサイズ(Byte単位) |
physicalHeight | (Number) | ターゲットの物理的な(実世界の)高さ(mm単位) |
creDat | (Number) | ターゲットが作成されたタイムスタンプ(JavaScriptのDate.now()関数によって返された数値) |
modDat | (Number) | ターゲットが最後に変更されたタイムスタンプ(JavaScriptのDate.now()関数によって返された数値) |
metadata | (JSON) | ターゲットとともに保存される任意のJSONデータ |
クラウドアーカイブの生成
ターゲットの追加が済んだら、ターゲットコレクションからクラウドアーカイブを生成する必要があります。今回もターゲットコレクションのID
を指定して次のエンドポイントを呼び出し、
/cloudrecognition/targetCollection/:tcId/generation
処理を開始します。この呼び出しは非同期なので、すぐにレスポンスが返されます。このレスポンスのヘッダに含まれるLocationプロパティで指定されたパス(具体的には次のパス)をGETメソッドリクエストで呼び出すことにより、
/cloudrecognition/targetCollection/:tcId/generation/wtc/:generationId
JSONオブジェクトのレスポンスボディでクラウドアーカイブ生成処理の進捗ステータスを確認できます。生成が完了したら、クラウドアーカイブを認識に使用できます。はじめて大きなターゲットコレクションを生成するときは、生成処理に時間がかかる場合があります。既存のクラウドアーカイブに少量の追加を加えるときは、はるかに早く処理が終わります。
- 新しく追加した画像が認識されません。
- 削除した画像が引き続き認識されます。
クラウドアーカイブはサーバー上で使用でき、アプリからWikitude SDKと組み合わせて使用できます。詳細については、クラウド認識のサンプルを参照してください。
追加の呼び出し
上記のステップのほかに、Manager APIにはターゲットコレクションの削除とターゲットの削除も用意されています。
GET
リクエストを使用して、単一のターゲットコレクション、特定のアカウントにあるすべてのターゲットコレクション、単一のターゲット、およびターゲットコレクション内のすべてのターゲットの情報を問い合わせることができます。
既存のターゲットの物理的な高さとメタデータを更新できます。