Le immagini di riferimento sono immagini contenenti varie viste dei tuoi prodotti. Si applicano i seguenti suggerimenti:
- Assicurati che le dimensioni del file non superino la dimensione massima (20 MB).
- Prendi in considerazione punti di vista che mettono in evidenza il prodotto in modo logico e contengono informazioni visive pertinenti.
- Crea immagini di riferimento che integrino eventuali punti di vista mancanti. Ad esempio, se in un paio hai solo immagini della scarpa destra, fornisci versioni speculari di questi file come scarpa sinistra.
- Carica l'immagine con la massima risoluzione disponibile.
- Mostra il prodotto su uno sfondo bianco.
- Converti i file PNG con sfondi trasparenti in uno sfondo in tinta unita.
Le immagini devono essere archiviate in un bucket Cloud Storage. Se autentichi la chiamata di creazione dell'immagine con una chiave API, il bucket deve essere pubblico. Se esegui l'autenticazione con un account di servizio, quest'ultimo deve avere accesso in lettura al bucket.
Creazione di una singola immagine di riferimento
Puoi aggiungere un'immagine di riferimento a un prodotto esistente. In questo modo puoi cercare il prodotto tramite l'immagine.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud.
- LOCATION_ID: un identificatore di posizione valido. Gli identificatori di località validi sono:
us-west1
,us-east1
,europe-west1
easia-east1
. - PRODUCT_ID: l'ID del prodotto associato a un'immagine di riferimento. Questo ID viene impostato in modo casuale o specificato dall'utente al momento della creazione del prodotto.
- CLOUD_STORAGE_IMAGE_URI: il percorso di un file immagine
valido in un bucket Cloud Storage. Devi disporre almeno dei privilegi di lettura per il file.
Esempio:
gs://storage-bucket/filename.jpg
Metodo HTTP e URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products/product-id/referenceImages
Corpo JSON della richiesta:
{ "uri": "cloud-storage-image-uri", "boundingPolys": [ { "vertices": [ { "x": X_MIN, "y": Y_MIN }, { "x": X_MAX, "y": Y_MIN }, { "x": X_MAX, "y": Y_MAX }, { "x": X_MIN, "y": Y_MAX } ] } ] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products/product-id/referenceImages"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products/product-id/referenceImages" | Select-Object -Expand Content
Se la richiesta ha esito positivo, il server restituisce un codice di stato HTTP 200 OK
e la risposta in formato JSON.
Dovresti vedere un output simile al seguente. La richiesta di esempio ha specificato un singolo
boundingPoly
nell'immagine. I vertici del riquadro di delimitazione non sono normalizzati; i valori dei vertici corrispondono ai valori effettivi dei pixel e non relativi all'immagine originale e scalati da 0 a 1. Questi vertici hanno i seguenti valori: [(33,22),(282,22),(282,278),(33,278)].
{ "name": "projects/project-id/locations/location-id/products/product-id/referenceImages/image-id", "uri": "gs://storage-bucket/filename.jpg", "boundingPolys": [ { "vertices": [ { "x": 33, "y": 22 }, { "x": 282, "y": 22 }, { "x": 282, "y": 278 }, { "x": 33, "y": 278 } ] } ] }
Go
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Go
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Java
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Node.js
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Python
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e poi consulta la documentazione di riferimento di Product Search dell'API Vision per .NET.
PHP: segui le istruzioni per la configurazione dei file PHP nella pagina delle librerie client e poi consulta la documentazione di riferimento di Product Search dell'API Vision per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi visita la documentazione di riferimento di Product Search dell'API Vision per Ruby.
Creazione di più immagini di riferimento con l'importazione collettiva
Puoi anche creare immagini di riferimento contemporaneamente a creare un set e più prodotti.
Crea immagini di riferimento in blocco passando il percorso Cloud Storage di un file CSV al metodo import
. Di conseguenza, il file CSV e le immagini a cui rimanda devono trovarsi entrambi in un bucket Cloud Storage.
Se esegui l'autenticazione della chiamata di importazione collettiva con una chiave API, questo file di origine CSV deve essere pubblico.
Se esegui l'autenticazione con un account di servizio, questo deve avere accesso in lettura al file di origine CSV.
Formato CSV
image-uri,[image-id],product-set-id,product-id,product-category,[product-display-name],[label(s)],[bounding-poly]
Per informazioni più dettagliate sulla formattazione del file CSV, consulta l'argomento illustrativo sul formato CSV.
Richiesta di creazione collettiva
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud.
- LOCATION_ID: un identificatore di posizione valido. Gli identificatori di località validi sono:
us-west1
,us-east1
,europe-west1
easia-east1
. - STORAGE_PATH: una directory o un bucket Cloud Storage in cui è archiviato il file CSV di input. L'utente richiedente deve disporre almeno dell'autorizzazione di lettura per il bucket.
Metodo HTTP e URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets:import
Corpo JSON della richiesta:
{ "inputConfig": { "gcsSource": { "csvFileUri": "storage-path" } } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets:import"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets:import" | Select-Object -Expand Content
Dovresti vedere un output simile al seguente. Puoi utilizzare l'ID operazione (f10f34e32c40a710
, in questo caso) per ottenere lo stato dell'attività. Per un esempio, vedi Recupero dello stato di un'operazione:
{ "name": "projects/project-id/locations/location-id/operations/f10f34e32c40a710" }
Al termine dell'operazione a lunga esecuzione puoi ottenere i dettagli dell'operazione di importazione. La risposta dovrebbe essere simile alla seguente:
{ "name": "locations/location-id/operations/f10f34e32c40a710", "metadata": { "@type": "type.googleapis.com/google.cloud.vision.v1.BatchOperationMetadata", "state": "SUCCESSFUL", "submitTime": "2019-12-06T21:16:04.476466873Z", "endTime": "2019-12-06T21:16:40.594258084Z" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.vision.v1.ImportProductSetsResponse", "referenceImages": [ { "name": "projects/project-id/locations/location-id/products/product_id0/referenceImages/image0", "uri": "gs://my-storage-bucket/img_039.jpg" }, { "name": "projects/project-id/locations/location-id/products/product_id1/referenceImages/image1", "uri": "gs://my-storage-bucket/img_105.jpg" }, { "name": "projects/project-id/locations/location-id/products/product_id2/referenceImages/image2", "uri": "gs://my-storage-bucket/img_224.jpg" }, { "name": "projects/project-id/locations/location-id/products/product_id3/referenceImages/image3", "uri": "gs://my-storage-bucket/img_385.jpg" } ], "statuses": [ {}, {}, {}, {} ] } }
Go
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Go
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Java
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Node.js
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Python
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e poi consulta la documentazione di riferimento di Product Search dell'API Vision per .NET.
PHP: segui le istruzioni per la configurazione dei file PHP nella pagina delle librerie client e poi consulta la documentazione di riferimento di Product Search dell'API Vision per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi visita la documentazione di riferimento di Product Search dell'API Vision per Ruby.
Indicizzazione
L'indice dei prodotti di Shopping viene aggiornato ogni 30 minuti circa. Quando vengono aggiunte o eliminate immagini, la modifica non viene riportata nelle risposte di Product Search fino al successivo aggiornamento dell'indice.
Per assicurarti che l'indicizzazione sia stata completata correttamente, controlla il campo indexTime
di un set di prodotti.