Guia do identificador de produtos

O modelo Product Recognizer ajuda a reconhecer e compreender que produtos estão na imagem fornecida ou na prateleira.

Este modelo pode servir como o bloco de construção de IA principal para analisar e interpretar dados de imagens de produtos em lojas de retalho. Por exemplo, pode usar este modelo em imagens de prateleiras capturadas por câmaras locais ou dispositivos móveis.

Exemplos de utilização do Identificador de etiquetas e do Identificador de produtos

O modelo de reconhecimento de produtos e os modelos de reconhecimento de etiquetas podem servir como os blocos de construção de IA principais para analisar e interpretar os dados de imagens relativos a produtos e etiquetas encontrados em lojas de retalho, como as imagens de leitura de prateleiras capturadas pelas câmaras instaladas ou pelos dispositivos / plataformas móveis.

Os modelos de reconhecimento de produtos e de etiquetas incorporam várias capacidades de modelagem e dados de IA da Google para ajudar os retalhistas e/ou os parceiros técnicos a resolver problemas importantes na compreensão da prateleira de retalho, incluindo:

  • Detetar, reconhecer e, assim, compreender que produtos estão na imagem ou na prateleira.
  • Detetar, reconhecer e analisar as etiquetas (por exemplo, etiqueta de preço ou quaisquer outras etiquetas de texto) de acordo com o esquema de extração de entidades de pares de chave-valor definidos pelo utilizador.

Em particular, vários modelos de IA da Google diferenciadores estão incluídos na solução de verificação de prateleiras para suportar a resolução de problemas destes exemplos de utilização, como

  • Modelos de deteção de produtos (pré-preparados pela Google, mas que ainda pode personalizar).
  • Modelo de incorporação visual de miniaturas de produtos, que transforma uma imagem de miniatura de produto numa representação numérica do espaço de caraterísticas.
  • Modelo de OCR da Google, que extrai todos os textos visíveis na imagem.
  • Modelo de extração de entidades da Google (que pode personalizar), que transforma os textos não processados em entidades com nomes de pares de chave-valor definidos pelo utilizador.

Além destes modelos de IA da Google, a solução de verificação de prateleiras também tira partido da grande base de dados de informações sobre produtos da Google. Os dados dos produtos nesta base de dados de produtos incluem a identidade GTIN / CPU do produto, a marca do produto, o título e as descrições em vários idiomas, o logótipo do produto e as imagens com várias variações de embalagens. A base de dados de produtos com o modelo de incorporação visual de miniaturas de produtos mencionado anteriormente permite que o modelo de reconhecimento de produtos consiga reconhecer muitos produtos imediatamente.

Por exemplo, dada uma imagem de prateleira capturada da seguinte forma, a solução de verificação de prateleiras destina-se a:

  1. Detetar e localizar todas as caixas de artigos de produtos (visíveis, não severamente ocultadas) na imagem e reconhecer a identidade do produto de cada caixa de artigos de produtos individual ao nível do GTIN / CPU.
  2. Detetar e localizar todas as caixas de etiquetas (visíveis) na imagem, reconhecer todas as strings de texto na etiqueta e, em seguida, tentar analisar o texto no esquema de extração de entidades de pares de chaves-valores definidos pelo utilizador, como a descrição do artigo do produto e o valor do preço.

As duas principais funcionalidades de IA que ativam estas soluções são o modelo de reconhecimento de produtos e o modelo de reconhecimento de etiquetas, sobre os quais vamos fornecer mais detalhes nas secções seguintes. Para cada uma destas duas APIs que fornecem principalmente os serviços de inferência de imagens, existem um ou mais componentes em cada API que pode personalizar. Primeiro, vamos descrever o caminho de inferência da utilização da API e, em seguida, fornecer uma breve descrição de como pode personalizar os componentes envolvidos, seja através de alguma configuração do utilizador ou de alguma preparação do modelo que realizar.

Funcionalidade do identificador de produtos

Este modelo reconhece a identidade individual do produto ao nível do Número global de artigo comercial (GTIN) ou do Código de produto universal (CPU). Vários modelos de IA da Google diferenciadores estão incluídos no reconhecedor de produtos para potenciar a resolução de problemas nestes exemplos de utilização, como:

  • O modelo de incorporação visual de produtos, que transforma uma imagem de produto numa representação numérica do espaço de caraterísticas.
  • A tecnologia OCR da Google, que extrai todos os textos visíveis na imagem.
  • A base de dados de produtos Google usada em combinação com o modelo de incorporação visual da miniatura do produto permite que o modelo do reconhecedor de produtos reconheça muitos produtos imediatamente.

Exemplo de objeto JSON de saída

{
  "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"
          },
        }
      ]
    }
  ]
}

Conceitos da API

Existem seis recursos da API oferecidos para ajudar a criar o catálogo de produtos, a gestão do conjunto de dados de produtos, a criação de índices e a implementação do serviço de reconhecimento de produtos. São descritos da seguinte forma:

Diagrama do conceito de API

Catálogo: recurso raiz que representa o contentor de todos os produtos oferecidos pelo retalhista.

Produto: representa um produto oferecido por um comerciante. Product é um recurso filho de Catalog.

