Comprendre les réponses des recherches et la multidétection

La recherche de produits de l'API Vision peut détecter et trouver des produits correspondants à un seul produit dans une image de recherche, ou identifier et répertorier les produits correspondants à plusieurs produits s'ils figurent dans votre image.

Images avec un seul produit et réponse

Cette image de recherche contient un seul produit.

Image d'une robe dans un bucket Cloud Storage
gs://cloud-ai-vision-data/product-search-tutorial/images/468f782e70ba11e8941fd20059124800.jpg

La recherche de produits similaires de l'API Vision renvoie une réponse qui indique deux cadres de délimitation dans l'image : un autour du produit et l'autre tout autour de l'image.

Développez la section ci-dessous pour afficher l'intégralité de la réponse.

Cadres de délimitation et produits correspondants

Les deux produits suivants (cadres de délimitation) de l'image sont spécifiés par les deux ensembles de sommets renvoyés par la requête.

Les produits correspondants sont répertoriés pour chaque cadre identifié par la recherche de produits de l'API Vision.

Image de trois robes dans un bucket Cloud Storage
gs://cloud-samples-data/product_search/multiple_dresses.jpg

Dans la réponse de l'API, les cadres de délimitation et les résultats des produits correspondants sont répertoriés dans le champ productGroupedResults. Ils sont regroupés par produits détectés dans une image. Chaque entrée boundingPoly répertorie la région spécifiée avec des sommets normalisés (sur une échelle de 0 à 1, qui ne correspond pas aux valeurs réelles des pixels de l'image). Les produits correspondants à cette zone spécifique sont ensuite répertoriés.

La section suivante de la réponse correspond au cadre de délimitation autour de la robe.

Les produits correspondants sont répertoriés après le champ results et sont triés en fonction du score de correspondance obtenu par ordre décroissant. Les scores varient de 0 (aucune confiance) à 1 (confiance totale).

Image de cinq produits correspondants
Several matching products for the dress

L'autre entrée boundingPoly renvoyée dans la réponse correspond à la zone tout autour de l'image. Ses sommets normalisés sont répertoriés comme suit :

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

Les valeurs de coordonnées égales à 0 sont ignorées. Ainsi, les coordonnées de la zone d'intérêt spécifiées ci-dessus sont les suivantes :

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

Les produits correspondants sont ensuite répertoriés de manière similaire pour ce cadre de délimitation (image entière).

Images avec plusieurs produits (multidétection) et réponse

L'image de recherche suivante contient plusieurs produits.

Image de trois robes dans un bucket Cloud Storage
gs://cloud-samples-data/product_search/multiple_dresses.jpg

La recherche de produits similaires dans l'API Vision renvoie une réponse qui identifie plusieurs cadres de délimitation dans l'image, un pour l'image entière et trois autres pour chacune des trois robes.

Développez la section ci-dessous pour afficher l'intégralité de la réponse.

Cadres de sélection et produits correspondants

L'image suivante montre tous les cadres de délimitation identifiés par la recherche de produits de l'API Vision dans cette image qui contient plusieurs produits.

Image de trois robes dans un bucket Cloud Storage
gs://cloud-samples-data/product_search/multiple_dresses.jpg

Comme pour une image avec un seul produit, la réponse d'une image avec plusieurs produits répertorie les cadres de délimitation et les résultats des produits correspondants dans le champ productGroupedResults. Chaque produit est identifié par des coordonnées et les correspondances sont regroupées pour chaque produit détecté.

La section suivante de la réponse correspond au cadre de délimitation autour de la robe du milieu.

L'image suivante montre certaines correspondances renvoyées par la recherche de produits de l'API Vision pour la robe du milieu.

Image de cinq produits correspondants
Several matching products for the middle dress

Les autres cadres de délimitation suivants figurent dans l'image. Chacun dispose de sa propre liste de produits correspondants (non incluse ici) :

  • robe de gauche : {"x":0.03, "y":0.07},{"x":0.29, "y":0.07},{"x":0.29, "y":0.95},{"x":0.03, "y":0.95}
  • robe de droite : {"x":0.63, "y":0.09},{"x":0.89, "y":0.09},{"x":0.89, "y":0.93},{"x":0.63, "y":0.93}
  • image entière :
    • {},{"x": 1},{"x": 1,"y": 1},{"y": 1}, également exprimé comme suit :
    • {"x": 0, "y": 0},{"x": 1,"y:0"},{"x": 1,"y": 1},{"x": 0,"y": 1}