Meet YOLO26: next-gen vision AI.

Link to this sectionStratégies de collecte et d'annotation de données pour la vision par ordinateur#

Link to this sectionIntroduction#

La clé du succès dans 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 impacte directement les performances du modèle, il est donc important de comprendre les meilleures pratiques liées à la collecte et à l'annotation des données.



Watch: How to Build Effective Data Collection and Annotation Strategies for Computer Vision 🚀

Chaque considération concernant les données doit être étroitement alignée avec 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.

Link to this sectionConfiguration des classes et collecte de données#

Collecter des images et des vidéos pour un projet de vision par ordinateur implique de définir le nombre de classes, de sourcer les données et de prendre en compte les implications éthiques. Avant de commencer à rassembler tes données, tu dois être au clair sur :

Link to this sectionChoisir les bonnes classes pour ton projet#

L'une des premières questions lors du démarrage d'un projet de vision par ordinateur est de savoir combien de classes inclure. Tu dois déterminer l'appartenance aux classes, ce qui implique les différentes catégories ou étiquettes que tu souhaites que ton modèle reconnaisse et différencie. Le nombre de classes doit être déterminé par les objectifs spécifiques de ton projet.

Par exemple, si tu souhaites surveiller la circulation, tes classes pourraient inclure « voiture », « camion », « bus », « moto » et « vélo ». D'un autre côté, pour suivre des articles dans un magasin, tes classes pourraient être « fruits », « légumes », « boissons » et « snacks ». Définir des classes basées sur les objectifs de ton projet aide à garder ton jeu de données pertinent et ciblé.

Lorsque tu définis tes classes, une autre distinction importante à faire est de choisir entre un nombre de classes restreint ou détaillé. Le « nombre » fait référence à la quantité de classes distinctes qui t'intéressent. Cette décision influence la granularité de tes données et la complexité de ton modèle. Voici les considérations pour chaque approche :

  • Nombre de classes restreint : Il s'agit de catégories plus larges et inclusives, telles que « véhicule » et « non-véhicule ». Elles simplifient l'annotation et nécessitent moins de ressources informatiques, mais fournissent moins d'informations détaillées, ce qui limite potentiellement l'efficacité du modèle dans des scénarios complexes.
  • Nombre de classes détaillé : Davantage de catégories avec des distinctions plus fines, telles que « berline », « SUV », « pick-up » et « moto ». Elles capturent des informations plus détaillées, améliorant la précision et les performances du modèle. Cependant, elles sont plus chronophages et nécessitent beaucoup de travail pour l'annotation ainsi que davantage de ressources informatiques.

Commencer avec des classes plus spécifiques peut être très utile, surtout dans des projets complexes où les détails sont importants. Des classes plus spécifiques te permettent de collecter des données plus détaillées, d'obtenir des insights plus approfondis et d'établir des distinctions plus claires entre les catégories. Cela améliore non seulement la précision du modèle, mais facilite également l'ajustement ultérieur du modèle si nécessaire, économisant ainsi du temps et des ressources.

Link to this sectionSources 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 sur Kaggle et le Google Dataset Search Engine offrent des données bien annotées et standardisées, ce qui en fait d'excellents points de départ pour entraîner et valider des modèles.

La collecte de données personnalisées, en revanche, te permet d'adapter ton jeu de données à tes besoins spécifiques. Tu peux capturer des images et des vidéos avec des caméras ou des drones, scraper le web pour obtenir des images, ou utiliser des données internes existantes de ton organisation. Les données personnalisées te donnent plus de contrôle sur leur qualité et leur pertinence. Combiner des sources de données publiques et personnalisées aide à créer un jeu de données diversifié et complet.

