Le immagini di riferimento sono immagini che contengono varie visualizzazioni dei tuoi prodotti. Si applicano i seguenti consigli:
- Assicurati che le dimensioni del file non superino il limite massimo (20 MB).
- Prendi in considerazione punti di vista che mettano in evidenza il prodotto in modo logico e contengano informazioni visive pertinenti.
- Crea immagini di riferimento che integrino i punti di vista mancanti. Ad esempio, se hai solo immagini della scarpa destra di un paio, 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 PNG con sfondi trasparenti in uno sfondo solido.
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 l'autenticazione avviene con un account di servizio, quest'ultimo deve disporre dell'accesso in lettura al bucket.
Creare una singola immagine di riferimento
Puoi aggiungere un'immagine di riferimento a un prodotto esistente. In questo modo potrai cercare il prodotto tramite l'immagine.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto Google Cloud .
- LOCATION_ID: un identificatore di località 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 di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
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
,
quindi esegui il comando seguente:
$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 riesce, 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 specificava un singolo
boundingPoly
nell'immagine. I vertici del riquadro di delimitazione non
sono normalizzati; i valori dei vertici sono i valori dei pixel effettivi 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 Vision API Product Search, consulta Librerie client di Vision API Product Search. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision API Product Search per Go.
Per autenticarti in Vision API Product Search, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Vision API Product Search, consulta Librerie client di Vision API Product Search. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision API Product Search per Java.
Per autenticarti in Vision API Product Search, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Vision API Product Search, consulta Librerie client di Vision API Product Search. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision API Product Search per Node.js.
Per autenticarti in Vision API Product Search, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Vision API Product Search, consulta Librerie client di Vision API Product Search. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision API Product Search per Python.
Per autenticarti in Vision API Product Search, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura 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 visita la documentazione di riferimento di Vision API Product Search per .NET.
PHP: Segui le istruzioni di configurazione di PHP nella pagina delle librerie client e poi consulta la documentazione di riferimento di Vision API Product Search per PHP.
Ruby: Segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi visita la documentazione di riferimento di Vision API Product Search per Ruby.
Creazione di più immagini di riferimento con l'importazione collettiva
Puoi anche creare immagini di riferimento contemporaneamente alla creazione di un insieme di prodotti e di più prodotti.
Crea immagini di riferimento in blocco passando la posizione Cloud Storage di
un file CSV al metodo import
. Pertanto, il file CSV e le immagini a cui fa riferimento devono trovarsi in un bucket Cloud Storage.
Se autentichi la chiamata di importazione collettiva con una chiave API, questo file di origine CSV deve essere pubblico.
Se esegui l'autenticazione con un service account, questo deve disporre dellaccount di servizio#39;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]
Consulta l'articolo Formato CSV per informazioni più dettagliate sulla formattazione del file CSV.
Richiesta di creazione collettiva
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto Google Cloud .
- LOCATION_ID: un identificatore di località valido. Gli identificatori di località validi sono:
us-west1
,us-east1
,europe-west1
easia-east1
. - STORAGE_PATH: un bucket/una directory 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 di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
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
,
quindi esegui il comando seguente:
$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 Visualizzazione 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 Vision API Product Search, consulta Librerie client di Vision API Product Search. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision API Product Search per Go.
Per autenticarti in Vision API Product Search, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Vision API Product Search, consulta Librerie client di Vision API Product Search. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision API Product Search per Java.
Per autenticarti in Vision API Product Search, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Vision API Product Search, consulta Librerie client di Vision API Product Search. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision API Product Search per Node.js.
Per autenticarti in Vision API Product Search, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Vision API Product Search, consulta Librerie client di Vision API Product Search. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision API Product Search per Python.
Per autenticarti in Vision API Product Search, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura 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 visita la documentazione di riferimento di Vision API Product Search per .NET.
PHP: Segui le istruzioni di configurazione di PHP nella pagina delle librerie client e poi consulta la documentazione di riferimento di Vision API Product Search per PHP.
Ruby: Segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi consulta la documentazione di riferimento di Vision API Product Search per Ruby.
Indicizzazione
L'indice di Product Search dei prodotti viene aggiornato ogni 30 minuti circa. Quando aggiungi o elimini immagini, la modifica non si riflette nelle risposte di Product Search finché non viene aggiornato nuovamente l'indice.
Per assicurarti che l'indicizzazione sia stata completata correttamente, controlla il campo
indexTime
di un set di prodotti.