Meet YOLO26: next-gen vision AI.

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

La collecte et l'annotation de données sont les deux étapes fondamentales de tout projet de vision par ordinateur : tu rassembles des images ou des vidéos représentatives, puis tu les étiquettes pour qu'un modèle puisse apprendre à partir d'elles. La qualité de ces données détermine directement les performances du modèle, c'est pourquoi la définition des classes, le sourcing non biaisé et une annotation cohérente sont essentiels avant même de commencer l'entraînement.



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

Ce guide couvre la configuration des classes et la collecte de données, ce qu'est l'annotation de données ainsi que les types d'annotation et les formats parmi lesquels choisir, et des stratégies d'étiquetage efficaces — chaque décision étant alignée avec les objectifs de ton projet.

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

La collecte d'images et de vidéos pour un projet de vision par ordinateur repose sur trois décisions : combien de classes définir, où sourcer les données et comment maintenir le jeu de données exempt de biais.

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". En revanche, pour le suivi d'articles dans un magasin, tes classes pourraient être "fruits", "légumes", "boissons" et "snacks". Définir des classes en fonction des objectifs de ton projet permet de 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 décompte de classes grossier ou fin. 'Décompte' fait référence au nombre 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 points à considérer pour chaque approche :

  • Décompte de classes grossier : Ce sont des 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 computationnelles mais fournissent moins d'informations détaillées, ce qui pourrait limiter l'efficacité du modèle dans des scénarios complexes.
  • Décompte de classes fin : Davantage 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 la précision et les performances du modèle. Cependant, elles sont plus longues et plus laborieuses à annoter et nécessitent davantage de ressources computationnelles.

Commencer avec des classes plus spécifiques peut être très utile, surtout dans les 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 profonds et d'établir des distinctions plus claires entre les catégories. Cela améliore non seulement la précision du modèle, mais facilite aussi l'ajustement du modèle plus tard 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. Des jeux de données publics comme ceux disponibles 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 survient 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 les biais dans l'IA afin que ton modèle de vision par ordinateur puisse bien fonctionner 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 : Inclue une représentation équilibrée de tous les groupes pertinents. Par exemple, prends en compte différents âges, genres et ethnicités.
  • 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 axés sur l'équité.

Suivre ces pratiques aide à créer un modèle plus robuste et équitable, capable de bien se 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 consistant à étiqueter 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.

Link to this sectionTypes d'annotation de données#

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

  • Bounding Boxes : Boîtes rectangulaires dessinées autour des 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 : Contour détaillé des objets, permettant une annotation plus précise que les bounding boxes. 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 fait soit partie 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.
  • 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 les plus courants sont :

FormatStructure de fichierCouramment utilisé pour
COCOFichier JSON uniqueDétection d'objets, segmentation d'instance, détection de points clés, segmentation « stuff » et panoptique, légendage d'images
Pascal VOCUn fichier XML par imageDétection d'objets
YOLOUn fichier .txt par imageDétection d'objets, segmentation et pose

Le format YOLO stocke une ligne par objet avec des indices de classe commençant à 0. Pour la détection d'objets, la ligne est class x_center y_center width height avec des coordonnées normalisées de 0 à 1, tandis que la segmentation ajoute des points de polygone normalisés et la pose ajoute les coordonnées des points clés ainsi que des valeurs de visibilité optionnelles après la boîte.

Link to this sectionÉtablir des directives d'annotation#

Une fois le type d'annotation et le format choisis, l'étape suivante consiste à établir des règles d'étiquetage claires et objectives. Ces règles servent de 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 : Garde 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. Apprends à être objectif et à minimiser tes biais personnels pour garantir des annotations équitables.
  • Efficacité : Travaille intelligemment, pas plus dur. Utilise des outils et des workflows 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#

Un bon outil d'annotation te permet d'étiqueter chaque type nécessaire à ta tâche, impose des directives cohérentes et exporte les étiquettes dans un format prêt pour l'entraînement. Ultralytics Platform propose un éditeur d'annotation intégré couvrant la détection, la segmentation d'instance, la pose, l'OBB et la classification, avec une annotation intelligente optimisée par SAM qui transforme un simple clic en masque pour les tâches de détection, de segmentation et d'OBB. Comme chaque annotation est enregistrée au format YOLO, ton jeu de données étiqueté passe directement à l'entraînement sans étape de conversion.

Link to this sectionQualité de l'annotation : exactitude, précision et valeurs aberrantes#

Avant d'annoter à grande échelle, il est utile de comprendre l'exactitude, la précision, les valeurs aberrantes et le contrôle qualité, afin de ne pas étiqueter tes données de manière contre-productive.

Link to this sectionComprendre l'exactitude et la précision#

