Exercice - Intégrer Azure Custom Vision

Effectué

Dans ce module, vous allez apprendre à utiliser Azure Custom Vision. Vous allez prendre un ensemble de photos d’un objet suivi, le charger dans le service Custom Vision et démarrer le processus d’apprentissage. Ensuite, vous utiliserez le service pour détecter l’objet suivi en capturant des photos à partir du flux de la webcam.

Comprendre Azure AI Custom Vision

Le service Azure AI Custom Vision fait partie de la famille Cognitive Services et est utilisé pour l’apprentissage des classifieurs d’images. Le classifieur d’images est un service IA qui utilise le modèle entraîné pour appliquer des étiquettes correspondantes. Notre application utilise cette fonctionnalité de classification pour détecter les objets suivis.

Apprenez-en davantage sur Custom Vision.

Préparer Custom Vision

Avant de commencer, vous devez créer un projet Custom Vision. Le moyen le plus rapide de créer un projet Custom Vision consiste à utiliser le portail Custom Vision.

Suivez ce tutoriel de démarrage rapide pour configurer votre compte et votre projet. Suivez les étapes jusqu’à la section Charger et baliser des images. Vous devez créer une balise avec cinq images.

Avertissement

Pour effectuer l’apprentissage d’un modèle, vous devez avoir au moins deux balises et cinq images par balise. Plus tard, nous ajouterons d’autres images via l’application. Toutefois, pour utiliser cette application, vous devez au moins créer une étiquette avec cinq images afin que le processus d’apprentissage n’échoue pas par la suite.

Préparer la scène

  1. Dans la fenêtre Project, accédez au dossier Assets>MRTK.Tutorials.AzureCloudServices>Prefabs>Manager.

    Screenshot of Unity with Project window showing path to ObjectDetectionManager prefab.

  2. À partir de là, faites glisser le prefab ObjectDetectionManager dans la hiérarchie de la scène.

    Screenshot of Unity with ObjectDetectionManager script component configuration fields shown in Inspector.

  3. Dans la fenêtre Hiérarchie, recherchez et sélectionnez l’objet ObjectDetectionManager. Le Prefab ObjectDetectionManager contient le composant ObjectDetectionManager (script) et, comme vous pouvez le voir dans la fenêtre de l’inspecteur, il dépend des paramètres Azure et des paramètres du projet.

Récupérer les informations d’identification de la ressource API Azure

Vous pouvez récupérer les informations d’identification nécessaires pour les paramètres ObjectDetectionManager (script) dans le portail Azure et le portail Custom Vision.

Récupérer les informations d’identification des paramètres Azure

Recherchez la ressource Custom Vision de type Cognitive Services que vous avez créée dans la section Préparation de la scène de ce tutoriel. Sélectionnez ensuite Vue d’ensemble ou Clés et point de terminaison pour récupérer les informations d’identification nécessaires.

  • ID d’abonnement à une ressource Azure : utilisez l’ID d’abonnement de la section Vue d’ensemble.
  • Nom du groupe de ressources Azure : utilisez le nom du groupe de ressources de la section Vue d’ensemble.

Pour Nom du groupe de service cognitif, utilisez le nom de ressource de Custom Vision qui est suivi de -Prediction.

  • Point de terminaison de prédiction de base de ressources : utilisez le point de terminaison de Clés et point de terminaison dans la ressource Custom Vision -Prediction.
  • Clé de prédiction de l’API : utilisez la clé 1 de Clés et point de terminaison dans la ressource Custom Vision -Prediction.

Récupérer les informations d’identification des paramètres du projet

Dans le tableau de bord de Custom Vision, ouvrez le projet que vous avez créé pour ce tutoriel, puis sélectionnez l’icône Paramètres (engrenage) en haut à droite de la page pour ouvrir la page Paramètres. Vous trouverez les informations d’identification nécessaires dans la section Ressources à droite et dans la section Général sur le côté gauche.

  • Point de terminaison de base de ressources : utilisez le point de terminaison de la section Ressources. Il doit correspondre au point de terminaison sous Clés et point de terminaison dans la ressource Custom Vision.
  • Clé API : utilisez la clé de la section Ressources. Elle doit correspondre à la clé sous Clés et point de terminaison dans la ressource Custom Vision.
  • ID du projet : utilisez l’ID du projet de la sectionGénéral.
  1. ObjectDetectionManager (script) étant désormais correctement configuré, recherchez l’objet SceneController dans votre hiérarchie de scène et sélectionnez-le.

    Screenshot of Unity with SceneController script component configuration fields shown in Inspector.

  2. Le champ Gestionnaire de détection d’objets dans le composant SceneController est vide. Faites glisser ObjectDetectionManager de la hiérarchie vers le composant SceneController et enregistrez la scène.

    Screenshot of Unity with SceneController script component configured.

Capturer et charger des images

  1. Exécutez la scène, puis sélectionnez Définir l’objet. Entrez le nom de l’un des objets suivis que vous avez créés dans la leçon précédente. Sélectionnez le bouton Vision par ordinateur au bas de la carte d’objet.

  2. Une nouvelle fenêtre s’ouvre. Vous allez prendre six photos pour effectuer l'apprentissage du modèle à la reconnaissance d’image. Sélectionnez le bouton Caméra et effectuez un geste « appuyer » pour voir l’objet dont vous souhaitez effectuer le suivi. Procédez ainsi six fois.

    Conseil

    Pour améliorer l’apprentissage du modèle, essayez de prendre chaque image sous différents angles et conditions d’éclairage.

  3. Une fois que vous avez suffisamment d’images, sélectionnez le bouton Former pour démarrer le processus de formation du modèle dans le cloud. Cela permet de charger toutes les images et de démarrer la formation. Le processus de mise à jour peut prendre quelques minutes. Un message à l’intérieur du menu indique la progression actuelle. Une fois le processus terminé, vous pouvez arrêter l’application.

    Conseil

    Le composant ObjectDetectionManager (script) charge directement les images prises dans le service Custom Vision. L’API Custom Vision accepte également des URL vers les images. En guise d’exercice, vous pouvez modifier ObjectDetectionManager (script) pour charger les images dans un stockage d’objets blob à la place.

Avertissement

Si la formation échoue, consultez votre tableau de bord Custom Vision et vérifiez que vous disposez d’au moins deux étiquettes et que chacune compte au moins cinq images.

Détecter des objets

Vous pouvez maintenant tester le modèle formé. Exécutez l'application. Dans le menu principal, sélectionnez Rechercher un objet, puis entrez le nom de l’objet suivi en question. La carte d’objet s’affiche. Ensuite, sélectionnez le bouton Custom Vision. *ObjectDetectionManager commence à prendre des captures d’images en arrière-plan avec l’appareil photo. Le menu indique la progression de l’application. Pointez la caméra sur l’objet que vous avez utilisé pour effectuer l’apprentissage du modèle. Elle devrait détecter l’objet.