商品認識モデルは、指定された画像または陳列棚にある商品を認識して理解するのに役立ちます。
このモデルは、小売店での商品画像データを分析して解釈するための主要な AI 構成要素として使用できます。たとえば、ローカル カメラやモバイル デバイスで撮影された商品棚の画像にこのモデルを使用できます。
タグ認識ツールと商品認識ツールのユースケース
商品認識モデルとタグ認識モデルは、小売店で見つかった商品やタグに関する画像データ(設置されたカメラやモバイル デバイス / プラットフォームでキャプチャされた棚スキャン画像など)を分析して解釈するための主な AI 構成要素として使用できます。
商品認識モデルとタグ認識モデルには、小売業者や技術パートナーが小売店の棚を理解する際に直面する主な問題を解決するために、Google AI の主要なモデリング機能とデータ機能が組み込まれています。たとえば、次のような問題です。
- 画像内または陳列棚にある商品を検出して認識し、理解する。
- ユーザー定義の Key-Value ペア エンティティ抽出スキーマに従って、タグ(価格タグやその他のテキストラベルタグなど)を検出して認識し、解析する。
特に、これらのユースケースの問題解決をサポートするために、棚卸ソリューションには、次のような差別化された Google AI モデルがいくつか含まれています。
- 商品検出モデル(Google によって事前トレーニングされていますが、カスタマイズも可能です)。
- 商品サムネイルの視覚エンベディング モデル。商品サムネイル画像を数値特徴空間表現に変換します。
- Google の OCR モデル。画像に表示されているすべてのテキストを抽出します。
- Google エンティティ抽出モデル(カスタマイズ可能)。元のテキストをユーザー定義の Key-Value ペアのエンティティ名に変換します。
陳列棚確認ソリューションは、これらの Google AI モデルに加えて、Google の膨大な商品情報データベースも活用します。この商品データベースの商品データには、商品の GTIN / UPC ID、商品ブランド、商品名、言語横断的な説明、商品ロゴ、さまざまなパッケージのバリエーションを捉えた画像が含まれます。前述の商品のサムネイルのビジュアル エンベディング モデルを含む商品データベースにより、商品認識モデルは多くの商品をすぐに認識できます。
たとえば、次のように撮影されたセクションの画像を取得した場合、セクションのチェック ソリューションは次の目的を達成します。
- 画像内のすべての商品アイテム ボックス(可視で、大きく遮蔽されていないもの)を検出してローカライズし、個々の商品アイテム ボックスの商品 ID を GTIN / UPC レベルで認識します。
- 画像内のすべてのタグボックス(可視)を検出してローカライズし、タグ内のすべてのテキスト文字列を認識してから、テキストを解析して、商品アイテムの説明、価格値などのユーザー定義の Key-Value ペア エンティティ抽出スキーマに変換します。
これらのソリューションを実現する 2 つの主要な AI 機能は、商品認識モデルとタグ認識モデルです。これらの機能について、次のセクションで詳しく説明します。主に画像推論サービスを提供するこれらの 2 つの API には、それぞれ 1 つ以上のカスタマイズ可能なコンポーネントがあります。まず、API 使用の推論パスについて説明します。次に、ユーザー構成または実行するモデル トレーニングを通じて、関連するコンポーネントをカスタマイズする方法について簡単に説明します。
商品認識ツールの機能
このモデルは、国際取引商品番号(GTIN)レベルまたは共通商品コード(UPC)レベルで個々の商品 ID を認識します。商品認識には、次のような Google AI モデルが複数含まれています。これにより、これらのユースケースの問題解決を強化できます。
- 商品画像を数値特徴空間表現に変換する商品ビジュアル エンベディング モデル。
- Google の OCR 技術: 画像に表示されているすべてのテキストを抽出します。
- Google 商品データベースを商品のサムネイルの視覚エンベディング モデルと組み合わせることで、商品認識モデルは多くの商品をすぐに認識できます。
出力 JSON オブジェクトの例
{ "imageUri": "gs://test_bucket/test_image.jpg", "productRecognitionAnnotations": [ { "detectedText": "Bolthouse Farms Perfectly Protein Tea & Soy Beverage", "recognitionResults": [ { "confidence": 0.9420832, "productMetadata": { "brand": "Bolthouse Farms", "gtins": [ "00071464260804" ], "locale": "en-US", "title": "Bolthouse Farms Perfectly Protein Tea & Soy Beverage, Vanilla Chai Tea - 52 fl oz" }, } ] } ] }
API のコンセプト
商品カタログの作成、商品データセットの管理、インデックスの作成、商品認識サービスのデプロイに役立つ 6 つの API リソースがあります。次のように説明されています。
カタログ: 小売業者が提供するすべての商品のコンテナを表すルート リソース。
商品: 販売者が提供する商品を表します。Product
は Catalog
の子リソースです。
ProductImage: 1 つの商品のビューを表す画像。ProductImage
は Product
の子リソースです。
ProductSet: 同じ Catalog
内の商品を整理してグループ化するためのきめ細かいコンテナ。1 つの ProductSet
に 1 つ以上の Product
を含めることができますが、ProductSet
は、その Product
を「所有」するのではなく、Product
への「リンク」を維持します。
ProductRecognitionIndex: 商品認識アルゴリズムに使用される画像エンベディングのリストが含まれます。ProductRecognitionIndex
は、Catalog
全体または ProductSet
(Catalog
の Product
のサブセット)から作成できます。
エンドポイント: 商品認識またはタグ認識の推論を行うために必要なすべての構成を保持するプレースメント。商品認識の場合は、商品検出モデルを指定し、ProductRecognitionIndex
をデプロイする必要があります。タグ認識では、タグ検出モデルとタグ エンティティ解析モデルの両方を指定する必要があります。
環境のセットアップ
このセクションでは、Store Vision AI RESTful API を操作する方法について説明します。
API_ENDPOINT=visionai.googleapis.com
PROJECT_ID=your project ID
すべての create
メソッドでは、作成するリソース名または ID を明示的に指定する必要があります。意味のある文字列識別子(「product-ABC」など)またはランダムに生成された識別子(UUID など)を使用できます。
個人ロールに Store Vision API を使用する編集者権限を付与するには、次の IAM バインディング コマンドを実行します。
gcloud projects add-iam-policy-binding PROJECT_ID --member='user:USER_ACCOUNT' --role='roles/visionai.editor'
サービス アカウントに編集者権限を付与するには、次のコマンドを使用します。
gcloud projects add-iam-policy-binding PROJECT_ID --member='serviceAccount:SERVICE_ACCOUNT' --role='roles/visionai.editor'
商品認識ツールのユーザー ジャーニー
- カタログを作成します。
Catalog
に商品と(省略可)ProductImages
をインポートします。Product
とProductImages
を表示して変更し、必要に応じてProductSet
を作成して商品リストをより細かく整理します。Catalog
全体またはProductSet
からIndex
を作成します。- 必要な商品認識構成を使用して
Endpoint
を作成し、Index
をデプロイします。 ProductRecognition
機能を使用してBatchAnalyze
を実行します。バックエンドで、システムは各入力画像から商品を特定し、画像と OCR テキスト シグナルの両方を使用して、指定されたインデックスから類似商品の上位 K 個を取得します。
API リソース管理(カタログとインデックスセット)
カタログ
カタログの作成
- CATALOG_ID=カタログ ID。
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d '{}' https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs?retail_catalog_id=CATALOG_ID
出力例
{
"name": "projects/cloud-store-vision-test/locations/us-central1/operations/operation-1655157982362-5e15b7f95fa6f-d30364c6-dc3a3714",
"done": false
}
完了するまでオペレーションをプルする
- OPERATION_ID=出力オペレーション(operation-1655157982362-5e15b7f95fa6f-d30364c6-dc3a3714 など)
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID
出力例
{
"name": "projects/cloud-store-vision-test/locations/us-central1/operations/operation-1655157982362-5e15b7f95fa6f-d30364c6-dc3a3714",
"done": true
}
ImportProduct
サポートされているインポート形式は 2 つあります。
- TXT: 各行は、インポートする商品の GTIN です。
- JSONL: 各行は RetailProductIoFormat の JSON 形式です。次に例を示します。
{"retailProduct":{"name":"00040094314034","gtins":["00040094314034"]},"retailProductImages":[{"name":"1","gcsUri":"gs://shelfchecking-integration-test-data/products-data/00040094314034/1.jpg"}]}
{"retailProduct": {"name":"00123", "thirdPartyIds": {"id": "test-id", "owner": "test-owner"}}}
RetailProductIoFormat の詳細については、API リファレンスをご覧ください。現在、ImportProduct オペレーションごとに最大 10,000 個の商品のインポートがサポートされています。
また、「retailProductImages」内の「name」は、親の「retailProduct」リソースのスコープ内でのみ一意である必要があります。つまり、異なる「retailProduct」リソースに属している限り、同じ「name」を持つ「retailProductImages」が 2 つ存在する可能性があります。
- IMPORT_FILE_URI=インポート ファイルの Cloud Storage URI(例: gs://mybucket/my_import_file.jsonl)
- IMPORT_FORMAT=インポート ファイル形式(FORMAT_JSONL または FORMAT_TXT)
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID:importRetailProducts \
-d '{
"gcs_source": {
"uris": "IMPORT_FILE_URI"
},
"format": "IMPORT_FORMAT"
}'
List Catalog
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs
GetCatalog
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID
DeleteCatalog
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID
プロダクト
GTIN を使用した CreateProduct
GTIN-8、GTIN-13、GTIN-14、UPC(GTIN-12 とも呼ばれる)の形式がサポートされています。GTIN 形式の詳細については、こちらをご覧ください。
- PRODUCT_ID=商品 ID
- GTIN=商品の GTIN(例: 50735854797459、00040094314034)
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts?retail_product_id=PRODUCT_ID \
-d '{"gtins": "GTIN"}'
サードパーティ ID を使用して CreateProduct を実行する
- PRODUCT_ID=商品 ID
- THIRD_PARTY_ID=サードパーティ ID
- OWNER=サードパーティ ID を所有するエンティティ
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts?retail_product_id=PRODUCT_ID \
-d '
{
"third_party_ids": {
"id": "THIRD_PARTY_ID",
"owner": "OWNER",
}
}'
ListProducts
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts
GetProducts
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID
DeleteProduct
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID
ProductImage
CreateProductImage
- PRODUCT_IMAGE_ID=商品画像 ID
- IMAGE_GCS_URI=画像の Cloud Storage URI(例: gs://mybucket/my_img.jpg)
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID/retailProductImages?retail_product_image_id=PRODUCT_IMAGE_ID \
-d '{
"source_type": "SOURCE_TYPE_HAND_HELD_CAMERA",
"gcs_uri": "IMAGE_GCS_URI"
}'
ListProductImages
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID/retailProductImages
GetProductImages
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID/retailProductImages/PRODUCT_IMAGE_ID
DeleteProductImage
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID/retailProductImages/PRODUCT_IMAGE_ID
ProductSet
CreateProductSet
- PRODUCT_SET_ID=商品セット ID
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d '{}' https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets?retail_product_set_id=PRODUCT_SET_ID
ListProductSet
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets
GetProductSet
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets/PRODUCT_SET_ID
AddProductsToProductSet
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets/PRODUCT_SET_ID:add \
-d '{"product_ids": "PRODUCT_ID"}'
RemoveProductsFromProductSet
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets/PRODUCT_SET_ID:remove \
-d '{"product_ids": "PRODUCT_ID"}'
DeleteProductSet
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets/PRODUCT_SET_ID
ProductRecognitionIndex
ProductRecognitionIndex を作成する
ProductRecognitionIndex を作成するには、カタログから作成する方法と、商品セットから作成する方法の 2 つがあります。カタログから作成する場合は、カタログに含まれるすべてのアイテムが使用されます。商品セットから作成する場合は、関連付けられた商品と商品画像のみが使用されます。
- INDEX_ID=インデックス ID
- COVERAGE_CSV_OUTPUT_DIRECTORY=<インデックス カバレッジ ファイルが書き込まれるディレクトリの Cloud Storage のロケーション
# Create from Catalog
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes?retail_product_recognition_index_id=INDEX_ID
# Create from Catalog and output index coverage CSV file to a Cloud Storage directory.
# This API method is especially useful when you want to understand the
# actual number of images used to construct the index per imported GTIN, and
# the image can be sourced from the Google Product database, your own importing,
# and other means (such as with the Google Data Labeling service.
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" "https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes?retail_product_recognition_index_id=INDEX_ID&coverage_output.output_uri_prefix=COVERAGE_CSV_OUTPUT_DIRECTORY"
# Create from ProductSet, by adding the following to the previous Curl command
-d '{"retail_product_set": "projects/PROJECT_ID/locations/us-central1/retailCatalogs/'CATALOG_ID'/retailProductSets/PRODUCT_SET_ID"}'
ProductRecognitionIndex を取得する
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes/INDEX_ID
List ProductRecognitionIndex
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes
ProductRecognitionIndex を削除する
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes/INDEX_ID
エンドポイント
エンドポイントの作成
- ENDPOINT_ID=エンドポイント ID
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints?retail_endpoint_id=ENDPOINT_ID -d '{
"productRecognitionConfig": {
"recognitionConfidenceThreshold": 0.4
}
}'
DeployProductRecognitionIndex
1 つのエンドポイントにデプロイできる ProductRecognitionIndex は 1 つだけですが、1 つの ProductRecognitionIndex を複数のエンドポイントにデプロイできます。
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints/ENDPOINT_ID:deployRetailProductRecognitionIndex \
-d '{
"retail_product_recognition_index": "projects/PROJECT_ID/locations/us-central1/retailCatalogs/'CATALOG_ID'/retailProductRecognitionIndexes/INDEX_ID"
}'
GetEndpoint
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints/ENDPOINT_ID
ListEndpoints
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints
UndeployProductRecognitionIndex
デプロイ解除では、デプロイされた ProductRecognitionIndex が現在の呼び出し元のエンドポイントから削除されるのみで、この ProductRecognitionIndex が他のエンドポイントにもデプロイされている場合、他のエンドポイントには影響しません。
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints/ENDPOINT_ID:undeployRetailProductRecognitionIndex
DeleteEndpoint
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints/ENDPOINT_ID
バッチ分析推論(商品認識)
gs://my-bucket/input-file.csv
の入力ファイルの例:
gs://my-bucket/my-image1.jpg
gs://my-bucket/my-image2.jpg
gs://my-bucket/my-image3.jpg
- INPUT_FILE_URI=入力ファイルの Cloud Storage URI> 入力ファイルの各行は、処理する画像の Cloud Storage URI です(例: gs://my-bucket/my-image.jpg)。
- OUTPUT_URI_PREFIX=出力結果ファイルの Cloud Storage URI 接頭辞(例: gs://my-bucket/my-output-dir)
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints/ENDPOINT_ID:batchAnalyze -d '{
"gcsSource": {
"uris": ["INPUT_FILE_URI"]
},
"features": [
{
"type": "TYPE_PRODUCT_RECOGNITION",
}
],
"outputGcsDestination": {
"outputUriPrefix": "OUTPUT_URI_PREFIX"
}
}'
"features": [
{
"type": "TYPE_PRODUCT_RECOGNITION",
"productRecognitionConfig": {
"recognitionConfidenceThreshold": 0.4
}
}
],
productRecognitionConfig
(RetailProductRecognitionConfig
オブジェクト)で設定して構成できるフィールドは他にもあります。詳細については、API リファレンスのリソースの説明をご覧ください。
API リファレンス
リソース: projects.locations.retailCatalogs
JSON 表現
{
"name": string,
"displayName": string,
"createTime": string,
"updateTime": string,
"resourceState": enum(RetailResourceState),
"labels": {
string: string,
...
}
}
フィールド
名前 |
文字列 |
出力専用。RetailCatalog のリソース名 |
---|---|---|
displayName |
文字列 |
省略可。RetailCatalog の表示名。 |
createTime |
文字列(タイムスタンプ形式) |
出力専用。この RetailCatalog が作成されたときのタイムスタンプ。 |
updateTime |
文字列(タイムスタンプ形式) |
出力専用。更新タイムスタンプ。 |
resourceState |
列挙型 |
出力専用。RetailCatalog の状態。 |
ラベル |
map(key: string, value: string) |
ユーザー定義のメタデータを含むラベル。RetailCatalog を整理するために使用します。 ラベルのキーと値は 64 文字(Unicode コードポイント)以下にする必要があります。使用できるのは小文字、数字、アンダースコア、ダッシュのみです。国際文字も使用できます。 ラベルの詳細と例については、 https://goo.gl/xmQnxf をご覧ください。 "key": value ペアのリストが含まれるオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }。 |
メソッド: projects.locations.retailCatalogs.create
HTTP リクエスト
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/us-central1}/retailCatalogs
パスパラメータ
親 | 文字列 | 必須。親の ID。 |
リクエストの本文
リクエストの本文には RetailCatalog
のインスタンスが含まれます。
レスポンスの本文
成功した場合、レスポンスの本文には、新しく作成された RetailCatalog
のインスタンスが含まれます。
メソッド: projects.locations.retailCatalogs.get
HTTP リクエスト
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/us-central1/retailCatalogs/*}
パスパラメータ
name | 文字列 | 必須。RetailCatalog 識別子。 |
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功した場合、レスポンスの本文には RetailCatalog
のインスタンスが含まれます。
メソッド: projects.locations.retailCatalogs.list
HTTP リクエスト
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/us-central1}/retailCatalogs
パスパラメータ
親 | 文字列 | 必須。親の ID。 |
クエリ パラメータ
filter | string | 省略可。リクエストの結果をフィルタリングする式。 |
---|---|---|
pageToken | string | 省略可。サーバーが返す必要がある結果のページを特定するトークンです。 |
pageSize | 整数 | 省略可。リクエストされたページサイズです。 サーバーはリクエストされた数よりも少ない項目を返す場合があります。指定しない場合は、サーバーで適切なデフォルトが選択されます。 |
orderBy | string | 省略可。昇順で並べ替えるフィールドのカンマ区切りのリスト。降順の場合は、フィールド名の後に「desc」を使用します。 |
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功した場合、レスポンスの本文には次の構造のデータが含まれます。 JSON 表現
{
"retailCatalogs": [
{
object (RetailCatalog)
}
],
"nextPageToken": string
}
メソッド: projects.locations.retailCatalogs.delete
HTTP リクエスト
DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/us-central1/retailCatalogs/*}
パスパラメータ
name | 文字列 | 必須。RetailCatalog 識別子。 |
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功した場合、レスポンスの本文には Operation
のインスタンスが含まれます。
メソッド: projects.locations.retailCatalogs.importRetailProducts
HTTP リクエスト
POST https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/us-central1/retailCatalogs/*}:importRetailProducts
パスパラメータ
name | 文字列 | 必須。RetailCatalog リソース名。 |
リクエストの本文
JSON 表現
{
"gcsSource": { object(GcsSource) },
"format": enum(Format)
}
フィールド
gcsSource | オブジェクト | 必須。入力コンテンツの Cloud Storage のロケーション。複数の入力場所を指定できます。すべての入力ロケーションの内容が 1 つのバッチでインポートされます。サポートされているファイル拡張子: 1.
JSONL ファイル。各行は、RetailProductIoFormat の JSON 形式です。 2. TXT ファイル。各行は、インポートする商品の GTIN です。 |
形式 | enum | 必須。インポート ファイルの形式。 |
ENUM 値をフォーマットする
FORMAT_UNSPECIFIED | これは使用しないでください。 |
---|---|
FORMAT_TXT | TXT 形式。 |
FORMAT_JSONL | JSONL 形式。 |
レスポンスの本文
成功した場合、レスポンスの本文には Operation
のインスタンスが含まれます。
リソース: projects.locations.retailProducts
JSON 表現
{
"name": string,
"gtins": [string],
"normalizedGtins": [string],
"thirdPartyIds": [ { object(ThirdPartyId) }],
"locale": string,
"brand": string,
"title": string,
"productUri": string,
"resourceState": enum(RetailResourceState),
"labels": {
string: string,
...
}
"createTime": string,
"updateTime": string
}
フィールド
名前 |
文字列 |
出力専用。RetailProductImage のリソース名 |
---|---|---|
displayName |
文字列 |
省略可。RetailProductImage の表示名。 |
sourceType |
列挙型 |
省略可。ソースタイプ |
gcsUri |
文字列 |
省略可。RetailProductImage の Cloud Storage ロケーション。ソースタイプが SOURCE_TYPE_GOOGLE など、画像が Google から提供されている場合を除き、設定する必要があります。 |
resourceState |
列挙型 |
出力専用。RetailProductImage の状態。 |
ラベル |
map(key: string, value: string) |
ユーザー定義のメタデータを含むラベル。RetailProductImage を整理するために使用します。 ラベルのキーと値は 64 文字(Unicode コードポイント)以下にする必要があります。使用できるのは小文字、数字、アンダースコア、ダッシュのみです。国際文字も使用できます。 ラベルの詳細と例については、 https://goo.gl/xmQnxf をご覧ください。 "key": value ペアのリストが含まれるオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }。 |
createTime |
文字列(タイムスタンプ形式) |
出力専用。作成タイムスタンプ。 |
updateTime |
文字列(タイムスタンプ形式) |
出力専用。更新タイムスタンプ。 |
RetailThirdPartyId
JSON プレゼンテーション
{
"id": string,
"owner": string
}
フィールド
id | string | 小売業者またはメーカーが使用するサードパーティ ID(SKU や MPN など)。 |
オーナー | string | サードパーティ ID を「所有」するエンティティ(この商品を販売しているメーカーや小売店など)。 |
メソッド: projects.locations.retailCatalogs.retailProducts.create
HTTP リクエスト
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProducts
パスパラメータ
親 | 文字列 | 必須。親の ID。 |
リクエストの本文
リクエストの本文には RetailProduct
のインスタンスが含まれます。
レスポンスの本文
成功した場合、レスポンスの本文には、新しく作成された RetailProduct
のインスタンスが含まれます。
メソッド: projects.locations.retailCatalogs.retailProducts.get
HTTP リクエスト
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*
パスパラメータ
name | 文字列 | 必須。RetailProduct 識別子。 |
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功した場合、レスポンスの本文には RetailProduct
のインスタンスが含まれます。
メソッド: projects.locations.retailCatalogs.retailProducts.list
HTTP リクエスト
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProducts
パスパラメータ
親 | 文字列 | 必須。親の ID。 |
クエリ パラメータ
filter | string | 省略可。リクエストの結果をフィルタリングする式。 |
---|---|---|
pageToken | string | 省略可。サーバーが返す必要がある結果のページを特定するトークンです。 |
pageSize | 整数 | 省略可。リクエストされたページサイズです。 サーバーはリクエストされた数よりも少ない項目を返す場合があります。指定しない場合は、サーバーで適切なデフォルトが選択されます。 |
orderBy | string | 省略可。昇順で並べ替えるフィールドのカンマ区切りのリスト。降順の場合は、フィールド名の後に「desc」を使用します。 |
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功した場合、レスポンスの本文には次の構造のデータが含まれます。 JSON 表現
{
"retailProducts": [
{
object (RetailProducts)
}
],
"nextPageToken": string
}
メソッド: projects.locations.retailCatalogs.retailProducts.delete
HTTP リクエスト
DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*
パスパラメータ
name | 文字列 | 必須。RetailProduct 識別子。 |
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功すると、レスポンスの本文は空になります。
リソース: projects.locations.retailProductImages
JSON 表現
{
"name": string,
"displayName": string,
"sourceType": enum(SourceType),
"gcsUri": string,
"resourceState": enum(RetailResourceState),
"labels": {
string: string,
...
}
"createTime": string,
"updateTime": string
}
フィールド
名前 |
文字列 |
出力専用。RetailProductImage のリソース名 |
---|---|---|
displayName |
文字列 |
省略可。RetailProductImage の表示名。 |
sourceType |
列挙型 |
省略可。ソースタイプ |
gcsUri |
文字列 |
省略可。RetailProductImage の Cloud Storage ロケーション。ソースタイプが SOURCE_TYPE_GOOGLE など、画像が Google から提供されている場合を除き、設定する必要があります。 |
resourceState |
列挙型 |
出力専用。RetailProductImage の状態。 |
個のラベル |
map(key: string, value: string) |
ユーザー定義のメタデータを含むラベル。RetailProductImage を整理するために使用します。 ラベルのキーと値は 64 文字(Unicode コードポイント)以下にする必要があります。使用できるのは小文字、数字、アンダースコア、ダッシュのみです。国際文字も使用できます。 ラベルの詳細と例については、 https://goo.gl/xmQnxf をご覧ください。 "key": value ペアのリストが含まれるオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }。 |
createTime |
文字列(タイムスタンプ形式) |
出力専用。作成タイムスタンプ。 |
updateTime |
文字列(タイムスタンプ形式) |
出力専用。更新タイムスタンプ。 |
SourceType 列挙型の値
SOURCE_TYPE_UNSPECIFIED | 不明なデータソース。これは使用しないでください。 |
---|---|
SOURCE_TYPE_FIXED_CAMERA | 画像は固定カメラで撮影されています。 |
SOURCE_TYPE_HAND_HELD_CAMERA | 画像は手持ちのカメラで撮影されています。 |
SOURCE_TYPE_CRAWLED | 画像はウェブからクロールされます。 |
SOURCE_TYPE_SYSTEM_GENERATED | 画像は、人間がラベル付けした元の画像から切り抜かれています。 |
メソッド: projects.locations.retailCatalogs.retailProducts.retailProductImages.create
HTTP リクエスト
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*/retailProducts/*}/retailProductImages
パスパラメータ
親 | 文字列 | 必須。親の ID。 |
リクエストの本文
リクエストの本文には RetailProductImage
のインスタンスが含まれます。
レスポンスの本文
成功した場合、レスポンスの本文には、新しく作成された RetailProductImage
のインスタンスが含まれます。
メソッド: projects.locations.retailCatalogs.retailProducts.retailProductImages.get
HTTP リクエスト
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*/retailProductImages/*
パスパラメータ
name | 文字列 | 必須。RetailProductImage 識別子。 |
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功した場合、レスポンスの本文には RetailProductImage
のインスタンスが含まれます。
メソッド: projects.locations.retailCatalogs.retailProducts.retailProductImages.list
HTTP リクエスト
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*/retailProducts/*}/retailProductImages
パスパラメータ
親 | 文字列 | 必須。親の ID。 |
クエリ パラメータ
filter | string | 省略可。リクエストの結果をフィルタリングする式。 |
---|---|---|
pageToken | string | 省略可。サーバーが返す必要がある結果のページを特定するトークンです。 |
pageSize | 整数 | 省略可。リクエストされたページサイズです。 サーバーはリクエストされた数よりも少ない項目を返す場合があります。指定しない場合は、サーバーで適切なデフォルトが選択されます。 |
orderBy | string | 省略可。昇順で並べ替えるフィールドのカンマ区切りのリスト。降順の場合は、フィールド名の後に「desc」を使用します。 |
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功すると、レスポンスの本文に次の構造のデータが含まれます。
JSON 表現
{
"retailProductImages": [
{
object (RetailProductImages)
}
],
"nextPageToken": string
}
メソッド: projects.locations.retailCatalogs.retailProducts.retailProductImages.delete
HTTP リクエスト
DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*/retailProductImages/*
パスパラメータ
name | 文字列 | 必須。RetailProductImage 識別子。 |
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功すると、レスポンスの本文は空になります。
リソース: projects.locations.retailCatalogs.retailProductSets
JSON 表現
{
"name": string,
"displayName": string,
"retailProductIds": [string],
"resourceState": enum(RetailResourceState),
"labels": {
string: string,
...
}
"createTime": string,
"updateTime": string
}
フィールド
名前 |
文字列 |
出力専用。RetailProductSet のリソース名 |
---|---|---|
displayName |
文字列 |
省略可。RetailProductSet の表示名。 |
retailProductIds [] |
文字列 |
出力専用。この RetailProductSet に属する商品のリソース ID。RetailProductSet の商品は同じカタログに存在する必要があります。 |
resourceState |
列挙型 |
出力専用。RetailProductSet の状態。 |
ラベル |
map(key: string, value: string) |
ユーザー定義のメタデータを含むラベル。RetailProductSet を整理するために使用します。 ラベルのキーと値は 64 文字(Unicode コードポイント)以下にする必要があります。使用できるのは小文字、数字、アンダースコア、ダッシュのみです。国際文字も使用できます。 ラベルの詳細と例については、 https://goo.gl/xmQnxf をご覧ください。 "key": value ペアのリストが含まれるオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }。 |
createTime |
文字列(タイムスタンプ形式) |
出力専用。作成タイムスタンプ。 |
updateTime |
文字列(タイムスタンプ形式) |
出力専用。更新タイムスタンプ。 |
メソッド: projects.locations.retailCatalogs.retailProductSets.create
HTTP リクエスト
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductSets
パスパラメータ
親 | 文字列 | 必須。親の ID。 |
リクエストの本文
リクエストの本文には RetailProductSet のインスタンスが含まれます。
レスポンスの本文
成功すると、レスポンスの本文には新しく作成された RetailProductSet のインスタンスが含まれます。
メソッド: projects.locations.retailCatalogs.retailProductSets.get
HTTP リクエスト
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*
パスパラメータ
name | 文字列 | 必須。RetailProductSet の ID。 |
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功した場合、レスポンスの本文には RetailProductSet のインスタンスが含まれます。
メソッド: projects.locations.retailCatalogs.retailProductSets.list
HTTP リクエスト
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductSets
パスパラメータ
親 | 文字列 | 必須。親の ID。 |
クエリ パラメータ
filter | string | 省略可。リクエストの結果をフィルタリングする式。 |
---|---|---|
pageToken | string | 省略可。サーバーが返す必要がある結果のページを特定するトークンです。 |
pageSize | 整数 | 省略可。リクエストされたページサイズです。 サーバーはリクエストされた数よりも少ない項目を返す場合があります。指定しない場合は、サーバーで適切なデフォルトが選択されます。 |
orderBy | string | 省略可。昇順で並べ替えるフィールドのカンマ区切りのリスト。降順の場合は、フィールド名の後に「desc」を使用します。 |
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功すると、レスポンスの本文に次の構造のデータが含まれます。
JSON 表現
{
"retailProductSets": [
{
object (RetailProductSets)
}
],
"nextPageToken": string
}
メソッド: projects.locations.retailCatalogs.retailProductSets.delete
HTTP リクエスト
DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*
パスパラメータ
name | 文字列 | 必須。RetailProductSet の ID。 |
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功すると、レスポンスの本文は空になります。
メソッド: projects.locations.retailCatalogs.retailProductSets.add
HTTP リクエスト
POST https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*}:remove
パスパラメータ
name | 文字列 | 必須。RetailProductSet のリソース名。 |
リクエストの本文
JSON 表現
{
"productIds": [string],
"productFilter": string
}
フィールド
productIds[ ] |
文字列 |
追加する RetailProducts のリソース ID。指定された宛先 RetailProductSet と同じ RetailCatalog に属している必要があります。1 つのリクエストで指定できる RetailProducts ID は最大 200 個です。productFilter と併用することはできません。 |
---|---|---|
productFilter |
文字列 |
親の RetailCatalog 内のすべての RetailProduct に適用される標準フィルタ。フィルタ条件を満たすアイテムを選択し、RetailProductSet に追加します。product_ids と一緒に使用することはできません。サポートされているフィルタ: https://google.aip.dev/160 |
レスポンスの本文
成功した場合、レスポンスの本文には Operation
のインスタンスが含まれます。
メソッド: projects.locations.retailCatalogs.retailProductSets.remove
HTTP リクエスト
POST https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*}:add
パスパラメータ
name | 文字列 | 必須。RetailProductSet のリソース名。 |
リクエストの本文
JSON 表現
{
"productIds": [string],
"productFilter": string
}
フィールド
productIds[ ] |
文字列 |
削除する RetailProduct のリソース ID。指定された RetailProducts がこの RetailProductSet に属していない場合、無視されます。1 つのリクエストで指定できる RetailProducts ID は最大 200 個です。products_filter と併用できません。 |
---|---|---|
productFilter |
文字列 |
指定された RetailProductSet 内のすべての RetailProduct に適用される標準フィルタ。フィルタ条件を満たすアイテムを選択し、RetailProductSet から削除します。product_ids と一緒に使用することはできません。サポートされているフィルタ:https://google.aip.dev/160 |
レスポンスの本文
成功した場合、レスポンスの本文には Operation
のインスタンスが含まれます。
リソース: projects.locations.retailCatalogs.retailProductRecognitionIndexes
JSON 表現
{
"name": string,
"displayName": string,
"description": string,
"retailProductSet": [string],
"resourceState": enum(RetailResourceState),
"labels": {
string: string,
...
}
"createTime": string,
"updateTime": string
}
フィールド
名前 |
文字列 |
出力専用。RetailProductRecognitionIndex リソースのリソース名。 |
---|---|---|
displayName |
文字列 |
省略可。RetailProductRecognitionIndex の表示名。 |
説明 |
文字列 |
省略可。RetailProductRecognitionIndex の説明。 |
retailProductSet[] |
文字列 |
省略可。このリソースの作成に使用する RetailProductSet のリソース名。設定されている場合、RetailProductRecognitionIndex には、指定された RetailProductSet の商品のみが含まれます。設定しない場合、親カタログ内のすべての商品が使用されます。 |
resourceState |
列挙型 |
出力専用。RetailProductRecognitionIndex の状態。 |
個のラベル |
map(key: string, value: string) |
ユーザー定義のメタデータを含むラベル。RetailProductRecognitionIndex を整理するために使用します。 ラベルのキーと値は 64 文字(Unicode コードポイント)以下にする必要があります。使用できるのは小文字、数字、アンダースコア、ダッシュのみです。国際文字も使用できます。 ラベルの詳細と例については、 https://goo.gl/xmQnxf をご覧ください。 "key": value ペアのリストが含まれるオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }。 |
createTime |
文字列(タイムスタンプ形式) |
出力専用。作成タイムスタンプ。 |
updateTime |
文字列(タイムスタンプ形式) |
出力専用。更新タイムスタンプ。 |
メソッド: projects.locations.retailCatalogs.retailProductRecognitionIndexes.create
HTTP リクエスト
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductRecognitionIndexes
パスパラメータ
親 | 文字列 | 必須。親の ID。 |
リクエストの本文
リクエストの本文には RetailProductRecognitionIndex
のインスタンスが含まれます。
レスポンスの本文
成功した場合、レスポンスの本文には、新しく作成された RetailProductRecognitionIndex
のインスタンスが含まれます。
メソッド: projects.locations.retailCatalogs.retailProductRecognitionIndexes.get
HTTP リクエスト
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductRecognitionIndexes/*
パスパラメータ
name | 文字列 | 必須。RetailProductRecognitionIndex 識別子。 |
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功した場合、レスポンスの本文には RetailProductRecognitionIndex
のインスタンスが含まれます。
メソッド: projects.locations.retailCatalogs.retailProductRecognitionIndexes.list
HTTP リクエスト
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductRecognitionIndexes
パスパラメータ
親 | 文字列 | 必須。親の ID。 |
クエリ パラメータ
filter | string | 省略可。リクエストの結果をフィルタリングする式。 |
---|---|---|
pageToken | string | 省略可。サーバーが返す必要がある結果のページを特定するトークンです。 |
pageSize | 整数 | 省略可。リクエストされたページサイズです。 サーバーはリクエストされた数よりも少ない項目を返す場合があります。指定しない場合は、サーバーで適切なデフォルトが選択されます。 |
orderBy | string | 省略可。昇順で並べ替えるフィールドのカンマ区切りのリスト。降順の場合は、フィールド名の後に「desc」を使用します。 |
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功すると、レスポンスの本文に次の構造のデータが含まれます。
JSON 表現
{
"retailProductRecognitionIndexes": [
{
object (RetailProductRecognitionIndex)
}
],
"nextPageToken": string
}
メソッド: projects.locations.retailCatalogs.retailProductRecognitionIndexes.delete
HTTP リクエスト
DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductRecognitionIndexes/*
パスパラメータ
name | 文字列 | 必須。ProductRecognitionIndex 識別子。 |
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功した場合、レスポンスの本文には Operation
のインスタンスが含まれます。
リソース: projects.locations.retailEndpoints
JSON 表現
{
"name": string,
"displayName": string,
"description": string,
"deployedProductRecognitionIndex": string,
"resourceState": enum(RetailResourceState),
"productRecognitionConfig": { object(RetailProductRecognitionConfig) },
"tagRecognitionConfig": { object(RetailTagRecognitionConfig) },
"labels": {
string: string,
...
}
"createTime": string,
"updateTime": string
}
フィールド
名前 |
文字列 |
出力専用。RetailEndpoint リソースのリソース名。 |
---|---|---|
displayName |
文字列 |
省略可。RetailEndpoint の表示名。 |
説明 |
文字列 |
省略可。RetailEndpoint の説明。 |
deployedProductRecognitionIndex |
文字列 |
出力専用。この RetailEndpoint にデプロイされた ProductRecognitionIndex のリソース名。 |
productRecognitionConfig |
オブジェクト |
省略可。商品認識の構成。 |
tagRecognitionConfig |
オブジェクト |
省略可。タグ認識の構成。 |
resourceState |
列挙型 |
出力専用。RetailProductRecognitionIndex の状態。 |
個のラベル |
map(key: string, value: string) |
ユーザー定義のメタデータを含むラベル。RetailProductRecognitionIndex を整理するために使用します。 ラベルのキーと値は 64 文字(Unicode コードポイント)以下にする必要があります。使用できるのは小文字、数字、アンダースコア、ダッシュのみです。国際文字も使用できます。 ラベルの詳細と例については、 https://goo.gl/xmQnxf をご覧ください。 "key": value ペアのリストが含まれるオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }。 |
createTime |
文字列(タイムスタンプ形式) |
出力専用。作成タイムスタンプ。 |
updateTime |
文字列(タイムスタンプ形式) |
出力専用。更新タイムスタンプ。 |
RetailProductRecognitionConfig
JSON 表現
{
"productDetectionModel": string,
"detectionConfidenceThreshold": float,
"recognitionConfidenceThreshold": float,
"additionalConfig": { object }
}
フィールド
|
productDetectionModel | 文字列 | 必須。入力画像内の商品を検出するために使用するモデル。サポートされている値: builtin/stable(デフォルト)または Vertex AI モデルリソース名。 |
---|---|---|
detectionConfidenceThreshold | float | 省略可。検出結果をフィルタする信頼度しきい値。設定しない場合、システムのデフォルト値が使用されます。 |
recognitionConfidenceThreshold | float | 省略可。認識結果をフィルタする信頼度のしきい値。設定しない場合、システムのデフォルト値が使用されます。 |
additionalConfig | object (Struct format) | 省略可。商品認識の追加設定。 |
RetailTagRecognitionConfig
JSON 表現
{
"tagDetectionModel": string,
"tagParsingModel": string,
"detectionConfidenceThreshold": float,
"parsingConfidenceThreshold": float,
"additionalConfig": { object }
}
フィールド
tagDetectionModel | 文字列 | 必須。入力画像のタグ検出に使用するモデル。サポートされている値: Vertex AI モデルリソース。 |
---|---|---|
tagParsingModel | 文字列 | 必須。検出されたタグのテキストを解析するモデル。サポートされている値: Vertex AI モデルリソース。 |
detectionConfidenceThreshold | float | 省略可。検出結果をフィルタする信頼度しきい値。設定しない場合、システムのデフォルト値が使用されます。 |
parsingConfidenceThreshold | float | 省略可。テキスト解析結果をフィルタする信頼度のしきい値。設定しない場合、システムのデフォルト値が使用されます。 |
additionalConfig | object (Struct format) | 省略可。タグ認識の追加設定。 |
メソッド: projects.locations.retailEndpoints.create
HTTP リクエスト
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*}/retailEndpoints
パスパラメータ
親 | 文字列 | 必須。親の ID。 |
リクエストの本文
リクエストの本文には RetailEndpoint
のインスタンスが含まれます。
レスポンスの本文
成功した場合、レスポンスの本文には、新しく作成された RetailEndpoint
のインスタンスが含まれます。
メソッド: projects.locations.retailEndpoints.get
HTTP リクエスト
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailEndpoints/*}
パスパラメータ
name | 文字列 | 必須。RetailEndpoint 識別子。 |
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功した場合、レスポンスの本文には RetailEndpoint
のインスタンスが含まれます。
メソッド: projects.locations.retailEndpoints.list
HTTP リクエスト
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*}/retailEndpoints
パスパラメータ
親 | 文字列 | 必須。親の ID。 |
クエリ パラメータ
filter | string | 省略可。リクエストの結果をフィルタリングする式。 |
---|---|---|
pageToken | string | 省略可。サーバーが返す必要がある結果のページを特定するトークンです。 |
pageSize | 整数 | 省略可。リクエストされたページサイズです。 サーバーはリクエストされた数よりも少ない項目を返す場合があります。指定しない場合は、サーバーで適切なデフォルトが選択されます。 |
orderBy | string | 省略可。昇順で並べ替えるフィールドのカンマ区切りのリスト。降順の場合は、フィールド名の後に「desc」を使用します。 |
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功すると、レスポンスの本文に次の構造のデータが含まれます。
JSON 表現
{
"retailEndpoints": [
{
object (RetailEndpoint)
}
],
"nextPageToken": string
}
メソッド: projects.locations.retailEndpoints.delete
HTTP リクエスト
DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailEndpoints/*
パスパラメータ
name | 文字列 | 必須。RetailEndpoint 識別子。 |
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功すると、レスポンスの本文は空になります。
メソッド: projects.locations.retailEndpoints.deployRetailProductRecognitionIndex
HTTP リクエスト
POST https://visionai.googleapis.com/v1alpha1/{retailEndpoint=projects/*/locations/*/retailEndpoints/*}:deployRetailProductRecognitionIndex
パスパラメータ
retailEndpoint | string | 必須。RetailProductRecognitionIndex がデプロイされる RetailEndpoint リソースのリソース名。 |
リクエストの本文
JSON 表現
{
"retailProductRecognitionIndex": string,
}
フィールド
retailProductRecognitionIndex | string | 必須。デプロイする RetailProductRecognitionIndex のリソース名。 |
レスポンスの本文
成功した場合、レスポンスの本文には Operation
のインスタンスが含まれます。
メソッド: projects.locations.retailEndpoints.undeployRetailProductRecognitionIndex
HTTP リクエスト
POST https://visionai.googleapis.com/v1alpha1/{retailEndpoint=projects/*/locations/*/retailEndpoints/*}:undeployRetailProductRecognitionIndex
パスパラメータ
retailEndpoint | string | 必須。デプロイ解除の対象となる RetailEndpoint リソースのリソース名。 |
リクエストの本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功した場合、レスポンスの本文には Operation
のインスタンスが含まれます。
メソッド: projects.locations.retailEndpoints.batchAnalyze
HTTP リクエスト
POST https://visionai.googleapis.com/v1alpha1/{retailEndpoint=projects/*/locations/*/retailEndpoints/*}:batchAnalyze
パスパラメータ
retailEndpoint | string | 必須。推論リクエストを処理する RetailEndpoint のリソース名。 |
リクエストの本文
JSON 表現
{
"gcsSource": string,
"features": { object(Feature) },
// Union field output can be only one of the following:
"outputGcsDestination": string,
"corpus": string,
// End of list of possible types for union field output.
"bigqueryTable": string
}
フィールド
gcsSource | 文字列 | 必須。入力コンテンツの Cloud Storage のロケーション。複数の入力場所を指定できます。すべての入力ロケーションの内容が 1 つのバッチで処理されます。サポートされているコンテンツ: TXT ファイル。各行は画像のフルパスです。1 回のリクエストでサポートできる画像は最大 5 万枚です。 |
---|---|---|
outputGcsDestination | 文字列 | 省略可。出力の書き込み先となるディレクトリの Cloud Storage のロケーション。 |
corpus | 文字列 | 省略可。画像ウェアハウス コーパスのリソース名。現時点ではサポートされていません。 |
bigqueryTable | 文字列 | 省略可。アノテーションのエクスポート用 BigQuery テーブルのリソース名。形式は「projects/*/datasets/*/tables/*」です。設定すると、ML 推論から生成されたアノテーションも、指定された BigQuery テーブルにエクスポートされます。現時点ではサポートされていません。 |
features[] | オブジェクト | 必須。実行する ML 推論のタイプ。 |
機能
JSON 表現
{
"type": enum(Type),
"productRecognitionConfig": object(RetailProductRecognitionConfig),
"tagRecognitionConfig": object(RetailTagRecognitionConfig)
}
フィールド
type | enum | 必須。対象物の種類。 |
---|---|---|
productRecognitionConfig | オブジェクト | 省略可。商品認識機能のリクエストごとのオーバーライド。type が TYPE_PRODUCT_RECOGNITION に設定されている場合にのみ有効です。 |
tagRecognitionConfig | オブジェクト | 省略可。タグ認識機能のリクエストごとのオーバーライド。タイプが TYPE_TAG_RECOGNITION に設定されている場合にのみ有効です。 |
レスポンスの本文
成功した場合、レスポンスの本文には Operation
のインスタンスが含まれます。
型
GcsSource
JSON 表現
{
"uris": [string]
}
フィールド
uris[] | 文字列 | 必須。Cloud Storage パスへの参照。 |
タイプ
ENUM 値
TYPE_UNSPECIFIED | デフォルト値。これは使用しないでください。 |
---|---|
TYPE_PRODUCT_RECOGNITION | 商品認識。デプロイされた RetailProductRecognitionIndex がある RetailEndpoint で使用する必要があります。 |
TYPE_TAG_RECOGNITION | タグの検出と解析。RetailTagRecognitionConfig とともに RetailEndpoint で使用する必要があります。 |
RetailProductIoFormat
JSON 表現
{
"retailProduct": { object(RetailProduct) },
"retailProductImages": [ { object(RetailProductImage) }]
}
フィールド
retailProduct | オブジェクト | 必須。インポートする RetailProduct |
---|---|---|
retailProductImages[ ] | オブジェクト | 省略可。インポートする特定の RetailProduct の RetailProductImage 。 |
RetailResourceState
ENUM 値
RETAIL_RESOURCE_STATE_UNSPECIFIED | デフォルト値。使用しないでください。 |
---|---|
RETAIL_RESOURCE_STATE_CREATING | 状態の作成。 |
RETAIL_RESOURCE_STATE_CREATED | 状態が作成されました。 |
RETAIL_RESOURCE_STATE_UPDATING | ステータスの更新。 |
RETAIL_RESOURCE_STATE_DELETED | 状態: 削除済み。 |
RETAIL_RESOURCE_STATE_ERROR | 状態エラー。 |