ターゲットコレクションの作成

ターゲットコレクションは、Cloud Recognitionサービスを使用するための中心的存在です。すべてのターゲットを保持し、クラウドアーカイブの基礎となります。

ターゲットコレクションはターゲットが格納されたディレクトリと見なすことができ、全体として検索される論理的グループを形成します。もちろん、1つのWikitudeアカウントの下で複数のターゲットコレクションを作成できます。各コレクションに保持できるターゲットの最大数は50,000です。

クラウドアーカイブとターゲットコレクションの違い

クラウドアーカイブは、ターゲットコレクションをクラウド認識用に最適化したものです。Cloud Recognitionサービスでターゲットを認識するために必要なすべてのデータを保持します。

ターゲットコレクションの構造

プロパティ 説明
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へは公的にアクセスできる必要があります。オプションフィールドのnamemetadataに注意してください。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リクエストを使用して、単一のターゲットコレクション、特定のアカウントにあるすべてのターゲットコレクション単一のターゲット、およびターゲットコレクション内のすべてのターゲットの情報を問い合わせることができます。

既存のターゲットの物理的な高さとメタデータを更新できます。