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.

Toute considération concernant les données doit être étroitement liée aux objectifs de votre projet. Des changements dans vos stratégies d'annotation pourraient modifier l'orientation ou l'efficacité du projet, et vice versa. Dans cette optique, examinons de plus près les meilleures façons d'aborder la collecte et l'annotation des données.

Mise en place des classes et collecte des 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 rechercher des données et de prendre en compte les implications éthiques. Avant de commencer à collecter vos données, vous devez être au clair sur les points suivants :

Choisir les bonnes classes pour votre projet

L'une des premières questions que l'on se pose lorsqu'on démarre un projet de vision par ordinateur est de savoir combien de classes il faut inclure. Vous devez déterminer l'appartenance à une classe, c'est-à-dire 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é en fonction des objectifs spécifiques de votre projet.

Par exemple, si vous souhaitez surveiller la circulation, vos classes pourraient inclure "voiture", "camion", "bus", "moto" et "vélo". En revanche, pour suivre les articles dans un magasin, les classes pourraient être "fruits", "légumes", "boissons" et "snacks". Définir des classes en fonction des objectifs de votre projet permet à votre ensemble de données d'être pertinent et ciblé.

Lorsque vous définissez vos classes, une autre distinction importante à faire est de savoir s'il faut choisir un comptage grossier ou fin des classes. Le "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 relatives à 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 peut limiter l'efficacitĂ© du modèle dans des scĂ©narios complexes.
  • Compte de classe fin: 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 les performances du modèle. Cependant, leur annotation prend plus de temps et nĂ©cessite plus de ressources informatiques.

Il convient de noter qu'il peut être très utile de commencer par des classes plus spécifiques, 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, d'obtenir des informations plus approfondies et de faire des distinctions plus claires entre les catégories. Cela permet non seulement d'améliorer la précision du modèle, mais aussi de l'ajuster plus facilement par la suite si nécessaire, ce qui permet de gagner du temps et d'économiser des ressources.

Sources de données

Vous pouvez utiliser des ensembles de données publics ou rassembler vos 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, en revanche, vous permet d'adapter votre ensemble de données à vos besoins spécifiques. Vous pouvez capturer des images et des vidéos à l'aide de caméras ou de drones, rechercher des images sur le web ou utiliser des 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 des données

Il y a biais lorsque certains groupes ou scénarios sont sous-représentés ou surreprésentés dans votre ensemble de données. Cela conduit à un modèle qui donne de bons résultats sur certaines données, mais de mauvais résultats sur d'autres. Il est essentiel d'éviter les biais pour que votre modèle de vision par ordinateur soit performant dans une variété de scénarios.

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

  • Diverses sources: Recueillir des donnĂ©es Ă  partir de nombreuses sources afin d'obtenir diffĂ©rents points de vue et scĂ©narios.
  • ReprĂ©sentation Ă©quilibrĂ©e: Assurer une reprĂ©sentation Ă©quilibrĂ©e de tous les groupes concernĂ©s. Par exemple, tenez compte des diffĂ©rences d'âge, de sexe et d'origine ethnique.
  • ContrĂ´le continu: Examinez et mettez Ă  jour rĂ©gulièrement votre ensemble de donnĂ©es afin d'identifier et de corriger tout biais Ă©mergent.
  • Techniques d'attĂ©nuation des biais: Utiliser 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 juste qui peut être généralisé dans des applications réelles.

Qu'est-ce que l'annotation des données ?

L'annotation des données est le processus d'étiquetage des données afin de les rendre utilisables pour la formation des modèles d'apprentissage automatique. Dans le domaine de la vision artificielle, il s'agit d'é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 tracĂ©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: Contours dĂ©taillĂ©s des objets, permettant 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 du pixel.
  • Points clĂ©s: Points spĂ©cifiques marquĂ©s dans une image pour identifier les points d'intĂ©rĂŞt. 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 de trucs, la segmentation panoptique et le sous-titrage d'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 que vous avez 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 aspects clés de ces règles sont les suivants

  • ClartĂ© et prĂ©cision: Veillez Ă  ce que vos instructions soient claires. Utilisez des exemples et des illustrations pour comprendre ce qui est attendu.
  • CohĂ©rence: Veillez Ă  l'uniformitĂ© de vos annotations. DĂ©finissez 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: Restez neutre. EntraĂ®nez-vous Ă  ĂŞtre objectif et Ă  minimiser vos prĂ©jugĂ©s personnels pour garantir des annotations Ă©quitables.
  • EfficacitĂ©: Travaillez plus intelligemment, pas plus durement. Utilisez des outils et des flux de travail qui automatisent les tâches rĂ©pĂ©titives, rendant 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 permettront de conserver des annotations précises, cohérentes et conformes aux objectifs de votre projet.

Disons que vous êtes prêt à annoter maintenant. Il existe plusieurs outils open-source permettant de 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Ă© Ă  des 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 à code source ouvert sont peu coûteux et offrent un éventail de fonctionnalités permettant de répondre à différents besoins en matière d'annotation.

Quelques éléments supplémentaires à prendre en compte avant d'annoter des données

Avant de vous lancer dans l'annotation de vos données, il convient de garder à l'esprit quelques points supplémentaires. Vous devez être conscient de l'exactitude, de la précision, des valeurs aberrantes et du contrôle de la qualité afin d'é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 l'exactitude et la précision et leur lien avec l'annotation. La précision fait référence à la proximité des données annotées par rapport aux valeurs réelles. Elle nous aide à mesurer à quel point les étiquettes reflètent les scénarios du monde réel. La précision indique la cohérence des annotations. Elle permet de vérifier si vous attribuez la même étiquette au même objet ou à la même caractéristique dans l'ensemble du jeu de données. Une exactitude et une précision élevées permettent d'obtenir des modèles mieux formés en réduisant le bruit et en améliorant la capacité du modèle à se généraliser à partir des données de formation.