Link to this sectionÉ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 ton jeu de données. Cela conduit à un modèle qui fonctionne bien sur certaines données mais mal sur d'autres. Il est crucial d'éviter le biais dans l'IA afin que ton modèle de vision par ordinateur puisse fonctionner correctement dans divers scénarios.

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

  • Sources diversifiées : Collecte des données à partir de nombreuses sources pour capturer différentes perspectives et scénarios.
  • Représentation équilibrée : Inclus une représentation équilibrée de tous les groupes pertinents. Par exemple, prends en compte différents âges, genres et ethnies.
  • Surveillance continue : Examine et mets à jour régulièrement ton jeu de données pour identifier et traiter tout biais émergent.
  • Techniques d'atténuation des biais : Utilise des méthodes comme le suréchantillonnage des classes sous-représentées, l'augmentation de données et des algorithmes équitables.

Suivre ces pratiques aide à créer un modèle plus robuste et équitable, capable de bien généraliser dans des applications réelles.

Link to this sectionQu'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 précisément les relations entre les entrées et les sorties.

Link to this sectionTypes 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 de données. Voici quelques exemples :

  • Bounding Boxes : Boîtes rectangulaires tracées autour d'objets dans 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 pour les objets, permettant une annotation plus précise que les boîtes englobantes. Les polygones sont utilisés dans des tâches comme la segmentation d'instance, où la forme de l'objet est importante.
  • Masques : Masques binaires où chaque pixel appartient soit à un objet, soit à 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.
  • Keypoints : Points spécifiques marqués dans une image pour identifier des emplacements d'intérêt. Les keypoints sont utilisés dans des tâches comme l'estimation de pose et la détection de points de repère faciaux.

Data annotation types including bounding boxes, polygons, and masks

Link to this sectionFormats 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 incluent COCO, qui prend en charge divers types d'annotation comme la détection d'objets, la détection de keypoints, la segmentation d'objets divers, la segmentation panoptique, et la légende d'image, stockés au format JSON. Pascal VOC utilise des fichiers XML et est populaire pour les tâches de détection d'objets. YOLO, quant à lui, crée un fichier .txt pour chaque image, contenant des annotations comme la classe de l'objet, les coordonnées, la hauteur et la largeur, ce qui le rend adapté à la détection d'objets.

Link to this sectionTechniques d'annotation#

Maintenant, en supposant que tu as 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 incluent :

  • Clarté et détail : Assure-toi que tes instructions sont claires. Utilise des exemples et des illustrations pour montrer ce qui est attendu.
  • Cohérence : Maintiens tes annotations uniformes. Établis des critères standard pour annoter différents types de données, afin que toutes les annotations suivent les mêmes règles.
  • Réduction des biais : Reste neutre. Exerce-toi à être objectif et à minimiser tes biais personnels pour garantir des annotations équitables.
  • Efficacité : Travaille intelligemment, pas plus dur. Utilise 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.

Réviser et mettre à jour régulièrement tes règles d'étiquetage aidera à garder tes annotations précises, cohérentes et alignées avec les objectifs de ton projet.

Link to this sectionOutils d'annotation populaires#

Disons que tu es prêt à annoter maintenant. Plusieurs outils open-source sont disponibles pour aider à rationaliser le processus d'annotation de 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 fonctionnalités pour la gestion de projet et le contrôle qualité.
  • CVAT : Un outil puissant qui prend en charge divers 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 une annotation rapide des images avec des polygones, ce qui le rend idéal pour les tâches simples.
  • LabelImg : Un outil d'annotation d'image graphique facile à utiliser, particulièrement bon pour créer des annotations de boîtes englobantes au format YOLO.

LabelMe annotation tool for instance segmentation

These open-source tools are budget-friendly and provide a range of features to meet different annotation needs. Ultralytics Platform also provides a built-in annotation editor supporting detection, instance segmentation, pose, OBB, and classification annotations with SAM-powered smart annotation for spatial tasks.

Link to this sectionQuelques autres choses à considérer avant d'annoter les données#

Avant de te lancer dans l'annotation de tes données, il y a quelques autres points à garder à l'esprit. Tu dois être conscient de la précision, de la justesse, des valeurs aberrantes et du contrôle qualité pour éviter d'étiqueter tes données de manière contre-productive.

Link to this sectionComprendre la précision et la justesse#

Il est important de comprendre la différence entre la précision et la justesse et comment cela se rapporte à 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 des scénarios du monde réel. La justesse indique la cohérence des annotations. Elle vérifie si tu donnes la même étiquette au même objet ou caractéristique tout au long du jeu de données. Une précision et une justesse é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.