Il est important de comprendre la différence entre l'exactitude et la précision et comment cela se rapporte à l'annotation. L'exactitude 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 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 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.

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 assez significativement 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 bounding box ou les tailles d'objets, tu peux utiliser des méthodes telles que les boîtes à moustaches (box plots), les histogrammes ou les z-scores.
  • 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 (heat maps).
  • Méthodes algorithmiques : Utilise des outils comme le clustering (ex: K-means clustering, DBSCAN) et des algorithmes de détection d'anomalies pour identifier les valeurs aberrantes basées sur des modèles de distribution de 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 indispensable pour les données annotées. Il est de bonne pratique de vérifier régulièrement les annotations pour s'assurer qu'elles sont exactes et cohérentes. Cela peut être fait de plusieurs manières :

  • Passer en revue 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.

Lors de la révision, si tu trouves des erreurs, corrige-les et mets à jour les directives pour éviter de futures erreurs. Fournis des commentaires 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 exact 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 juste certaines parties.
  • Contrôles qualité réguliers : Établis des benchmarks et utilise des métriques spécifiques pour examiner le travail, en maintenant des standards élevés grâce à des commentaires continus.
  • Utiliser des outils de pré-annotation : De nombreuses plateformes d'annotation modernes offrent des fonctionnalités de pré-annotation assistées par l'IA qui peuvent accélérer considérablement le processus en générant automatiquement des annotations initiales que les humains peuvent ensuite affiner.
  • Mettre en œuvre 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 : Regroupe des images similaires 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 requis pour le processus d'étiquetage.

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

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

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

  • Problèmes GitHub : Visite le dépôt GitHub de YOLO26 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 Ultralytics YOLO26 : Référe-toi à la documentation officielle de YOLO26 pour des guides complets et des informations précieuses sur de nombreuses tâches et projets de vision par ordinateur.

Link to this sectionConclusion#

Collecter des données diversifiées et non biaisées et les annoter de manière cohérente avec les bons outils est la fondation d'un modèle de vision par ordinateur fiable. Une fois ton jeu de données collecté et étiqueté, poursuis avec le guide des étapes d'un projet de vision par ordinateur pour passer à l'entraînement et à l'évaluation.

Link to this sectionFAQ#

Link to this sectionQuel est le meilleur moyen d'éviter les biais dans la collecte de données pour les projets de vision par ordinateur ?#

Pour minimiser les biais, collecte des données provenant de sources diverses, assure une représentation équilibrée entre tous les groupes pertinents (comme les différents âges, genres et ethnicités), examine et mets à jour régulièrement ton jeu de données pour détecter les biais émergents, et applique des techniques d'atténuation telles que le suréchantillonnage des classes sous-représentées, l'augmentation de données et les algorithmes soucieux d'équité. Éviter les biais de cette manière permet à ton modèle de vision par ordinateur de conserver de bonnes performances dans des scénarios réels variés et améliore sa capacité de généralisation.

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

Établis des directives d'étiquetage claires et objectives avec des instructions détaillées, des exemples et des illustrations, puis applique-les uniformément à tous les types de données afin que chaque annotation suive les mêmes règles. Forme les annotateurs à rester neutres pour réduire les biais personnels, examine et mets à jour les directives régulièrement, et utilise des vérifications de cohérence automatisées ainsi que les retours entre annotateurs pour maintenir une précision élevée et alignée avec les objectifs de ton projet.

Link to this sectionCombien d'images sont nécessaires pour entraîner les modèles YOLO d'Ultralytics ?#

Quelques centaines d'objets annotés par classe suffisent pour commencer à expérimenter avec le transfer learning, mais pour des performances réelles fiables, Ultralytics recommande au moins 1 500 images et 10 000 instances étiquetées par classe. Associe un jeu de données suffisamment grand à un calendrier d'entraînement raisonnable — environ 300 epochs est un point de départ courant, à réduire si le modèle présente un surapprentissage précoce — et assure-toi que tes annotations restent rigoureuses et alignées avec les objectifs spécifiques de ton projet. Explore les stratégies d'entraînement détaillées dans le guide d'entraînement YOLO26.

Link to this sectionUltralytics fournit-il un outil d'annotation de données ?#

Oui. Ultralytics Platform inclut un éditeur d'annotation intégré qui prend en charge les boîtes englobantes, les polygones, les points clés, les boîtes orientées et les étiquettes de classification dans un espace de travail unique. L'annotation intelligente optimisée par SAM accélère l'étiquetage pour les tâches de détection, de segmentation et d'OBB en générant des masques à partir d'un simple clic, et chaque annotation est stockée au format YOLO, prête pour l'entraînement.

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

Les types d'annotation de données les plus courants en vision par ordinateur sont les boîtes englobantes, les polygones, les masques et les points clés, chacun étant adapté à une tâche différente :

  • 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.
  • Keypoints : 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 de repère faciaux.

La sélection du type d'annotation approprié dépend des besoins 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