タグ認識モデルは、小売店の棚を理解する際の主要な問題、つまり、ユーザー定義の Key-Value ペア エンティティ抽出スキーマに従ってタグ(値札やその他のラベルタグなど)を認識して解析する問題を解決するのに役立ちます。
このモデルは、小売店での商品画像データを分析して解釈するための主要な 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 使用の推論パスについて説明します。次に、ユーザー構成または実行するモデル トレーニングを通じて、関連するコンポーネントをカスタマイズする方法について簡単に説明します。
タグ認識ツールの機能
このモデルは、タグ内のすべてのテキスト文字列を認識し、テキストを解析して、商品アイテムの説明や価格値などのユーザー定義の Key-Value ペア エンティティ抽出スキーマに変換しようとします。これには、次の Google AI モデルが含まれています。
- Google の OCR 技術: 画像に表示されているすべてのテキストを抽出します。
未加工のテキストをユーザー定義の Key-Value ペアのエンティティ名に変換する Google エンティティ抽出モデル。このモデルは Vertex AI を使用してカスタマイズします。たとえば、商品アイテムの説明、商品価格の値、セール価格のみを重視する場合は、タグ解析スキーマを次のように定義できます。
key: item_description value: string key: regular_price value: number key: sale_price value: number
タグ解析スキーマ
カスタマイズされたエンティティ抽出モデルをトレーニングすると、検出されたタグアイテム ボックスは、ユーザー定義のスキーマに準拠して認識および解析されます。次に例を示します。
item_description: COLLECTION 18PC GFT BX
regular_price: 1099
sale_price: 999
出力 JSON オブジェクトの例
{ "imageUri": "gs://test_bucket/test_image.jpg", "tagRecognitionAnnotations": [ { "entities": [ { "confidence": 0.99646133, "mentionText": "NISSIN TOP RAMEN\n\nBOW CHICKEN\n\n", "region": { "xMax": 0.4618055, "xMin": 0.042725038, "yMax": 0.45387268, "yMin": 0.18415153 }, "type":"description" }, { "confidence": 0.95828205, "mentionText": "$3.90\n", "region": { "xMax": 0.24819264, "xMin": 0.04185935, "yMax": 0.96134734, "yMin": 0.80382305 }, "type":"unit_price" }, { "confidence": 0.60659707, "mentionText": "$14.99\n", "region": { "xMax": 0.9754113, "xMin": 0.3654699, "yMax": 0.92825794, "yMin": 0.40368474 }, "type":"price" } ] } ] }
環境のセットアップ
このセクションでは、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'
タグ認識ツールのユーザー ジャーニー
- Vertex AI / AutoML Vision Object Detection 機能を使用して、タグ検出モデルのカスタマイズされたトレーニングを実行します。
- カスタマイズされた OCR エンジンを使用して Vertex AI / AutoML Vision Object Detection 機能を使用して、タグ エンティティ解析モデルのトレーニングを行います。
- 必要なタグ認識構成を使用してエンドポイントを作成します。
- TagRecognition 機能を使用して BatchAnalyze を実行します。バックエンドで、システムは各入力画像のタグを識別し、検出された各タグのテキストを分析して、構造化解析出力を生成します。T ## タグ検出とエンティティ解析モデルのトレーニング
カスタマイズされたタグ検出モデルをトレーニングするには、既存の Vertex AI / AutoML Vision プロダクトの画像オブジェクト検出モデル トレーニング機能を使用します。Vertex AI / AutoML Vision オブジェクト検出モデルのトレーニング機能はフルマネージド モデル トレーニング機能を提供しますが、モデル トレーニング コンソールにフィードするトレーニング データセットとして、完全にラベル付けされたオブジェクト境界ボックス アノテーションを含む十分にサンプリングされた画像データセットを準備するのはユーザーの責任です。 Google Cloud は、データラベル付けタスクを作成できる Vertex AI Data Labeling Service を提供します。詳細については、Vertex AI Data Labeling ジョブのリンク(/vertex-ai/docs/datasets/data-labeling-job)をご覧ください。トレーニング データセットの準備として、画像のタグ検出境界ボックスにラベルを付ける方法をレーティング担当者に明確に指示します。
タグ エンティティ解析モデルをトレーニングするには、画像とそれに関連付けられたアノテーションを含むトレーニング データのコレクションを準備する必要があります。
- 画像は、すでに切り抜かれたタグ画像です。
- 各画像で、検出、認識、解析するキーエンティティ フィールド(product_title、price、unit_price フィールドなど)と、この切り抜き画像ビューで関連付けられた画像の境界ボックス座標の位置を定義して指定する必要があります。
- 正しい認識と解析をサポートするため、各フィールドを特徴付ける正規表現の構文も指定する必要があります。これは、タグ解析アルゴリズムのトレーニングと推論ルーチンを支援するために必要です。
タグ エンティティ解析トレーニングの例
たとえば、前のタグ エンティティ解析トレーニング例では、トレーニング データ アノテーション CSV ファイルに、次のように 1 行のアノテーション情報を指定できます。
"image_filepath", "product_title", "(x0, y0, x1, y1)", "", "price", "(x0, y0, x1, y1)", "\\$\\d+\\.\\d{2}", "unit_price", "(x0, y0, x1, y1)", "\\$\\d+\\.\\d{2}"
上記の例では、次のようになります。
- 「product_title」フィールドには、対応するボックス画像座標「(x0, y0, x1, y1)」があり、このフィールドの正規表現制約はありません。
- 「price」フィールドには、対応するボックス画像座標「(x0, y0, x1, y1)」があり、このフィールドの正規表現制約は「$\d+\.\d{2}」です。これは、テキスト入力の開始時に $ 記号が使用され、小数点の前に数桁、小数点の後に 2 桁の数字が使用されるフィールドを認識して解析することを示しています。
- 「unit_price」フィールドのアノテーション構文は、「price」フィールドと同じです(例: ボックス画像の座標「(x0, y0, x1, y1)」)。このフィールドの正規表現の制約は「$\d+\.\d{2}」です。これは、テキスト入力の先頭に $ 記号があり、「.」の前に数桁の数字があり、「.」の後に 2 桁の数字があるフィールドを認識して解析することを示しています。
したがって、適切な価格タグ解析 / エンティティ検出モデルのトレーニング データには、価格タグ画像のコレクションがあり、前の例のエントリと同様に、各 CSV 行エントリを含む CSV ファイルにアノテーションが含まれています。
"image_filepath", "product_title", "(x0, y0, x1, y1)", "", "price", "(x0, y0, x1, y1)", "\\$\\d+\\.\\d{2}", "unit_price", "(x0, y0, x1, y1)", "\\$\\d+\\.\\d{2}"
"image_filepath", "product_title", "(x0, y0, x1, y1)", "", "price", "(x0, y0, x1, y1)", "\\$\\d+\\.\\d{2}", "unit_price", "(x0, y0, x1, y1)", "\\$\\d+\\.\\d{2}"
"image_filepath", "product_title", "(x0, y0, x1, y1)", "", "price", "(x0, y0, x1, y1)", "\\$\\d+\\.\\d{2}", "unit_price", "(x0, y0, x1, y1)", "\\$\\d+\\.\\d{2}"
[...]
カスタマイズされたタグ エンティティ解析モデルをトレーニングするには、既存の Vertex AI /AutoML Vision プロダクトの画像オブジェクト検出モデル トレーニング機能と Google OCR エンジンのカスタマイズを使用します。
2022 年 7 月時点では、カスタマイズされたタグ検出モデルとタグエンティティ解析モデルのトレーニングと Store Vision AI の BatchAnalyze API へのデプロイは、統合コンソール エクスペリエンスとしてまだ完全にはサポートされていませんが、(Vertex AI Vision のオブジェクト検出機能を使用して)このカスタマイズされたタグ検出モデルとタグエンティティ解析モデルのトレーニングを利用し、いくつかの手動セルフサービス手順を踏むことで、Store Vision AI の BatchAnalyze API でそれらをサービングできます。
API の使用 - 推論をバッチで分析する
エンドポイントの作成
- ENDPOINT_ID=エンドポイント ID
- TAG_DETECTOR=タグ検出モデルの名前
- TAG_PARSER=タグ解析モデルの名前
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 '{
"tagRecognitionConfig": {
"tag_detection_model": "TAG_DETECTOR_NAME",
"tag_parsing_model": "TAG_PARSER_NAME"
}
}'
- 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_TAG_RECOGNITION",
}
],
"outputGcsDestination": {
"outputUriPrefix": "OUTPUT_URI_PREFIX"
}
}'
"features": [
{
"type": "TYPE_TAG_RECOGNITION",
"tagRecognitionConfig": {
"tag_detection_model": "'TAG_DETECTOR_NAME'",
"tag_parsing_model": "TAG_PARSER_NAME"
}
}
],
tagRecognitionConfig
(RetailTagRecognitionConfig
オブジェクト)で設定および構成できるフィールドは他にもあります。詳細については、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 | 状態エラー。 |