Anleitung für die Nutzung der Bekleidungssuche

Diese Anleitung soll Entwicklern einen schnellen Einstieg in die Verwendung und Entwicklung von Anwendungen mit der Cloud Vision-Produktsuche ermöglichen.

Mit der Anwendung für die Bekleidungssuche können Händler ihren gesamten Produktbestand (z. B. Bekleidung, Brillen, Accessoires, Schuhe und Kopfbedeckungen) mit Bildern einrichten. Außerdem kann der Produktcode abgerufen werden, sobald ein Nutzer ein Produkt mit einem Bild anfordert.

Überblick über die Methoden der Produktsuche

Diese Anleitung umfasst folgende Methoden:

  • import_product_sets: Führt die erforderliche Einrichtung aus, einschließlich der Erstellung von Produktgruppen und Produkten, dem Hinzufügen von Produkten zur Produktgruppe und dem Import von Bildern in die Produkte mithilfe einer CSV-Datei.

  • get_similar_products: Sucht nach Produkten, die mit einem Bild übereinstimmen.

Installation

Java

Node.js

Python

Legen Sie die folgenden Umgebungsvariablen fest: /path/to/service_account.json ist der Pfad zu den Schlüsseldateien des Dienstkontos (siehe Vorbereitung). project-id ist die ID Ihres Google Cloud Platform-Projekts (GCP). region-name ist der GCP-Standort, an dem die Anleitung ausgeführt wird, z. B. "us-east1". Gültige Standortkennungen sind "us-west1", "us-east1", "europe-west1" und "asia-east1".

export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service_account.json
export PROJECT_ID=project-id
export REGION_NAME=region-name

Quelldateien

Java

Node.js

Python

Bibliotheken importieren

Laden Sie die Clientbibliothek herunter, installieren Sie sie und importieren Sie die folgenden Module, um die Cloud Vision-Produktsuche zu verwenden.

Java

Node.js

Bibliotheken für die Node.js-Version dieser Anleitung müssen nicht importiert werden.

Python

Anwendung ausführen

Schritt 1: Produktgruppe importieren

Der Händler muss zuerst die Liste der Produkte übergeben, die zur Bekleidungsabteilung (Produktgruppe) gehören. Anschließend muss in der Vision-Produktsuche ein Index erstellt werden. Die Schnittstelle import_product_sets erstellt eine Liste von Produkten. Dazu erstellt sie Produktgruppen und Produkte, fügt Produkte zu einer Produktgruppe hinzu und importiert mithilfe einer CSV-Datei Bilder in die Produkte.

CSV-Datei für Produktbilder

Mit einer CSV-Datei lassen sich Bilddaten an die Vision-Produktsuche senden. Die CSV-Datei enthält eine Liste der Bildspeicherorte für die Produkte, die für die Produktgruppe indexiert werden sollen. Die Datei muss in einen Google Cloud Storage-Bucket hochgeladen werden. Das CSV-Format wird hier beschrieben.

Im Folgenden ist ein Beispiel für Zeilen aus einer CSV-Datei zu sehen:

gs://cloud-ai-vision-data/product-search-tutorial/dress-shoe-dataset/469a896b70ba11e8be97d20059124800.jpg,image-id1,12000002,469a896b,apparel,"product name","style=women,category=dress","0.0,0.0,0.4,0.5",
gs://cloud-ai-vision-data/product-search-tutorial/dress-shoe-dataset/469ac87870ba11e88fe4d20059124800.jpg,image-id2,12000002,469ac878,apparel,"product name","style=women,category=dress,kids=true",,
gs://cloud-ai-vision-data/product-search-tutorial/dress-shoe-dataset/469ae13370ba11e894f4d20059124800.jpg,image-id3,12000002,469ae133,apparel,"product name","style=women,category=shoe","0.0,0.1,0.2,0.3",

Die Methode import_product_sets erstellt Produktgruppen mit der Produktgruppen-ID (Abteilung) "12000002" und fügt alle Produkte und Referenzbilder hinzu. Für Spalten wie beispielsweise "Stil", "Kategorie" und "Kinder" werden Labels erstellt.

Produktbilder werden vom Standort des Google Cloud Storage-Buckets importiert, wie in der CSV-Datei in der Spalte "ImageUri" angegeben.

Anfrage

Stellen Sie eine Anfrage an import_product_sets, um eine Produktgruppe und Produkte zu erstellen. Fügen Sie dann diese Produkte zur Produktgruppe hinzu und importieren Sie die Referenzbilder der Produkte. Übergeben Sie den Dateipfad der CSV-Datei mit der Liste der Bildspeicherorte aller Produkte als Argument.

Java

Node.js

