Guida a Product Recognizer

Il modello Riconoscimento prodotti ti aiuta a riconoscere e capire quali prodotti sono presenti nell'immagine fornita o sullo scaffale.

Questo modello può fungere da componente di base dell'IA per analizzare e interpretare i dati delle immagini dei prodotti nei negozi di vendita al dettaglio. Ad esempio, puoi utilizzare questo modello per le immagini dei prodotti sugli scaffali acquisite da fotocamere locali o dispositivi mobili.

Casi d'uso di Tag Recognizer e Product Recognizer

Il modello di riconoscimento dei prodotti e i modelli di riconoscimento dei tag possono essere utilizzati come gli elementi costitutivi principali dell'IA per analizzare e interpretare i dati delle immagini relativi a prodotti e tag trovati nei negozi di vendita al dettaglio, come le immagini di scansione delle scaffali acquisite dalle fotocamere installate o dalle piattaforme / dai dispositivi mobili.

I modelli di riconoscimento dei prodotti e dei tag incorporano diverse funzionalità di dati e modellazione dell'IA di Google per aiutare i rivenditori e/o i partner tecnici a risolvere i problemi chiave per comprendere la sezione dei prodotti in un negozio, tra cui:

  • Rilevamento, riconoscimento e comprensione dei prodotti presenti nell'immagine o nella sezione.
  • Rilevamento, riconoscimento e analisi dei tag (ad esempio il tag prezzo o qualsiasi altro tag di etichetta di testo) in base allo schema di estrazione delle entità delle coppie chiave-valore definito dall'utente.

In particolare, nella soluzione di controllo degli scaffali sono inclusi diversi modelli di IA di Google che si distinguono per supportare la risoluzione dei problemi di questi casi d'uso, ad esempio

  • Modelli di rilevamento dei prodotti (preaddestrati da Google, ma che puoi comunque personalizzare).
  • Modello di embedding visivo delle miniature dei prodotti, che trasforma un'immagine della miniatura del prodotto in una rappresentazione dello spazio delle funzionalità numeriche.
  • Il modello OCR di Google, che estrae tutti i testi visibili nell'immagine.
  • Il modello di estrazione di entità di Google (che puoi personalizzare), che trasforma i testi non elaborati in entità denominate con coppie chiave-valore definite dall'utente.

Oltre a questi modelli di IA di Google, la soluzione di controllo degli scaffali sfrutta anche l'ampio database di informazioni sui prodotti di Google. I dati di prodotto in questo database includono l'identità GTIN / UPC, il brand, il titolo e le descrizioni in più lingue, il logo e le immagini del prodotto con varie varianti di confezione. Il database dei prodotti con il modello di embedding visivo delle miniature dei prodotti menzionato in precedenza consente al modello di riconoscimento dei prodotti di riconoscere immediatamente molti prodotti.

Ad esempio, data un'immagine della sezione acquisita come segue, la soluzione di controllo della sezione ha lo scopo di:

  1. Rileva e localizza tutte le scatole degli articoli del prodotto (visibili, non completamente coperte) nella foto e riconosci l'identità del prodotto di ogni singola scatola dell'articolo del prodotto a livello di GTIN / UPC.
  2. Rileva e localizza tutte le caselle dei tag (visibili) nell'immagine, riconosci tutte le stringhe di testo nel tag e prova a analizzare il testo nello schema di estrazione delle entità di coppia chiave-valore definito dall'utente, ad esempio la descrizione dell'articolo del prodotto, il valore del prezzo.

Le due principali funzionalità di IA per abilitare queste soluzioni sono il modello di riconoscimento dei prodotti e il modello di riconoscimento dei tag, di cui daremo maggiori dettagli nelle sezioni seguenti. Per ognuna di queste due API che forniscono principalmente i servizi di interpretazione delle immagini, sono presenti uno o più componenti che puoi personalizzare. Descriveremo innanzitutto il percorso di inferenza dell'utilizzo dell'API, quindi forniremo una breve descrizione di come puoi personalizzare i componenti coinvolti, tramite una configurazione utente o tramite l'addestramento di un modello.

Funzionalità di riconoscimento dei prodotti

Questo modello riconosce l'identità dei singoli prodotti a livello di GTIN (Global Trade Item Number) o UPC (Universal Product Code). In Rilevatore di prodotti sono inclusi diversi modelli di IA di Google per supportare la risoluzione dei problemi di questi casi d'uso, ad esempio:

  • Il modello di embedding visivo del prodotto, che trasforma un'immagine del prodotto in una representatione dello spazio delle funzionalità numeriche.
  • La tecnologia OCR di Google, che estrae tutti i testi visibili nell'immagine.
  • Il database di prodotti Google utilizzato in combinazione con il modello di embedding visivo della miniatura del prodotto consente al modello di riconoscimento dei prodotti di riconoscere subito molti prodotti.

Oggetto JSON di output di esempio

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