Accuracy vs precision comparison for data annotation

Link to this sectionIdentifier les valeurs aberrantes#

Les valeurs aberrantes sont des points de données qui s'écartent considérablement des autres observations dans le jeu de données. En ce qui concerne les annotations, une valeur aberrante pourrait ê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, conduisant à des prédictions inexactes et à une mauvaise généralisation.

Tu peux utiliser diverses méthodes pour détecter et corriger les valeurs aberrantes :

  • Techniques statistiques : Pour détecter les valeurs aberrantes dans des caractéristiques numériques comme les valeurs de pixels, les coordonnées de bbox ou les tailles d'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 des caractéristiques catégorielles comme les classes d'objets, les couleurs ou les formes, utilise des méthodes visuelles comme le traçage d'images, d'étiquettes ou de cartes de chaleur.
  • Méthodes algorithmiques : Utilise des outils comme le clustering (par exemple, le clustering K-means, DBSCAN) et des algorithmes de détection d'anomalies pour identifier les valeurs aberrantes basées sur les modèles de distribution des données.

Link to this sectionContrôle qualité des données annotées#

Tout comme pour d'autres projets techniques, le contrôle qualité est un must pour les données annotées. C'est une bonne pratique de vérifier régulièrement les annotations pour s'assurer qu'elles sont précises et cohérentes. Cela peut être fait de différentes manières :

  • Réviser des échantillons de données annotées
  • Utiliser des outils automatisés pour repérer les erreurs courantes
  • Demander à une autre personne de vérifier les annotations

Si tu travailles avec plusieurs personnes, la cohérence entre les différents annotateurs est importante. Un bon accord inter-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 d'être cohérentes.

Pendant la révision, si tu trouves des erreurs, corrige-les et mets à jour les directives pour éviter de futures erreurs. Fournis des retours aux annotateurs et propose une formation régulière pour aider à réduire les erreurs. Avoir un processus solide pour gérer les erreurs permet de garder ton jeu de données précis et fiable.

Link to this sectionStratégies efficaces d'étiquetage des données#

Pour rendre le processus d'étiquetage des données plus fluide et plus efficace, envisage de mettre en œuvre ces stratégies :

  • Directives d'annotation claires : Fournis des instructions détaillées avec des exemples pour t'assurer que tous les annotateurs interprètent les tâches de manière cohérente. Par exemple, lors de l'étiquetage d'oiseaux, précise s'il faut inclure l'oiseau entier ou seulement certaines parties.
  • Contrôles qualité réguliers : Établis des points de référence et utilise des métriques spécifiques pour examiner le travail, en maintenant des normes élevées grâce à des retours continus.
  • Utilise des outils de pré-annotation : De nombreuses plateformes d'annotation modernes offrent des fonctionnalités de pré-annotation assistées par IA qui peuvent accélérer considérablement le processus en générant automatiquement des annotations initiales que les humains peuvent ensuite affiner.
  • Implémente l'apprentissage actif : Cette approche donne la priorité à l'étiquetage des échantillons les plus informatifs en premier, ce qui peut réduire le nombre total d'annotations nécessaires tout en maintenant les performances du modèle.
  • Traitement par lots : Groupe des images similaires ensemble pour l'annotation afin de maintenir la cohérence et d'améliorer l'efficacité.

Ces stratégies peuvent aider à maintenir des annotations de haute qualité tout en réduisant le temps et les ressources nécessaires pour le processus d'étiquetage.

Link to this sectionPartage tes réflexions avec la communauté#

Discuter de tes idées et questions avec d'autres passionnés de vision par ordinateur peut t'aider à accélérer tes projets. Voici quelques excellents moyens d'apprendre, de dépanner et de réseauter :

