Como entender as respostas de pesquisa e detecção múltipla

O Vision API Product Search pode detectar e encontrar produtos correspondentes para um único produto em uma imagem de pesquisa. Pode também identificar e listar produtos correspondentes para vários produtos que estiverem presentes em sua imagem.

Imagens e resposta de um único produto

Esta imagem de pesquisa contém um único produto.

imagem de vestido no bucket do Cloud Storage
gs://cloud-ai-vision-data/product-search-tutorial/images/468f782e70ba11e8941fd20059124800.jpg

A pesquisa de produtos semelhantes com a Pesquisa de produtos da API Vision retorna uma resposta que indica duas caixas delimitadoras na imagem: uma caixa ao redor do produto e outra ao redor da imagem inteira.

Expanda a seção abaixo para ver a resposta inteira.

Caixas delimitadoras e produtos correspondentes

Os dois produtos a seguir (caixas delimitadoras) na imagem são especificados pelos dois conjuntos de vértices retornados da solicitação.

Os produtos correspondentes são listados para cada caixa identificada pela API Vision Product Search.

imagem com 3 vestidos no bucket do Cloud Storage
gs://cloud-samples-data/product_search/multiple_dresses.jpg

Nas caixas delimitadoras de resposta da API e nos produtos correspondentes, os resultados são listados no campo productGroupedResults. Eles são agrupados por produtos detectados em uma imagem. Em cada entrada boundingPoly, é listada a região especificada com vértices normalizados em uma escala de 0 a 1, não correspondendo aos valores reais de pixels da imagem. Os produtos correspondentes para esta região específica são então listados.

A seção a seguir da resposta corresponde à caixa delimitadora ao redor do vestido.

Os produtos correspondentes são listados após o campo results e classificados por pontuação de correspondência em ordem decrescente. As pontuações variam de 0 (sem confiança) a 1 (confiança total).

imagem com 5 produtos correspondentes
Several matching products for the dress

O outro boundingPoly retornado na resposta está ao redor da imagem inteira. Seus vértices normalizados são listados como:

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

Quando os valores das coordenadas são 0, eles são omitidos. Assim, o polivalente especificado acima corresponde a:

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

Os produtos correspondentes são listados da mesma forma para essa caixa delimitadora (a imagem inteira).

Imagens de vários produtos (multi-detecção) e resposta

A imagem de pesquisa a seguir contém vários produtos.

imagem com 3 vestidos no bucket do Cloud Storage
gs://cloud-samples-data/product_search/multiple_dresses.jpg

O uso da Pesquisa de produtos da API Vision para procurar produtos semelhantes retorna uma resposta que identifica várias caixas delimitadoras na imagem: uma para a imagem inteira e também três caixas para cada um dos três vestidos.

Expanda a seção abaixo para ver a resposta inteira.

Caixas delimitadoras e produtos correspondentes

A imagem a seguir mostra todas as caixas delimitadoras, identificadas pela Pesquisa de produtos da API Vision, nesta imagem de vários produtos.

imagem com 3 vestidos no bucket do Cloud Storage
gs://cloud-samples-data/product_search/multiple_dresses.jpg

Semelhante a uma imagem de produto único, a resposta de uma imagem de vários produtos lista caixas delimitadoras e resultados de produtos correspondentes no campo productGroupedResults. Cada produto é identificado por um polígono delimitador e as correspondências são agrupadas para cada produto detectado.

A seção seguinte da resposta corresponde à caixa delimitadora ao redor do vestido meio.

Veja na imagem a seguir algumas das correspondências para o vestido do meio retornadas pela Pesquisa de produtos da API Vision.

imagem com 5 produtos correspondentes
Several matching products for the middle dress

As outras caixas delimitadoras a seguir são encontradas na imagem, cada uma com a própria lista de produtos correspondentes, não incluída aqui:

  • Vestido à esquerda: {"x":0.03, "y":0.07},{"x":0.29, "y":0.07},{"x":0.29, "y":0.95},{"x":0.03, "y":0.95}
  • Vestido à direita: {"x":0.63, "y":0.09},{"x":0.89, "y":0.09},{"x":0.89, "y":0.93},{"x":0.63, "y":0.93}
  • Imagem inteira:
    • {},{"x": 1},{"x": 1,"y": 1},{"y": 1}, também expresso como:
    • {"x": 0, "y": 0},{"x": 1,"y:0"},{"x": 1,"y": 1},{"x": 0,"y": 1}