Exploration de l’annotation de données pour les projets de vision par ordinateur
Découvre pourquoi l’annotation des données est importante en vision par ordinateur, les principaux types d’annotations, des BBox aux points clés, et comment annoter des images au format YOLO.
Abirami Vina10 min de lecture
L’intelligence artificielle (IA) vise à doter les machines de capacités semblables à celles des humains, et l’une des méthodes les plus populaires pour y parvenir est l’apprentissage supervisé. Autrement dit, en montrant aux modèles d’IA des exemples étiquetés, on peut les aider à apprendre à partir de motifs et à s’améliorer dans l’exécution de tâches. C’est très similaire à la façon dont les humains apprennent de leur expérience. Alors, comment ces exemples étiquetés sont-ils créés ?
L’annotation de données consiste à étiqueter ou à baliser des données afin d’aider les algorithmes d’apprentissage automatique à les comprendre. En vision par ordinateur, cela consiste à annoter 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 essentiel, car la réussite d’un modèle d’IA dépend largement de la qualité des données étiquetées sur lesquelles il est entraîné.
Des études montrent que plus de 80 % du temps consacré aux projets d’IA est consacré à la gestion des données, de leur collecte et de leur agrégation à leur nettoyage et leur annotation. Cela montre à quel point l’annotation des données est importante pour le développement de modèles d’IA. Des données annotées de haute qualité permettent aux modèles d’IA d’effectuer des tâches comme la reconnaissance faciale et la détection d’objets avec davantage 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 constitue le fondement des performances d’un modèle de vision par ordinateur. Les données annotées représentent la vérité terrain que le modèle utilise pour apprendre et effectuer des prédictions. La vérité terrain est essentielle, car elle représente le monde réel que le modèle cherche à comprendre. Sans cette référence fiable, le modèle d’IA serait comme un navire qui navigue sans boussole.

Fig. 1. Vérité terrain et prédiction.
Des annotations précises aident ces modèles à comprendre ce qu’ils observent et favorisent de meilleures décisions. Si les données sont mal annotées ou incohérentes, le modèle aura du mal à effectuer des prédictions et à prendre des décisions correctes, comme un élève qui apprend à partir de manuels erronés. Grâce aux données annotées, un modèle peut apprendre des tâches comme la segmentation d’instances, la classification d’images et l’estimation de pose d’objets dans des images et des vidéos.
Les meilleures ressources pour trouver des jeux de données#
Avant de créer un tout nouveau jeu de données et d’annoter minutieusement des images et des vidéos, il est judicieux de vérifier si tu peux utiliser des jeux de données existants pour ton projet. Plusieurs dépôts open source donnent gratuitement accès à des jeux de données de haute qualité. Parmi les plus populaires, on trouve :
- ImageNet : couramment utilisé pour entraîner des modèles de classification d’images.
- COCO : ce jeu de données est conçu pour la détection d’objets, la segmentation et le sous-titrage d’images.
- PASCAL VOC : prend en charge les tâches de détection d’objets et de segmentation.

Fig. 2. Exemples de données du jeu de données COCO.
Pour choisir un jeu de données, il est important de tenir compte de son adéquation avec ton projet, de sa taille, de sa diversité et de la qualité de ses annotations. Pense également à vérifier les conditions de licence du jeu de données pour éviter tout problème juridique, et assure-toi que le format des données est adapté à 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 répondent pas tout à fait à tes besoins. Tu peux collecter des images à l’aide d’outils comme des webcams, des drones ou des smartphones, selon les exigences de ton projet. Idéalement, ton jeu de données personnalisé doit être diversifié, équilibré et véritablement représentatif du problème que tu cherches à résoudre. Tu devras peut-être capturer des images dans différentes conditions d’éclairage, sous plusieurs angles et dans divers environnements.
Si tu ne peux recueillir qu’un petit nombre d’images ou de vidéos, l’augmentation des données est une technique utile. Elle consiste à enrichir ton jeu de données en appliquant des transformations aux images existantes, comme la rotation, le retournement ou des ajustements de couleur. Elle augmente la taille de ton jeu de données et rend ton modèle plus robuste et plus apte à gérer les variations des données. En combinant des jeux de données open source, des jeux de données personnalisés et des données augmentées, tu peux améliorer considérablement 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 connaître les différents types d’annotations. Cela t’aidera à choisir celle qui convient à ton projet. Passons maintenant en revue quelques-uns des principaux types d’annotations.
Cadres de délimitation#
Les boîtes englobantes sont le type d’annotation le plus courant en vision par ordinateur. Ce sont des rectangles qui servent à indiquer l’emplacement d’un objet dans une image. Définies par les coordonnées de leurs coins, elles aident les modèles d’IA à identifier et à localiser les objets. Les boîtes englobantes servent principalement à la détection d’objets.