Python

Code

Die Funktion import_product_sets() übernimmt die folgenden Parameter, erstellt eine Produktgruppe und Produkte. Diese Produkte werden dann der Produktgruppe hinzugefügt. Die Funktion fügt den Produkten in der Produktgruppe anschließend Referenzbilder hinzu.

  • projectId: ID des Projekts
  • computeRegion: Name der Region
  • gcs_uri: Produktbilddateipfad (Google Cloud Storage). Die CSV-Datei enthält eine Liste der Bildspeicherorte für die Produkte, die indexiert werden sollen.

Java

Node.js

Python

Antwort

Processing operation name: locations/us-east1/operations/bf639a4355989c9b Processing done.
Results of the processing:
....
Status of processing line 20 of the csv:
name: "projects/prj-prod-search-tutorials/locations/us-east1/products/p46916b401/referenceImages/46916b4070ba11e89dbed20059124800"
uri: "gs://product-search-tutorial/dress-shoe-dataset/46916b4070ba11e89dbed20059124800.jpg"

Status of processing line 21 of the csv:
name: "projects/prj-prod-search-tutorials/locations/us-east1/products/p4691aea11/referenceImages/4691aea170ba11e8a1b3d20059124800"
uri: "gs://product-search-tutorial/dress-shoe-dataset/4691aea170ba11e8a1b3d20059124800.jpg"
...

Der Händler kann nun ein von einem Kunden hochgeladenes Bild an die Vision-Produktsuche weiterleiten, um nach der Produkt-ID eines Bildes zu suchen, das dem Bild aus dem Katalog sehr ähnlich ist.

Schritt 2: Produkte suchen und anzeigen

Ein Nutzer kann ein Foto von einem Kleid machen, an dem er oder sie interessiert ist, und nach gleichen oder ähnlichen Produkten in einem Händlerportal suchen. Die Schnittstelle "get_similar_product" übernimmt das Bild des Kunden, sucht nach der Produkt-ID, die am besten zum Eingabebild passt, und zeigt die vollständigen Produktinformationen an.

Die Schnittstelle übernimmt als Eingabe die Produktgruppen-ID, den Speicherort des Bilds, nach dem gesucht werden soll, und den Labelfilter.

Da die Product Search API zuverlässig eine Liste von Produkt-IDs zurückgibt, wird in dieser Anleitung nur die Produkt-ID mit dem höchsten Konfidenzwert als das am ehesten übereinstimmende Produkt verwendet.

Anfrage

Führen Sie mit dem Vorgangstyp "get_similar_product" folgende Anfrage aus, um eine Suchanfrage zu starten. Produktgruppen-ID, lokaler Bilddateipfad und leerer Filter werden als Argumente übergeben. Dieses Eingabebild ist auch in "resources/input/" vorhanden.

Java

Node.js

Python

Code

Die Funktion get_similar_product() übernimmt die folgenden Parameter, sucht nach dem Produktbild, das am besten zum Eingabebild passt, und zeigt die vollständigen Produktinformationen an. Die Funktion draw_image() zeigt das am besten übereinstimmende Produktbild mit Produktinformationen an.

  • project_id: ID des Projekts
  • compute_region: Name der Region
  • product_set_id: ID der Produktgruppe, nach der gesucht wird
  • search_image: Pfad des Bilds, nach dem gesucht wird
  • filter: Bedingung, die auf die Labels angewendet werden soll

Java

Node.js

Python

Antwort

Search Image:
  D:/product/final/images-20180618T073733Z-01/images/469355b570ba11e88ff2d20059124800.jpg

Ergebnis für die Bildersuche

Similar product information:
 Product id: 46930b6b
 Product display name: Evening gown
 Product description: Blue evening gown in 1940s style
 Product category: apparel
 style: women
 category: dress
 color: blue

Mit einem Label suchen

Das folgende Suchbeispiel enthält einen Farbfilter.

Anfrage

Führen Sie mit dem Vorgangstyp "get_similar_product" folgende Anfrage aus, um eine Suchanfrage zu starten. Produktgruppen-ID, lokaler Bilddateipfad und leerer Filter werden als Argumente übergeben. Dieses Eingabebild ist auch in "resources/input/" vorhanden.

Java

Node.js

Python

Antwort

Search Image:
  D:/product/final/images-20180618T073733Z-001/images/469355b570ba11e88ff2d20059124800.jpg

Ergebnis für die Bildersuche 2

Similar product information:
 Product id: p569d4e7a1
 Product display name: Wedding Dress
 Product description: Elegant Wedding Dress for women
 Product category: apparel
 style: women
 category: dress
 color: white

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Produktsuche der Cloud Vision API