Contrôle vert
Lien copié dans le presse-papiers

Exploration de l'étiquetage des données pour les projets de vision par ordinateur

Lis notre approfondissement complet sur l'étiquetage des données en ce qui concerne les projets de vision par ordinateur et apprends comment étiqueter les données visuelles et pourquoi c'est si important.

L'intelligence artificielle (IA) vise à donner aux machines des capacités semblables à celles des humains, et l'une des façons les plus populaires d'y parvenir est l'apprentissage supervisé. En d'autres termes, enseigner aux modèles d'IA en leur montrant des exemples étiquetés peut les aider à apprendre des modèles et à s'améliorer dans leurs tâches. C'est très similaire à la façon dont les humains apprennent par l'expérience. Alors, comment sont créés ces exemples étiquetés ?

L'annotation des données consiste à étiqueter ou marquer les données pour aider les algorithmes d'apprentissage automatique à les comprendre. Dans le domaine de la vision par ordinateur, 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 repose en grande partie sur la qualité des données étiquetées sur lesquelles il a été formé.

Des études montrent que plus de 80 % du temps consacré aux projets d'IA est consacré à la gestion des données, depuis leur collecte et leur agrégation jusqu'à leur nettoyage et leur étiquetage. Cela montre à quel point l'annotation des données est importante dans le développement des 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 reconnaissance faciale et la détection d'objets avec plus de précision et de fiabilité dans des situations réelles.

Pourquoi l'annotation des données est nécessaire

L'annotation des données est à la base des performances d'un modèle de vision par ordinateur. Les données étiquetées constituent la vérité de base que le modèle utilise pour apprendre et faire des prédictions. Les données de vérité de base sont essentielles car elles représentent le monde réel que le modèle essaie de comprendre. Sans cette base de référence fiable, le modèle d'IA serait comme un bateau qui navigue sans boussole. 

Fig 1. Vérité de terrain vs. prédiction.

Un étiquetage précis aide ces modèles à comprendre ce qu'ils voient et permet de prendre de meilleures décisions. Si les données sont mal étiquetées ou incohérentes, le modèle aura du mal à faire des prédictions et à prendre des décisions correctes, tout comme un élève qui apprend à partir de manuels incorrects. Grâce aux données annotées, un modèle peut apprendre des tâches telles que la classification d'images, la segmentation d'instances et l'estimation de la pose d' objets dans des images et des vidéos. 

Meilleures ressources pour les ensembles de données

Avant de créer un tout nouveau jeu de données et d'étiqueter méticuleusement les images et les vidéos, c'est une bonne idée de voir si tu peux utiliser des jeux de données préexistants 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 peut citer :

  • ImageNet: Il est couramment utilisé pour former des modèles de classification d'images.
  • COCO: Cet ensemble de données est conçu pour la détection d'objets, la segmentation et le sous-titrage d'images
  • PASCAL VOC: Il prend en charge les tâches de détection et de segmentation des objets.
Fig 2. Exemples de données dans l'ensemble de données COCO.

Lorsque tu choisis 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. Veille également à examiner les conditions de licence de l'ensemble de données pour éviter toute répercussion juridique, 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 vraiment représentatif du problème que tu cherches à résoudre. Cela peut signifier qu'il faut capturer des images dans différentes conditions d'éclairage, sous différents angles et dans plusieurs environnements.

Si tu ne peux collecter qu'un nombre réduit d'images ou de vidéos, l'augmentation des données est une technique utile. Elle consiste à élargir ton ensemble de données en appliquant des transformations telles que la rotation, le retournement ou l'ajustement des couleurs aux images existantes. Cela augmente la taille de ton ensemble de données et rend ton modèle plus robuste et mieux à même de gérer les variations des données. En utilisant un mélange d'ensembles de données open-source, d'ensembles de données personnalisés et de données augmentées, tu peux considérablement augmenter 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 celle qui convient le mieux à ton projet. Ensuite, nous allons jeter un coup d'œil à quelques-uns des principaux types d'annotations. 

Boîtes de délimitation

Les boîtes de délimitation 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 les objets. Les boîtes de délimitation sont principalement utilisées pour la détection d'objets.

Fig 3. Exemple de boîtes de délimitation.

Masques de segmentation

Parfois, un objet doit être détecté avec plus de précision qu'au moyen d'une simple boîte de délimitation dessinée autour de lui. Tu peux être intéressé par les limites des objets dans une image. Dans ce cas, les masques de segmentation te permettent de délimiter des objets complexes. Les masques de segmentation sont une représentation plus détaillée au niveau des pixels. 

Ces masques peuvent être utilisés pour la segmentation sémantique et la segmentation par instance. La segmentation sémantique consiste à étiqueter chaque pixel d'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 par instance, quant à elle, va plus loin en identifiant et en séparant chaque objet individuellement, par exemple en distinguant chaque voiture sur une image, même si elles sont toutes du même type.

Fig 4. Exemple de segmentation sémantique (à gauche) et de masques de segmentation des instances (à droite).

Cuboïdes 3D

