Explorer l'étiquetage des données pour les projets de vision par ordinateur
Lis notre plongée complète sur l'étiquetage des données pour les projets de vision par ordinateur et apprends comment étiqueter des données visuelles et pourquoi c'est si important.

L'intelligence artificielle (IA) se concentre sur l'octroi de capacités semblables à celles des humains aux machines, et l'un des moyens les plus populaires d'y parvenir est l' supervised learning. En d'autres termes, enseigner à des modèles d'IA en leur montrant des exemples étiquetés peut les aider à apprendre à partir de motifs et à s'améliorer dans des tâches. C'est très similaire à la façon dont les humains apprennent par l'expérience. Alors, comment ces exemples étiquetés sont-ils créés ?
Le Data annotation implique l'étiquetage ou le marquage de données pour aider les algorithmes d'apprentissage automatique à les comprendre. En computer vision, cela signifie marquer des images ou des vidéos pour reconnaître et catégoriser avec précision des objets, des actions ou des scènes. L'étiquetage des données est vital car le succès d'un modèle d'IA dépend fortement de la qualité des données étiquetées sur lesquelles il est entraîné.
Des études montrent que plus de 80% of AI project time est consacré à la gestion des données, de leur collecte et agrégation à leur cleaning and labeling. Cela montre à quel point l'annotation des données est importante dans le développement de modèles d'IA. L'utilisation de données annotées de haute qualité permet aux modèles d'IA d'effectuer des tâches telles que la facial recognition et la object detection avec une plus grande précision et fiabilité dans des situations réelles.
Pourquoi l'annotation de données est nécessaire#
L'annotation des données constitue la base de la performance d'un computer vision model. Les données étiquetées sont la vérité terrain que le modèle utilise pour apprendre et faire des prédictions. Les données de vérité terrain sont essentielles car elles représentent le monde réel que le modèle essaie de comprendre. Sans cette référence fiable, le modèle d'IA serait comme un navire naviguant sans boussole.

Fig 1. Vérité terrain par rapport à la prédiction.
Un étiquetage précis aide ces models à comprendre ce qu'ils voient et conduit à une meilleure prise de décision. Si les données sont mal étiquetées ou incohérentes, le modèle aura du mal à faire des prédictions et des décisions correctes, tout comme un étudiant qui apprend à partir de manuels incorrects. Grâce aux données annotées, un modèle peut apprendre des tâches telles que la image classification, l' instance segmentation et la pose estimation d'objets dans des images et des vidéos.
Meilleures ressources pour les jeux de données#
Avant de créer un tout nouveau jeu de données et d'étiqueter méticuleusement des images et des vidéos, c'est une bonne idée de voir si tu peux utiliser des pre-existing datasets pour ton projet. Il existe plusieurs dépôts open-source fantastiques où tu peux accéder gratuitement à des jeux de données de haute qualité. Parmi les plus populaires, on trouve :
- ImageNet : il est couramment utilisé pour l'entraînement de modèles de classification d'images.
- COCO : ce jeu de données est conçu pour la détection d'objets, la segmentation et la légende d'images.
- PASCAL VOC : il prend en charge les tâches de détection d'objets et de segmentation.

Fig 2. Exemples de données dans le jeu de données COCO.
Lors du choix d'un jeu de données, il est important de prendre en compte des facteurs tels que son adéquation avec ton projet, sa taille, sa diversité et la qualité des étiquettes. Assure-toi également de consulter les licensing terms du jeu de données pour éviter toute répercussion legal, et vérifie si les données sont formatées d'une manière qui convient à ton flux de travail et à tes outils.
Créer un jeu de données personnalisé est une excellente option si les jeux de données existants ne correspondent pas tout à fait à tes besoins. Tu peux rassembler des images à l'aide d'outils tels que des webcams, des drones ou des smartphones, en fonction de ce que ton projet exige. Idéalement, ton jeu de données personnalisé doit être diversifié, équilibré et véritablement représentatif du problème que tu essaies de résoudre. Cela peut signifier capturer des images dans différentes conditions d'éclairage, sous différents angles et dans de multiples environnements.
Si tu ne parviens à collecter qu'un plus petit nombre d'images ou de vidéos, le data augmentation est une technique utile. Cela consiste à étendre ton jeu de données en appliquant des transformations telles que la rotation, le retournement ou des ajustements de couleur aux images existantes. Cela augmente la taille de ton jeu de données et rend ton modèle plus robuste et mieux capable de gérer les variations dans les données. En utilisant un mélange de jeux de données open-source, de jeux de données personnalisés et de données augmentées, tu peux considérablement améliorer les performances de tes modèles de vision par ordinateur.
Types de techniques d'annotation d'images#
Avant de commencer à annoter des images, il est important de se familiariser avec les différents types d'annotations. Cela t'aidera à choisir le bon pour ton projet. Ensuite, nous examinerons certains des principaux types d'annotations.
BBox#
Les Bounding boxes sont le type d'annotation le plus courant en vision par ordinateur. Ce sont des boîtes rectangulaires utilisées pour marquer l'emplacement d'un objet dans une image. Ces boîtes sont définies par les coordonnées de leurs coins et aident les modèles d'IA à identifier et localiser des objets. Les boîtes englobantes sont principalement utilisées pour la object detection.

Fig 3. Un exemple de boîtes englobantes.
Masques de segmentation#
Parfois, un objet doit être détecté avec plus de précision qu'au moyen d'une simple boîte englobante tracée autour de lui. Tu peux t'intéresser à la délimitation des objets dans une image. Dans ce cas, les masques de segmentation te permettent de détourer des objets complexes. Les masques de segmentation sont une représentation plus détaillée au niveau du pixel.
Ces masques peuvent être utilisés pour la semantic segmentation et l' instance segmentation. La segmentation sémantique implique l'étiquetage de chaque pixel dans une image en fonction de l'objet ou de la zone qu'il représente, comme un piéton, une voiture, une route ou un trottoir. La segmentation d'instances, en revanche, va plus loin en identifiant et en séparant chaque objet individuellement, comme le fait de distinguer chaque voiture dans une image, même si elles sont toutes du même type.