Concetti relativi alle API

Sono disponibili sei risorse API per aiutarti a creare il catalogo dei prodotti, gestire i set di dati di prodotto, creare indici e implementare il servizio di riconoscimento dei prodotti. Sono descritti come segue:

Diagramma del concetto di API

Catalog: risorsa principale che rappresenta il contenitore di tutti i prodotti offerti dal rivenditore.

Prodotto: rappresenta un prodotto offerto da un commerciante. Product è una risorsa figlia di Catalog.

ProductImage: l'immagine che rappresenta una visualizzazione di un prodotto. ProductImage è una risorsa secondaria di Product.

ProductSet: un contenitore con una granularità più fine per organizzare e raggruppare i prodotti nello stesso Catalog. Un ProductSet può contenere uno o più Product, ma non "possiede" i Product contenuti, ma mantiene un "link" a questi.

ProductRecognitionIndex: contiene un elenco di incorporamenti di immagini utilizzati per gli algoritmi di riconoscimento dei prodotti. ProductRecognitionIndex può essere creato dall'intero Catalog o da un ProductSet (un sottoinsieme dei Product del Catalog).

Endpoint: un posizionamento che contiene tutte le configurazioni necessarie per eseguire l'inferenza del riconoscimento dei prodotti o dei tag. Per il riconoscimento dei prodotti, è necessario specificare il modello di rilevamento dei prodotti ed eseguire il deployment di un ProductRecognitionIndex. Per il riconoscimento dei tag, è necessario specificare sia i modelli di rilevamento dei tag sia i modelli di analisi delle entità dei tag.

Configurazione dell'ambiente

Questa sezione descrive come interagire con l'API RESTful Store Vision AI.

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

Tutti i metodi create richiedono di specificare esplicitamente il nome/l'ID della risorsa da creare. Puoi utilizzare un identificatore di stringhe significativo, ad esempio "product-ABC", o un identificatore generato in modo casuale, ad esempio un UUID.

Per concedere a un ruolo una persona l'accesso in qualità di editor per utilizzare l'API Store Vision, esegui il seguente comando di associazione IAM:

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

Per concedere a un account di servizio l'accesso in qualità di editor, utilizza il seguente comando:

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

Scopri di più sull'associazione IAM.

Percorso dell'utente di Product Recognizer

  1. Crea un catalogo.
  2. Importa i prodotti e (facoltativo) ProductImages in Catalog.
  3. Visualizza e modifica Product e ProductImages e, se vuoi, crea un ProductSet per organizzare l'elenco dei prodotti con una granularità più fine.
  4. Crea un Index dall'intero Catalog o da un ProductSet.
  5. Crea un Endpoint con la configurazione di riconoscimento dei prodotti desiderata e esegui il deployment di un Index.
  6. Esegui BatchAnalyze con la funzionalità ProductRecognition. Nel backend, il sistema identificherà i prodotti di ogni immagine di input e recupererà i K migliori prodotti simili dall'indice specificato utilizzando sia gli indicatori visivi sia quelli di testo OCR.

Gestione delle risorse API (Catalog e Indexset)

Catalogo

Crea catalogo
  • CATALOG_ID=Il tuo ID catalogo.
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

Output di esempio

{
  "name": "projects/cloud-store-vision-test/locations/us-central1/operations/operation-1655157982362-5e15b7f95fa6f-d30364c6-dc3a3714",
  "done": false
}
Esegui l'operazione di estrazione fino al termine
  • OPERATION_ID=L'operazione di output, ad esempio 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

Output di esempio

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

Esistono due formati di importazione supportati:

  • TXT: ogni riga è il gtin di un prodotto da importare
  • JSONL: ogni riga è un formato JSON di RetailProductIoFormat, ad esempio
{"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"}}}

Per ulteriori dettagli su RetailProductIoFormat, consulta il riferimento all'API. Al momento supportiamo l'importazione di un massimo di 10.000 prodotti per operazione ImportProduct.

Tieni inoltre presente che il valore "name" all'interno di "retailProductImages" deve essere univoco solo nell'ambito della risorsa principale "retailProduct", il che significa che possono essere presenti due "retailProductImages" con lo stesso "name" purché appartengano a risorse "retailProduct" diverse.

  • IMPORT_FILE_URI=URI Cloud Storage del file di importazione, ad esempio gs://mybucket/my_import_file.jsonl
  • IMPORT_FORMAT=Il formato del file di importazione, FORMAT_JSONL o 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"
  }'
Elenco cataloghi
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

Prodotto

CreateProduct con GTIN

Supportiamo i formati GTIN-8, GTIN-13, GTIN-14 e UPC(noto anche come GTIN-12). Scopri di più sul formato GTIN qui.

  • PRODUCT_ID=Il tuo ID prodotto
  • GTIN=gtin del prodotto, ad esempio 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 con ID di terze parti
  • PRODUCT_ID=Il tuo ID prodotto
  • THIRD_PARTY_ID=ID di terze parti
  • OWNER=L'entità proprietaria dell'identificatore di terze parti
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 immagine prodotto
  • IMAGE_GCS_URI=l'URI Cloud Storage dell'immagine, ad esempio 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=l'ID del tuo set di prodotti
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