ProductImage: a imagem que representa uma vista de um produto. ProductImage é um recurso secundário de Product.

ProductSet: um contentor de granularidade mais fina para organizar e agrupar produtos no mesmo Catalog. Um ProductSet pode conter um ou vários Products, mas não "possui" os Products que contém. Em vez disso, mantém uma "associação" com eles.

ProductRecognitionIndex: contém uma lista de incorporações de imagens usadas para algoritmos de reconhecimento de produtos. ProductRecognitionIndex podem ser criadas a partir de todo o Catalog ou de um ProductSet (um subconjunto dos Products do Catalog).

Ponto final: um posicionamento que contém todas as configurações necessárias para realizar a inferência de reconhecimento de produtos ou reconhecimento de etiquetas. Para o reconhecimento de produtos, é necessário especificar o modelo de deteção de produtos e implementar um ProductRecognitionIndex. Para o reconhecimento de etiquetas, é necessário especificar os modelos de deteção de etiquetas e de análise de entidades de etiquetas.

Configuração do ambiente

Esta secção descreve como interagir com a API RESTful Store Vision AI.

API_ENDPOINT=visionai.googleapis.com
PROJECT_ID=your project ID

Todos os métodos create requerem a especificação explícita do nome/ID do recurso a criar. Pode usar um identificador de string significativo, por exemplo, "product-ABC" ou um identificador gerado aleatoriamente, por exemplo, UUID.

Para conceder a uma pessoa a função de editor com acesso à API Store Vision, execute o seguinte comando de associação do IAM:

gcloud projects add-iam-policy-binding PROJECT_ID --member='user:USER_ACCOUNT' --role='roles/visionai.editor'

Para conceder acesso de editor a uma conta de serviço, use o comando abaixo:

gcloud projects add-iam-policy-binding PROJECT_ID --member='serviceAccount:SERVICE_ACCOUNT' --role='roles/visionai.editor'

Saiba mais sobre a associação do IAM.

Percurso do utilizador do Reconhecedor de produtos

  1. Crie um catálogo.
  2. Importe produtos e (opcionalmente) ProductImages para o Catalog.
  3. Veja e modifique os elementos Product e ProductImages e, opcionalmente, crie um elemento ProductSet para organizar a lista de produtos com uma granularidade mais detalhada.
  4. Crie um Index, a partir de todo o Catalog ou de um ProductSet.
  5. Cria um Endpoint com a configuração de reconhecimento de produtos desejada e implementa um Index no mesmo.
  6. Realize BatchAnalyze com a funcionalidade ProductRecognition. No back-end, o sistema identifica os produtos de cada imagem de entrada e obtém os K principais produtos semelhantes do índice especificado através de sinais visuais e de texto de OCR.

Gestão de recursos da API (catálogo e Indexset)

Catálogo

Crie um catálogo
  • CATALOG_ID=O ID do seu catálogo.
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

Exemplo de resultado

{
  "name": "projects/cloud-store-vision-test/locations/us-central1/operations/operation-1655157982362-5e15b7f95fa6f-d30364c6-dc3a3714",
  "done": false
}
Pull Operation until done
  • OPERATION_ID=Your output operation, for example, 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

Exemplo de resultado

{
  "name": "projects/cloud-store-vision-test/locations/us-central1/operations/operation-1655157982362-5e15b7f95fa6f-d30364c6-dc3a3714",
  "done": true
}
ImportProduct

Existem dois formatos de importação suportados:

  • TXT: cada linha é o GTIN de um produto a importar
  • JSONL: cada linha é um formato JSON de RetailProductIoFormat, por exemplo:
{"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"}}}

Consulte a referência da API para ver mais detalhes sobre o RetailProductIoFormat. Atualmente,suportamos a importação de um máximo de 10 000 produtos por operação ImportProduct.

Tenha também em atenção que o "nome" em "retailProductImages" só tem de ser exclusivo no âmbito do recurso "retailProduct" principal, o que significa que podem existir 2 "retailProductImages" com o mesmo "nome", desde que pertençam a um recurso "retailProduct" diferente.

  • IMPORT_FILE_URI=O URI do Cloud Storage do seu ficheiro de importação, por exemplo, gs://mybucket/my_import_file.jsonl
  • IMPORT_FORMAT=O formato do ficheiro de importação, FORMAT_JSONL ou 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"
  }'
Catálogo de listas
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

Produto

CreateProduct com GTIN

Suportamos o formato GTIN-8, GTIN-13, GTIN-14 e UPC(também conhecido como GTIN-12). Saiba mais acerca do formato GTIN aqui.

  • PRODUCT_ID=O ID do produto
  • GTIN=gtin do seu produto, por exemplo, 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"}'
CreateProduct com ID de terceiros
  • PRODUCT_ID=O ID do produto
  • THIRD_PARTY_ID=ID de terceiros
  • OWNER=A entidade proprietária do identificador de terceiros
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 da imagem do produto
  • IMAGE_GCS_URI=O URI do Cloud Storage da sua imagem, por exemplo, 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=O ID do conjunto de produtos
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

Crie um ProductRecognitionIndex

