제품 인식기 가이드

제품 인식기 모델을 사용하면 제공된 이미지 또는 선반에 있는 제품을 인식하고 파악할 수 있습니다.

이 모델은 소매업체의 제품 이미지 데이터를 분석하고 해석하기 위한 기본 AI 구성요소로 사용할 수 있습니다. 예를 들어 로컬 카메라나 휴대기기로 캡처한 선반 이미지에 이 모델을 사용할 수 있습니다.

태그 인식기 및 제품 인식기 사용 사례

제품 인식기 모델태그 인식기 모델은 설치된 카메라나 휴대기기 / 플랫폼에서 캡처한 진열대 스캔 이미지와 같이 소매업체에서 발견되는 제품 및 태그와 관련된 이미지 데이터를 분석하고 해석하기 위한 기본 AI 구성요소 역할을 할 수 있습니다.

제품 인식기 및 태그 인식기 모델은 소매업체 또는 기술 파트너가 소매 진열대를 이해하는 데 있어 다음과 같은 주요 문제를 해결하는 데 도움이 되는 여러 핵심 Google AI 모델링 및 데이터 기능을 통합합니다.

  • 이미지 또는 선반에 있는 제품을 감지, 인식하여 파악합니다.
  • 사용자 정의 키-값 쌍 항목 추출 스키마에 따라 태그 (예: 가격표 또는 기타 텍스트 라벨 태그)를 감지, 인식, 파싱합니다.

특히 이러한 사용 사례 문제 해결을 지원하기 위해 다음과 같은 차별화된 Google AI 모델이 섹션 확인 솔루션에 포함되어 있습니다.

  • 제품 감지 모델 (Google에서 사전 학습했지만 맞춤설정 가능)
  • 제품 썸네일 이미지를 숫자형 특징 공간 표현으로 변환하는 제품 썸네일 시각적 임베딩 모델입니다.
  • 이미지에 표시된 모든 텍스트를 추출하는 Google OCR 모델
  • 원시 텍스트를 사용자 정의 키-값 쌍인 항목으로 변환하는 Google 항목 추출 모델 (맞춤설정 가능)

선반 관리 솔루션은 이러한 Google AI 모델 외에도 Google의 대규모 제품 정보 데이터베이스를 활용합니다. 이 제품 데이터베이스의 제품 데이터에는 제품의 GTIN / UPC ID, 제품 브랜드, 제품명, 교차 언어 설명, 제품 로고, 다양한 포장재가 포함된 이미지가 포함됩니다. 앞서 언급한 제품 썸네일 시각적 임베딩 모델이 포함된 제품 데이터베이스를 사용하면 제품 인식기 모델이 여러 제품을 즉시 인식할 수 있습니다.

예를 들어 다음과 같이 캡처된 섹션 이미지가 주어지면 섹션 확인 솔루션은 다음을 목표로 합니다.

  1. 이미지에서 모든 제품 상품 상자 (보이며 심각하게 가려지지 않음)를 감지하고 위치를 파악하며 GTIN / UPC 수준에서 각 개별 제품 상품 상자의 제품 ID를 인식합니다.
  2. 이미지에서 모든 태그 상자 (표시됨)를 감지하고 현지화한 후 태그의 모든 텍스트 문자열을 인식한 다음 텍스트를 제품 상품 설명, 가격 값과 같은 사용자 정의 키-값 쌍 항목 추출 스키마로 파싱합니다.

이러한 솔루션을 사용 설정하는 두 가지 주요 AI 기능은 제품 인식기 모델과 태그 인식기 모델이며, 다음 섹션에서 자세히 설명합니다. 주로 이미지 추론 서비스를 제공하는 두 API 각각에는 맞춤설정할 수 있는 구성요소가 하나 이상 있습니다. 먼저 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: 하나의 제품 뷰를 나타내는 이미지입니다. ProductImageProduct의 하위 리소스입니다.

ProductSet: 동일한 Catalog에서 제품을 구성하고 그룹화하는 더 세분화된 컨테이너입니다. 하나의 ProductSet에는 하나 이상의 Product가 포함될 수 있지만, 포함된 Product를 '소유'하지는 않고 대신 Product에 대한 '링크'를 유지합니다.

