En cliquant sur « Accepter tous les cookies », vous acceptez le stockage de cookies sur votre appareil pour améliorer la navigation sur le site, analyser son utilisation et contribuer à nos efforts de marketing. Plus d’infos
Paramètres des cookies
En cliquant sur « Accepter tous les cookies », vous acceptez le stockage de cookies sur votre appareil pour améliorer la navigation sur le site, analyser son utilisation et contribuer à nos efforts de marketing. Plus d’infos
Lisez notre analyse approfondie de l'étiquetage des données en ce qui concerne les projets de vision par ordinateur et apprenez comment étiqueter les données visuelles et pourquoi c'est si important.
L'intelligence artificielle (IA) se concentre sur le fait de donner aux machines des capacités semblables à celles de l'homme, et l'une des façons les plus populaires d'y parvenir est par le biais de l'apprentissage supervisé. En d'autres termes, l'enseignement aux modèles d'IA en leur montrant des exemples étiquetés peut les aider à apprendre des modèles et à s'améliorer dans les tâches. C'est très similaire à la façon dont les humains apprennent de l'expérience. Alors, comment ces exemples étiquetés sont-ils créés ?
L'annotation de données consiste à étiqueter ou à baliser des données pour aider les algorithmes d'apprentissage automatique à les comprendre. En vision par ordinateur, cela signifie marquer des images ou des vidéos pour reconnaître et catégoriser avec précision les objets, les actions ou les 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 est entraîné.
Des études montrent que plus de 80 % du temps d'un projet d'IA est consacré à la gestion des données, de la collecte et de l'agrégation au nettoyage et à l'étiquetage. 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 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 sont 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 navire naviguant sans boussole.
Un étiquetage précis aide ces modèles à 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 apprendrait à 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 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 des images et des vidéos, c'est une bonne idée 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 ensembles 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 la légende d'images.
PASCAL VOC : Il prend en charge les tâches de détection et de segmentation d'objets.
Fig. 2. Exemples de données dans l'ensemble 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 à votre projet, la taille du jeu de données, sa diversité et la qualité des étiquettes. Assurez-vous également de consulter les conditions de licence du jeu 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 tout à fait à vos besoins. Vous pouvez collecter des images à l'aide d'outils tels que des webcams, des drones ou des smartphones, en fonction des besoins de votre projet. Idéalement, votre jeu de données personnalisé doit être diversifié, équilibré et véritablement représentatif du problème que vous essayez 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 vous ne pouvez collecter qu'un nombre limité 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 les ajustements de couleur 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 open source, 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 connaître les différents types d'annotations. Cela vous aidera à choisir le bon pour votre projet. Ensuite, nous examinerons certains des principaux types d'annotations.
Boîtes englobantes
Les boîtes englobantes 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 englobantes sont principalement utilisées pour la détection d'objets.
Parfois, un objet doit être détecté avec plus de précision qu'au moyen d'une simple boîte englobante dessinée autour de lui. Vous pouvez être intéressé par la limite 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 d'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 d'instance, cependant, va encore plus loin en identifiant et en séparant chaque objet individuellement, comme la distinction entre 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'instance (à droite).
Cuboïdes 3D
Les cuboïdes 3D sont similaires aux boîtes englobantes, mais se distinguent par l'ajout d'informations de profondeur, offrant ainsi 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 des objets par rapport au véhicule.
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 les objets. Les points de repère vont encore plus loin en reliant 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 des gestes ou l'analyse des performances sportives.
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.
La configuration 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 installé, vous pouvez démarrer l'outil en utilisant la commande suivante :
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 LabelImg peut vous fournir des instructions plus détaillées.
Fig. 7. Utilisation de LabelImg pour l'annotation d'images.
Une fois que vous avez lancé l'outil, suivez ces étapes simples pour commencer à étiqueter vos images :
Configurez 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 étiquetterez 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. Cliquez simplement sur le bouton “PascalVOC” de la barre d'outils pour passer à YOLO.
Commencer l'annotation : Utilisez les options « Ouvrir » ou « OpenDIR » pour charger vos images. Ensuite, tracez des boîtes englobantes autour des objets que vous souhaitez annoter et attribuez l'étiquette de classe appropriée. Après avoir étiqueté chaque image, enregistrez votre travail. LabelImg créera un fichier texte portant le même nom que votre image, contenant les annotations YOLO.
Enregistrer et examiner : 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'annotation des données, il est essentiel de garder à l'esprit quelques stratégies clés. Par exemple, des directives d'annotation claires sont cruciales. Sans elles, différents annotateurs pourraient interpréter une tâche différemment.
Supposons que la tâche consiste à annoter des oiseaux dans des images avec des cadres de délimitation. Un annotateur peut étiqueter l'oiseau 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 l'entraînement. 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 difficiles, vous pouvez vous assurer que les données sont étiquetées avec précision et cohérence.
Des contrôles de qualité réguliers sont également importants pour maintenir des normes élevées. En établissant des points de référence et en utilisant des mesures spécifiques pour examiner le travail, vous pouvez maintenir l'exactitude des données 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 open source, la compréhension de l'étiquetage des données est essentielle. Les stratégies d'étiquetage des données peuvent aider à rationaliser l'ensemble du processus et à le rendre plus efficace. Prendre le temps d'affiner votre approche d'annotation peut conduire à des résultats d'IA meilleurs et plus fiables.
Continuez à explorer et à développer vos compétences ! Restez connecté 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 tels que la fabrication et la santé. 🚀