Existem duas formas de criar um ProductRecognitionIndex: a partir do catálogo, que usa tudo o que está contido neste catálogo, ou a partir de um ProductSet, que usa apenas os produtos e as imagens dos produtos associados.

  • INDEX_ID=O ID do seu índice
  • COVERAGE_CSV_OUTPUT_DIRECTORY=<Localização do armazenamento na nuvem do diretório onde o ficheiro de cobertura do índice vai ser escrito
# 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"}'
Get 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
Listar 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
Eliminar 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

Ponto final

Criar ponto final
  • ENDPOINT_ID=O ID do seu ponto final
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

Um ponto final só pode ser implementado com um ProductRecognitionIndex, mas um ProductRecognitionIndex pode ser implementado em vários pontos finais.

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

A anulação da implementação apenas remove o ProductRecognitionIndex implementado do Endpoint de chamada atual e não afeta outros Endpoints se este ProductRecognitionIndex também estiver implementado noutros.

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

Análise em lote da inferência (reconhecimento de produtos)

Exemplo de ficheiro de entrada em 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=URI do Cloud Storage do seu ficheiro de entrada> cada linha no ficheiro de entrada é apenas um URI do Cloud Storage da imagem a processar, por exemplo, gs://my-bucket/my-image.jpg
  • OUTPUT_URI_PREFIX=Prefixo do URI do Cloud Storage para o ficheiro de resultados de saída, por exemplo, 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
      }
    }
  ],

Também existem mais campos que pode definir e configurar no productRecognitionConfig, que é um objeto RetailProductRecognitionConfig. Consulte a descrição do recurso na referência da API para ver mais detalhes.

Referência da API

Recurso: projects.locations.retailCatalogs

Representação JSON

{
  "name": string,
  "displayName": string,
  "createTime": string,
  "updateTime": string,
  "resourceState": enum(RetailResourceState),
  "labels": {
    string: string,
    ...
  }
}

Campos


name

String

Apenas saída. Nome do recurso do RetailCatalog

displayName

String

Opcional. Nome a apresentar do RetailCatalog.

createTime

string (formato Timestamp)

Apenas saída. Data/hora em que este RetailCatalog foi criado.

updateTime

string (formato Timestamp)

Apenas saída. A data/hora da atualização.

resourceState

enum

Apenas saída. Estado do RetailCatalog.

etiquetas

map (key: string, value: string)

As etiquetas com metadados definidos pelo utilizador para organizar o seu RetailCatalog.

As chaves e os valores das etiquetas não podem ter mais de 64 carateres (pontos de código Unicode) e só podem conter letras minúsculas, carateres numéricos, sublinhados e travessões. São permitidos carateres internacionais.

Consulte https://goo.gl/xmQnxf para mais informações e exemplos de etiquetas.

Um objeto que contém uma lista de pares "chave": valor. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Método: projects.locations.retailCatalogs.create

Pedido HTTP

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

Parâmetros de caminho

pai ou mãe de string Obrigatório. Identificador principal.

Corpo do pedido

O corpo do pedido contém uma instância de RetailCatalog.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta contém uma instância recém-criada de RetailCatalog.

Método: projects.locations.retailCatalogs.get

Pedido HTTP

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

Parâmetros de caminho

nome de string Obrigatório. RetailCatalog identificador.

Corpo do pedido

O corpo do pedido tem de estar vazio.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta contém uma instância de RetailCatalog.

Método: projects.locations.retailCatalogs.list

Pedido HTTP

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

Parâmetros de caminho

pai ou mãe de string Obrigatório. Identificador principal.

Parâmetros de consulta

filtrar de string Opcional. Uma expressão para filtrar os resultados do pedido.
pageToken de string Opcional. Um token que identifica uma página de resultados que o servidor deve devolver.
pageSize número inteiro Opcional. Tamanho da página solicitado. O servidor pode devolver menos itens do que o pedido. Se não for especificado, o servidor seleciona uma predefinição adequada.
orderBy de string Opcional. Uma lista de campos separados por vírgulas para ordenar por ordem ascendente. Use "desc" após o nome de um campo para ordem descendente.

Corpo do pedido

O corpo do pedido tem de estar vazio.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta contém dados com a seguinte estrutura: Representação JSON

{
  "retailCatalogs": [
    {
      object (RetailCatalog)
    }
  ],
  "nextPageToken": string
}

Método: projects.locations.retailCatalogs.delete

Pedido HTTP

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

Parâmetros de caminho

nome de string Obrigatório. RetailCatalog identificador.

Corpo do pedido

O corpo do pedido tem de estar vazio.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta contém uma instância de Operation.

Método: projects.locations.retailCatalogs.importRetailProducts

Pedido HTTP

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

Parâmetros de caminho

nome de string Obrigatório. RetailCatalog nome do recurso.

Corpo do pedido

Representação JSON

{
  "gcsSource": { object(GcsSource) },
  "format": enum(Format)
}

Campos

gcsSource objeto Obrigatório. A localização do Cloud Storage para o conteúdo de entrada. Podem ser fornecidas várias localizações de entrada. O conteúdo de todas as localizações de entrada é importado num lote. Extensões de ficheiros suportadas: 1. Um ficheiro JSONL. Cada linha é um formato JSON de RetailProductIoFormat.
2. Um ficheiro TXT. Cada linha é o GTIN de um produto a importar.
formato enum Obrigatório. O formato do ficheiro de importação.

