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

Abirami Vina

4 min lire

2 septembre 2024

Lisez notre analyse approfondie de l'étiquetage des données dans le cadre des projets de vision par ordinateur et apprenez comment étiqueter les données visuelles et pourquoi c'est si important.

L'intelligence artificielle (IA) vise à doter les machines de capacités semblables à celles de l'homme, et l'un des moyens 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 à améliorer 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 les données pour aider les algorithmes d'apprentissage automatique à les comprendre. Dans le domaine de la vision artificielle, cela signifie marquer des images ou des vidéos afin de reconnaître et de catégoriser avec précision des objets, des actions ou des scènes. L'étiquetage des données est essentiel, car le succès d'un modèle d'IA dépend fortement de 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 la collecte et l'agrégation jusqu'au nettoyage et à l'étiquetage. Cela montre à quel point l'annotation des données est importante pour 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 reconnaissance faciale et la détection d'objets avec une plus grande précision et fiabilité dans des situations réelles.

Pourquoi l'annotation des données est-elle 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 référence sont essentielles car elles représentent le monde réel que le modèle tente de comprendre. Sans cette base fiable, le modèle d'IA serait comme un navire naviguant sans boussole. 

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

Un étiquetage précis aide ces modèles à comprendre ce qu'ils voient et à 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 é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 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 nouvel ensemble de données et d'étiqueter méticuleusement les images et les vidéos, il est préférable de voir si vous pouvez utiliser des ensembles de données préexistants pour votre projet. Il existe plusieurs référentiels open-source fantastiques où vous pouvez accéder gratuitement à des jeux de données de haute qualité. Parmi les plus populaires, citons

  • ImageNet: Il est couramment utilisé pour la formation de 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.
__wf_reserved_inherit
Fig. 2. Exemples de données dans l'ensemble de données COCO.

Lorsque vous choisissez un jeu de données, il est important de prendre en compte des facteurs tels que l'adéquation avec votre projet, la taille du jeu de données, sa diversité et la qualité des étiquettes. Veillez également à examiner les conditions de licence de l'ensemble de données afin d'éviter toute répercussion juridique, et vérifiez si les données sont formatées d'une manière qui convient à votre flux de travail et à vos outils.

La création d'un jeu de données personnalisé est une excellente option si les jeux de données existants ne répondent pas à vos besoins. Vous pouvez recueillir des images à l'aide d'outils tels que des caméras web, des drones ou des smartphones, en fonction des besoins de votre projet. Dans l'idéal, votre jeu de données personnalisé doit être diversifié, équilibré et véritablement représentatif du problème que vous essayez de résoudre. Il peut s'agir de capturer des images dans différentes conditions d'éclairage, sous différents angles et dans plusieurs environnements.

Si vous ne pouvez collecter qu'un petit nombre d'images ou de vidéos, l'augmentation des données est une technique utile. Elle consiste à élargir votre ensemble de données en appliquant des transformations telles que la rotation, le retournement ou l'ajustement des couleurs aux images existantes. Elle augmente la taille de votre ensemble de données et rend votre modèle plus robuste et mieux à même de gérer les variations dans les données. En utilisant un mélange d'ensembles de données libres, d'ensembles de données personnalisés et de données augmentées, vous pouvez considérablement améliorer les performances de vos 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 vous aidera à choisir celle qui convient le mieux à votre projet. Nous allons maintenant passer en revue quelques-uns des principaux types d'annotations. 

Boîtes de délimitation

Les boîtes de délimitation constituent le type d'annotation le plus courant dans le domaine de la vision par ordinateur. Il s'agit de 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'intelligence artificielle à identifier et à localiser les objets. Les boîtes de délimitation sont principalement utilisées pour la détection d'objets.

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

Masques de segmentation

Il arrive qu'un objet doive être détecté de manière plus précise qu'au moyen d'une simple boîte de délimitation tracée autour de lui. Vous pouvez être intéressé par les limites des objets dans une image. Dans ce cas, les masques de segmentation vous 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 d'une image, même si elles sont toutes du même type.

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

Cuboïdes 3D

Les cuboïdes 3D sont similaires aux boîtes englobantes. Ce qui les rend uniques, c'est que les cuboïdes 3D ajoutent des informations sur la 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 des objets dans un espace 3D. Les cuboïdes 3D sont souvent utilisés dans les voitures autonomes pour mesurer la distance entre les objets et le véhicule.

__wf_reserved_inherit
Fig. 5. Exemple de cuboïdes 3D.

Points clés et repères

Un autre type d'annotation intéressant est celui des points clés, où des points spécifiques tels que 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 des visages ou des poses corporelles. 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'intelligence artificielle dans des tâches telles que la reconnaissance des gestes ou l'analyse des performances sportives.

__wf_reserved_inherit
Fig. 6. Exemple de points clés.

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

Maintenant que nous avons abordé les différents types d'annotations, voyons comment vous pouvez 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 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 projets Ultralytics YOLOv8.

L'installation de LabelImg est simple. Tout d'abord, assurez-vous que Python 3 est installé sur votre ordinateur. Ensuite, vous pouvez installer LabelImg avec une commande rapide.

Une fois l'outil installé, vous pouvez le lancer à l'aide de la commande :

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

__wf_reserved_inherit
Fig. 7. Utilisation de LabelImg pour l'annotation d'images.

Une fois l'outil lancé, suivez ces étapes simples pour commencer à étiqueter vos images :

  • Définissez vos classes : Commencez par définir la liste des classes (catégories) que vous souhaitez annoter dans un fichier nommé "predefined_classes.txt". Ce fichier permet au logiciel de savoir quels objets vous allez étiqueter dans vos images.
  • Passer au format YOLO : Par défaut, LabelImg utilise le format PASCAL VOC, mais si vous travaillez avec YOLO, vous devrez changer de format. Il suffit de cliquer sur le bouton "PascalVOC" de la barre d'outils pour passer au format YOLO.
  • Commencez à annoter : Utilisez les options "Open" ou "OpenDIR" pour charger vos images. Ensuite, dessinez des boîtes de délimitation autour des objets que vous souhaitez annoter et attribuez l'étiquette de classe correcte. Après avoir étiqueté chaque image, enregistrez votre travail. LabelImg créera un fichier texte portant le même nom que votre image et contenant les annotations YOLO.
  • Sauvegarder et réviser : 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 vos classes.

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

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

Supposons que la tâche consiste à annoter des oiseaux dans des 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 au cours de l'apprentissage. 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, vous pouvez vous assurer que les données sont étiquetées de manière précise et cohérente.

Des contrôles de qualité réguliers sont également importants pour maintenir des normes élevées. En fixant des critères de référence et en utilisant des mesures spécifiques pour examiner le travail, vous pouvez conserver 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 significatif sur votre modèle de vision par ordinateur. Que vous utilisiez des outils comme LabelImg pour annoter des images ou que vous entraîniez 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. En prenant le temps d'affiner votre approche de l'annotation, vous obtiendrez des résultats d'IA plus fiables et de meilleure qualité.

Continuez à explorer et à développer vos compétences ! Restez en contact avec notre communauté pour continuer à apprendre sur l'IA ! Consultez 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é. 🚀

Construisons ensemble le futur
de l'IA !

Commencez votre voyage avec l'avenir de l'apprentissage automatique

Commencer gratuitement
Lien copié dans le presse-papiers