Crea ProductRecognitionIndex

Esistono due modi per creare un ProductRecognitionIndex: da Catalog, che utilizzerà tutto ciò che è contenuto in questo Catalog, o da un ProductSet, che utilizzerà solo i prodotti e le immagini dei prodotti associati.

  • INDEX_ID=Il tuo ID indice
  • COVERAGE_CSV_OUTPUT_DIRECTORY=<posizione in Cloud Storage della directory in cui verrà scritto il file di copertura dell'indice
# 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"}'
Ottieni 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
Elenca 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
Eliminare 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

Crea endpoint
  • ENDPOINT_ID=l'ID del tuo endpoint
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

È possibile eseguire il deployment di un endpoint con un solo ProductRecognitionIndex, ma un ProductRecognitionIndex può essere implementato in più endpoint.

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

Il dislocamento rimuoverà solo ProductRecognitionIndex di cui è stato eseguito il deployment dall'endpoint di chiamata corrente e non influirà su altri endpoint se questo ProductRecognitionIndex è stato di cui è stato eseguito il deployment anche in altri.

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

Inferenza di analisi batch (riconoscimento dei prodotti)

File di input di esempio in 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 Cloud Storage del file di input> ogni riga del file di input è solo un URI Cloud Storage dell'immagine da elaborare, ad esempio gs://my-bucket/my-image.jpg
  • OUTPUT_URI_PREFIX=prefisso URI Cloud Storage per il file dei risultati di output, ad esempio 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
      }
    }
  ],

Esistono anche altri campi che puoi impostare e configurare in productRecognitionConfig, che è un oggetto RetailProductRecognitionConfig. Per maggiori dettagli, consulta la descrizione della risorsa nel riferimento all'API.

Riferimento API

Risorsa: projects.locations.retailCatalogs

Rappresentazione JSON

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

Campi


nome

Stringa

Solo output. Nome della risorsa del catalogo di vendita al dettaglio

displayName

Stringa

Facoltativo. Nome visualizzato di RetailCatalog.

createTime

stringa (formato Timestamp)

Solo output. Timestamp della creazione di questo RetailCatalog.

updateTime

stringa (formato Timestamp)

Solo output. Il timestamp dell'aggiornamento.

resourceState

enum

Solo output. Stato del RetailCatalog.

etichette

mappa (chiave: stringa, valore: stringa)

Le etichette con metadati definiti dall'utente per organizzare il tuo RetailCatalog.

Le chiavi e i valori delle etichette non devono superare i 64 caratteri (punti di codice Unicode) e possono contenere solo lettere minuscole, caratteri numerici, trattini bassi e trattini. Sono consentiti caratteri internazionali.

Per ulteriori informazioni ed esempi di etichette, visita la pagina https://goo.gl/xmQnxf.

Un oggetto contenente un elenco di coppie "chiave": valore. Esempio: { "name": "chiave", "mass": "1.3kg", "count": "3" }.

Metodo: projects.locations.retailCatalogs.create

Richiesta HTTP

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

Parametri del percorso

principale string Obbligatorio. Identificatore principale.

Corpo della richiesta

Il corpo della richiesta contiene un'istanza di RetailCatalog.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza appena creata di RetailCatalog.

Metodo: projects.locations.retailCatalogs.get

Richiesta HTTP

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

Parametri del percorso

nome string Obbligatorio. Identificatore RetailCatalog.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di RetailCatalog.

Metodo: projects.locations.retailCatalogs.list

Richiesta HTTP

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

Parametri del percorso

principale string Obbligatorio. Identificatore principale.

Parametri di query

filtro string Facoltativo. Un'espressione per filtrare i risultati della richiesta.
pageToken string Facoltativo. Un token che identifica una pagina di risultati che il server deve restituire.
pageSize integer Facoltativo. Dimensioni della pagina richiesta. Il server potrebbe restituire meno elementi di quelli richiesti. Se non viene specificato, il server sceglierà un valore predefinito appropriato.
orderBy string Facoltativo. Un elenco separato da virgole di campi per ordinare in ordine crescente. Utilizza "desc" dopo il nome di un campo per l'ordinamento decrescente.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura: Rappresentazione JSON

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

Metodo: projects.locations.retailCatalogs.delete

Richiesta HTTP

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

Parametri del percorso

nome string Obbligatorio. Identificatore RetailCatalog.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di Operation.

Metodo: projects.locations.retailCatalogs.importRetailProducts

Richiesta HTTP

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

Parametri del percorso

nome string Obbligatorio. RetailCatalog.

Corpo della richiesta

Rappresentazione JSON

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

Campi

