Nachdem Sie die Produktgruppe erstellt und indexiert haben, können Sie diese über die Cloud Vision API abfragen.
Übereinstimmende Produkte suchen
Sie können Produkte finden, die denen in einem bestimmten Bild ähneln. Dazu übergeben Sie den Google Cloud Storage-URI, die URL oder die base64-codierte Zeichenfolge des Bildes an die Produktsuche der Vision API. Im Abschnitt zu Nutzungslimits sind Informationen zur maximalen Anfragegröße und zu den Kontingenten aufgeführt.
Unter dem Thema Suchantworten und Mehrfacherkennung finden Sie ein Beispiel einer Einzelprodukterkennung und Mehrfacherkennung von Produkten in einem Bild.
Suche mit einem lokalen Bild
In den folgenden Beispielen wird gezeigt, wie eine lokale Datei ausgelesen und die API abgefragt wird, indem die Rohdaten des Bildes (base64-codiertes Bild) in die Anfrage eingefügt werden.
REST
Ersetzen Sie folgende Werte in den Anfragedaten:
- BASE64_ENCODED_IMAGE: die Base64-Darstellung (ASCII-String) der Binärbilddaten. Dieser String sollte in etwa so aussehen:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- PROJECT_ID: Ihre Google Cloud -Projekt-ID
- LOCATION_ID: eine gültige Standort-ID. Gültige Standort-IDs sind
us-west1,us-east1,europe-west1undasia-east1. - PRODUCT_SET_ID: die ID der Produktgruppe, für die Sie den Vorgang ausführen möchten.
Feldspezifische Hinweise:
features.maxResults– Maximale Anzahl der Ergebnisse, die zurückgegeben werden sollen.imageContext.productCategories– Produktkategorie, in der gesucht werden soll. Derzeit können Sie nur eine Produktkategorie angeben (Haushaltswaren, Bekleidung, Spielzeug, abgepackte Waren und allgemein).imageContext.filter(optional) – Ausdruck (oder mehrere Ausdrücke) zum Filtern nach dem Produktlabel als Schlüssel/Wert-Paar. Format: „key=value“. Filter für Schlüssel/Wert-Paare können mit AND- oder OR-Ausdrücken verknüpft werden: „color=blueANDstyle=mens“ oder „color=blueORcolor=black“. Bei Verwendung des OR-Ausdrucks müssen alle Schlüssel im Ausdruck gleich sein.
HTTP-Methode und URL:
POST https://vision.googleapis.com/v1/images:annotate
JSON-Text der Anfrage:
{
"requests": [
{
"image": {
"content": base64-encoded-image
},
"features": [
{
"type": "PRODUCT_SEARCH",
"maxResults": 5
}
],
"imageContext": {
"productSearchParams": {
"productSet": "projects/project-id/locations/location-id/productSets/product-set-id",
"productCategories": [
"apparel"
],
"filter": "style = womens"
}
}
}
]
}
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/images:annotate"
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/images:annotate" | 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.
Der JSON-Antwortcode enthält die folgenden zwei Ergebnistypen:
productSearchResults: enthält eine Liste übereinstimmender Produkte zum gesamten Bild. In der Beispielantwort lauten die übereinstimmenden Produkte: product_id65, product_id35, product_id34, product_id62, product_id32.productGroupedResults: enthält die Koordinaten der Begrenzungsrahmen und übereinstimmende Objekte für jedes der im Bild erkannten Produkte. In der folgenden Antwort findet sich nur ein erkanntes Produkt, gefolgt von übereinstimmenden Produkten in der Beispielproduktgruppe: product_id65, product_id35, product_id34, product_id93, product_id62.
Beachten Sie, dass es bei den beiden Ergebnistypen zwar Überschneidungen gibt, aber auch Unterschiede auftreten können (z. B. in der Antwort product_id32 und product_id93).
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Clientbibliotheken für die Vision API-Produktsuche. Weitere Informationen finden Sie in der Referenzdokumentation zur Vision API-Produktsuche für Go.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Clientbibliotheken für die Vision API-Produktsuche. Weitere Informationen finden Sie in der Referenzdokumentation zur Vision API-Produktsuche für Java.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Clientbibliotheken für die Vision API-Produktsuche. Weitere Informationen finden Sie in der Referenzdokumentation zur Vision API-Produktsuche für Node.js.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Clientbibliotheken für die Vision API-Produktsuche. Weitere Informationen finden Sie in der Referenzdokumentation zur Vision API-Produktsuche für Python.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Weitere Sprachen
C#: Folgen Sie der Einrichtungsanleitung für C# auf der Seite der Clientbibliotheken und rufen Sie dann die Referenzdokumentation zur Vision API-Produktsuche für .NET auf.
PHP: Folgen Sie der Einrichtungsanleitung für PHP auf der Seite der Clientbibliotheken und rufen Sie dann die Referenzdokumentation zur Vision API-Produktsuche für PHP auf.
Ruby: Folgen Sie der Anleitung zum Einrichten von Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die Referenzdokumentation zur Vision API-Produktsuche für Ruby auf.
Suche mit einem Remote-Bild
Sie können außerdem ähnliche Produkte zu einem bestimmten Bild finden. Dazu geben Sie den Cloud Storage-URI für das Bild an.
REST
Ersetzen Sie folgende Werte in den Anfragedaten:
- 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.
Beispiel:
gs://storage-bucket/filename.jpg
- PROJECT_ID: Projekt-ID in Google Cloud .
- LOCATION_ID: eine gültige Standort-ID. Gültige Standort-IDs sind
us-west1,us-east1,europe-west1undasia-east1. - PRODUCT_SET_ID: die ID der Produktgruppe, für die Sie den Vorgang ausführen möchten.
Feldspezifische Hinweise:
features.maxResults– Maximale Anzahl der Ergebnisse, die zurückgegeben werden sollen.imageContext.productCategories– Produktkategorie, in der gesucht werden soll. Derzeit können Sie nur eine Produktkategorie angeben (Haushaltswaren, Bekleidung, Spielzeug, abgepackte Waren und allgemein).imageContext.filter(optional) – Ausdruck (oder mehrere Ausdrücke) zum Filtern nach dem Produktlabel als Schlüssel/Wert-Paar. Format: „key=value“. Filter für Schlüssel/Wert-Paare können mit AND- oder OR-Ausdrücken verknüpft werden: „color=blueANDstyle=mens“ oder „color=blueORcolor=black“. Bei Verwendung des OR-Ausdrucks müssen alle Schlüssel im Ausdruck gleich sein.
HTTP-Methode und URL:
POST https://vision.googleapis.com/v1/images:annotate
JSON-Text der Anfrage:
{
"requests": [
{
"image": {
"source": {
"gcsImageUri": "cloud-storage-image-uri"
}
},
"features": [
{
"type": "PRODUCT_SEARCH",
"maxResults": 5
}
],
"imageContext": {
"productSearchParams": {
"productSet": "projects/project-id/locations/location-id/productSets/product-set-id",
"productCategories": [
"apparel"
],
"filter": "style = womens"
}
}
}
]
}
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/images:annotate"
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/images:annotate" | 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.
Der JSON-Antwortcode enthält die folgenden zwei Ergebnistypen:
productSearchResults: enthält eine Liste übereinstimmender Produkte zum gesamten Bild. In der Beispielantwort lauten die übereinstimmenden Produkte: product_id65, product_id35, product_id34, product_id62, product_id32.productGroupedResults: enthält die Koordinaten der Begrenzungsrahmen und übereinstimmende Objekte für jedes der im Bild erkannten Produkte. In der folgenden Antwort findet sich nur ein erkanntes Produkt, gefolgt von übereinstimmenden Produkten in der Beispielproduktgruppe: product_id65, product_id35, product_id34, product_id93, product_id62.
Beachten Sie, dass es bei den beiden Ergebnistypen zwar Überschneidungen gibt, aber auch Unterschiede auftreten können (z. B. in der Antwort product_id32 und product_id93).
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Clientbibliotheken für die Vision API-Produktsuche. Weitere Informationen finden Sie in der Referenzdokumentation zur Vision API-Produktsuche für Go.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Clientbibliotheken für die Vision API-Produktsuche. Weitere Informationen finden Sie in der Referenzdokumentation zur Vision API-Produktsuche für Java.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Clientbibliotheken für die Vision API-Produktsuche. Weitere Informationen finden Sie in der Referenzdokumentation zur Vision API-Produktsuche für Node.js.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Clientbibliotheken für die Vision API-Produktsuche. Weitere Informationen finden Sie in der Referenzdokumentation zur Vision API-Produktsuche für Python.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Weitere Sprachen
C#: Folgen Sie der Einrichtungsanleitung für C# auf der Seite der Clientbibliotheken und rufen Sie dann die Referenzdokumentation zur Vision API-Produktsuche für .NET auf.
PHP: Folgen Sie der Einrichtungsanleitung für PHP auf der Seite der Clientbibliotheken und rufen Sie dann die Referenzdokumentation zur Vision API-Produktsuche für PHP auf.
Ruby: Folgen Sie der Einrichtungsanleitung für Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die Referenzdokumentation zur Vision API-Produktsuche für Ruby auf.