Link to this sectionOù trouver de l'aide et du support#

  • GitHub Issues : Visite le dépôt YOLO26 GitHub et utilise l'onglet Issues pour poser des questions, signaler des bugs et suggérer des fonctionnalités. La communauté et les mainteneurs sont là pour t'aider avec tous les problèmes que tu rencontres.
  • Serveur Discord Ultralytics : Rejoins le serveur Discord Ultralytics pour te connecter avec d'autres utilisateurs et développeurs, obtenir du support, partager des connaissances et échanger des idées.

Link to this sectionDocumentation officielle#

  • Documentation YOLO26 Ultralytics : Reporte-toi à la documentation officielle YOLO26 pour des guides complets et des idées précieuses sur de nombreuses tâches et projets de vision par ordinateur.

Link to this sectionConclusion#

En suivant les meilleures pratiques pour collecter et annoter des données, en évitant les biais et en utilisant les bons outils et techniques, tu peux améliorer considérablement les performances de ton modèle. S'engager avec la communauté et utiliser les ressources disponibles te tiendra informé et t'aidera à résoudre les problèmes efficacement. Rappelle-toi, des données de qualité sont la base d'un projet réussi, et les bonnes stratégies t'aideront à construire des modèles robustes et fiables.

Link to this sectionFAQ#

Link to this sectionQuelle est la meilleure façon d'éviter les biais dans la collecte de données pour les projets de vision par ordinateur ?#

Éviter les biais dans la collecte de données garantit que ton modèle de vision par ordinateur fonctionne bien dans divers scénarios. Pour minimiser les biais, envisage de collecter des données à partir de sources diversifiées pour capturer différentes perspectives et scénarios. Assure une représentation équilibrée parmi tous les groupes pertinents, comme les différents âges, genres et ethnies. Examine et mets à jour régulièrement ton jeu de données pour identifier et traiter tout biais émergent. Des techniques telles que le suréchantillonnage des classes sous-représentées, l'augmentation de données et les algorithmes équitables peuvent également aider à atténuer les biais. En employant ces stratégies, tu maintiens un jeu de données robuste et équitable qui améliore la capacité de généralisation de ton modèle.

Link to this sectionComment puis-je garantir une cohérence et une précision élevées dans l'annotation des données ?#

Assurer une cohérence et une précision élevées dans l'annotation des données implique d'é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 définissant des critères standard pour annoter divers types de données, en s'assurant que toutes les annotations suivent les mêmes règles. Pour réduire les biais personnels, forme les annotateurs à rester neutres et objectifs. Des révisions et des mises à jour régulières des règles d'étiquetage aident à maintenir la précision et l'alignement avec les objectifs du projet. Utiliser des outils automatisés pour vérifier la cohérence et obtenir des retours d'autres annotateurs contribue également au maintien d'annotations de haute qualité.

Link to this sectionCombien d'images dois-je avoir pour entraîner les modèles Ultralytics YOLO ?#

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

Link to this sectionQuels sont les outils populaires pour l'annotation de données ?#

Plusieurs outils open-source populaires peuvent rationaliser le processus d'annotation de données :

  • Label Studio : Un outil flexible prenant en charge diverses tâches d'annotation, la gestion de projet et des fonctionnalités de contrôle 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 une annotation d'image rapide et directe avec des polygones.
  • LabelImg : Parfait pour créer des annotations de boîtes englobantes au format YOLO avec une interface simple.

Ces outils peuvent aider à améliorer l'efficacité et la précision de tes flux de travail d'annotation. Pour des listes de fonctionnalités complètes et des guides, reporte-toi à notre documentation sur les outils d'annotation de données.

Link to this sectionQuels types d'annotation de données sont couramment utilisés en vision par ordinateur ?#

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

  • Bounding Boxes : Utilisées principalement pour la détection d'objets, ce sont des boîtes rectangulaires autour des objets dans une image.
  • Polygones : Fournissent des contours d'objets plus précis adaptés aux tâches de segmentation d'instance.
  • 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 : Identifient des points d'intérêt spécifiques dans une image, utiles pour des tâches comme l'estimation de pose et la détection de points saillants du visage.

Le choix du type d'annotation approprié dépend des exigences de ton projet. Apprends-en davantage sur la façon d'implémenter ces annotations et leurs formats dans notre guide d'annotation de données.

Commentaires