gcsSource oggetto Obbligatorio. La posizione Cloud Storage per i contenuti di input. È possibile fornire più posizioni di input. I contenuti di tutte le directory di input verranno importati in un unico batch. Estensioni dei file supportate: 1. Un file JSONL. Ogni riga è un formato JSON di RetailProductIoFormat.
2. Un file TXT. Ogni riga è il GTIN di un prodotto da importare.
formato enum Obbligatorio. Il formato del file da importare.

Formattare i valori ENUM

FORMAT_UNSPECIFIED Non deve essere utilizzato.
FORMAT_TXT Formato TXT.
FORMAT_JSONL Formato JSONL.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di Operation.

Risorsa: projects.locations.retailProducts

Rappresentazione 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
}

Campi


nome

Stringa

Solo output. Nome della risorsa di RetailProductImage

displayName

Stringa

Facoltativo. Nome visualizzato di RetailProductImage.

sourceType

enum

Facoltativo. Tipo di origine

gcsUri

stringa

Facoltativo. Percorso di Cloud Storage di RetailProductImage. Deve essere impostato, tranne quando l'immagine è fornita da Google, ad esempio quando il tipo di origine è SOURCE_TYPE_GOOGLE.

resourceState

enum

Solo output. Stato di RetailProductImage.

etichette

mappa (chiave: stringa, valore: stringa)

Le etichette con metadati definiti dall'utente per organizzare RetailProductImage.

Le chiavi e i valori delle etichette non devono superare i 64 caratteri (punti di codice Unicode) e possono contenere solo lettere minuscole, caratteri numerici, trattini bassi e trattini. Sono consentiti caratteri internazionali.

Per ulteriori informazioni ed esempi di etichette, visita la pagina https://goo.gl/xmQnxf.

Un oggetto contenente un elenco di coppie "chiave": valore. Esempio: { "name": "chiave", "mass": "1.3kg", "count": "3" }.

createTime

stringa (formato Timestamp)

Solo output. Il timestamp della creazione.

updateTime

stringa (formato Timestamp)

Solo output. Il timestamp dell'aggiornamento.

RetailThirdPartyId Presentazione JSON

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

Campi

ID string ID di terze parti utilizzato dal rivenditore o dal produttore (ad es. SKU o MPN).
proprietario string L'entità che "possiede" l'identificatore di terze parti, ad esempio il produttore o il rivenditore che vende il prodotto.

Metodo: projects.locations.retailCatalogs.retailProducts.create

Richiesta HTTP

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

Parametri del percorso

principale string Obbligatorio. Identificatore principale.

Corpo della richiesta

Il corpo della richiesta contiene un'istanza di RetailProduct.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza appena creata di RetailProduct.

Metodo: projects.locations.retailCatalogs.retailProducts.get

Richiesta HTTP

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

Parametri del percorso

nome string Obbligatorio. Identificatore RetailProduct.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di RetailProduct.

Metodo: projects.locations.retailCatalogs.retailProducts.list

Richiesta HTTP

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

Parametri del percorso

principale string Obbligatorio. Identificatore principale.

Parametri di query

filtro string Facoltativo. Un'espressione per filtrare i risultati della richiesta.
pageToken string Facoltativo. Un token che identifica una pagina di risultati che il server deve restituire.
pageSize integer Facoltativo. Dimensioni della pagina richiesta. Il server potrebbe restituire meno elementi di quelli richiesti. Se non viene specificato, il server sceglierà un valore predefinito appropriato.
orderBy string Facoltativo. Un elenco separato da virgole di campi per ordinare in ordine crescente. Utilizza "desc" dopo il nome di un campo per l'ordinamento decrescente.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura: Rappresentazione JSON

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

Metodo: projects.locations.retailCatalogs.retailProducts.delete

Richiesta HTTP

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

Parametri del percorso

nome string Obbligatorio. Identificatore RetailProduct.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta è vuoto.

Risorsa: projects.locations.retailProductImages

Rappresentazione JSON

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

Campi


nome

Stringa

Solo output. Nome della risorsa di RetailProductImage

displayName

Stringa

Facoltativo. Nome visualizzato di RetailProductImage.

sourceType

enum

Facoltativo. Tipo di origine

gcsUri

stringa

Facoltativo. Percorso di Cloud Storage di RetailProductImage. Deve essere impostato, tranne quando l'immagine è fornita da Google, ad esempio quando il tipo di origine è SOURCE_TYPE_GOOGLE.

resourceState

enum

Solo output. Stato di RetailProductImage.

etichette

map (key: string, value: string)

Le etichette con metadati definiti dall'utente per organizzare RetailProductImage.

Le chiavi e i valori delle etichette non devono superare i 64 caratteri (punti di codice Unicode) e possono contenere solo lettere minuscole, caratteri numerici, trattini bassi e trattini. Sono consentiti caratteri internazionali.