ProductRecognitionIndex: 제품 인식 알고리즘에 사용되는 이미지 임베딩 목록을 포함합니다. ProductRecognitionIndex는 전체 Catalog 또는 ProductSet (CatalogProduct 하위 집합)에서 만들 수 있습니다.

엔드포인트: 제품 인식 또는 태그 인식 추론을 실행하는 데 필요한 모든 구성을 포함하는 게재위치입니다. 제품 인식의 경우 제품 감지 모델을 지정하고 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. 제품 및 (선택사항) ProductImagesCatalog로 가져옵니다.
  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

지원되는 가져오기 형식은 두 가지입니다.

  • 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"
  }'
카탈로그 나열
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

Google에서는 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=서드 파티 식별자를 소유한 법인
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

Create ProductRecognitionIndex

ProductRecognitionIndex를 만드는 방법에는 두 가지가 있습니다. 이 카탈로그에 포함된 모든 항목을 사용하는 카탈로그에서 만들거나 연결된 제품 및 제품 이미지만 사용하는 ProductSet에서 만들 수 있습니다.

  • 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
Delete 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

엔드포인트는 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: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
      }
    }
  ],

RetailProductRecognitionConfig 객체인 productRecognitionConfig에서 설정하고 구성할 수 있는 필드도 더 있습니다. 자세한 내용은 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의 상태입니다.

라벨

맵 (키: 문자열, 값: 문자열)

RetailCatalog를 구성하는 사용자 정의 메타데이터가 있는 라벨입니다.

라벨 키와 값은 64자 (유니코드 코드 포인트) 이하여야 하며 소문자, 숫자, 밑줄, 대시만 포함할 수 있습니다. 국제 문자는 허용됩니다.

라벨에 대한 자세한 내용과 예시는 https://goo.gl/xmQnxf를 참고하세요.

'키': 값 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

메서드: projects.locations.retailCatalogs.create

HTTP 요청

POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/us-central1}/retailCatalogs

경로 매개변수

parent 문자열 필수 입력란입니다. 상위 식별자입니다.

요청 본문

요청 본문에 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

경로 매개변수

parent 문자열 필수 입력란입니다. 상위 식별자입니다.

쿼리 매개변수

filter 문자열 선택사항입니다. 요청 결과를 필터링하는 표현식입니다.
pageToken 문자열 선택사항입니다. 서버에서 반환할 결과 페이지를 식별하는 토큰입니다.
pageSize 정수 선택사항입니다. 요청한 페이지 크기입니다. 서버에서 요청한 것보다 적은 항목을 반환할 수 있습니다. 지정하지 않으면 서버에서 적절한 기본값을 선택합니다.
orderBy 문자열 선택사항입니다. 오름차순으로 정렬된 정렬 기준 필드의 쉼표로 구분된 목록입니다. 내림차순으로 표시하려면 필드 이름 뒤에 '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. 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의 상태입니다.

라벨

맵 (키: 문자열, 값: 문자열)

RetailProductImage를 구성하는 사용자 정의 메타데이터가 있는 라벨입니다.

라벨 키와 값은 64자 (유니코드 코드 포인트) 이하여야 하며 소문자, 숫자, 밑줄, 대시만 포함할 수 있습니다. 국제 문자는 허용됩니다.

라벨에 대한 자세한 내용과 예시는 https://goo.gl/xmQnxf를 참고하세요.

'키': 값 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (Timestamp 형식)

출력 전용입니다. 생성 타임스탬프입니다.

updateTime

string (Timestamp 형식)

출력 전용입니다. 업데이트 타임스탬프입니다.

RetailThirdPartyId JSON 프레젠테이션

{
  "id": string,
  "owner": string
}

필드

id 문자열 소매업체 또는 제조업체에서 사용하는 서드 파티 ID(예: SKU 또는 MPN)입니다.
owner 문자열 서드 파티 식별자를 '소유'하는 법인(예: 이 제품을 판매하는 제조업체 또는 소매업체)입니다.

메서드: projects.locations.retailCatalogs.retailProducts.create

HTTP 요청

POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProducts

경로 매개변수

parent 문자열 필수 입력란입니다. 상위 식별자입니다.

요청 본문

요청 본문에 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

경로 매개변수

