Skip to content

Stratégies de collecte et d’annotation de données pour la vision par ordinateur

Introduction

La clé de la réussite de tout projet de vision par ordinateur commence par des stratégies efficaces de collecte et d'annotation des données. La qualité des données a un impact direct sur les performances du modèle, il est donc important de comprendre les meilleures pratiques liées à la collecte et à l'annotation des données.

Toutes les considérations concernant les données doivent s'aligner étroitement sur les objectifs de ton projet. Des changements dans tes stratégies d'annotation pourraient modifier l'orientation ou l'efficacité du projet et vice versa. En gardant cela à l'esprit, examinons de plus près les meilleures façons d'aborder la collecte et l'annotation des données.

Configuration des classes et collecte de données

La collecte d’images et de vidéos pour un projet de vision par ordinateur implique de définir le nombre de classes, de trouver des données et de prendre en compte les implications éthiques. Avant de commencer à collecter vos données, vous devez être clair sur :

Choisir les bons cours pour votre projet

L’une des premières questions lors du démarrage d’un projet de vision par ordinateur est de savoir combien de cours inclure. Vous devez déterminer l’appartenance à la classe, qui implique les différentes catégories ou étiquettes que vous souhaitez que votre modèle reconnaisse et différencie. Le nombre de classes doit être déterminé par les objectifs spécifiques de votre projet.

Par exemple, si vous souhaitez surveiller le trafic, vos classes peuvent inclure « voiture », « camion », « bus », « moto » et « vélo ». D’autre part, pour suivre les articles dans un magasin, vos cours peuvent être des « fruits », des « légumes », des « boissons » et des « collations ». La définition de classes en fonction des objectifs de votre projet permet de garder votre ensemble de données pertinent et ciblé.

Lorsque vous définissez vos classes, une autre distinction importante à faire est de choisir un nombre de classes grossières ou fines. « Nombre » fait référence au nombre de classes distinctes qui vous intéressent. Cette décision influence la granularité de vos données et la complexité de votre modèle. Voici les considérations pour chaque approche :

  • Les catĂ©gories grossières: Il s'agit de catĂ©gories plus larges et plus inclusives, telles que "vĂ©hicule" et "non-vĂ©hicule". Elles simplifient l'annotation et nĂ©cessitent moins de ressources informatiques, mais fournissent des informations moins dĂ©taillĂ©es, ce qui limite potentiellement l'efficacitĂ© du modèle dans les scĂ©narios complexes.
  • CatĂ©gories fines: Plus de catĂ©gories avec des distinctions plus fines, telles que "berline", "SUV", "camionnette" et "moto". Elles capturent des informations plus dĂ©taillĂ©es, amĂ©liorant ainsi la prĂ©cision et la performance du modèle. Cependant, elles sont plus longues et laborieuses Ă  annoter et nĂ©cessitent plus de ressources informatiques.

Il convient de noter que commencer par des classes plus spécifiques peut être très utile, en particulier dans les projets complexes où les détails sont importants. Des classes plus spécifiques vous permettent de collecter des données plus détaillées et d’obtenir des informations plus approfondies et des distinctions plus claires entre les catégories. Non seulement cela améliore la précision du modèle, mais cela facilite également l’ajustement ultérieur du modèle si nécessaire, ce qui permet d’économiser du temps et des ressources.

Sources de données

Tu peux utiliser des jeux de données publics ou rassembler tes propres données personnalisées. Les jeux de données publics comme ceux de Kaggle et de Google Dataset Search Engine offrent des données bien annotées et normalisées, ce qui en fait d'excellents points de départ pour l'entraînement et la validation des modèles.

La collecte de données personnalisée, quant à elle, vous permet de personnaliser votre ensemble de données en fonction de vos besoins spécifiques. Vous pouvez capturer des images et des vidéos avec des caméras ou des drones, gratter le Web pour trouver des images ou utiliser les données internes existantes de votre organisation. Les données personnalisées vous permettent de mieux contrôler leur qualité et leur pertinence. La combinaison de sources de données publiques et personnalisées permet de créer un ensemble de données diversifié et complet.