Per ulteriori informazioni ed esempi di etichette, visita la pagina https://goo.gl/xmQnxf.

Un oggetto contenente un elenco di coppie "chiave": valore. Esempio: { "name": "chiave", "mass": "1.3kg", "count": "3" }.

createTime

stringa (formato Timestamp)

Solo output. Il timestamp della creazione.

updateTime

stringa (formato Timestamp)

Solo output. Il timestamp dell'aggiornamento.

Valori ENUM di SourceType

SOURCE_TYPE_UNSPECIFIED Origine dati sconosciuta. Non deve essere utilizzato.
SOURCE_TYPE_FIXED_CAMERA L'immagine viene acquisita da una fotocamera fissa.
SOURCE_TYPE_HAND_HELD_CAMERA L'immagine viene acquisita con una fotocamera portatile.
SOURCE_TYPE_CRAWLED L'immagine viene sottoposta a scansione dal web.
SOURCE_TYPE_SYSTEM_GENERATED L'immagine è ritagliata da un'immagine originale con etichettatura umana.

Metodo: projects.locations.retailCatalogs.retailProducts.retailProductImages.create

Richiesta HTTP

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

Parametri del percorso

principale string Obbligatorio. Identificatore principale.

Corpo della richiesta

Il corpo della richiesta contiene un'istanza di RetailProductImage.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza appena creata di RetailProductImage.

Metodo: projects.locations.retailCatalogs.retailProducts.retailProductImages.get

Richiesta HTTP

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

Parametri del percorso

nome string Obbligatorio. Identificatore RetailProductImage.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di RetailProductImage.

Metodo: projects.locations.retailCatalogs.retailProducts.retailProductImages.list

Richiesta HTTP

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

Parametri del percorso

principale string Obbligatorio. Identificatore principale.

Parametri di query

filtro string Facoltativo. Un'espressione per filtrare i risultati della richiesta.
pageToken string Facoltativo. Un token che identifica una pagina di risultati che il server deve restituire.
pageSize integer Facoltativo. Dimensioni della pagina richiesta. Il server potrebbe restituire meno elementi di quelli richiesti. Se non viene specificato, il server sceglierà un valore predefinito appropriato.
orderBy string Facoltativo. Un elenco separato da virgole di campi per ordinare in ordine crescente. Utilizza "desc" dopo il nome di un campo per l'ordinamento decrescente.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

Rappresentazione JSON

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

Metodo: projects.locations.retailCatalogs.retailProducts.retailProductImages.delete

Richiesta HTTP

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

Parametri del percorso

nome string Obbligatorio. Identificatore RetailProductImage.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta è vuoto.

Risorsa: projects.locations.retailCatalogs.retailProductSets

Rappresentazione JSON

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

Campi


nome

Stringa

Solo output. Nome della risorsa del set di prodotti di vendita al dettaglio

displayName

Stringa

Facoltativo. Nome visualizzato del RetailProductSet.

retailProductIds []

Stringa

Solo output. ID risorsa dei prodotti appartenenti a questo RetailProductSet. I prodotti in un RetailProductSet devono trovarsi nello stesso catalogo.

resourceState

enum

Solo output. Stato del RetailProductSet.

etichette

mappa (chiave: stringa, valore: stringa)

Le etichette con metadati definiti dall'utente per organizzare il set di prodotti di vendita al dettaglio.

Le chiavi e i valori delle etichette non devono superare i 64 caratteri (punti di codice Unicode) e possono contenere solo lettere minuscole, caratteri numerici, trattini bassi e trattini. Sono consentiti caratteri internazionali.

Per ulteriori informazioni ed esempi di etichette, visita la pagina https://goo.gl/xmQnxf.

Un oggetto contenente un elenco di coppie "chiave": valore. Esempio: { "name": "chiave", "mass": "1.3kg", "count": "3" }.

createTime

stringa (formato Timestamp)

Solo output. Il timestamp della creazione.

updateTime

stringa (formato Timestamp)

Solo output. Il timestamp dell'aggiornamento.

Metodo: projects.locations.retailCatalogs.retailProductSets.create

Richiesta HTTP

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

Parametri del percorso

principale string Obbligatorio. Identificatore principale.

Corpo della richiesta

Il corpo della richiesta contiene un'istanza di RetailProductSet.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza appena creata di RetailProductSet.

Metodo: projects.locations.retailCatalogs.retailProductSets.get

Richiesta HTTP

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

Parametri del percorso

nome string Obbligatorio. Identificatore di RetailProductSet.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di RetailProductSet.

Metodo: projects.locations.retailCatalogs.retailProductSets.list

Richiesta HTTP

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

Parametri del percorso

principale string Obbligatorio. Identificatore principale.

Parametri di query

