Classification d’images avec Custom Vision et Windows Machine Learning
Ce guide vous montre comment : entraîner un modèle de réseau neuronal pour classifier des images d’aliments à l’aide d’Azure Custom Vision service, 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 pas besoin d’une expertise préalable en machine learning ! Nous allons vous guider étape par étape 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 avez un modèle et que vous souhaitez apprendre à créer une application Windows ML à partir de zéro, consultez le didacticiel complet sur l’application Windows ML.
Si vous souhaitez commencer avec un projet Visual Studio préexistant pour une application Windows ML, vous pouvez cloner l’exemple d’application de didacticiel 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é pour reconnaître certains types de modèles afin de classifier une image d’aliments, et lorsqu’une image lui est donnée, il retourne une étiquette de classification et la valeur de confiance de pourcentage 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 débutez avec Azure, vous pouvez vous inscrire pour obtenir un compte gratuit Azure. Cela vous donnera l’occasion de créer, d’entraîner et de déployer des modèles Machine Learning avec Azure AI.
Conseil
Souhaitez-vous en savoir plus sur les options d’inscription Azure et les comptes gratuits Azure ? Ensuite, case activée 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 (build 17763) ou version ultérieure. Vous pouvez case activée votre numéro de version de build en exécutant
winver
la commande Exécuter (touche de logo Windows + R). - Kit de développement logiciel (SDK) Windows pour la build 17763 ou ultérieure. Pour télécharger, consultez Kit de développement logiciel (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 didacticiel peuvent différer de l’interface utilisateur que vous verrez. Pour télécharger Visual Studio, consultez Téléchargements et outils pour le développement Windows.
- Windows ML Code Generator (
mlgen
) extension Visual Studio. Téléchargez-le pour Visual Studio 2019 ou version ultérieure ou pour Visual Studio 2017. - Si vous décidez de créer une application plateforme Windows universelle (UWP), vous devez activer la charge de travail de développement plateforme Windows universelle dans Visual Studio.
- Activez le mode Développeur sur votre PC. Consultez Activer votre appareil pour le développement.
Notes
Les API Windows ML sont intégrées aux dernières versions de Windows 10 (1809 ou version ultérieure) et de Windows Server 2019. Si votre plateforme cible est une version antérieure de Windows, vous pouvez porter votre application Windows ML vers le package NuGet redistribuable (Windows 8.1 ou version ultérieure).
Préparer les données
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 alimentaires de 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 respecter la durée d’utilisation du site Kaggle et les termes du contrat de licence qui accompagnent le Food-11
jeu de données 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 comporte trois divisions (évaluation, formation et validation) et contient 16 643 images d’aliments regroupées en 11 catégories principales d’aliments. 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 préférez, vous pouvez utiliser n’importe quel autre jeu de données d’images pertinentes. Au minimum, nous vous recommandons d’utiliser au moins 30 images par balise dans le jeu d’entraînement initial. Vous allez également collecter quelques images supplémentaires pour tester votre modèle une fois qu’il est entraîné.
En outre, assurez-vous que toutes vos images d’entraînement répondent aux critères suivants :
.jpg
,.png
,.bmp
ou.gif
format.- Taille maximale de 6 Mo (4 Mo pour les images de prédiction).
- Pas moins de 256 pixels sur le bord le plus court; toutes les images plus courtes seront automatiquement mises à l’échelle par le service Custom Vision.
Étapes suivantes
Maintenant que vous avez réglé vos prérequis et que vous avez 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 de Custom Vision web pour créer et entraîner votre modèle de classification.