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:
- 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.
- 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:
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
- Crea un catalogo.
- Importa i prodotti e (facoltativo)
ProductImages
inCatalog
. - Visualizza e modifica
Product
eProductImages
e, se vuoi, crea unProductSet
per organizzare l'elenco dei prodotti con una granularità più fine. - Crea un
Index
dall'interoCatalog
o da unProductSet
. - Crea un
Endpoint
con la configurazione di riconoscimento dei prodotti desiderata e esegui il deployment di unIndex
. - 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. |