filtro string Facoltativo. Un'espressione per filtrare i risultati della richiesta.
pageToken string Facoltativo. Un token che identifica una pagina di risultati che il server deve restituire.
pageSize integer Facoltativo. Dimensioni della pagina richiesta. Il server potrebbe restituire meno elementi di quelli richiesti. Se non viene specificato, il server sceglierà un valore predefinito appropriato.
orderBy string Facoltativo. Un elenco separato da virgole di campi per ordinare in ordine crescente. Utilizza "desc" dopo il nome di un campo per l'ordinamento decrescente.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

Rappresentazione JSON

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

Metodo: projects.locations.retailCatalogs.retailProductSets.delete

Richiesta HTTP

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

Parametri del percorso

nome string Obbligatorio. Identificatore di RetailProductSet.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta è vuoto.

Metodo: projects.locations.retailCatalogs.retailProductSets.add

Richiesta HTTP

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

Parametri del percorso

nome string Obbligatorio. Nome della risorsa RetailProductSet.

Corpo della richiesta

Rappresentazione JSON

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

Campi


productIds[ ]

stringa

ID risorsa dei prodotti di vendita al dettaglio da aggiungere. Devono appartenere allo stesso RetailCatalog del RetailProductSet di destinazione specificato. In una richiesta è possibile specificare fino a 200 ID RetailProducts. Non può essere utilizzato insieme a productFilter.

productFilter

stringa

Un filtro standard che verrà applicato a tutti i RetailProducts nel RetailCatalog principale, seleziona gli elementi che soddisfano le condizioni del filtro e aggiungili al RetailProductSet. Non può essere utilizzato insieme a product_ids. Filtri supportati: https://google.aip.dev/160

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di Operation.

Metodo: projects.locations.retailCatalogs.retailProductSets.remove

Richiesta HTTP

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

Parametri del percorso

nome string Obbligatorio. Nome della risorsa RetailProductSet.

Corpo della richiesta

Rappresentazione JSON

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

Campi


productIds[ ]

stringa

ID risorsa dei prodotti di vendita al dettaglio da rimuovere. Se i prodotti di vendita al dettaglio specificati non appartengono a questo set di prodotti di vendita al dettaglio, verranno ignorati. In una richiesta è possibile specificare fino a 200 ID RetailProducts. Non può essere utilizzato insieme a products_filter.

productFilter

stringa

Un filtro standard che verrà applicato a tutti i RetailProducts nel RetailProductSet specificato, seleziona gli elementi che soddisfano le condizioni del filtro e rimuovili dal RetailProductSet. Non può essere utilizzato insieme a product_ids. Filtri supportati:https://google.aip.dev/160

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di Operation.

Risorsa: projects.locations.retailCatalogs.retailProductRecognitionIndexes

Rappresentazione JSON

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

Campi


nome

Stringa

Solo output. Nome della risorsa RetailProductRecognitionIndex.

displayName

Stringa

Facoltativo. Nome visualizzato dell'indice RetailProductRecognitionIndex.

descrizione

Stringa

Facoltativo. La descrizione di RetailProductRecognitionIndex.

retailProductSet[]

stringa

Facoltativo. Il nome della risorsa RetailProductSet da utilizzare per creare questa risorsa. Se impostato, l'indice RetailProductRecognition conterrà solo i prodotti nel RetailProductSet specificato. Se non viene impostato, verranno utilizzati tutti i prodotti del catalogo principale.

resourceState

enum

Solo output. Stato di RetailProductRecognitionIndex.

etichette

map (key: string, value: string)

Le etichette con metadati definiti dall'utente per organizzare l'indice RetailProductRecognitionIndex.

Le chiavi e i valori delle etichette non devono superare i 64 caratteri (punti di codice Unicode) e possono contenere solo lettere minuscole, caratteri numerici, trattini bassi e trattini. Sono consentiti caratteri internazionali.

Per ulteriori informazioni ed esempi di etichette, visita la pagina https://goo.gl/xmQnxf.

Un oggetto contenente un elenco di coppie "chiave": valore. Esempio: { "name": "chiave", "mass": "1.3kg", "count": "3" }.

createTime

stringa (formato Timestamp)

Solo output. Il timestamp della creazione.

updateTime

stringa (formato Timestamp)

Solo output. Il timestamp dell'aggiornamento.

Metodo: projects.locations.retailCatalogs.retailProductRecognitionIndexes.create

Richiesta HTTP

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

Parametri del percorso

principale string Obbligatorio. Identificatore principale.

Corpo della richiesta

Il corpo della richiesta contiene un'istanza di RetailProductRecognitionIndex.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza appena creata di RetailProductRecognitionIndex.

Metodo: projects.locations.retailCatalogs.retailProductRecognitionIndexes.get

Richiesta HTTP

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

Parametri del percorso

nome string Obbligatorio. Identificatore RetailProductRecognitionIndex.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di RetailProductRecognitionIndex.

Metodo: projects.locations.retailCatalogs.retailProductRecognitionIndexes.list

Richiesta HTTP

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

Parametri del percorso

principale string Obbligatorio. Identificatore principale.

