Referenzbilder sind Bilder mit verschiedenen Ansichten Ihrer Artikel. Hierbei gelten folgende Empfehlungen:
- Die Datei darf maximal 20 MB groß sein.
- Überlegen Sie, welche Perspektiven das Produkt auf natürliche Weise hervorheben und in welchen Perspektiven die relevanten optischen Informationen enthalten sind.
- Erstellen Sie Referenzbilder, die fehlende Perspektiven ergänzen. Wenn Sie beispielsweise nur Bilder vom rechten Schuh haben, stellen Sie diese für den linken Schuh gespiegelt bereit.
- Laden Sie das Bild mit der höchsten Auflösung hoch.
- Präsentieren Sie das Produkt vor einem weißen Hintergrund.
- Konvertieren Sie PNGs mit transparentem Hintergrund in einen soliden Hintergrund.
Bilder müssen in einem Cloud Storage-Bucket gespeichert sein. Wenn Sie die Anfrage zur Bilderstellung mit einem API-Schlüssel authentifizieren, muss der Bucket öffentlich sein. Wenn Sie für die Authentifizierung ein Dienstkonto verwenden, muss dieses Dienstkonto Lesezugriff auf den Bucket haben.
Einzelnes Referenzbild erstellen
Sie können einem bestehenden Produkt ein Referenzbild hinzufügen. Mit diesem Bild können Sie dann nach dem Produkt suchen.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Google Cloud-Projekt-ID.
- LOCATION_ID: eine gültige Standort-ID. Gültige Standort-IDs sind:
us-west1
,us-east1
,europe-west1
undasia-east1
. - PRODUCT_ID: die ID des Produkts, das mit einem Referenzbild verknüpft ist. Diese ID wird entweder zufällig festgelegt oder vom Nutzer bei der Erstellung des Produkts angegeben.
- CLOUD_STORAGE_IMAGE_URI: Der Pfad zu einer gültigen Bilddatei in einem Cloud Storage-Bucket. Sie müssen zumindest Leseberechtigungen für die Datei haben.
Beispiele:
gs://storage-bucket/filename.jpg
HTTP-Methode und URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products/product-id/referenceImages
JSON-Text der Anfrage:
{ "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 } ] } ] }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
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
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$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
Wenn die Anfrage erfolgreich ist, gibt der Server den HTTP-Statuscode 200 OK
und die Antwort im JSON-Format zurück.
Die Ausgabe sieht in etwa so aus: In der Beispielanfrage wurde ein einzelnes boundingPoly
im Bild angegeben. Die Eckpunkte für den Begrenzungsrahmen sind nicht normalisiert. Die Eckpunktwerte sind die tatsächlichen Pixelwerte und nicht relativ zum Originalbild und skaliert von 0 bis 1. Diese Eckpunkte haben die folgenden Werte: [(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
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Go API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Java API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Node.js API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Python API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Weitere Sprachen
C#: Folgen Sie der Anleitung zur Einrichtung von C# auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für .NET auf.
PHP: Folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für PHP auf.
Ruby: Folgen Sie der Anleitung zur Einrichtung von Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für Ruby auf.
Mehrere Referenzbilder mit Bulk-Import erstellen
Sie können auch Referenzbilder gleichzeitig mit einer Produktgruppe und mehreren Produkten erstellen.
Sie erstellen mehrere Referenzbilder gleichzeitig, indem Sie den Speicherort einer CSV-Datei in Cloud Storage an die Methode import
übergeben. Daher müssen sich die CSV-Datei und die Bilder, auf die sie verweist, in einem Cloud Storage-Bucket befinden.
Wenn Sie Ihre Bulk-Importanfrage mit einem API-Schlüssel authentifizieren, muss diese CSV-Quelldatei öffentlich sein.
Wenn Sie sich mit einem Dienstkonto authentifizieren, muss dieses Dienstkonto Lesezugriff auf die CSV-Quelldatei haben.
CSV-Format
image-uri,[image-id],product-set-id,product-id,product-category,[product-display-name],[label(s)],[bounding-poly]
Ausführliche Informationen zum Formatieren von CSV finden Sie im Hilfethema zum CSV-Format.
Anfrage für die Bulk-Erstellung
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Google Cloud-Projekt-ID.
- LOCATION_ID: eine gültige Standort-ID. Gültige Standort-IDs sind
us-west1
,us-east1
,europe-west1
undasia-east1
. - STORAGE_PATH: Ein Cloud Storage-Bucket/-Verzeichnis, in dem Ihre CSV-Eingabedatei gespeichert ist. Der anfragende Nutzer muss mindestens die Leseberechtigung für den Bucket haben.
HTTP-Methode und URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets:import
JSON-Text der Anfrage:
{ "inputConfig": { "gcsSource": { "csvFileUri": "storage-path" } } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
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
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$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
Die Ausgabe sieht in etwa so aus: Sie können den Status der Aufgabe anhand der Vorgangs-ID abrufen. In diesem Fall f10f34e32c40a710
. Ein Beispiel finden Sie unter Status eines Vorgangs abrufen:
{ "name": "projects/project-id/locations/location-id/operations/f10f34e32c40a710" }
Nachdem der lang andauernde Vorgang abgeschlossen ist, können Sie die Details des Importvorgangs abrufen. Die Antwort sollte in etwa so aussehen:
{ "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
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Go API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Java API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Node.js API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Python API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Weitere Sprachen
C#: Folgen Sie der Anleitung zur Einrichtung von C# auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für .NET auf.
PHP: Folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für PHP auf.
Ruby: Folgen Sie der Anleitung zur Einrichtung von Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für Ruby auf.
Indexierung
Der Index für die Produktsuche wird alle 30 Minuten aktualisiert. Wenn Bilder hinzugefügt oder gelöscht werden, spiegelt sich die Änderung erst nach der nächsten Aktualisierung des Index in den Antworten der Produktsuche wider.
Prüfen Sie das Feld indexTime
einer Produktgruppe, ob die Indexierung erfolgreich abgeschlossen wurde.