Démarrage rapide : Comment créer un classifieur avec Custom VisionQuickstart: How to build a classifier with Custom Vision

Dans ce guide de démarrage rapide, vous découvrez comment créer un classifieur via le site web Custom Vision.In this quickstart, you'll learn how to build a classifier through the Custom Vision website. Une fois que vous avez créé un modèle de classifieur, vous pouvez utiliser le service Custom Vision pour la classification d’images.Once you build a classifier model, you can use the Custom Vision service for image classification.

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.If you don't have an Azure subscription, create a free account before you begin.

PrérequisPrerequisites

  • Un ensemble d’images avec lequel entraîner votre classifieur.A set of images with which to train your classifier. Reportez-vous aux conseils ci-dessous pour le choix des images.See below for tips on choosing images.

Créer des ressources Custom Vision dans le portail AzureCreate Custom Vision resources in the Azure portal

Pour utiliser le service Custom Vison, vous devez créer des ressources de formation et de prédiction Custom Vision dans Azure.To use the Custom Vision Service you will need to create Custom Vision Training and Prediction resources in Azure. Pour ce faire, dans le portail, remplissez la boîte de dialogue de la page de création Custom Vision pour créer une ressource de formation et une ressource de prédiction.To do so in the Azure portal, fill out the dialog window on the Create Custom Vision page to create both a Training and Prediction resource.

Création d'un projetCreate a new project

Dans votre navigateur web, accédez à la page web Custom Vision et sélectionnez Sign in (Se connecter).In your web browser, navigate to the Custom Vision web page and select Sign in. Connectez-vous avec le même compte que celui utilisé pour vous connecter au portail Azure.Sign in with the same account you used to sign into the Azure portal.

Image de la page de connexion

  1. Pour créer votre premier projet, sélectionnez New Project (Nouveau projet).To create your first project, select New Project. La boîte de dialogue Create new project (Créer un projet) s’affiche.The Create new project dialog box will appear.

    La boîte de dialogue du nouveau projet comporte des champs permettant de renseigner le nom, la description et les domaines.

  2. Entrez un nom et une description pour le projet.Enter a name and a description for the project. Sélectionnez ensuite un groupe de ressources.Then select a Resource Group. Si votre compte de connexion est associé à un compte Azure, la liste déroulante Resource Group (Groupe de ressources) affiche tous vos groupes de ressources Azure qui incluent une ressource du service Vision personnalisée.If your signed-in account is associated with an Azure account, the Resource Group dropdown will display all of your Azure Resource Groups that include a Custom Vision Service Resource.

    Notes

    Si aucun groupe de ressources n’est disponible, confirmez vous être connecté à customvision.ai avec le même compte que celui utilisé pour vous connecter au portail Azure.If no resource group is available, please confirm that you have logged into customvision.ai with the same account as you used to log into the Azure portal. En outre, assurez-vous d'avoir sélectionné le même « Répertoire » dans le portail de Custom Vision que celui du portail Azure où se trouvent vos ressources Custom Vision.Also, please confirm you have selected the same “Directory” in the Custom Vision portal as the directory in the Azure portal where your Custom Vision resources are located. Dans les deux sites, vous pouvez sélectionner votre répertoire à partir du menu déroulant de compte situé en haut à droite de l’écran.In both sites, you may select your directory from the drop down account menu at the top right corner of the screen.

  3. Sélectionnez Classification sous Project Types (Types de projets).Select Classification under Project Types. Ensuite, sous Classification Types (Types de classifications), choisissez Multilabel (Multi-étiquette) ou Multiclass (Multiclasse), en fonction de votre cas d’utilisation.Then, under Classification Types, choose either Multilabel or Multiclass, depending on your use case. La classification multi-étiquette applique un nombre quelconque de vos étiquettes à une image (zéro ou plus), tandis que la classification multiclasse trie les images et les classe dans une seule catégorie (chaque image que vous soumettez se voit appliquer l’étiquette la plus probable).Multilabel classification applies any number of your tags to an image (zero or more), while multiclass classification sorts images into single categories (every image you submit will be sorted into the most likely tag). Vous pourrez changer ultérieurement le type de classification si vous le souhaitez.You'll be able to change the classification type later if you want to.

  4. Sélectionnez ensuite un des domaines disponibles.Next, select one of the available domains. Chaque domaine optimise le classifieur pour des types spécifiques d’images, comme décrit dans le tableau suivant.Each domain optimizes the classifier for specific types of images, as described in the following table. Vous pourrez changer ultérieurement le domaine si vous le souhaitez.You will be able to change the domain later if you wish.

    DomainDomain ObjectifPurpose
    GénériqueGeneric Optimisé pour un large éventail de tâches de classification d’images.Optimized for a broad range of image classification tasks. Si aucun autre domaine n’est approprié, ou si vous hésitez sur le choix du domaine, sélectionnez le domaine Générique.If none of the other domains are appropriate, or you're unsure of which domain to choose, select the Generic domain.
    Food (Nourriture)Food Optimisé pour les photographies de plats, tels que vous pouvez les voir dans un menu de restaurant.Optimized for photographs of dishes as you would see them on a restaurant menu. Si vous souhaitez classer des photographies de fruits ou de légumes distincts, utilisez le domaine Food (Nourriture).If you want to classify photographs of individual fruits or vegetables, use the Food domain.
    Landmarks (Monuments et sites)Landmarks Optimisé pour les monuments et sites reconnaissables, naturels et artificiels.Optimized for recognizable landmarks, both natural and artificial. Ce domaine fonctionne mieux lorsque le monument ou le site est clairement visible dans la photographie.This domain works best when the landmark is clearly visible in the photograph. Ce domaine fonctionne même si le monument ou le site est légèrement masqué par des personnes placées devant lui.This domain works even if the landmark is slightly obstructed by people in front of it.
    Retail (Commerce)Retail Optimisé pour les images qui se trouvent dans des catalogues de vente ou sur des site Web commerciaux.Optimized for images that are found in a shopping catalog or shopping website. Si vous souhaitez un classement de grande précision pour des robes, des pantalons et des chemises, utilisez ce domaine.If you want high precision classifying between dresses, pants, and shirts, use this domain.
    Compact Domains (Domaines compacts)Compact domains Optimisés en fonction des contraintes de la classification en temps réel sur les appareils mobiles.Optimized for the constraints of real-time classification on mobile devices. Les modèles générés par les domaines compacts sont exportables pour s’exécuter localement.The models generated by compact domains can be exported to run locally.
  5. Enfin, sélectionnez Create project (Créer le projet).Finally, select Create project.

