Classification d’images avec Custom Vision et Windows Machine Learning
Article
Ce guide vous montre comment : entraîner un modèle de réseau neuronal pour classifier les images de nourriture à l’aide du service Azure Custom Vision ; exporter le modèle au format ONNX ; et déployer le modèle dans une application Windows Machine Learning (Windows ML) exécutée localement sur un appareil Windows. Vous n’avez besoin d’aucune expertise en apprentissage automatique ! Nous vous guiderons pas à pas tout au long du processus.
Si vous souhaitez apprendre à créer et à entraîner un modèle avec Custom Vision, vous pouvez passer à Entraîner un modèle.
Si vous souhaitez commencer par un projet Visual Studio préexistant pour une application Windows ML, vous pouvez cloner l’exemple d’application du tutoriel Custom Vision et Windows ML et l’utiliser comme point de départ.
Scénario
Dans ce tutoriel, vous allez créer une application de classification de nourriture Machine Learning qui s’exécute sur des appareils Windows. Le modèle est entraîné à la reconnaissance de certains types de modèles pour classer une image de nourriture et, lorsqu’une image lui est donnée, il retourne une étiquette de classification et la valeur de pourcentage de confiance associée de cette classification.
Conditions préalables à l’entraînement du modèle
Pour créer et entraîner un modèle, vous avez besoin d’un abonnement aux services Azure Custom Vision.
Si vous êtes un nouvel utilisateur d’Azure, vous pouvez vous inscrire pour obtenir un compte gratuit Azure. Cela vous donnera la possibilité de créer, d’entraîner et de déployer des modèles Machine Learning avec Azure AI.
Conseil
Voulez-vous en savoir plus sur les options d’inscription à Azure et les comptes gratuits Azure ? Consultez Créer un compte Azure.
Prérequis pour le déploiement d’applications Windows ML
Pour créer et déployer une application Windows ML, vous devez avoir les éléments suivants :
Windows 10, version 1809 (version 17763) ou ultérieure. Vous pouvez vérifier votre numéro de version en exécutant winver via la commande Exécuter (touche avec le logo Windows + R).
SDK Windows pour la version 17763 ou ultérieure. Pour télécharger, consultez SDK Windows.
Visual Studio 2017 version 15.7 ou ultérieure, mais nous vous recommandons d’utiliser Visual Studio 2022 ou version ultérieure. Certaines captures d’écran de ce tutoriel peuvent différer de l’IU que vous verrez. Pour télécharger Visual Studio, consultez Téléchargements et outils pour le développement Windows.
Si vous décidez de créer une application Universal Windows Platform (UWP), vous devez activer la charge de travail de développement Plateforme Windows universelle dans Visual Studio.
Les modèles Machine Learning doivent être entraînés avec des données existantes. Dans ce guide, vous allez utiliser un jeu de données d’images de nourriture provenant des jeux de données Kaggle Open Datasets. Ce jeu de données est distribué sous la licence de domaine public.
Important
Pour utiliser ce jeu de données, vous devez vous conformer aux conditions d’utilisation du site Kaggle et aux termes du contrat de licence accompagnant le jeu de données Food-11 lui-même. Microsoft n’offre aucune garantie ni représentation relative au site ou à ce jeu de données.
Le jeu de données inclut trois fractionnements : évaluation, entraînement et validation. Il contient 16 643 images de nourriture regroupées dans 11 catégories principales. Les images du jeu de données de chaque catégorie de nourriture sont placées dans un dossier distinct, ce qui rend le processus d’entraînement du modèle plus pratique.
Téléchargez le jeu de données à partir du jeu de données d’image Food-11. La taille du jeu de données est d’environ 1 Go et vous pouvez être invité à créer un compte sur le site Web Kaggle pour télécharger les données.
Si vous le préférez, vous pouvez utiliser tout autre jeu de données d’images pertinentes. Nous vous recommandons d’utiliser au moins 30 images par étiquette dans le jeu d’apprentissage initial. Vous allez également collecter quelques images supplémentaires pour tester votre modèle une fois qu’il est entraîné.
En outre, vérifiez que toutes vos images d’entraînement respectent les critères suivants :
format .jpg, .png, .bmp ou .gif.
Taille ne dépassant pas 6 Mo (4 Mo pour les images de prédiction).
La périphérie la plus courte ne doit pas comporter moins de 256 pixels ; les images d’une dimension inférieure sont automatiquement mises à l’échelle par le service Custom Vision.
Étapes suivantes
Maintenant que vous avez défini les conditions préalables et préparé votre jeu de données, vous pouvez passer à la création de votre modèle Windows ML. Dans la partie suivante (Entraîner votre modèle avec Custom Vision), vous allez utiliser l’interface Custom Vision basée sur le Web pour créer et entraîner votre modèle de classification.
Gérer l’ingestion et la préparation des données, l’entraînement et le déploiement des modèles, ainsi que la surveillance des solutions d’apprentissage automatique avec Python, Azure Machine Learning et MLflow.
Le générateur de code Windows ML crée une interface (C#, C++/WinRT et C++/CX) qui vous permet de charger, lier et évaluer facilement un modèle dans votre application.