parent 문자열 필수 입력란입니다. 상위 식별자입니다.

쿼리 매개변수

filter 문자열 선택사항입니다. 요청 결과를 필터링하는 표현식입니다.
pageToken 문자열 선택사항입니다. 서버에서 반환할 결과 페이지를 식별하는 토큰입니다.
pageSize 정수 선택사항입니다. 요청한 페이지 크기입니다. 서버에서 요청한 것보다 적은 항목을 반환할 수 있습니다. 지정하지 않으면 서버에서 적절한 기본값을 선택합니다.
orderBy 문자열 선택사항입니다. 오름차순으로 정렬된 정렬 기준 필드의 쉼표로 구분된 목록입니다. 내림차순으로 표시하려면 필드 이름 뒤에 '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

enum

선택사항. 소스 유형

gcsUri

문자열

선택사항. RetailProductImage의 Cloud Storage 위치입니다. 소스 유형이 SOURCE_TYPE_GOOGLE인 경우 등 Google에서 이미지를 제공하는 경우를 제외하고 설정해야 합니다.

resourceState

enum

출력 전용입니다. RetailProductImage의 상태입니다.
라벨

맵 (키: 문자열, 값: 문자열)

RetailProductImage를 구성하는 사용자 정의 메타데이터가 있는 라벨입니다.

라벨 키와 값은 64자 (유니코드 코드 포인트) 이하여야 하며 소문자, 숫자, 밑줄, 대시만 포함할 수 있습니다. 국제 문자는 허용됩니다.

라벨에 대한 자세한 내용과 예시는 https://goo.gl/xmQnxf를 참고하세요.

'키': 값 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

문자열 (타임스탬프 형식)

출력 전용입니다. 생성 타임스탬프입니다.

updateTime

문자열 (타임스탬프 형식)

출력 전용입니다. 업데이트 타임스탬프입니다.

SourceType ENUM 값

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

경로 매개변수

parent 문자열 필수 입력란입니다. 상위 식별자입니다.

요청 본문

요청 본문에 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

경로 매개변수

parent 문자열 필수 입력란입니다. 상위 식별자입니다.

쿼리 매개변수

filter 문자열 선택사항입니다. 요청 결과를 필터링하는 표현식입니다.
pageToken 문자열 선택사항입니다. 서버에서 반환할 결과 페이지를 식별하는 토큰입니다.
pageSize 정수 선택사항입니다. 요청한 페이지 크기입니다. 서버에서 요청한 것보다 적은 항목을 반환할 수 있습니다. 지정하지 않으면 서버에서 적절한 기본값을 선택합니다.
orderBy 문자열 선택사항입니다. 오름차순으로 정렬된 정렬 기준 필드의 쉼표로 구분된 목록입니다. 내림차순으로 표시하려면 필드 이름 뒤에 '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의 상태입니다.

라벨

맵 (키: 문자열, 값: 문자열)

RetailProductSet을 구성하는 사용자 정의 메타데이터가 있는 라벨입니다.

라벨 키와 값은 64자 (유니코드 코드 포인트) 이하여야 하며 소문자, 숫자, 밑줄, 대시만 포함할 수 있습니다. 국제 문자는 허용됩니다.

라벨에 대한 자세한 내용과 예시는 https://goo.gl/xmQnxf를 참고하세요.

'키': 값 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (Timestamp 형식)

출력 전용입니다. 생성 타임스탬프입니다.

updateTime

string (Timestamp 형식)

출력 전용입니다. 업데이트 타임스탬프입니다.

메서드: projects.locations.retailCatalogs.retailProductSets.create

HTTP 요청

POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductSets

경로 매개변수

parent 문자열 필수 입력란입니다. 상위 식별자입니다.

요청 본문

요청 본문에는 RetailProductSet의 인스턴스가 포함됩니다.

응답 본문

성공하면 응답 본문에 새로 생성된 RetailProductSet 인스턴스가 포함됩니다.

메서드: projects.locations.retailCatalogs.retailProductSets.get

HTTP 요청

GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*

경로 매개변수

name 문자열 필수 입력란입니다. RetailProductSet 식별자입니다.

요청 본문

요청 본문은 비어 있어야 합니다.

응답 본문

성공하면 응답 본문에 RetailProductSet 인스턴스가 포함됩니다.