Formate valores ENUM

FORMAT_UNSPECIFIED Não deve ser usado.
FORMAT_TXT Formato TXT.
FORMAT_JSONL Formato JSONL.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta contém uma instância de Operation.

Recurso: projects.locations.retailProducts

Representação 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
}

Campos


name

String

Apenas saída. Nome do recurso de RetailProductImage

displayName

String

Opcional. Nome a apresentar de RetailProductImage.

sourceType

enum

Opcional. Tipo de origem

gcsUri

string

Opcional. Localização do Cloud Storage da RetailProductImage. Deve ser definido, exceto quando a imagem é fornecida pela Google, por exemplo, quando o tipo de origem é SOURCE_TYPE_GOOGLE.

resourceState

enum

Apenas saída. Estado de RetailProductImage.

etiquetas

map (key: string, value: string)

As etiquetas com metadados definidos pelo utilizador para organizar a RetailProductImage.

As chaves e os valores das etiquetas não podem ter mais de 64 carateres (pontos de código Unicode) e só podem conter letras minúsculas, carateres numéricos, sublinhados e travessões. São permitidos carateres internacionais.

Consulte https://goo.gl/xmQnxf para mais informações e exemplos de etiquetas.

Um objeto que contém uma lista de pares "chave": valor. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (formato Timestamp)

Apenas saída. A data/hora de criação.

updateTime

string (formato Timestamp)

Apenas saída. A data/hora da atualização.

RetailThirdPartyId Apresentação JSON

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

Campos

id de string ID de terceiros usado pelo retalhista ou fabricante (por exemplo, SKU ou NSF).
proprietário de string A entidade "proprietária" do identificador de terceiros, por exemplo, o fabricante ou o retalhista que vende este produto.

Método: projects.locations.retailCatalogs.retailProducts.create

Pedido HTTP

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

Parâmetros de caminho

pai ou mãe de string Obrigatório. Identificador principal.

Corpo do pedido

O corpo do pedido contém uma instância de RetailProduct.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta contém uma instância recém-criada de RetailProduct.

Método: projects.locations.retailCatalogs.retailProducts.get

Pedido HTTP

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

Parâmetros de caminho

nome de string Obrigatório. RetailProduct identificador.

Corpo do pedido

O corpo do pedido tem de estar vazio.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta contém uma instância de RetailProduct.

Método: projects.locations.retailCatalogs.retailProducts.list

Pedido HTTP

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

Parâmetros de caminho

pai ou mãe de string Obrigatório. Identificador principal.

Parâmetros de consulta

filtrar de string Opcional. Uma expressão para filtrar os resultados do pedido.
pageToken de string Opcional. Um token que identifica uma página de resultados que o servidor deve devolver.
pageSize número inteiro Opcional. Tamanho da página solicitado. O servidor pode devolver menos itens do que o pedido. Se não for especificado, o servidor seleciona uma predefinição adequada.
orderBy de string Opcional. Uma lista de campos separados por vírgulas para ordenar por ordem ascendente. Use "desc" após o nome de um campo para ordem descendente.

Corpo do pedido

O corpo do pedido tem de estar vazio.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta contém dados com a seguinte estrutura: Representação JSON

{
  "retailProducts": [
    {
      object (RetailProducts)
    }
  ],
  "nextPageToken": string
}

Método: projects.locations.retailCatalogs.retailProducts.delete

Pedido HTTP

DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*

Parâmetros de caminho

nome de string Obrigatório. RetailProduct identificador.

Corpo do pedido

O corpo do pedido tem de estar vazio.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta está vazio.

Recurso: projects.locations.retailProductImages

Representação JSON

{
  "name": string,
  "displayName": string,
  "sourceType": enum(SourceType),
  "gcsUri": string,
  "resourceState": enum(RetailResourceState),
   "labels": {
    string: string,
    ...
    }
   "createTime": string,
   "updateTime": string
}

Campos


name

String

Apenas saída. Nome do recurso de RetailProductImage

displayName

String

Opcional. Nome a apresentar de RetailProductImage.

sourceType

enum

Opcional. Tipo de origem

gcsUri

string

Opcional. Localização do Cloud Storage da RetailProductImage. Deve ser definido, exceto quando a imagem é fornecida pela Google, por exemplo, quando o tipo de origem é SOURCE_TYPE_GOOGLE.

resourceState

enum

Apenas saída. Estado de RetailProductImage.

etiquetas

map (key: string, value: string)

As etiquetas com metadados definidos pelo utilizador para organizar o RetailProductImage.

As chaves e os valores das etiquetas não podem ter mais de 64 carateres (pontos de código Unicode) e só podem conter letras minúsculas, carateres numéricos, sublinhados e travessões. São permitidos carateres internacionais.

Consulte https://goo.gl/xmQnxf para mais informações e exemplos de etiquetas.

Um objeto que contém uma lista de pares "chave": valor. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (formato Timestamp)

Apenas saída. A data/hora de criação.

updateTime

string (formato Timestamp)

Apenas saída. A data/hora da atualização.

Valores ENUM SourceType