Éviter les biais dans la collecte de données

Le biais se produit lorsque certains groupes ou scénarios sont sous-représentés ou surreprésentés dans votre jeu de données. Cela conduit à un modèle qui fonctionne bien sur certaines données mais mal sur d’autres. Il est essentiel d’éviter les biais afin que votre modèle de vision par ordinateur puisse bien fonctionner dans une variété de scénarios.

Voici comment vous pouvez éviter les biais lors de la collecte de données :

  • Sources diverses: Recueille des donnĂ©es Ă  partir de nombreuses sources pour saisir des perspectives et des scĂ©narios diffĂ©rents.
  • ReprĂ©sentation Ă©quilibrĂ©e: Inclure une reprĂ©sentation Ă©quilibrĂ©e de tous les groupes concernĂ©s. Par exemple, tiens compte des diffĂ©rents âges, sexes et ethnies.
  • ContrĂ´le continu: Examine et met Ă  jour rĂ©gulièrement ton ensemble de donnĂ©es afin d'identifier et d'Ă©liminer tout biais Ă©mergent.
  • Techniques d'attĂ©nuation des biais: Utilise des mĂ©thodes telles que le surĂ©chantillonnage des classes sous-reprĂ©sentĂ©es, l'augmentation des donnĂ©es et les algorithmes tenant compte de l'Ă©quitĂ©.

Le respect de ces pratiques permet de créer un modèle plus robuste et plus équitable qui peut bien se généraliser dans des applications réelles.

Qu’est-ce que l’annotation de données ?

L’annotation de données est le processus d’étiquetage des données pour les rendre utilisables pour l’entraînement de modèles de machine learning. En vision par ordinateur, cela signifie étiqueter des images ou des vidéos avec les informations dont un modèle a besoin pour apprendre. Sans données correctement annotées, les modèles ne peuvent pas apprendre avec précision les relations entre les entrées et les sorties.

Types d’annotation de données

Selon les exigences spécifiques d'une tâche de vision par ordinateur, il existe différents types d'annotation des données. En voici quelques exemples :

  • BoĂ®tes de dĂ©limitation: BoĂ®tes rectangulaires dessinĂ©es autour des objets d'une image, utilisĂ©es principalement pour les tâches de dĂ©tection d'objets. Ces boĂ®tes sont dĂ©finies par leurs coordonnĂ©es en haut Ă  gauche et en bas Ă  droite.
  • Polygones: Les contours dĂ©taillĂ©s des objets, qui permettent une annotation plus prĂ©cise que les boĂ®tes de dĂ©limitation. Les polygones sont utilisĂ©s dans des tâches telles que la segmentation d'instances, oĂą la forme de l'objet est importante.
  • Masques: Masques binaires oĂą chaque pixel fait partie soit d'un objet, soit de l'arrière-plan. Les masques sont utilisĂ©s dans les tâches de segmentation sĂ©mantique pour fournir des dĂ©tails au niveau des pixels.
  • Points clĂ©s: Points spĂ©cifiques marquĂ©s dans une image pour identifier les endroits intĂ©ressants. Les points clĂ©s sont utilisĂ©s dans des tâches telles que l'estimation de la pose et la dĂ©tection des repères faciaux.

Types d’annotation de données

Formats d’annotation courants

Après avoir sélectionné un type d’annotation, il est important de choisir le format approprié pour stocker et partager les annotations.

Les formats couramment utilisés comprennent COCO, qui prend en charge différents types d'annotation tels que la détection d'objets, la détection de points clés, la segmentation des trucs, la segmentation panoptique et le sous-titrage des images, stockés en JSON. Pascal VOC utilise des fichiers XML et est populaire pour les tâches de détection d'objets. YOLO En revanche, Pascal VOC crée un fichier .txt pour chaque image, contenant des annotations telles que la classe d'objet, les coordonnées, la hauteur et la largeur, ce qui le rend adapté à la détection d'objets.

Techniques d’annotation