Parametri di query

filtro string Facoltativo. Un'espressione per filtrare i risultati della richiesta.
pageToken string Facoltativo. Un token che identifica una pagina di risultati che il server deve restituire.
pageSize integer Facoltativo. Dimensioni della pagina richiesta. Il server potrebbe restituire meno elementi di quelli richiesti. Se non viene specificato, il server sceglierà un valore predefinito appropriato.
orderBy string Facoltativo. Un elenco separato da virgole di campi per ordinare in ordine crescente. Utilizza "desc" dopo il nome di un campo per l'ordinamento decrescente.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

Rappresentazione JSON

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

Metodo: projects.locations.retailCatalogs.retailProductRecognitionIndexes.delete

Richiesta HTTP

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

Parametri del percorso

nome string Obbligatorio. Identificatore di ProductRecognitionIndex.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di Operation.

Risorsa: projects.locations.retailEndpoints

Rappresentazione 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
}

Campi


nome

Stringa

Solo output. Nome della risorsa RetailEndpoint.

displayName

Stringa

Facoltativo. Nome visualizzato di RetailEndpoint.

descrizione

Stringa

Facoltativo. La descrizione di RetailEndpoint.

deployedProductRecognitionIndex

Stringa

Solo output. Nome della risorsa dell'indice ProductRecognitionDeployment in questo RetailEndpoint.

productRecognitionConfig

Oggetto

Facoltativo. Configurazione per il riconoscimento dei prodotti.

tagRecognitionConfig

Oggetto

Facoltativo. Configurazione per il riconoscimento dei tag.

resourceState

enum

Solo output. Stato di RetailProductRecognitionIndex.

etichette

map (key: string, value: string)

Le etichette con metadati definiti dall'utente per organizzare l'indice RetailProductRecognitionIndex.

Le chiavi e i valori delle etichette non devono superare i 64 caratteri (punti di codice Unicode) e possono contenere solo lettere minuscole, caratteri numerici, trattini bassi e trattini. Sono consentiti caratteri internazionali.

Per ulteriori informazioni ed esempi di etichette, visita la pagina https://goo.gl/xmQnxf.

Un oggetto contenente un elenco di coppie "chiave": valore. Esempio: { "name": "chiave", "mass": "1.3kg", "count": "3" }.

createTime

stringa (formato Timestamp)

Solo output. Il timestamp della creazione.

updateTime

stringa (formato Timestamp)

Solo output. Il timestamp dell'aggiornamento.

RetailProductRecognitionConfig

Rappresentazione JSON

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

Campi

|

productDetectionModel string Obbligatorio. Modello da utilizzare per rilevare i prodotti nelle immagini di input. Valori supportati: "builtin/stable" (il valore predefinito) o il nome della risorsa del modello Vertex AI.
detectionConfidenceThreshold float Facoltativo. Soglia di confidenza per filtrare i risultati del rilevamento. Se non viene impostato, verrà utilizzato un valore predefinito di sistema.
recognitionConfidenceThreshold float Facoltativo. Soglia di confidenza per filtrare i risultati di riconoscimento. Se non viene impostato, verrà utilizzato un valore predefinito di sistema.
additionalConfig object (formato Struct) Facoltativo. Configurazioni aggiuntive per il riconoscimento dei prodotti.

RetailTagRecognitionConfig

Rappresentazione JSON

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

Campi

tagDetectionModel string Obbligatorio. Modello da utilizzare per rilevare i tag nelle immagini di input. Valori supportati: risorsa modello Vertex AI.
tagParsingModel string Obbligatorio. Modello per analizzare il testo nei tag rilevati. Valori supportati: risorsa modello Vertex AI.
detectionConfidenceThreshold float Facoltativo. Soglia di confidenza per filtrare i risultati del rilevamento. Se non viene impostato, verrà utilizzato un valore predefinito di sistema.
parsingConfidenceThreshold float Facoltativo. Soglia di confidenza per filtrare i risultati dell'analisi del testo. Se non viene impostato, verrà utilizzato un valore predefinito di sistema.
additionalConfig object (formato Struct) Facoltativo. Configurazioni aggiuntive per il riconoscimento dei tag.

Metodo: projects.locations.retailEndpoints.create

Richiesta HTTP

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

Parametri del percorso

principale string Obbligatorio. Identificatore principale.

Corpo della richiesta

Il corpo della richiesta contiene un'istanza di RetailEndpoint.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza appena creata di RetailEndpoint.

Metodo: projects.locations.retailEndpoints.get

Richiesta HTTP

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

Parametri del percorso

nome string Obbligatorio. Identificatore RetailEndpoint.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di RetailEndpoint.

Metodo: projects.locations.retailEndpoints.list

Richiesta HTTP

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

Parametri del percorso

principale string Obbligatorio. Identificatore principale.

Parametri di query