Fig. 3. Exemple de boîtes englobantes.
Masques de segmentation#
Il arrive qu’un objet doive être détecté avec plus de précision qu’avec une simple boîte englobante tracée autour de lui. Tu peux avoir besoin de connaître les contours des objets dans une image. Dans ce cas, les masques de segmentation permettent de délimiter des objets complexes. Les masques de segmentation fournissent une représentation plus détaillée, au niveau du pixel.
Ces masques peuvent être utilisés pour la segmentation sémantique et la segmentation d’instances. La segmentation sémantique consiste à étiqueter chaque pixel d’une image selon l’objet ou la zone qu’il représente, comme un piéton, une voiture, une route ou un trottoir. La segmentation d’instances va plus loin en identifiant et en séparant chaque objet individuellement, par exemple en distinguant chaque voiture dans 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 d’instances (à droite).
Cuboïdes 3D#
Les cuboïdes 3D ressemblent aux boîtes englobantes, mais ils 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 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.

Fig. 5. Exemple de cuboïdes 3D.
Points clés et repères#
Les points clés constituent un autre type d’annotation intéressant : des points précis, comme les yeux, le nez ou les articulations, sont marqués sur les objets. Les repères vont plus loin en reliant ces points pour représenter la structure et le mouvement de formes plus complexes, comme les visages ou les postures du corps. Ces annotations sont utilisées dans des applications comme la reconnaissance faciale, la capture de mouvement et la réalité augmentée. Elles améliorent également la précision des modèles d’IA pour des tâches telles que la reconnaissance des gestes ou l’analyse des performances sportives.

Fig. 6. 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 annoter des images à l’aide d’un outil populaire, LabelImg. LabelImg est un outil open source qui facilite l’annotation d’images et permet de créer des jeux de données au format YOLO (Tu ne regardes qu’une fois). C’est un excellent choix pour les débutants qui travaillent sur de petits projets Ultralytics YOLOv8.
La configuration de LabelImg est simple. Commence par vérifier que Python 3 est installé sur ton ordinateur. Tu peux ensuite installer LabelImg à l’aide d’une simple commande :
pip3 install labelImgUne fois l’outil installé, tu peux le lancer avec la commande suivante :
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 fournit des instructions plus détaillées. Note que les responsables de LabelImg ont depuis archivé le projet ; pour annoter dans un navigateur avec des outils d’assistance par IA, consulte l’éditeur d’annotations Ultralytics Platform.

Fig. 7. Utilisation de LabelImg pour l’annotation d’images.
Une fois l’outil lancé, suis ces quelques étapes simples pour commencer à étiqueter tes images :
- Définis 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.
- Passer au format YOLO : Par défaut, LabelImg utilise le format PASCAL VOC, mais si tu travailles avec YOLO, tu dois changer de format. Clique simplement sur le bouton « PascalVOC » dans la barre d’outils pour passer à YOLO.
- Commencer l’annotation : Utilise les options « Open » ou « OpenDIR » pour charger tes images. Dessine ensuite des cadres de délimitation autour des objets que tu veux annoter et attribue-leur la bonne étiquette de classe. Après avoir étiqueté chaque image, enregistre ton travail. LabelImg crée un fichier texte portant le même nom que ton image et contenant les annotations YOLO.
- Enregistrer et vérifier : 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 classes.
Stratégies efficaces d’étiquetage des données#
Pour faciliter l’annotation des données, il faut garder à l’esprit quelques stratégies clés. Par exemple, des consignes d’annotation claires sont essentielles. Sans elles, les annotateurs risquent d’interpréter différemment une même tâche.
Imaginons que la tâche consiste à annoter des oiseaux dans des images à l’aide de cadres de délimitation. Un annotateur peut étiqueter l’oiseau entier, tandis qu’un autre ne peut étiqueter que sa tête ou ses ailes. Ce type d’incohérence peut perturber le modèle pendant l’entraînement. En fournissant des définitions claires, comme « étiqueter l’oiseau entier, y compris les ailes et la queue », ainsi que des exemples et des consignes pour les cas délicats, tu peux garantir que les données sont étiquetées avec précision et cohérence.
Des contrôles réguliers de la qualité sont également importants pour maintenir des normes élevées. En définissant des critères de référence et en utilisant des métriques précises pour vérifier le travail, tu peux garantir l’exactitude des données et affiner le processus grâce à des retours continus.
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 jeux de données open source, il est essentiel de comprendre l’étiquetage des données. Les stratégies d’étiquetage des données peuvent simplifier l’ensemble du processus et le rendre plus efficace. Prendre le temps d’affiner ton approche de l’annotation peut améliorer la qualité et la fiabilité des résultats de l’IA.
Continue à explorer et à développer tes compétences ! Reste en contact avec notre communauté pour continuer à découvrir l’IA ! Consulte notre dépôt GitHub pour découvrir comment nous utilisons l’IA afin de créer des solutions innovantes dans des secteurs comme l’industrie manufacturière et la santé.
Écrit par
Commentaires
Pose une question, partage tes résultats ou aide quelqu’un.










