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, les charger dans le service Custom Vision et démarrer le processus d’entraînement. Ensuite, vous allez utiliser le service pour détecter l’objet suivi en capturant des photos à partir du flux webcam.

Comprendre Azure AI Custom Vision

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

En savoir plus 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 votre projet Custom Vision utilise 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 entraîner un modèle, vous devez avoir au moins deux balises et cinq images par balise. Plus tard, nous allons ajouter d’autres images via l’application. Toutefois, pour utiliser cette application, vous devez au moins créer une balise avec cinq images afin que le processus d’entraînement ne échoue plus tard.

Préparer la scène

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

    Capture d’écran de Unity avec la fenêtre Project montrant le chemin d’accès au prefab ObjectDetectionManager.

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

    Capture d’écran de Unity avec les champs de configuration des composants de script ObjectDetectionManager affichés dans Inspector.

  3. Dans la fenêtre Hierarchy, recherchez et sélectionnez l’objet ObjectDetectionManager . Le préfabriqué ObjectDetectionManager contient le composant ObjectDetectionManager (script) et, comme vous pouvez le voir à partir de la fenêtre Inspector, il dépend des paramètres Azure et des paramètres project.

Récupérer les informations d’identification des ressources de l’API Azure

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

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

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

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

Pour le nom du groupe de services cognitifs, utilisez le nom de la ressource Custom Vision 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 Custom Vision , ouvrez le projet que vous avez créé pour ce didacticiel, 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 sur le côté droit et 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 . Cela doit correspondre au point de terminaison sous Clés et Point de terminaison dans la ressource Custom Vision.
  • Clé API : utilisez la clé à partir de la section Ressources . Cela doit correspondre à la clé sous Clés et point de terminaison dans la ressource Custom Vision.
  • ID de projet : utilisez l’ID de projet de la section Général .
  1. Maintenant, avec la configuration correcte de ObjectDetectionManager (script), recherchez l’objet SceneController dans votre hiérarchie de scène et sélectionnez-le.

    Capture d’écran Unity avec les champs de configuration de composant de script SceneController montrés dans Inspector.

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

    Capture d’écran de Unity avec le composant de script SceneController configuré.

Prendre et charger des images

  1. Exécutez la scène et 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 en bas de la carte d’objet.

  2. Une nouvelle fenêtre s’ouvre. Vous allez prendre six photos pour entraîner le modèle pour la reconnaissance d’images. Sélectionnez le bouton Caméra et effectuez un AirTap pour voir l’objet que vous souhaitez suivre. Faites-le six fois.

    Conseil / Astuce

    Pour améliorer l’entraînement du modèle, essayez de prendre chaque image à partir de différents angles et conditions d’éclairage.

  3. Une fois que vous avez suffisamment d’images, sélectionnez le bouton Entraîner pour démarrer le processus d’entraînement de modèle dans le cloud. Cela charge toutes les images et démarre l’entraînement. Ce processus 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 / Astuce

    ObjectDetectionManager (script) charge directement les images prises dans le service Custom Vision. En guise d’alternative, l’API Custom Vision accepte les URL des images. En guise d’exercice, vous pouvez modifier l’ObjectDetectionManager (script) pour charger les images dans un stockage Blob à la place.

Avertissement

Si l’entraînement échoue, vérifiez votre tableau de bord Custom Vision et vérifiez que vous avez au moins deux balises et que chaque balise a au moins cinq images.

Détecter des objets

Vous pouvez maintenant placer le modèle entraîné au test. Exécutez l’application. Dans le menu principal, sélectionnez Rechercher un objet et entrez le nom de l’objet suivi en question. La carte d’objet s’affiche. Ensuite, sélectionnez le bouton Custom Vision . Le *ObjectDetectionManager commence à prendre des captures d’images en arrière-plan à partir de l’appareil photo. Le menu indique la progression de l’application. Pointez la caméra sur l’objet que vous avez utilisé pour entraîner le modèle. Bientôt, il devrait détecter l’objet.