filtro string Facoltativo. Un'espressione per filtrare i risultati della richiesta.
pageToken string Facoltativo. Un token che identifica una pagina di risultati che il server deve restituire.
pageSize integer Facoltativo. Dimensioni della pagina richiesta. Il server potrebbe restituire meno elementi di quelli richiesti. Se non viene specificato, il server sceglierà un valore predefinito appropriato.
orderBy string Facoltativo. Un elenco separato da virgole di campi per ordinare in ordine crescente. Utilizza "desc" dopo il nome di un campo per l'ordinamento decrescente.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

Rappresentazione JSON

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

Metodo: projects.locations.retailEndpoints.delete

Richiesta HTTP

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

Parametri del percorso

nome string Obbligatorio. Identificatore RetailEndpoint.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta è vuoto.

Metodo: projects.locations.retailEndpoints.deployRetailProductRecognitionIndex

Richiesta HTTP

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

Parametri del percorso

retailEndpoint string Obbligatorio. Nome della risorsa RetailEndpoint in cui viene eseguito il deployment di RetailProductRecognitionIndex.

Corpo della richiesta

Rappresentazione JSON

{
  "retailProductRecognitionIndex": string,
}

Campi

retailProductRecognitionIndex string Obbligatorio. Il nome della risorsaRetailProductRecognitionIndex da eseguire il deployment.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di Operation.

Metodo: projects.locations.retailEndpoints.undeployRetailProductRecognitionIndex

Richiesta HTTP

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

Parametri del percorso

retailEndpoint string Obbligatorio. Nome della risorsa RetailEndpoint su cui verrà eseguito il annullamento del deployment.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di Operation.

Metodo: projects.locations.retailEndpoints.batchAnalyze

Richiesta HTTP

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

Parametri del percorso

retailEndpoint string Obbligatorio. Nome della risorsa del RetailEndpoint per gestire la richiesta di inferenza.

Corpo della richiesta

Rappresentazione 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
}

Campi

gcsSource string Obbligatorio. La posizione Cloud Storage per i contenuti di input. È possibile fornire più posizioni di input. I contenuti di tutte le posizioni di input verranno elaborati in un unico batch. Contenuti supportati: un file TXT, ogni riga è il percorso completo di un'immagine. In una richiesta è possibile supportare un massimo di 50.000 immagini.
outputGcsDestination string Facoltativo. La posizione di Cloud Storage della directory in cui scrivere l'output.
corpus string Facoltativo. Nome della risorsa del corpus del warehouse di immagini. Non ancora supportato.
bigqueryTable string Facoltativo. Nome della risorsa della tabella BigQuery per le esportazioni delle annotazioni. Nel formato "projects/*/datasets/*/tables/*". Se impostato, le annotazioni generate dall'inferenza ML verranno esportate anche nella tabella BigQuery specificata. Non ancora supportato.
features[] Oggetto Obbligatorio. Il tipo di inferenza ML da eseguire.

Funzionalità

Rappresentazione JSON

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

Campi

tipo enum Obbligatorio. Il tipo di funzionalità.
productRecognitionConfig oggetto Facoltativo. Sostituzioni per richiesta per la funzionalità di riconoscimento del prodotto. È attivo solo se il tipo è impostato su TYPE_PRODUCT_RECOGNITION.
tagRecognitionConfig oggetto Facoltativo. Sostituzioni per richiesta per la funzionalità di riconoscimento dei tag. È efficace solo se il tipo è impostato su TYPE_TAG_RECOGNITION.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di Operation.

Tipi

GcsSource

Rappresentazione JSON

{
  "uris": [string]
}

Campi

uris[] string Obbligatorio. Riferimenti a percorsi Cloud Storage.

Tipo

Valori ENUM

TYPE_UNSPECIFIED Il valore predefinito. Non deve essere utilizzato.
TYPE_PRODUCT_RECOGNITION Riconoscimento dei prodotti. Deve essere utilizzato su un RetailEndpoint con RetailProductRecognitionIndex di cui è stato eseguito il deployment.
TYPE_TAG_RECOGNITION Rilevamento e analisi dei tag. Deve essere utilizzato su un RetailEndpoint con RetailTagRecognitionConfig.

RetailProductIoFormat

Rappresentazione JSON

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

Campi

retailProduct oggetto Obbligatorio. RetailProduct da importare
retailProductImages[ ] oggetto (Facoltativo) RetailProductImage del RetailProduct specificato da importare.

RetailResourceState

Valori ENUM

RETAIL_RESOURCE_STATE_UNSPECIFIED Il valore predefinito. Non deve essere utilizzato.
RETAIL_RESOURCE_STATE_CREATING Stato Creazione.
RETAIL_RESOURCE_STATE_CREATED Stato creato.
RETAIL_RESOURCE_STATE_UPDATING Aggiornamento stato.
RETAIL_RESOURCE_STATE_DELETED Stato Eliminato.
RETAIL_RESOURCE_STATE_ERROR Stato Errore.