Exemple de précision

Identifier les valeurs aberrantes

Les valeurs aberrantes sont des points de données qui s'écartent considérablement des autres observations de l'ensemble de données. En ce qui concerne les annotations, une valeur aberrante peut être une image incorrectement étiquetée ou une annotation qui ne correspond pas au reste de l'ensemble 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, vous pouvez 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 telles que les classes d'objets, les couleurs ou les formes, utilisez des mĂ©thodes visuelles telles que le traçage d'images, d'Ă©tiquettes ou de cartes thermiques.
  • MĂ©thodes algorithmiques: Utiliser des outils tels que le regroupement (par exemple, le regroupement K-means, DBSCAN) et des algorithmes de dĂ©tection d'anomalies pour identifier les valeurs aberrantes sur la base des modèles de distribution des donnĂ©es.

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

Comme pour d'autres projets techniques, le contrôle de la qualité est indispensable pour les données annotées. Une bonne pratique consiste à 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 :

  • Examiner des Ă©chantillons de donnĂ©es annotĂ©es
  • Utilisation d'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 lignes directrices 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 d'être cohérentes.

Lors de la révision, si vous trouvez des erreurs, corrigez-les et mettez à jour les lignes directrices afin d'éviter de nouvelles erreurs. Fournissez un retour d'information aux annotateurs et proposez des formations régulières afin de réduire le nombre d'erreurs. La mise en place d'un processus solide de traitement des erreurs permet de garantir la précision 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 bonnes façons d'apprendre, de résoudre des problèmes et de travailler en réseau :

OĂą trouver de l'aide et du soutien

  • Questions sur GitHub : Visitez le dĂ©pĂ´t GitHub YOLO11 et utilisez l'onglet Issues pour poser des questions, signaler des bogues et suggĂ©rer des fonctionnalitĂ©s. La communautĂ© et les mainteneurs sont lĂ  pour vous aider Ă  rĂ©soudre les problèmes que vous rencontrez.
  • Ultralytics Serveur Discord : Rejoignez le serveur DiscordUltralytics pour vous connecter avec d'autres utilisateurs et dĂ©veloppeurs, obtenir de l'aide, partager des connaissances et trouver des idĂ©es.

Documentation officielle

  • Ultralytics YOLO11 Documentation : Consultez la documentation officielle YOLO11 pour obtenir des guides dĂ©taillĂ©s 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 les bonnes techniques, vous pouvez améliorer de manière significative les performances de votre modèle. L'engagement auprès de la communauté et l'utilisation des ressources disponibles vous permettront de rester informé et vous aideront à résoudre les problèmes de manière efficace. N'oubliez pas que des données de qualité sont la base d'un projet réussi, et que 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 de données pour les projets de vision par ordinateur ?

En évitant les biais dans la collecte des données, vous vous assurez que votre modèle de vision par ordinateur fonctionne bien dans différents scénarios. Pour minimiser les biais, envisagez de collecter des données auprès de diverses sources afin d'obtenir des perspectives et des scénarios différents. Veillez à une représentation équilibrée de tous les groupes concernés, tels que les différents âges, sexes et ethnies. Examinez et mettez à jour régulièrement votre ensemble de données afin d'identifier et de 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, vous maintenez un ensemble de données robuste et équitable qui améliore la capacité de généralisation de votre modèle.

Comment garantir la cohérence et la précision de l'annotation des données ?

Pour garantir la cohérence et la précision de l'annotation des données, il faut établir des directives d'étiquetage claires et objectives. Vos instructions doivent être détaillées et comporter des exemples et des illustrations pour clarifier les attentes. La cohérence est obtenue en définissant des critères standard pour l'annotation des différents 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, formez 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 d'un retour d'information 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 , commencez avec un minimum de quelques centaines d'objets annotés par classe. Si vous vous entraînez pour une seule classe, commencez avec au moins 100 images annotées et entraînez-vous 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 étant cruciale, veillez à ce que vos processus de collecte et d'annotation des données soient rigoureux et conformes aux objectifs spécifiques de votre projet. Découvrez des stratégies de formation détaillées dans le guide de formationYOLO11 .

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, de gestion de projet et de contrĂ´le de la qualitĂ©.
  • CVAT: offre de multiples formats d'annotation et des flux de travail personnalisables, ce qui le rend adaptĂ© aux projets complexes.
  • Labelme: IdĂ©al pour l'annotation rapide et directe d'images Ă  l'aide de polygones.

Ces outils peuvent contribuer à améliorer l'efficacité et la précision de vos flux de travail d'annotation. Pour des listes de fonctionnalités et des guides détaillés, consultez notre documentation sur les outils d'annotation de données.

Quels sont les types d'annotation de données couramment utilisés dans le domaine de la vision par ordinateur ?

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, adaptĂ©s aux tâches de segmentation d'instances.
  • Masques: Ils offrent des dĂ©tails au niveau du pixel et sont utilisĂ©s dans la segmentation sĂ©mantique pour diffĂ©rencier les objets de l'arrière-plan.
  • Points clĂ©s: Identifier 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.

Le choix du type d'annotation approprié dépend des exigences de votre projet. Pour en savoir plus sur la manière de mettre en œuvre ces annotations et leurs formats, consultez notre guide sur l'annotation des données.

📅C réé il y a 6 mois ✏️ Mis à jour il y a 2 mois

Commentaires