Maintenant, en supposant que vous ayez choisi un type d’annotation et un format, il est temps d’établir des règles d’étiquetage claires et objectives. Ces règles sont comme une feuille de route pour la cohérence et la précision tout au long du processus d’annotation. Les principaux aspects de ces règles sont les suivants :

  • ClartĂ© et dĂ©tails: Assure-toi que tes instructions sont claires. Utilise des exemples et des illustrations pour comprendre ce qui est attendu.
  • CohĂ©rence: Veille Ă  ce que tes annotations soient uniformes. DĂ©finis des critères standard pour l'annotation des diffĂ©rents types de donnĂ©es, afin que toutes les annotations suivent les mĂŞmes règles.
  • RĂ©duire les prĂ©jugĂ©s: Reste neutre. EntraĂ®ne-toi Ă  ĂŞtre objectif et Ă  minimiser tes prĂ©jugĂ©s personnels pour garantir des annotations Ă©quitables.
  • EfficacitĂ©: Travaille plus intelligemment, pas plus durement. Utilise des outils et des flux de travail qui automatisent les tâches rĂ©pĂ©titives, ce qui rend le processus d'annotation plus rapide et plus efficace.

La révision et la mise à jour régulières de vos règles d’étiquetage vous aideront à maintenir vos annotations exactes, cohérentes et alignées sur les objectifs de votre projet.

Disons que vous êtes prêt à annoter maintenant. Il existe plusieurs outils open source disponibles pour aider à rationaliser le processus d’annotation des données. Voici quelques outils d’annotation ouverts utiles :

  • Label Studio: Un outil flexible qui prend en charge un large Ă©ventail de tâches d'annotation et comprend des fonctions de gestion de projets et de contrĂ´le de la qualitĂ©.
  • CVAT: Un outil puissant qui prend en charge diffĂ©rents formats d'annotation et des flux de travail personnalisables, ce qui le rend adaptĂ© aux projets complexes.
  • Labelme: Un outil simple et facile Ă  utiliser qui permet d'annoter rapidement des images avec des polygones, ce qui le rend idĂ©al pour les tâches simples.

Aperçu de LabelMe

Ces outils open source sont économiques et offrent une gamme de fonctionnalités pour répondre aux différents besoins d’annotation.

Quelques autres éléments à prendre en compte avant d’annoter des données

Avant de vous lancer dans l’annotation de vos données, il y a quelques autres points à garder à l’esprit. Vous devez être conscient de l’exactitude, de la précision, des valeurs aberrantes et du contrôle de la qualité pour éviter d’étiqueter vos données de manière contre-productive.

Comprendre l’exactitude et la précision

Il est important de comprendre la différence entre exactitude et précision et comment elle se rapporte à l’annotation. La précision fait référence à la proximité des données annotées par rapport aux valeurs réelles. Cela nous aide à mesurer dans quelle mesure les étiquettes reflètent fidèlement des scénarios du monde réel. La précision indique la cohérence des annotations. Il vérifie si vous donnez la même étiquette au même objet ou à la même caractéristique dans l’ensemble de données. Une exactitude et une précision élevées conduisent à des modèles mieux entraînés en réduisant le bruit et en améliorant la capacité du modèle à généraliser à partir des données d’entraînement.

Exemple de précision

Identifier les valeurs aberrantes

Les valeurs aberrantes sont des points de données qui s’écartent un peu des autres observations de l’ensemble de données. En ce qui concerne les annotations, une valeur aberrante peut être une image mal étiquetée ou une annotation qui ne correspond pas au reste du jeu de données. Les valeurs aberrantes sont préoccupantes car elles peuvent fausser le processus d’apprentissage du modèle, entraînant des prédictions inexactes et une mauvaise généralisation.

