Bien démarrer avec la classification d’images sur Azure

Effectué

Vous pouvez effectuer une classification d’images à l’aide d’Azure AI Custom Vision, qui fait partie des offres Azure AI Services. Cette solution est généralement plus simple et plus rapide qu’écrire votre propre code d’entraînement du modèle. Même si vous avez peu ou pas du tout d’expertise en machine learning, vous réussirez à créer une solution de classification d’images performante.

Ressources Azure pour Azure AI Custom Vision

La création d’une solution de classification d’images avec Azure AI Custom Vision comprend deux tâches principales. Vous devez d’abord entraîner le modèle à partir d’images existantes, puis vous devez publier le modèle entraîné afin que les applications clientes puissent l’utiliser pour générer des prédictions.

Pour chacune de ces tâches, vous avez besoin d’une ressource dans votre abonnement Azure. Vous pouvez utiliser les types de ressources suivants :

  • Custom Vision : ressource dédiée au service Custom Vision, qui peut être une ressource d’entraînement, une ressource de prédiction ou les deux.
  • Azure AI services : ressource générale comprenant Azure AI Custom Vision ainsi que de nombreux autres Azure AI services. Vous pouvez utiliser ce type de ressource pour l’entraînement, la prédiction ou les deux.

La séparation des ressources d’entraînement et de prédiction est utile quand vous souhaitez suivre l’utilisation des ressources pour l’entraînement du modèle séparément des applications clientes utilisant le modèle pour prédire les classes d’images. Cependant, cela peut rendre le développement d’une solution de classification d’images un peu déroutant.

L’approche la plus simple consiste à utiliser une ressource Azure AI services générale à la fois pour l’apprentissage et la prédiction. Cela signifie que vous ne devez vous soucier que d’un seul point de terminaison (l’adresse HTTP à laquelle votre service est hébergé) et d’une seule clé (une valeur secrète utilisée par les applications clientes pour s’authentifier).

Si vous décidez de créer une ressource Custom Vision, vous serez invité à choisir entraînement, prédiction ou les deux : il est important de noter que si vous choisissez « les deux », deux ressources seront créées, une pour l’entraînement et une pour la prédiction.

Il est également possible de combiner les deux approches : vous pouvez utiliser une ressource Azure AI services dédiée pour l’apprentissage, puis déployer votre modèle sur une ressource Azure AI services pour la prédiction. Pour que cela fonctionne, les ressources d’entraînement et de prédiction doivent être créées dans la même région.

Entraînement du modèle

Pour entraîner un modèle de classification, vous devez charger des images dans votre ressource d’entraînement et leur attribuer les étiquettes de classe appropriées. Ensuite, vous devez entraîner le modèle et évaluer les résultats de l’entraînement.

Vous pouvez effectuer ces tâches dans le portail Custom Vision ou, si vous disposez de l’expérience requise en programmation, vous pouvez utiliser l’un des kits de développement logiciel (SDK) spécifiques au langage de programmation du service Azure AI Custom Vision.

L’un des principaux points à prendre en compte quand vous utilisez des images pour la classification est de veiller à disposer d’une quantité suffisante d’images des objets en question et que ces images sont des prises de vue des objets sous de nombreux angles différents.

Évaluation du modèle

Le processus d’entraînement du modèle est un processus itératif dans lequel le service Azure AI Custom Vision entraîne à plusieurs reprises le modèle avec certaines données, tout en réservant d’autres données pour l’évaluation du modèle. À la fin du processus d’entraînement, les performances du modèle entraîné sont indiquées par les métriques d’évaluation suivantes :

  • Précision : quel pourcentage des prédictions de classe effectuées par le modèle étaient correctes ? Par exemple, si le modèle a prédit que dix images représentent des oranges, contre huit en réalité, la précision est de 0,8 (80 %).
  • Rappel : Quel pourcentage de prédictions de classe le modèle a-t-il correctement identifié ? Par exemple, s’il existe dix images de pommes et que le modèle en a trouvé sept, le rappel est de 0,7 (70 %).
  • Précision moyenne : métrique globale qui prend en compte à la fois la précision et le rappel.

Utilisation du modèle pour la prédiction

Une fois que vous avez créé le modèle et que vous êtes satisfait de son niveau de performance évalué, vous pouvez publier le modèle dans votre ressource de prédiction. Quand vous publiez le modèle, vous pouvez lui attribuer un nom (le nom par défaut est « ItérationX », où X représente le nombre d’entraînements du modèle).

Pour utiliser votre modèle, les développeurs d’applications clientes ont besoin des informations suivantes :

  • ID du projet : ID unique du projet Custom Vision que vous avez créé pour entraîner le modèle.
  • Nom du modèle : nom que vous avez attribué au modèle lors de sa publication.
  • Point de terminaison de prédiction : adresse HTTP des points de terminaison de la ressource de prédiction à laquelle vous avez publié le modèle (pas de la ressource d’entraînement).
  • Clé de prédiction : clé d’authentification de la ressource de prédiction à laquelle vous avez publié le modèle (pas celle de la ressource d’entraînement).