Les cuboïdes 3D sont similaires aux boîtes de délimitation, ce qui les rend uniques, c'est que les cuboïdes 3D ajoutent des informations sur la profondeur et fournissent une représentation en 3D d'un objet. Ces informations supplémentaires permettent aux systèmes de comprendre la forme, le volume et la position des objets dans un espace 3D. Les cuboïdes 3D sont souvent utilisés dans les voitures auto-conduites pour mesurer la distance des objets par rapport au véhicule.

Fig 5. Exemple de cuboïdes 3D.

Points clés et points de repère

Un autre type d'annotation intéressant est celui des key-points, où des points spécifiques comme les yeux, le nez ou les articulations sont marqués sur les objets. Landmarks va plus loin en connectant ces points pour capturer la structure et le mouvement de formes plus complexes, comme les visages ou les poses du corps. Ces types d'annotations sont utilisés pour des applications telles que la reconnaissance faciale, la capture de mouvements et la réalité augmentée. Ils améliorent également la précision des modèles d'IA dans des tâches comme la reconnaissance des gestes ou l'analyse des performances sportives.

Fig 6. Un exemple de points clés.

Comment annoter des données à l'aide de LabelImg

Maintenant que nous avons discuté des différents types d'annotations, comprenons comment tu peux annoter des images à l'aide d'un outil populaire, LabelImg. LabelImg est un outil open-source qui simplifie l'annotation des images et peut être utilisé pour créer des ensembles de données au format YOLO (You Only Look Once). C'est un excellent choix pour les débutants qui travaillent sur de petits projetsUltralytics YOLOv8 .

L'installation de LabelImg est simple. Tout d'abord, assure-toi que Python 3 est installé sur ton ordinateur. Ensuite, tu peux installer LabelImg à l'aide d'une commande rapide. 


pip3 install labelImg

Une fois qu'il est installé, tu peux lancer l'outil à l'aide de la commande :


labelImg

LabelImg fonctionne sur plusieurs plateformes, notamment Windows, macOS et Linux. Si tu rencontres des problèmes lors de l'installation, le dépôt officiel de LabelImg peut te fournir des instructions plus détaillées.

Fig 7. Utilisation de LabelImg pour l'annotation des images.

Une fois que tu as lancé l'outil, suis ces étapes simples pour commencer à étiqueter tes images :

  • Définis tes classes : Commence par définir la liste des classes (catégories) que tu veux annoter dans un fichier nommé "predefined_classes.txt". Ce fichier permet au logiciel de savoir 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" dans la barre d'outils pour passer au format YOLO.
  • Commence à annoter : Utilise les options "Open" ou "OpenDIR" pour charger tes images. Ensuite, dessine des boîtes de délimitation autour des objets que tu veux annoter et attribue l'étiquette de classe correcte. Après avoir étiqueté chaque image, enregistre ton travail. LabelImg créera un fichier texte portant le même nom que ton image et contenant les annotations YOLO .
  • Sauvegarde 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 les noms de tes classes.

Stratégies efficaces d'étiquetage des données

Pour rendre le processus d'étiquetage des données plus fluide, il y a quelques stratégies clés à garder à l'esprit. Par exemple, il est essentiel de disposer de directives d'annotation claires. Sans elles, différents annotateurs pourraient interpréter une tâche différemment. 

Disons que la tâche consiste à annoter les oiseaux dans les images avec des boîtes de délimitation. Un annotateur peut étiqueter l'oiseau en entier, tandis qu'un autre peut n'étiqueter que la tête ou les ailes. Ce type d'incohérence peut perturber le modèle pendant la formation. En fournissant des définitions claires, telles que "étiqueter l'oiseau entier, y compris les ailes et la queue", ainsi que des exemples et des instructions pour les cas délicats, tu peux t'assurer que les données sont étiquetées de façon précise et cohérente.

Des contrôles de qualité réguliers sont également importants pour maintenir des normes élevées. En fixant des repères et en utilisant des mesures spécifiques pour examiner le travail, tu peux garder des données précises et affiner le processus grâce à un retour d'information continu. 

L'étiquetage des données en bref

L'annotation des données est un concept simple qui peut avoir un impact important 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 ensembles de données libres, il est essentiel de comprendre l'étiquetage des données. Les stratégies d'étiquetage des données peuvent contribuer à rationaliser l'ensemble du processus et à le rendre plus efficace. Prendre le temps d'affiner ton approche de l'annotation peut conduire à des résultats d'IA meilleurs et plus fiables.

Continue d'explorer et d'élargir tes compétences ! Reste connecté avec notre communauté pour continuer à apprendre sur l'IA ! Consulte notre dépôt GitHub pour découvrir comment nous utilisons l'IA pour créer des solutions innovantes dans des secteurs comme la fabrication et la santé. 🚀

Logo FacebookLogo de TwitterLogo LinkedInSymbole du lien de copie

Lire la suite dans cette catégorie

Construisons ensemble le futur
de l'IA !

Commence ton voyage avec le futur de l'apprentissage automatique.