Vous pouvez utiliser différentes méthodes pour détecter et corriger les valeurs aberrantes :

  • Techniques statistiques: Pour dĂ©tecter les valeurs aberrantes dans les caractĂ©ristiques numĂ©riques telles que les valeurs des pixels, les coordonnĂ©es de la boĂ®te englobante ou la taille des objets, tu peux utiliser des mĂ©thodes telles que les diagrammes en boĂ®te, les histogrammes ou les scores z.
  • Techniques visuelles: Pour repĂ©rer les anomalies dans les caractĂ©ristiques catĂ©gorielles comme les classes d'objets, les couleurs ou les formes, utilise des mĂ©thodes visuelles comme le tracĂ© d'images, d'Ă©tiquettes ou de cartes thermiques.
  • MĂ©thodes algorithmiques: Utilise des outils comme le regroupement (par exemple, le regroupement K-means, DBSCAN) et des algorithmes de dĂ©tection d'anomalie pour identifier les valeurs aberrantes basĂ©es sur les modèles de distribution des donnĂ©es.

Contrôle de la qualité des données annotées

Tout comme les autres projets techniques, le contrôle de la qualité est indispensable pour les données annotées. Il est recommandé de vérifier régulièrement les annotations pour s’assurer qu’elles sont exactes et cohérentes. Cela peut se faire de différentes manières :

  • Examen d’échantillons de donnĂ©es annotĂ©es
  • Utiliser des outils automatisĂ©s pour repĂ©rer les erreurs courantes
  • Demander Ă  une autre personne de revĂ©rifier les annotations

Si vous travaillez avec plusieurs personnes, la cohérence entre les différents annotateurs est importante. Un bon accord entre les annotateurs signifie que les directives sont claires et que tout le monde les suit de la même manière. Cela permet à tout le monde d’être sur la même longueur d’onde et aux annotations cohérentes.

Lors de la révision, si vous trouvez des erreurs, corrigez-les et mettez à jour les directives pour éviter de futures erreurs. Fournir des commentaires aux annotateurs et offrir des formations régulières pour aider à réduire les erreurs. Le fait de disposer d’un processus solide de traitement des erreurs permet de maintenir l’exactitude et la fiabilité de votre ensemble de données.

Partagez vos réflexions avec la communauté

Faire rebondir vos idées et vos questions sur d’autres passionnés de vision par ordinateur peut vous aider à accélérer vos projets. Voici quelques excellentes façons d’apprendre, de résoudre les problèmes et de réseauter :

Où trouver de l’aide et du soutien

  • GitHub Issues : Visite le dĂ©pĂ´t GitHub YOLOv8 et utilise l'onglet Issues pour poser des questions, signaler des bogues et suggĂ©rer des fonctionnalitĂ©s. La communautĂ© et les responsables sont lĂ  pour t'aider Ă  rĂ©soudre les problèmes auxquels tu es confrontĂ©.
  • Ultralytics Serveur Discord : Rejoins le serveur DiscordUltralytics pour te connecter avec d'autres utilisateurs et dĂ©veloppeurs, obtenir de l'aide, partager des connaissances et trouver des idĂ©es.

Documentation officielle

  • Ultralytics YOLOv8 Documentation : Reporte-toi Ă  la documentation officielle de YOLOv8 pour obtenir des guides complets et des informations prĂ©cieuses sur de nombreuses tâches et projets de vision par ordinateur.

Conclusion

En suivant les meilleures pratiques de collecte et d’annotation des données, en évitant les biais et en utilisant les bons outils et techniques, vous pouvez améliorer considérablement les performances de votre modèle. En vous engageant auprès de la communauté et en utilisant les ressources disponibles, vous vous tiendrez informé et vous aiderez à résoudre efficacement les problèmes. N’oubliez pas que des données de qualité sont la base d’un projet réussi, et les bonnes stratégies vous aideront à construire des modèles robustes et fiables.

FAQ

Quelle est la meilleure façon d'éviter les biais dans la collecte des données pour les projets de vision par ordinateur ?

