瞭解搜尋回應和多重偵測

Vision API Product Search 可偵測搜尋圖片中的單一產品,並找出相符的產品;如果圖片中有多個產品,則可識別並列出相符的產品。

單一產品圖片和回應

這張搜尋圖片只包含一項產品。

Cloud Storage 值區中的洋裝圖片
gs://cloud-ai-vision-data/product-search-tutorial/images/468f782e70ba11e8941fd20059124800.jpg

使用 Vision API Product Search 搜尋類似產品時,系統會傳回回應,指出圖片中的兩個周框,一個框住產品,另一個框住整張圖片。

展開下方部分即可查看完整回覆。

定界框和相符產品

圖片中的下列兩項產品 (定界框) 是由要求傳回的兩組頂點指定。

Vision API Product Search 識別的每個方塊都會列出相符的產品。

Cloud Storage 值區中的 3 件洋裝圖片
gs://cloud-samples-data/product_search/multiple_dresses.jpg

在 API 回應中,productGroupedResults 欄位會列出邊界方塊和相符產品結果。系統會根據圖片中偵測到的產品分組。每個 boundingPoly 項目都會列出以標準化頂點指定的區域 (以 0 到 1 的比例表示,不對應圖片的實際像素值)。系統隨後會列出該特定區域的相符產品。

回應中的下列部分對應於洋裝周圍的邊界方塊。

相符產品會列在 results 欄位後方,並依相符分數遞減排序。分數範圍從 0 (無信心) 到 1 (非常有信心)。

5 個相符產品的圖片
Several matching products for the dress

回應中傳回的其他 boundingPoly 則會圍繞整個圖片。 正規化後的頂點如下:

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

如果座標值為 0,系統會省略該值。因此,上述指定的邊界多邊形對應至:

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

接著,系統會列出這個邊界框 (整張圖片) 的相符產品。

多項產品圖片 (多重偵測) 和回應

以下搜尋圖片包含多項產品。

Cloud Storage 值區中的 3 件洋裝圖片
gs://cloud-samples-data/product_search/multiple_dresses.jpg

使用 Vision API Product Search 搜尋類似產品時,系統會傳回回應,其中會識別圖片中的多個定界框,包括整張圖片的定界框,以及三件洋裝各自的定界框。

展開下方部分即可查看完整回覆。

定界框和相符產品

下圖顯示 Vision API Product Search 在這張多產品圖片中識別的所有定界框。

Cloud Storage 值區中的 3 件洋裝圖片
gs://cloud-samples-data/product_search/multiple_dresses.jpg

與單一產品圖片類似,多產品圖片的回應會在 productGroupedResults 欄位中列出定界框和相符的產品結果。每個產品都會以多邊形邊界標示,並依據偵測到的產品分組。

回應中的下列部分對應於中間洋裝周圍的邊界方塊。

下圖顯示 Vision API Product Search 傳回的相符結果,中間的洋裝就是搜尋目標。

5 個相符產品的圖片
Several matching products for the middle dress

圖片中還有其他邊界方塊,每個方塊都有自己的相符產品清單 (未列於此):

  • 左側洋裝:{"x":0.03, "y":0.07},{"x":0.29, "y":0.07},{"x":0.29, "y":0.95},{"x":0.03, "y":0.95}
  • 右側洋裝:{"x":0.63, "y":0.09},{"x":0.89, "y":0.09},{"x":0.89, "y":0.93},{"x":0.63, "y":0.93}
  • 整張圖片:
    • {},{"x": 1},{"x": 1,"y": 1},{"y": 1},也可以表示為:
    • {"x": 0, "y": 0},{"x": 1,"y:0"},{"x": 1,"y": 1},{"x": 0,"y": 1}