Partage via


Reconnaissance des produits sur une étagère (préversion) : analyser les images des rayons à l’aide d’un modèle préentraîné

Le moyen le plus rapide de commencer à utiliser la reconnaissance de produit consiste à utiliser les modèles IA préentraînés intégrés. Avec l’API Reconnaissance de produit, vous pouvez charger une image d’étagère et obtenir les emplacements des produits et des lacunes.

Photo d'un rayon de vente au détail avec des produits et des lacunes mis en évidence par des rectangles.

Notes

Les marques affichées dans les images ne sont pas affiliées à Microsoft et n’indiquent aucune forme d’approbation de Microsoft ou de produits Microsoft par les propriétaires de la marque, ni d’approbation des propriétaires de la marque ou de leurs produits par Microsoft.

Prérequis

  • Un abonnement Azure - En créer un gratuitement
  • Une fois que vous avez votre abonnement Azure, créez une ressource Vision dans le portail Azure. Elle doit être déployée dans une région Azure prise en charge (voir disponibilité des régions). À la fin du déploiement, sélectionnez Accéder à la ressource.
    • Vous aurez besoin de la clé et du point de terminaison de la ressource que vous créez pour connecter votre application au service Azure AI Vision. Vous collerez votre clé et votre point de terminaison dans le code ci-dessous plus loin dans le guide.
  • Une ressource stockage Azure avec un conteneur de stockage d’objets blob. Créez-en un
  • cURL installé. Vous pouvez également utiliser une plateforme REST différente, telle que Swagger ou l’extension client REST pour VS Code.
  • Image d’étagère. Vous pouvez télécharger notre exemple d’image ou apporter vos propres images. La taille de fichier maximale par image est de 20 Mo.

Analyser les images d’étagère

Pour analyser une image d’étagère, procédez comme suit :

  1. Chargez les images que vous souhaitez analyser dans votre conteneur de stockage d’objets blob et obtenez l’URL absolue.

  2. Copiez la commande curl ci-après dans un éditeur de texte.

    curl -X PUT -H "Ocp-Apim-Subscription-Key: <subscriptionKey>" -H "Content-Type: application/json" "<endpoint>/computervision/productrecognition/ms-pretrained-product-detection/runs/<your_run_name>?api-version=2023-04-01-preview" -d "{
        'url':'<your_url_string>'
    }"
    
  3. Effectuez les modifications nécessaires dans la commande :

    1. Remplacez la valeur <subscriptionKey> par la clé de votre ressource Vision.
    2. Remplacez la valeur <endpoint> par le point de terminaison de votre ressource Vision. Par exemple : https://YourResourceName.cognitiveservices.azure.com.
    3. Remplacez la valeur <your_run_name> par le nom de votre série de tests unique pour la file d’attente des tâches. Il s’agit d’un nom de file d’attente des tâches d’API asynchrone qui vous permet de récupérer ultérieurement la réponse de l’API. Par exemple, .../runs/test1?api-version...
    4. Remplacer le <your_url_string> contenu par l’URL de l’objet blob de l’image
  4. Ouvrir une fenêtre d’invite de commandes.

  5. Collez votre commande curl modifiée à partir de l’éditeur de texte dans la fenêtre d’invite de commandes, puis exécutez la commande.

Examiner la réponse

Une réponse correcte est retournée au format JSON. Les résultats de l’API de reconnaissance de produit sont retournés dans un champ JSON ProductRecognitionResultApiModel :

"ProductRecognitionResultApiModel": {
  "description": "Results from the product understanding operation.",
  "required": [
    "gaps",
    "imageMetadata",
    "products"
  ],
  "type": "object",
  "properties": {
    "imageMetadata": {
      "$ref": "#/definitions/ImageMetadataApiModel"
    },
    "products": {
      "description": "Products detected in the image.",
      "type": "array",
      "items": {
        "$ref": "#/definitions/DetectedObject"
      }
    },
    "gaps": {
      "description": "Gaps detected in the image.",
      "type": "array",
      "items": {
        "$ref": "#/definitions/DetectedObject"
      }
    }
  }
}

Consultez les sections suivantes pour connaître les définitions de chaque champ JSON.

Modèle d’API Résultat de la reconnaissance de produit

Résultats de l’opération de reconnaissance du produit.

Nom Type Description Obligatoire
imageMetadata ImageMetadataApiModel Les informations de métadonnées d’image se composent de la hauteur, de la largeur et du format. Oui
products DetectedObject Produits détectés dans l’image. Oui
gaps DetectedObject Lacunes détectées dans l’image. Oui

Modèle d’API de métadonnées d’image

Les informations de métadonnées d’image se composent de la hauteur, de la largeur et du format.

Nom Type Description Obligatoire
width entier La largeur de l’image est en pixels. Oui
height entier La hauteur de l’image est en pixels. Oui

Modèle d’API objet détecté

Décrit un objet détecté dans une image.

Nom Type Description Obligatoire
id string ID de l’objet détecté. Non
boundingBox BoundingBox Cadre englobant pour une zone à l’intérieur d’une image. Oui
tags TagsApiModel Confiances de classification de l’objet détecté. Oui

Modèle d’API cadre englobant

Cadre englobant pour une zone à l’intérieur d’une image.

Nom Type Description Obligatoire
x entier Coordonnée gauche du point supérieur gauche de la zone, en pixels. Oui
y entier Coordonnée supérieure du point supérieur gauche de la zone, en pixels. Oui
w entier Largeur mesurée à partir du point supérieur gauche de la zone, en pixels. Oui
h entier Hauteur mesurée à partir du point supérieur gauche de la zone, en pixels. Oui

Modèle d’API Balises d’image

Décrit la confiance en classification d’image d’une étiquette.

Nom Type Description Obligatoire
confidence float Confiance de la prédiction de classification. Oui
name string Étiquette de la prédiction de classification. Oui

Étapes suivantes

Dans ce guide, vous avez appris à effectuer un appel d’analyse de base à l’aide de l’API REST Reconnaissance de produit préentraînée. Ensuite, découvrez comment utiliser un modèle de reconnaissance de produit personnalisé pour mieux répondre aux besoins de votre entreprise.