Éviter les biais dans la collecte des données permet de s'assurer que ton modèle de vision par ordinateur fonctionne bien dans différents scénarios. Pour minimiser les biais, envisage de collecter des données auprès de diverses sources afin d'obtenir des perspectives et des scénarios différents. Veille à une représentation équilibrée de tous les groupes concernés, tels que les différents âges, sexes et ethnies. Révise et mets à jour régulièrement ton ensemble de données pour identifier et corriger tout biais émergent. Des techniques telles que le suréchantillonnage des classes sous-représentées, l'augmentation des données et les algorithmes tenant compte de l'équité peuvent également contribuer à atténuer les préjugés. En employant ces stratégies, tu maintiens un ensemble de données robuste et équitable qui améliore la capacité de généralisation de ton modèle.

Comment puis-je assurer une grande cohérence et une grande précision dans l'annotation des données ?

Pour garantir une grande cohérence et une grande précision dans l'annotation des données, il faut établir des directives d'étiquetage claires et objectives. Tes instructions doivent être détaillées, avec des exemples et des illustrations pour clarifier les attentes. La cohérence est obtenue en établissant des critères standard pour l'annotation de divers types de données, en veillant à ce que toutes les annotations suivent les mêmes règles. Pour réduire les préjugés personnels, forme les annotateurs à rester neutres et objectifs. Des révisions et des mises à jour régulières des règles d'étiquetage permettent de maintenir la précision et l'alignement sur les objectifs du projet. L'utilisation d'outils automatisés pour vérifier la cohérence et l'obtention de commentaires de la part d'autres annotateurs contribuent également à maintenir des annotations de haute qualité.

De combien d'images ai-je besoin pour former les modèles Ultralytics YOLO ?

Pour un apprentissage par transfert et une détection d'objets efficaces avec les modèles Ultralytics YOLO , commence avec un minimum de quelques centaines d'objets annotés par classe. Si tu t'entraînes pour une seule classe, commence avec au moins 100 images annotées et entraîne-toi pendant environ 100 époques. Les tâches plus complexes peuvent nécessiter des milliers d'images par classe pour atteindre une fiabilité et des performances élevées. La qualité des annotations est cruciale, alors assure-toi que tes processus de collecte de données et d'annotation sont rigoureux et alignés sur les objectifs spécifiques de ton projet. Explore les stratégies de formation détaillées dans le guide de formationYOLOv8 .

Plusieurs outils populaires à code source ouvert peuvent rationaliser le processus d'annotation des données :

  • Label Studio: Un outil flexible qui prend en charge diverses tâches d'annotation, la gestion de projets et des fonctions de contrĂ´le de la qualitĂ©.
  • CVAT: Offre plusieurs formats d'annotation et des flux de travail personnalisables, ce qui le rend adaptĂ© aux projets complexes.
  • Labelme: IdĂ©al pour annoter rapidement et simplement les images avec des polygones.

Ces outils peuvent t'aider à améliorer l'efficacité et la précision de tes flux de travail d'annotation. Pour obtenir des listes de fonctions et des guides détaillés, consulte la documentation de nos outils d'annotation de données.

Quels types d'annotation de données sont couramment utilisés en vision artificielle ?

Différents types d'annotation de données répondent à diverses tâches de vision par ordinateur :

  • BoĂ®tes de dĂ©limitation: UtilisĂ©es principalement pour la dĂ©tection d'objets, ces boĂ®tes rectangulaires entourent les objets d'une image.
  • Polygones: Fournissent des contours d'objets plus prĂ©cis qui conviennent aux tâches de segmentation des instances.
  • Masques: Offrent des dĂ©tails au niveau du pixel, utilisĂ©s dans la segmentation sĂ©mantique pour diffĂ©rencier les objets de l'arrière-plan.
  • Points clĂ©s: Identifie des points d'intĂ©rĂŞt spĂ©cifiques dans une image, utiles pour des tâches telles que l'estimation de la pose et la dĂ©tection de repères faciaux.

La sélection du type d'annotation approprié dépend des exigences de ton projet. Tu trouveras plus d'informations sur la façon de mettre en œuvre ces annotations et leurs formats dans notre guide sur l'annotation des données.



Créé le 2024-05-31, Mis à jour le 2024-07-05
Auteurs : glenn-jocher (3), abirami-vina (1)

Commentaires