Choisir les images d’entraînementChoose training images

Nous vous recommandons d’utiliser au moins 30 images par étiquette dans le jeu d’entraînement initial.As a minimum, we recommend you use at least 30 images per tag in the initial training set. Vous allez également collecter quelques images supplémentaires pour tester votre modèle une fois qu’il est entraîné.You'll also want to collect a few extra images to test your model once it's trained.

Pour entraîner votre modèle efficacement, utilisez des images avec une variété de visuels.In order to train your model effectively, use images with visual variety. Sélectionnez des images dont les éléments suivants varient :Select images that vary by:

  • angle de l’appareil photocamera angle
  • éclairagelighting
  • backgroundbackground
  • style de visuelvisual style
  • objets individuels/groupésindividual/grouped subject(s)
  • sizesize
  • Typetype

En outre, vérifiez que toutes vos images d’entraînement respectent les critères suivants :Additionally, make sure all of your training images meet the following criteria:

  • format .jpg, .png, .bmp ou .gif.jpg, .png, .bmp, or .gif format
  • taille ne dépassant pas 6 Mo (4 Mo pour les images de prédiction)no greater than 6MB in size (4MB for prediction images)
  • le côté le plus court ne doit pas comporter moins de 256 pixels ; les images d’une dimension inférieure sont automatiquement mises à l’échelle par le service Vision personnaliséeno less than 256 pixels on the shortest edge; any images shorter than this will be automatically scaled up by the Custom Vision Service

Charger et étiqueter des imagesUpload and tag images

Dans cette section, vous chargez et vous étiquetez manuellement des images pour faciliter l’entraînement du classifieur.In this section, you'll upload and manually tag images to help train the classifier.

  1. Pour ajouter des images, cliquez sur le bouton Add images (Ajouter des images), puis sélectionnez Browse local files (Parcourir les fichiers locaux).To add images, click the Add images button and then select Browse local files. Sélectionnez Open (Ouvrir) pour passer à l’étiquetage.Select Open to move to tagging. Votre sélection d’étiquettes s’applique à l’ensemble du groupe d’images que vous avez choisi de charger : il est donc plus facile de charger des images dans des groupes distincts selon les étiquettes souhaitées.Your tag selection will be applied to the entire group of images you've selected to upload, so it's easier to upload images in separate groups according to their desired tags. Vous pouvez également changer les étiquettes pour des images individuelles après leur chargement.You can also change the tags for individual images after they have been uploaded.

    Le contrôle d’ajout d’images est affiché dans le coin supérieur gauche, et sous la forme d’un bouton dans le bas de la page, au centre.

  2. Pour créer une étiquette, entrez du texte dans le champ My Tags (Mes étiquettes) et appuyez sur Entrée.To create a tag, enter text in the My Tags field and press Enter. Si l’étiquette existe déjà, elle apparaît dans un menu déroulant.If the tag already exists, it will appear in a dropdown menu. Dans un projet multi-étiquette, vous pouvez ajouter plusieurs étiquettes à vos images, mais dans un projet multiclasse, vous ne pouvez en ajouter qu’une seule.In a multilabel project, you can add more than one tag to your images, but in a multiclass project you can add only one. Pour terminer le chargement des images, utilisez le bouton Upload [nombre] files (Charger [nombre] fichiers).To finish uploading the images, use the Upload [number] files button.

    Image de la page d’attribution des mots clés et du chargement

  3. Sélectionnez Terminé lorsque les images ont été chargés.Select Done once the images have been uploaded.

    La barre de progression indique que toutes les tâches sont terminées.

