商品認識ツールのガイド

商品認識モデルは、指定された画像または陳列棚にある商品を認識して理解するのに役立ちます。

このモデルは、小売店での商品画像データを分析して解釈するための主要な AI 構成要素として使用できます。たとえば、ローカル カメラやモバイル デバイスで撮影された商品棚の画像にこのモデルを使用できます。

タグ認識ツールと商品認識ツールのユースケース

商品認識モデルタグ認識モデルは、小売店で見つかった商品やタグに関する画像データ(設置されたカメラやモバイル デバイス / プラットフォームでキャプチャされた棚スキャン画像など)を分析して解釈するための主な AI 構成要素として使用できます。

商品認識モデルとタグ認識モデルには、小売業者や技術パートナーが小売店の棚を理解する際に直面する主な問題を解決するために、Google AI の主要なモデリング機能とデータ機能が組み込まれています。たとえば、次のような問題です。

  • 画像内または陳列棚にある商品を検出して認識し、理解する。
  • ユーザー定義の Key-Value ペア エンティティ抽出スキーマに従って、タグ(価格タグやその他のテキストラベルタグなど)を検出して認識し、解析する。

特に、これらのユースケースの問題解決をサポートするために、棚卸ソリューションには、次のような差別化された Google AI モデルがいくつか含まれています。

  • 商品検出モデル(Google によって事前トレーニングされていますが、カスタマイズも可能です)。
  • 商品サムネイルの視覚エンベディング モデル。商品サムネイル画像を数値特徴空間表現に変換します。
  • Google の OCR モデル。画像に表示されているすべてのテキストを抽出します。
  • Google エンティティ抽出モデル(カスタマイズ可能)。元のテキストをユーザー定義の Key-Value ペアのエンティティ名に変換します。

陳列棚確認ソリューションは、これらの Google AI モデルに加えて、Google の膨大な商品情報データベースも活用します。この商品データベースの商品データには、商品の GTIN / UPC ID、商品ブランド、商品名、言語横断的な説明、商品ロゴ、さまざまなパッケージのバリエーションを捉えた画像が含まれます。前述の商品のサムネイルのビジュアル エンベディング モデルを含む商品データベースにより、商品認識モデルは多くの商品をすぐに認識できます。

たとえば、次のように撮影されたセクションの画像を取得した場合、セクションのチェック ソリューションは次の目的を達成します。

  1. 画像内のすべての商品アイテム ボックス(可視で、大きく遮蔽されていないもの)を検出してローカライズし、個々の商品アイテム ボックスの商品 ID を GTIN / UPC レベルで認識します。
  2. 画像内のすべてのタグボックス(可視)を検出してローカライズし、タグ内のすべてのテキスト文字列を認識してから、テキストを解析して、商品アイテムの説明、価格値などのユーザー定義の 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 リソースがあります。次のように説明されています。

API コンセプト図

カタログ: 小売業者が提供するすべての商品のコンテナを表すルート リソース。

商品: 販売者が提供する商品を表します。ProductCatalog の子リソースです。

ProductImage: 1 つの商品のビューを表す画像。ProductImageProduct の子リソースです。

ProductSet: 同じ Catalog 内の商品を整理してグループ化するためのきめ細かいコンテナ。1 つの ProductSet に 1 つ以上の Product を含めることができますが、ProductSet は、その Product を「所有」するのではなく、Product への「リンク」を維持します。

ProductRecognitionIndex: 商品認識アルゴリズムに使用される画像エンベディングのリストが含まれます。ProductRecognitionIndex は、Catalog 全体または ProductSetCatalogProduct のサブセット)から作成できます。

エンドポイント: 商品認識またはタグ認識の推論を行うために必要なすべての構成を保持するプレースメント。商品認識の場合は、商品検出モデルを指定し、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'

IAM バインディングの詳細

商品認識ツールのユーザー ジャーニー

  1. カタログを作成します。
  2. Catalog に商品と(省略可)ProductImages をインポートします。
  3. ProductProductImages を表示して変更し、必要に応じて ProductSet を作成して商品リストをより細かく整理します。
  4. Catalog 全体または ProductSet から Index を作成します。
  5. 必要な商品認識構成を使用して Endpoint を作成し、Index をデプロイします。
  6. 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
      }
    }
  ],

productRecognitionConfigRetailProductRecognitionConfig オブジェクト)で設定して構成できるフィールドは他にもあります。詳細については、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[ ] オブジェクト 省略可。インポートする特定の RetailProductRetailProductImage

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 状態エラー。