메서드: projects.locations.retailCatalogs.retailProductSets.list

HTTP 요청

GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductSets

경로 매개변수

parent 문자열 필수 입력란입니다. 상위 식별자입니다.

쿼리 매개변수

filter 문자열 선택사항입니다. 요청 결과를 필터링하는 표현식입니다.
pageToken 문자열 선택사항입니다. 서버에서 반환할 결과 페이지를 식별하는 토큰입니다.
pageSize 정수 선택사항입니다. 요청한 페이지 크기입니다. 서버에서 요청한 것보다 적은 항목을 반환할 수 있습니다. 지정하지 않으면 서버에서 적절한 기본값을 선택합니다.
orderBy 문자열 선택사항입니다. 오름차순으로 정렬된 정렬 기준 필드의 쉼표로 구분된 목록입니다. 내림차순으로 표시하려면 필드 이름 뒤에 '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 식별자입니다.

요청 본문

요청 본문은 비어 있어야 합니다.

응답 본문

성공한 경우 응답 본문은 비어 있습니다.

메서드: 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에 속해야 합니다. 한 번의 요청으로 최대 200개의 RetailProducts ID를 지정할 수 있습니다. productFilter와 함께 사용할 수 없습니다.

productFilter

문자열

상위 RetailCatalog의 모든 RetailProducts에 적용되는 표준 필터로, 필터 조건을 충족하는 항목을 선택하고 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[ ]

문자열

삭제할 RetailProducts의 리소스 ID입니다. 지정된 RetailProducts가 이 RetailProductSet에 속하지 않으면 무시됩니다. 한 번의 요청으로 최대 200개의 RetailProducts ID를 지정할 수 있습니다. products_filter와 함께 사용할 수 없습니다.

productFilter

문자열

지정된 RetailProductSet의 모든 RetailProducts에 적용되는 표준 필터로, 필터 조건을 충족하는 항목을 선택하고 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

enum

출력 전용입니다. RetailProductRecognitionIndex의 상태입니다.
라벨

맵 (키: 문자열, 값: 문자열)

RetailProductRecognitionIndex를 구성하는 사용자 정의 메타데이터가 있는 라벨입니다.

라벨 키와 값은 64자 (유니코드 코드 포인트) 이하여야 하며 소문자, 숫자, 밑줄, 대시만 포함할 수 있습니다. 국제 문자는 허용됩니다.

라벨에 대한 자세한 내용과 예시는 https://goo.gl/xmQnxf를 참고하세요.

'키': 값 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (Timestamp 형식)

출력 전용입니다. 생성 타임스탬프입니다.

updateTime

string (Timestamp 형식)

출력 전용입니다. 업데이트 타임스탬프입니다.

메서드: projects.locations.retailCatalogs.retailProductRecognitionIndexes.create

HTTP 요청

POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductRecognitionIndexes

경로 매개변수

parent 문자열 필수 입력란입니다. 상위 식별자입니다.

요청 본문

요청 본문에 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

경로 매개변수

parent 문자열 필수 입력란입니다. 상위 식별자입니다.

쿼리 매개변수

filter 문자열 선택사항입니다. 요청 결과를 필터링하는 표현식입니다.
pageToken 문자열 선택사항입니다. 서버에서 반환할 결과 페이지를 식별하는 토큰입니다.
pageSize 정수 선택사항입니다. 요청한 페이지 크기입니다. 서버에서 요청한 것보다 적은 항목을 반환할 수 있습니다. 지정하지 않으면 서버에서 적절한 기본값을 선택합니다.
orderBy 문자열 선택사항입니다. 오름차순으로 정렬된 정렬 기준 필드의 쉼표로 구분된 목록입니다. 내림차순으로 표시하려면 필드 이름 뒤에 '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

enum

출력 전용입니다. RetailProductRecognitionIndex의 상태입니다.
라벨

맵 (키: 문자열, 값: 문자열)

RetailProductRecognitionIndex를 구성하는 사용자 정의 메타데이터가 있는 라벨입니다.

라벨 키와 값은 64자 (유니코드 코드 포인트) 이하여야 하며 소문자, 숫자, 밑줄, 대시만 포함할 수 있습니다. 국제 문자는 허용됩니다.