Pour charger un autre ensemble d’images, revenez en haut de cette section et répétez les étapes.To upload another set of images, return to the top of this section and repeat the steps.

Former le classifieurTrain the classifier

Pour former le classifieur, sélectionnez le bouton Train (Entraîner).To train the classifier, select the Train button. Le classifieur utilise toutes les images pour créer un modèle qui identifie les qualités visuelles de chaque étiquette.The classifier uses all of the current images to create a model that identifies the visual qualities of each tag.

Le bouton Train (Entraîner) en haut à droite de la barre d’outils de l’en-tête de la page web

Le processus d’entraînement ne doit durer que quelques minutes.The training process should only take a few minutes. Pendant ce temps, des informations sur le processus d’entraînement s’affichent dans l’onglet Performance.During this time, information about the training process is displayed in the Performance tab.

Fenêtre du navigateur avec une boîte de dialogue d’entraînement dans la section principale

Évaluer le classifieurEvaluate the classifier

Une fois l’entraînement terminé, les performances du modèle sont estimées et affichées.After training has completed, the model's performance is estimated and displayed. Le service Vision personnalisée utilise les images que vous avez soumises pour l’entraînement et calcule la précision et le rappel en utilisant un processus appelé validation croisée par échantillons (« k-fold »).The Custom Vision Service uses the images that you submitted for training to calculate precision and recall, using a process called k-fold cross validation. La précision et le rappel sont deux mesures différentes de l’efficacité d’un classifieur :Precision and recall are two different measurements of the effectiveness of a classifier:

  • La précision indique la proportion des classifications identifiées qui étaient correctes.Precision indicates the fraction of identified classifications that were correct. Par exemple, si le modèle a identifié 100 images comme étant des chiens et que 99 d’entre elles étaient effectivement des chiens, la précision est de 99 %.For example, if the model identified 100 images as dogs, and 99 of them were actually of dogs, then the precision would be 99%.
  • Le rappel indique la proportion des classifications réelles qui ont été correctement identifiées.Recall indicates the fraction of actual classifications that were correctly identified. Par exemple, s’il y avait 100 images de pommes et que le modèle en a identifié 80 comme étant des pommes, le rappel est de 80 %.For example, if there were actually 100 images of apples, and the model identified 80 as apples, the recall would be 80%.

Les résultats de l’entraînement affichent les taux de précision et de rappel globaux, ainsi que ceux de chaque mot clé dans le classifieur.

Seuil de probabilitéProbability Threshold

Notez le curseur Probability Threshold (Seuil de probabilité) dans le volet gauche de l’onglet Performance. Il s’agit du niveau de confiance qu’une prédiction doit avoir pour être considérée comme correcte (dans le cadre du calcul de la précision et du rappel).Note the Probability Threshold slider on the left pane of the Performance tab. This is the level of confidence that a prediction needs to have in order to be considered correct (for the purposes of calculating precision and recall).

Quand vous interprétez des appels de prédiction avec un seuil de probabilité élevé, ils ont tendance à retourner des résultats avec une précision élevée au détriment des rappels ; les classifications détectées sont correctes, mais beaucoup restent non détectées.When you interpret prediction calls with a high probability threshold, they tend to return results with high precision at the expense of recall—the detected classifications are correct, but many remain undetected. Un seuil de probabilité faible a l’effet opposé : la plupart des classifications réelles sont détectées, mais il y a plus de faux positifs dans ce jeu.A low probability threshold does the opposite—most of the actual classifications are detected, but there are more false positives within that set. En ayant ceci à l’esprit, vous devez définir le seuil de probabilité en fonction des besoins spécifiques de votre projet.With this in mind, you should set the probability threshold according to the specific needs of your project. Ultérieurement, lors de la réception des résultats de la prédiction côté client, vous devez utiliser la même valeur de seuil de probabilité que celle utilisée ici.Later, when you're receiving prediction results on the client side, you should use the same probability threshold value as you used here.

Gérer les itérations d’entraînementManage training iterations

Chaque fois vous entraînez votre classifieur, vous créez une nouvelle itération avec ses propres métriques de performances mises à jour.Each time you train your classifier, you create a new iteration with its own updated performance metrics. Vous pouvez afficher toutes vos itérations dans le volet gauche de l’onglet Performance. Vous trouvez également le bouton Supprimer, que vous pouvez utiliser pour supprimer une itération si elle est obsolète.You can view all of your iterations in the left pane of the Performance tab. You'll also find the Delete button, which you can use to delete an iteration if it's obsolete. Quand vous supprimez une itération, vous supprimez également toutes les images qui lui sont spécifiquement associées.When you delete an iteration, you delete any images that are uniquely associated with it.

Étapes suivantesNext steps

Dans ce guide de démarrage rapide, vous avez découvert comment créer et entraîner un modèle de classification d’images avec le site web Custom Vision.In this quickstart, you learned how to create and train an image classification model using the Custom Vision website. Vous obtenez ensuite plus d’informations sur le processus itératif d’amélioration de votre modèle.Next, get more information on the iterative process of improving your model.