Suchantworten und Mehrfacherkennung

Die Produktsuche der Vision API kann übereinstimmende Produkte für ein einzelnes Produkt in einem Suchbild finden oder übereinstimmende Produkte für mehrere Produkte ermitteln und auflisten, wenn sie im Bild vorhanden sind.

Bilder mit einzelnem Produkt und Antwort

Dieses Suchbild enthält ein einzelnes Produkt.

Bild eines Kleids in einem Cloud Storage-Bucket
gs://cloud-ai-vision-data/product-search-tutorial/images/468f782e70ba11e8941fd20059124800.jpg

Wenn Sie mit der Vision API-Produktsuche nach ähnlichen Produkten suchen, wird eine Antwort mit zwei Begrenzungsrahmen im Bild zurückgegeben: ein Rahmen, der das Produkt selbst umgibt, und ein weiterer Rahmen, der das gesamte Bild umgibt.

Sie können den Abschnitt unten maximieren, um die gesamte Antwort einzublenden.

Begrenzungsrahmen und übereinstimmende Produkte

Die folgenden beiden Produkte (Begrenzungsrahmen) im Bild werden durch die beiden von der Anfrage zurückgegebenen Vertex-Sets angegeben.

Übereinstimmende Produkte werden für jeden Rahmen aufgelistet, der von der Vision API-Produktsuche ermittelt wurde.

Bild mit 3 Kleidern in einem Cloud Storage-Bucket
gs://cloud-samples-data/product_search/multiple_dresses.jpg

In der API-Antwort werden Begrenzungsrahmen und übereinstimmende Produkte im Feld productGroupedResults aufgeführt. Sie werden nach Produkten gruppiert, die in einem Bild erkannt wurden. Jeder boundingPoly-Eintrag verzeichnet den Bereich mit normalisierten Eckpunkten (auf einer Skala von 0 bis 1, die nicht den tatsächlichen Pixelwerten des Bildes entspricht). Übereinstimmende Produkte für diesen spezifischen Bereich werden dann aufgelistet.

Der folgende Abschnitt aus der Antwort entspricht dem Begrenzungsrahmen, der das Kleid umgibt.

Übereinstimmende Produkte werden nach dem Feld results aufgelistet und in absteigender Reihenfolge nach dem Grad der Übereinstimmung sortiert. Die Bewertungen reichen von 0 (nicht zuverlässig) bis 1 (sehr zuverlässig).

Bild mit 5 übereinstimmenden Produkten
Several matching products for the dress

Das andere in der Antwort zurückgegebene boundingPoly bezieht sich auf das gesamte Bild. Die normalisierten Vertices dieses Begrenzungspolygons werden so aufgelistet:

  • [{},{"x": 1},{"x": 1,"y": 1},{"y": 1}]

Koordinatenwerte gleich 0 werden ausgelassen. Das oben angegebene Begrenzungspolygon entspricht:

  • [{"x": 0,"y": 0},{"x": 1, "y": 0},{"x": 1,"y": 1},{"y": 1}]

Übereinstimmende Produkte werden dann für diesen Begrenzungsrahmen (das gesamte Bild) auf ähnliche Weise aufgelistet.

Bilder mit mehreren Produkten (Mehrfacherkennung) und Antwort

Das folgende Suchbild enthält mehrere Produkte.

Bild mit 3 Kleidern in einem Cloud Storage-Bucket
gs://cloud-samples-data/product_search/multiple_dresses.jpg

Wenn Sie mit der Vision API-Produktsuche nach ähnlichen Produkten suchen, wird eine Antwort zurückgegeben, die mehrere Begrenzungsrahmen im Bild identifiziert, einen für das gesamte Bild und drei Rahmen für jedes der Kleider.

Sie können den Abschnitt unten maximieren, um die gesamte Antwort einzublenden.

Begrenzungsrahmen und übereinstimmende Produkte

Das folgende Bild zeigt alle Begrenzungsrahmen, die von der Vision API-Produktsuche in diesem Bild mit mehreren Produkten ermittelt wurden.

Bild mit 3 Kleidern in einem Cloud Storage-Bucket
gs://cloud-samples-data/product_search/multiple_dresses.jpg

Ähnlich wie bei einem Bild mit einem einzelnen Produkt werden im Feld productGroupedResults der Antwort zu einem Bild mit mehreren Produkten Begrenzungsrahmen und übereinstimmende Produkte aufgelistet. Jedes Produkt wird durch ein Begrenzungspolygon angegeben und Übereinstimmungen werden nach jedem erkannten Produkt gruppiert.

Der folgende Abschnitt aus der Antwort entspricht dem Begrenzungsrahmen, der das mittlere Kleid umgibt.

Das folgende Bild zeigt einige der Übereinstimmungen für das mittlere Kleid, das von der Vision API-Produktsuche zurückgegeben wurde.

Bild mit 5 übereinstimmenden Produkten
Several matching products for the middle dress

Die folgenden Begrenzungsrahmen befinden sich im Bild und haben jeweils eine eigene Liste übereinstimmender Produkte (hier nicht enthalten):

  • Linkes Kleid: {"x":0.03, "y":0.07},{"x":0.29, "y":0.07},{"x":0.29, "y":0.95},{"x":0.03, "y":0.95}
  • Rechtes Kleid: {"x":0.63, "y":0.09},{"x":0.89, "y":0.09},{"x":0.89, "y":0.93},{"x":0.63, "y":0.93}
  • Ganzes Bild:
    • {},{"x": 1},{"x": 1,"y": 1},{"y": 1}, auch ausgedrückt als:
    • {"x": 0, "y": 0},{"x": 1,"y:0"},{"x": 1,"y": 1},{"x": 0,"y": 1}