라벨에 대한 자세한 내용과 예시는 https://goo.gl/xmQnxf를 참고하세요.

'키': 값 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (Timestamp 형식)

출력 전용입니다. 생성 타임스탬프입니다.

updateTime

string (Timestamp 형식)

출력 전용입니다. 업데이트 타임스탬프입니다.

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

경로 매개변수

parent 문자열 필수 입력란입니다. 상위 식별자입니다.

요청 본문

요청 본문에 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

경로 매개변수

parent 문자열 필수 입력란입니다. 상위 식별자입니다.

쿼리 매개변수

filter 문자열 선택사항입니다. 요청 결과를 필터링하는 표현식입니다.
pageToken 문자열 선택사항입니다. 서버에서 반환할 결과 페이지를 식별하는 토큰입니다.
pageSize 정수 선택사항입니다. 요청한 페이지 크기입니다. 서버에서 요청한 것보다 적은 항목을 반환할 수 있습니다. 지정하지 않으면 서버에서 적절한 기본값을 선택합니다.
orderBy 문자열 선택사항입니다. 오름차순으로 정렬된 정렬 기준 필드의 쉼표로 구분된 목록입니다. 내림차순으로 표시하려면 필드 이름 뒤에 '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 문자열 필수 입력란입니다. RetailProductRecognitionIndex가 배포된 위치에 있는 RetailEndpoint 리소스의 리소스 이름입니다.

요청 본문

JSON 표현

{
  "retailProductRecognitionIndex": string,
}

필드

retailProductRecognitionIndex 문자열 필수 입력란입니다. 배포할 RetailProductRecognitionIndex의 리소스 이름입니다.

응답 본문

성공한 경우 응답 본문에 Operation의 인스턴스가 포함됩니다.

메서드: projects.locations.retailEndpoints.undeployRetailProductRecognitionIndex

HTTP 요청

POST https://visionai.googleapis.com/v1alpha1/{retailEndpoint=projects/*/locations/*/retailEndpoints/*}:undeployRetailProductRecognitionIndex

경로 매개변수

retailEndpoint 문자열 필수 입력란입니다. 배포 해제가 적용될 RetailEndpoint 리소스의 리소스 이름입니다.

요청 본문

요청 본문은 비어 있어야 합니다.

응답 본문

성공한 경우 응답 본문에 Operation의 인스턴스가 포함됩니다.

메서드: projects.locations.retailEndpoints.batchAnalyze

HTTP 요청

POST https://visionai.googleapis.com/v1alpha1/{retailEndpoint=projects/*/locations/*/retailEndpoints/*}:batchAnalyze

경로 매개변수

retailEndpoint 문자열 필수 입력란입니다. 추론 요청을 처리할 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 위치입니다. 입력 위치를 여러 개 제공할 수 있습니다. 모든 입력 위치의 콘텐츠가 한 번에 일괄 처리됩니다. 지원되는 콘텐츠: TXT 파일이며 각 줄은 이미지의 전체 경로입니다. 한 번의 요청으로 최대 5만 개의 이미지를 지원할 수 있습니다.
outputGcsDestination 문자열 선택사항입니다. 출력이 기록될 디렉터리의 Cloud Storage 위치입니다.
corpus 문자열 선택사항입니다. 이미지 창고 자료의 리소스 이름입니다. 아직 지원되지 않습니다.
bigqueryTable 문자열 선택사항입니다. 주석 내보내기를 위한 BigQuery 테이블의 리소스 이름입니다. 'projects/*/datasets/*/tables/*' 형식입니다. 설정하면 ML 추론에서 생성된 주석도 지정된 BigQuery 테이블로 내보내집니다. 아직 지원되지 않습니다.
features[] 객체 필수 입력란입니다. 실행할 ML 추론 유형입니다.

특성

JSON 표현

{
  "type": enum(Type),
  "productRecognitionConfig": object(RetailProductRecognitionConfig),
  "tagRecognitionConfig": object(RetailTagRecognitionConfig)
}

필드

유형 enum 필수 입력란입니다. 지형지물 유형입니다.
productRecognitionConfig 객체 선택사항입니다. 제품 인식 기능의 요청별 재정의입니다. 유형이 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 상태 오류