SOURCE_TYPE_UNSPECIFIED Origem de dados desconhecida. Não deve ser usado.
SOURCE_TYPE_FIXED_CAMERA A imagem é capturada a partir de uma câmara fixa.
SOURCE_TYPE_HAND_HELD_CAMERA A imagem é capturada com uma câmara portátil.
SOURCE_TYPE_CRAWLED A imagem é rastreada a partir da Web.
SOURCE_TYPE_SYSTEM_GENERATED A imagem é recortada de uma imagem original com etiquetagem humana.

Método: projects.locations.retailCatalogs.retailProducts.retailProductImages.create

Pedido HTTP

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

Parâmetros de caminho

pai ou mãe de string Obrigatório. Identificador principal.

Corpo do pedido

O corpo do pedido contém uma instância de RetailProductImage.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta contém uma instância recém-criada de RetailProductImage.

Método: projects.locations.retailCatalogs.retailProducts.retailProductImages.get

Pedido HTTP

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

Parâmetros de caminho

nome de string Obrigatório. RetailProductImage identificador.

Corpo do pedido

O corpo do pedido tem de estar vazio.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta contém uma instância de RetailProductImage.

Método: projects.locations.retailCatalogs.retailProducts.retailProductImages.list

Pedido HTTP

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

Parâmetros de caminho

pai ou mãe de string Obrigatório. Identificador principal.

Parâmetros de consulta

filtrar de string Opcional. Uma expressão para filtrar os resultados do pedido.
pageToken de string Opcional. Um token que identifica uma página de resultados que o servidor deve devolver.
pageSize número inteiro Opcional. Tamanho da página solicitado. O servidor pode devolver menos itens do que o pedido. Se não for especificado, o servidor seleciona uma predefinição adequada.
orderBy de string Opcional. Uma lista de campos separados por vírgulas para ordenar por ordem ascendente. Use "desc" após o nome de um campo para ordem descendente.

Corpo do pedido

O corpo do pedido tem de estar vazio.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta contém dados com a seguinte estrutura:

Representação JSON

{
  "retailProductImages": [
    {
      object (RetailProductImages)
    }
  ],
  "nextPageToken": string
}

Método: projects.locations.retailCatalogs.retailProducts.retailProductImages.delete

Pedido HTTP

DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*/retailProductImages/*

Parâmetros de caminho

nome de string Obrigatório. RetailProductImage identificador.

Corpo do pedido

O corpo do pedido tem de estar vazio.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta está vazio.

Recurso: projects.locations.retailCatalogs.retailProductSets

Representação JSON

{
  "name": string,
  "displayName": string,
  "retailProductIds": [string],
  "resourceState": enum(RetailResourceState),
   "labels": {
    string: string,
    ...
    }
   "createTime": string,
   "updateTime": string
}

Campos


name

String

Apenas saída. Nome do recurso do RetailProductSet

displayName

String

Opcional. Nome a apresentar do RetailProductSet.

retailProductIds []

String

Apenas saída. IDs dos recursos de produtos pertencentes a este RetailProductSet. Os produtos num RetailProductSet devem estar no mesmo catálogo.

resourceState

enum

Apenas saída. Estado do RetailProductSet.

etiquetas

map (key: string, value: string)

As etiquetas com metadados definidos pelo utilizador para organizar o seu RetailProductSet.

As chaves e os valores das etiquetas não podem ter mais de 64 carateres (pontos de código Unicode) e só podem conter letras minúsculas, carateres numéricos, sublinhados e travessões. São permitidos carateres internacionais.

Consulte https://goo.gl/xmQnxf para mais informações e exemplos de etiquetas.

Um objeto que contém uma lista de pares "chave": valor. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (formato Timestamp)

Apenas saída. A data/hora de criação.

updateTime

string (formato Timestamp)

Apenas saída. A data/hora da atualização.

Método: projects.locations.retailCatalogs.retailProductSets.create

Pedido HTTP

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

Parâmetros de caminho

pai ou mãe de string Obrigatório. Identificador principal.

Corpo do pedido

O corpo do pedido contém uma instância de RetailProductSet.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta contém uma instância recém-criada de RetailProductSet.

Método: projects.locations.retailCatalogs.retailProductSets.get

Pedido HTTP

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

Parâmetros de caminho

nome de string Obrigatório. Identificador de RetailProductSet.

Corpo do pedido

O corpo do pedido tem de estar vazio.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta contém uma instância de RetailProductSet.

Método: projects.locations.retailCatalogs.retailProductSets.list

Pedido HTTP

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

Parâmetros de caminho

pai ou mãe de string Obrigatório. Identificador principal.

Parâmetros de consulta

filtrar de string Opcional. Uma expressão para filtrar os resultados do pedido.
pageToken de string Opcional. Um token que identifica uma página de resultados que o servidor deve devolver.
pageSize número inteiro Opcional. Tamanho da página solicitado. O servidor pode devolver menos itens do que o pedido. Se não for especificado, o servidor seleciona uma predefinição adequada.
orderBy de string Opcional. Uma lista de campos separados por vírgulas para ordenar por ordem ascendente. Use "desc" após o nome de um campo para ordem descendente.

Corpo do pedido

O corpo do pedido tem de estar vazio.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta contém dados com a seguinte estrutura:

Representação JSON

{
  "retailProductSets": [
    {
      object (RetailProductSets)
    }
  ],
  "nextPageToken": string
}

Método: projects.locations.retailCatalogs.retailProductSets.delete

Pedido HTTP

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

Parâmetros de caminho

nome de string Obrigatório. Identificador de RetailProductSet.

Corpo do pedido

O corpo do pedido tem de estar vazio.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta está vazio.

Método: projects.locations.retailCatalogs.retailProductSets.add

Pedido HTTP

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

Parâmetros de caminho

nome de string Obrigatório. Nome do recurso RetailProductSet.

Corpo do pedido

Representação JSON

{
  "productIds": [string],
  "productFilter": string
}

Campos


productIds[ ]

string

ID do recurso dos RetailProducts a adicionar. Têm de pertencer ao mesmo RetailCatalog que o RetailProductSet de destino especificado. É possível especificar até 200 IDs de RetailProducts num pedido. Não pode ser usado em conjunto com productFilter.

productFilter

string

Um filtro padrão que será aplicado a todos os RetailProducts no RetailCatalog principal, seleciona os itens que satisfazem as condições do filtro e adiciona-os ao RetailProductSet. Não pode ser usado em conjunto com product_ids. Filtros suportados: https://google.aip.dev/160

Corpo da resposta

Se for bem-sucedido, o corpo da resposta contém uma instância de Operation.

Método: projects.locations.retailCatalogs.retailProductSets.remove

Pedido HTTP

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

Parâmetros de caminho

nome de string Obrigatório. Nome do recurso RetailProductSet.

Corpo do pedido

Representação JSON

{
  "productIds": [string],
  "productFilter": string
}

Campos


productIds[ ]

string

IDs dos recursos dos RetailProducts a remover. Se os RetailProducts especificados não pertencerem a este RetailProductSet, são ignorados. É possível especificar até 200 IDs de RetailProducts num pedido. Não pode ser usado em conjunto com products_filter.

productFilter

string

Um filtro padrão que será aplicado a todos os RetailProducts no RetailProductSet especificado, seleciona os itens que satisfazem as condições do filtro e remove-os do RetailProductSet. Não pode ser usado em conjunto com product_ids. Filtros suportados:https://google.aip.dev/160

Corpo da resposta

Se for bem-sucedido, o corpo da resposta contém uma instância de Operation.

Recurso: projects.locations.retailCatalogs.retailProductRecognitionIndexes

Representação JSON

{
  "name": string,
  "displayName": string,
  "description": string,
  "retailProductSet": [string],
   "resourceState": enum(RetailResourceState),
   "labels": {
    string: string,
    ...
    }
   "createTime": string,
   "updateTime": string
}

Campos


name

String

Apenas saída. Nome do recurso do recurso RetailProductRecognitionIndex.

displayName

String

Opcional. Nome a apresentar do RetailProductRecognitionIndex.

descrição

String

Opcional. A descrição do RetailProductRecognitionIndex.

retailProductSet[]

string

Opcional. O nome do recurso de RetailProductSet a usar para criar este recurso. Se estiver definido, o RetailProductRecognitionIndex só contém produtos no RetailProductSet especificado. Se não for definido, são usados todos os produtos no catálogo principal.

resourceState

enum

Apenas saída. Estado do RetailProductRecognitionIndex.

etiquetas

map (key: string, value: string)

As etiquetas com metadados definidos pelo utilizador para organizar o seu RetailProductRecognitionIndex.

As chaves e os valores das etiquetas não podem ter mais de 64 carateres (pontos de código Unicode) e só podem conter letras minúsculas, carateres numéricos, sublinhados e travessões. São permitidos carateres internacionais.

Consulte https://goo.gl/xmQnxf para mais informações e exemplos de etiquetas.

Um objeto que contém uma lista de pares "chave": valor. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (formato Timestamp)

Apenas saída. A data/hora de criação.

updateTime

string (formato Timestamp)

Apenas saída. A data/hora da atualização.

Método: projects.locations.retailCatalogs.retailProductRecognitionIndexes.create

Pedido HTTP

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

Parâmetros de caminho

pai ou mãe de string Obrigatório. Identificador principal.

Corpo do pedido

O corpo do pedido contém uma instância de RetailProductRecognitionIndex.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta contém uma instância recém-criada de RetailProductRecognitionIndex.

Método: projects.locations.retailCatalogs.retailProductRecognitionIndexes.get

Pedido HTTP

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

Parâmetros de caminho

nome de string Obrigatório. RetailProductRecognitionIndex identificador.

Corpo do pedido

O corpo do pedido tem de estar vazio.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta contém uma instância de RetailProductRecognitionIndex.

Método: projects.locations.retailCatalogs.retailProductRecognitionIndexes.list

Pedido HTTP

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

Parâmetros de caminho

pai ou mãe de string Obrigatório. Identificador principal.

Parâmetros de consulta

filtrar de string Opcional. Uma expressão para filtrar os resultados do pedido.
pageToken de string Opcional. Um token que identifica uma página de resultados que o servidor deve devolver.
pageSize número inteiro Opcional. Tamanho da página solicitado. O servidor pode devolver menos itens do que o pedido. Se não for especificado, o servidor seleciona uma predefinição adequada.
orderBy de string Opcional. Uma lista de campos separados por vírgulas para ordenar por ordem ascendente. Use "desc" após o nome de um campo para ordem descendente.

Corpo do pedido

O corpo do pedido tem de estar vazio.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta contém dados com a seguinte estrutura:

Representação JSON

{
  "retailProductRecognitionIndexes": [
    {
      object (RetailProductRecognitionIndex)
    }
  ],
  "nextPageToken": string
}

Método: projects.locations.retailCatalogs.retailProductRecognitionIndexes.delete

Pedido HTTP

DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductRecognitionIndexes/*

Parâmetros de caminho

nome de string Obrigatório. Identificador ProductRecognitionIndex.

Corpo do pedido

O corpo do pedido tem de estar vazio.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta contém uma instância de Operation.

Recurso: projects.locations.retailEndpoints

Representação 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
}

Campos


name

String

Apenas saída. Nome do recurso do recurso RetailEndpoint.

displayName

String

Opcional. Nome a apresentar do RetailEndpoint.

descrição

String

Opcional. A descrição do RetailEndpoint.

deployedProductRecognitionIndex

String

Apenas saída. Nome de recurso do ProductRecognitionIndex implementado neste RetailEndpoint.

productRecognitionConfig

objeto

Opcional. Configuração para o reconhecimento de produtos.

tagRecognitionConfig

objeto

Opcional. Configuração para o reconhecimento de etiquetas.

resourceState

enum

Apenas saída. Estado do RetailProductRecognitionIndex.

etiquetas

map (key: string, value: string)

As etiquetas com metadados definidos pelo utilizador para organizar o seu RetailProductRecognitionIndex.

As chaves e os valores das etiquetas não podem ter mais de 64 carateres (pontos de código Unicode) e só podem conter letras minúsculas, carateres numéricos, sublinhados e travessões. São permitidos carateres internacionais.

Consulte https://goo.gl/xmQnxf para mais informações e exemplos de etiquetas.

Um objeto que contém uma lista de pares "chave": valor. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (formato Timestamp)

Apenas saída. A data/hora de criação.

updateTime

string (formato Timestamp)

Apenas saída. A data/hora da atualização.

RetailProductRecognitionConfig

Representação JSON

{
  "productDetectionModel": string,
  "detectionConfidenceThreshold": float,
  "recognitionConfidenceThreshold": float,
  "additionalConfig": { object }
}

Campos

|

productDetectionModel de string Obrigatório. Modelo a usar para detetar produtos em imagens de entrada. Valores suportados: "builtin/stable" (o valor predefinido) ou o nome do recurso do modelo do Vertex AI.
detectionConfidenceThreshold flutuante Opcional. Limite de confiança para filtrar os resultados da deteção. Se não for definido, é usado um valor predefinido do sistema.
recognitionConfidenceThreshold flutuante Opcional. Limite de confiança para filtrar os resultados do reconhecimento. Se não for definido, é usado um valor predefinido do sistema.
additionalConfig objeto (formato Struct) Opcional. Configurações adicionais para o reconhecimento de produtos.

RetailTagRecognitionConfig

Representação JSON

{
  "tagDetectionModel": string,
  "tagParsingModel": string,
  "detectionConfidenceThreshold": float,
  "parsingConfidenceThreshold": float,
  "additionalConfig": { object }
}

Campos

tagDetectionModel de string Obrigatório. Modelo a usar para detetar etiquetas em imagens de entrada. Valores suportados: recurso de modelo do Vertex AI.
tagParsingModel de string Obrigatório. Modelo para analisar texto em etiquetas detetadas. Valores suportados: recurso de modelo do Vertex AI.
detectionConfidenceThreshold flutuante Opcional. Limite de confiança para filtrar os resultados da deteção. Se não for definido, é usado um valor predefinido do sistema.
parsingConfidenceThreshold flutuante Opcional. Limite de confiança para filtrar resultados da análise sintática de texto. Se não for definido, é usado um valor predefinido do sistema.
additionalConfig objeto (formato Struct) Opcional. Configurações adicionais para o reconhecimento de etiquetas.

Método: projects.locations.retailEndpoints.create

Pedido HTTP

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

Parâmetros de caminho

pai ou mãe de string Obrigatório. Identificador principal.

Corpo do pedido

O corpo do pedido contém uma instância de RetailEndpoint.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta contém uma instância recém-criada de RetailEndpoint.

Método: projects.locations.retailEndpoints.get

Pedido HTTP

GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailEndpoints/*}

Parâmetros de caminho

nome de string Obrigatório. RetailEndpoint identificador.

Corpo do pedido

O corpo do pedido tem de estar vazio.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta contém uma instância de RetailEndpoint.

Método: projects.locations.retailEndpoints.list

Pedido HTTP

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

Parâmetros de caminho

pai ou mãe de string Obrigatório. Identificador principal.

Parâmetros de consulta

filtrar de string Opcional. Uma expressão para filtrar os resultados do pedido.
pageToken de string Opcional. Um token que identifica uma página de resultados que o servidor deve devolver.
pageSize número inteiro Opcional. Tamanho da página solicitado. O servidor pode devolver menos itens do que o pedido. Se não for especificado, o servidor seleciona uma predefinição adequada.
orderBy de string Opcional. Uma lista de campos separados por vírgulas para ordenar por ordem ascendente. Use "desc" após o nome de um campo para ordem descendente.

Corpo do pedido

O corpo do pedido tem de estar vazio.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta contém dados com a seguinte estrutura:

Representação JSON

{
  "retailEndpoints": [
    {
      object (RetailEndpoint)
    }
  ],
  "nextPageToken": string
}

Método: projects.locations.retailEndpoints.delete

Pedido HTTP

DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailEndpoints/*

Parâmetros de caminho

nome de string Obrigatório. RetailEndpoint identificador.

Corpo do pedido

O corpo do pedido tem de estar vazio.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta está vazio.

Método: projects.locations.retailEndpoints.deployRetailProductRecognitionIndex

Pedido HTTP

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

Parâmetros de caminho

retailEndpoint de string Obrigatório. Nome do recurso do RetailEndpoint recurso no qual o RetailProductRecognitionIndex está implementado.

Corpo do pedido

Representação JSON

{
  "retailProductRecognitionIndex": string,
}

Campos

retailProductRecognitionIndex de string Obrigatório. O nome do recurso de RetailProductRecognitionIndex a implementar.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta contém uma instância de Operation.

Método: projects.locations.retailEndpoints.undeployRetailProductRecognitionIndex

Pedido HTTP

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

Parâmetros de caminho

retailEndpoint de string Obrigatório. Nome do recurso do recurso no qual a anulação da implementação vai atuar.RetailEndpoint

Corpo do pedido

O corpo do pedido tem de estar vazio.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta contém uma instância de Operation.

Método: projects.locations.retailEndpoints.batchAnalyze

Pedido HTTP

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

Parâmetros de caminho

retailEndpoint de string Obrigatório. Nome do recurso do RetailEndpoint para publicar o pedido de inferência.

Corpo do pedido

Representação 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
}

Campos

gcsSource de string Obrigatório. A localização do Cloud Storage para o conteúdo de entrada. Podem ser fornecidas várias localizações de entrada. O conteúdo de todas as localizações de entrada é processado num lote. Conteúdo suportado: um ficheiro TXT em que cada linha é o caminho completo para uma imagem. É possível suportar um máximo de 50 mil imagens num pedido.
outputGcsDestination de string Opcional. A localização do Cloud Storage do diretório onde a saída vai ser escrita.
corpus de string Opcional. Nome do recurso do corpus do banco de dados de imagens. Ainda não é suportado.
bigqueryTable de string Opcional. Nome do recurso da tabela do BigQuery para exportações de anotações. No formato "projects/*/datasets/*/tables/*". Se estiver definido, as anotações geradas a partir da inferência de ML também são exportadas para a tabela do BigQuery especificada. Ainda não é suportado.
features[] Objeto Obrigatório. O tipo de inferência de ML a realizar.

Funcionalidade

Representação JSON

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

Campos

escrever enum Obrigatório. O tipo de funcionalidade.
productRecognitionConfig objeto Opcional. Por pedido substituições para a funcionalidade de reconhecimento de produtos. Só é eficaz se o tipo estiver definido como TYPE_PRODUCT_RECOGNITION.
tagRecognitionConfig objeto Opcional. Substituições por pedido para a funcionalidade de reconhecimento de etiquetas. Só é eficaz se o tipo estiver definido como TYPE_TAG_RECOGNITION.

Corpo da resposta

Se for bem-sucedido, o corpo da resposta contém uma instância de Operation.

Tipos

GcsSource

Representação JSON

{
  "uris": [string]
}

Campos

uris[] de string Obrigatório. Referências a caminhos do Cloud Storage.

Tipo

Valores ENUM

TYPE_UNSPECIFIED O valor predefinido. Não deve ser usado.
TYPE_PRODUCT_RECOGNITION Reconhecimento de produtos. Tem de ser usado num RetailEndpoint com o RetailProductRecognitionIndex implementado.
TYPE_TAG_RECOGNITION Deteção e análise de etiquetas. Tem de ser usada num RetailEndpoint com RetailTagRecognitionConfig.

RetailProductIoFormat

Representação JSON

{
  "retailProduct": { object(RetailProduct) },
  "retailProductImages": [ { object(RetailProductImage) }]
}

Campos

retailProduct objeto Obrigatório. RetailProduct a importar
retailProductImages[ ] objeto Opcional. RetailProductImages do RetailProduct fornecido a importar.

RetailResourceState

Valores ENUM

RETAIL_RESOURCE_STATE_UNSPECIFIED O valor predefinido. Não deve ser usado.
RETAIL_RESOURCE_STATE_CREATING Estado: a criar.
RETAIL_RESOURCE_STATE_CREATED Estado criado.
RETAIL_RESOURCE_STATE_UPDATING A atualizar o estado.
RETAIL_RESOURCE_STATE_DELETED Estado eliminado.
RETAIL_RESOURCE_STATE_ERROR Erro de estado.