Fig 4. Un exemple de segmentation sémantique (à gauche) et de masques de segmentation d'instances (à droite).
Cuboides 3D#
Les cuboïdes 3D sont similaires aux boîtes englobantes, ce qui les rend uniques est que les cuboïdes 3D ajoutent des informations de profondeur et fournissent une représentation 3D d'un objet. Ces informations supplémentaires permettent aux systèmes de comprendre la forme, le volume et la position d'objets dans un espace 3D. Les cuboïdes 3D sont souvent utilisés dans les self-driving cars pour mesurer la distance des objets par rapport au véhicule.

Fig 5. Un exemple de cuboïdes 3D.
Points clés et points de repère#
Un autre type d'annotation intéressant est celui des points clés, où des points spécifiques comme les yeux, le nez ou les articulations sont marqués sur des objets. Les points de repère vont encore plus loin en connectant ces points pour capturer la structure et le mouvement de formes plus complexes, comme les visages ou les poses corporelles. Ces types d'annotations sont utilisés pour des applications telles que la reconnaissance faciale, la capture de mouvement et la réalité augmentée. Ils améliorent également la précision des modèles d'IA dans des tâches telles que la reconnaissance de gestes ou l'analyzing sports performance.

Fig 6. Un exemple de points clés.
Comment annoter des données avec LabelImg#
Maintenant que nous avons abordé les différents types d'annotations, voyons comment tu peux annoter des images à l'aide d'un outil populaire, LabelImg. LabelImg est un outil open-source qui simplifie l'annotation d'images et peut être utilisé pour créer des jeux de données au format YOLO. C'est un excellent choix pour les débutants travaillant sur de petits projets Ultralytics YOLOv8 projects.
La configuration de LabelImg est simple. Tout d'abord, assure-toi d'avoir Python 3 installé sur ton ordinateur. Ensuite, tu peux installer LabelImg avec une commande rapide :
pip3 install labelImgUne fois installé, tu peux démarrer l'outil avec la commande :
labelImgLabelImg fonctionne sur plusieurs plateformes, notamment Windows, macOS et Linux. Si tu rencontres des problèmes lors de l'installation, le dépôt officiel LabelImg peut te fournir des instructions plus détaillées.

Fig 7. Utilisation de LabelImg pour l'annotation d'images.
Une fois que tu as lancé l'outil, suis ces étapes simples pour commencer à étiqueter tes images :
- Configure tes classes : Commence par définir la liste des classes (catégories) que tu souhaites annoter dans un fichier nommé « predefined_classes.txt ». Ce fichier indique au logiciel quels objets tu vas étiqueter dans tes images.
- Passe au format YOLO : Par défaut, LabelImg utilise le format PASCAL VOC, mais si tu travailles avec YOLO, tu devras changer de format. Clique simplement sur le bouton « PascalVOC » de la barre d'outils pour passer à YOLO.
- Commence l'annotation : Utilise les options "Open" ou "OpenDIR" pour charger tes images. Ensuite, dessine des boîtes englobantes autour des objets que tu souhaites annoter et attribue l'étiquette de classe correcte. Après avoir étiqueté chaque image, enregistre ton travail. LabelImg créera un fichier texte avec le même nom que ton image, contenant les annotations YOLO.
- Enregistre et révise : Les annotations sont enregistrées dans un fichier .txt au format YOLO. Le logiciel enregistre également un fichier « classes.txt » qui répertorie tous tes noms de classe.
Stratégies d'étiquetage de données efficaces#
Pour rendre le processus d'étiquetage de données plus fluide, il y a quelques stratégies clés à garder à l'esprit. Par exemple, des directives d'annotation claires sont cruciales. Sans elles, différents annotateurs pourraient interpréter une tâche différemment.
Disons que la tâche est d'annoter des oiseaux dans des images avec des boîtes englobantes. Un annotateur pourrait étiqueter l'oiseau entier, tandis qu'un autre pourrait seulement étiqueter la tête ou les ailes. Ce genre d'incohérence peut dérouter le modèle pendant l'entraînement. En fournissant des définitions claires, telles que « étiquette l'oiseau entier, y compris les ailes et la queue », accompagnées d'exemples et d'instructions pour les cas délicats, tu peux t'assurer que les données sont marquées avec précision et de manière cohérente.
Des contrôles de qualité réguliers sont également importants pour maintenir des normes élevées. En fixant des références et en utilisant des mesures spécifiques pour examiner le travail, tu peux maintenir la précision des données et affiner le processus grâce à des retours continus.
L'étiquetage de données en bref#
L'annotation de données est un concept simple qui peut avoir un impact significatif sur ton modèle de vision par ordinateur. Que tu utilises des outils comme LabelImg pour annoter des images ou que tu entraînes des modèles sur des jeux de données open-source, comprendre l'étiquetage de données est essentiel. Les stratégies d'étiquetage de données peuvent aider à rationaliser l'ensemble du processus et à le rendre plus efficace. Prendre le temps d'affiner ton approche d'annotation peut conduire à des résultats d'IA meilleurs et plus fiables.
Continue à explorer et à développer tes compétences ! Reste en contact avec notre community pour continuer à en apprendre davantage sur l'IA ! Consulte notre GitHub repository pour découvrir comment nous utilisons l'IA pour créer des solutions innovantes dans des secteurs tels que manufacturing et healthcare. 🚀






