Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant

Gestion intelligente des ensembles de données en vision par ordinateur avec Ultralytics

Découvrez comment utiliser Ultralytics pour optimiser la gestion de vos ensembles de données dans vos projets de vision par ordinateur. Suivez, comparez et améliorez vos ensembles de données en toute simplicité.

Développez vos projets de vision par ordinateur avec Ultralytics

Démarrer

L'IA visuelle, ou vision par ordinateur, a beaucoup évolué depuis ses débuts, passant d'un domaine de recherche expérimentale à une technologie clé au service d'applications concrètes. Aujourd'hui, les passionnés d'IA peuvent créer des modèles performants pour des tâches telles que la détection d'objets et la segmentation d'instances à l'aide d'outils et de frameworks accessibles.

Cependant, alors que ces applications passent du stade expérimental à celui de la production, la gestion des ensembles de données reste un enjeu crucial, mais souvent négligé. À mesure que les ensembles de données de vision par ordinateur gagnent en volume et en complexité, les équipes ont souvent du mal à maintenir la cohérence des annotations, track d'une version à l'autre et à garantir la qualité globale des données.

Même les modèles les plus avancés peuvent s'avérer inefficaces dans des conditions réelles si les données utilisées pour leur apprentissage sont incomplètes, déséquilibrées ou mal gérées. Cet écart croissant entre les performances en phase de développement et la fiabilité en conditions réelles explique pourquoi une approche plus structurée de la gestion des ensembles de données s'impose.

Une autre limite courante réside dans le fait que la collecte, l'annotation et l'entraînement des données sont souvent gérés à l'aide d'outils distincts. Un flux de travail fragmenté complique la gestion efficace des ensembles de données, augmente le risque d'incohérences et ralentit le processus d'itération.

Pour remédier aux obstacles liés à l'IA visuelle, tels que la gestion des ensembles de données et la fragmentation des flux de travail, nous avons récemment lancé Ultralytics . Il s'agit d'un espace de travail de bout en bout qui regroupe la gestion des ensembles de données, l'annotation, l'entraînement, le déploiement et la surveillance au sein d'un flux de travail unique et unifié. 

En reliant toutes les étapes du cycle de vie de la vision par ordinateur, il devient plus facile de track les modifications apportées track , de comparer les performances entre les différentes versions et d'affiner en permanence vos données pour obtenir de meilleurs résultats.

Fig. 1. Exemple de visualisation des images de votre ensemble de données dans Ultralytics (Source)

Dans cet article, nous allons voir comment Ultralytics vous aide à track, comparer et améliorer vos ensembles de données afin de créer des modèles de vision par ordinateur plus fiables. C'est parti ! 

L'importance de la gestion des ensembles de données en vision par ordinateur

Les performances d'un modèle de vision par ordinateur sont étroitement liées aux données sur lesquelles il a été entraîné. La précision du modèle, c'est-à-dire la fréquence à laquelle ses prédictions sont correctes, ne dépend pas seulement de l'algorithme, mais aussi de la capacité de l'ensemble de données à refléter fidèlement les conditions réelles. 

En termes simples, un modèle apprend des schémas directement à partir des données ; ainsi, toute lacune, tout biais ou toute incohérence dans l'ensemble de données peut influencer la manière dont il effectue ses prédictions. En d'autres termes, des données de mauvaise qualité, des annotations erronées ou une couverture insuffisante des variations observées dans le monde réel au niveau des images – telles que les différentes conditions d'éclairage, les angles des objets, les arrière-plans ou les niveaux d'occlusion – peuvent réduire considérablement la précision, même si l'architecture du modèle est solide en soi.

Cela vaut également pour le réglage fin d'un modèle, qui consiste à entraîner davantage un modèle pré-entraîné sur des données nouvelles ou mises à jour afin de mieux l'adapter à un cas d'utilisation ou à un environnement spécifique. Étant donné que la précision d'un modèle dépend fortement des données, il est essentiel de gérer ces données de manière appropriée. 

La gestion des ensembles de données consiste à organiser, étiqueter et mettre à jour en permanence les données afin qu'elles restent précises et pertinentes. Cela facilite l'amélioration des performances au fil du temps, notamment lors du réentraînement ou du réglage fin des modèles sur de nouvelles données.

Comment la qualité des ensembles de données influe sur la fiabilité dans la pratique

Les cas d'utilisation de la vision par ordinateur, tels que les systèmes de surveillance de sécurité, illustrent parfaitement pourquoi une gestion adéquate des données est essentielle. Ces systèmes doivent fonctionner de manière fiable dans diverses conditions réelles, notamment dans différents environnements d'éclairage, avec différents angles de caméra, différents niveaux d'affluence et en présence d'occlusions partielles.

Si les données d'entraînement ne couvrent pas ces variations ou ne présentent pas suffisamment de diversité quant à l'apparence des objets dans différentes scènes et conditions, le modèle peut avoir du mal à detect avec précision. Par exemple, un modèle entraîné principalement sur des scènes bien éclairées et dégagées peut afficher de mauvaises performances dans des environnements peu éclairés ou des lieux très fréquentés. Dans les systèmes de sécurité, cela peut entraîner des événements manqués ou de fausses alertes.

Pour éviter cela, il est important de disposer d'ensembles de données qui soient non seulement propres et correctement étiquetés, mais aussi bien équilibrés et mis à jour en permanence. Cela implique d'identifier les lacunes dans les données, d'ajouter de nouveaux exemples à mesure que les conditions évoluent et de veiller à ce que les différentes classes et les différents environnements soient représentés de manière homogène. 

Grâce à un ensemble de données plus complet et mieux structuré, les modèles sont mieux à même de gérer la variabilité observée dans la réalité et de produire des prévisions plus fiables.

Aspects clés de la gestion des ensembles de données

Concrètement, en quoi consiste la gestion des ensembles de données ? Elle consiste à organiser, étiqueter et mettre à jour les données afin qu'elles puissent être utilisées efficacement tout au long du processus de développement du modèle.

L'organisation des données consiste, par exemple, à structurer l'ensemble de données et à le diviser en ensembles d'apprentissage, de validation et de test. L'ensemble d'apprentissage sert à entraîner le modèle, l'ensemble de validation permet de contrôler les performances et d'orienter les ajustements pendant le développement, tandis que l'ensemble de test sert à évaluer les performances du modèle final sur des données totalement inconnues.

Par ailleurs, l'étiquetage consiste à annoter des images avec des informations telles que des étiquettes de classe, des cadres de sélection ou des masques de segmentation. Étant donné que le modèle apprend à partir de ces annotations, la précision et la cohérence sont essentielles pour lui permettre d'apprendre des modèles significatifs et de faire des prédictions fiables.

De plus, la gestion de l'ensemble de données implique de vérifier et de mettre à jour les données au fil du temps. Cela peut notamment consister à corriger les erreurs d'annotation, à supprimer les données de mauvaise qualité ou les doublons, et à ajouter de nouveaux exemples afin de couvrir les cas manquants ou les changements de conditions. 

Plus généralement, la gestion des ensembles de données est un processus continu. À mesure que les modèles sont évalués et que de nouvelles données sont collectées, les ensembles de données doivent être mis à jour afin de refléter les conditions réelles et les cas limites. Le suivi de ces mises à jour et la comparaison des différentes versions aident les équipes à comprendre ce qui améliore les performances et où des modifications supplémentaires sont nécessaires.

Gestion des ensembles de données avec Ultralytics

Ultralytics offre un flux de travail structuré permettant de gérer les ensembles de données au sein d'un environnement unique, couvrant toutes les étapes, de la préparation des données à leur exportation. Elle est conçue pour accompagner aussi bien les développeurs individuels que les équipes, facilitant ainsi la gestion cohérente des ensembles de données, que vous travailliez de manière autonome ou en collaboration sur plusieurs projets.

Chaque étape est conçue pour simplifier l'organisation, le traitement et l'utilisation des ensembles de données tout au long du cycle de développement du modèle. En regroupant ces étapes en un seul endroit, la plateforme réduit la fragmentation et facilite le maintien de la cohérence entre les flux de travail.

Voyons maintenant quelles sont les principales étapes à suivre et comment la plateforme facilite chacune d'entre elles.

Téléchargement d'ensembles de données sur Ultralytics

La prise en main des ensembles de données sur la plateforme est flexible, et il existe plusieurs façons d'importer ou de réutiliser des données. Vous pouvez télécharger vos propres données ou vous lancer plus rapidement en utilisant les ensembles de données publics disponibles sur la plateforme. Vous pouvez également cloner des ensembles de données existants partagés par la communauté et vous en servir comme base.

Les fonctionnalités communautaires de la plateforme facilitent l'exploration et la réutilisation des travaux existants. Grâce à l'accès aux ensembles de données créés par d'autres utilisateurs, notamment des millions d'images et d'annotations, vous pouvez vous lancer rapidement sans avoir à collecter et à étiqueter tout vous-même. Le clonage d'un ensemble de données crée une copie dans votre espace de travail, ce qui vous permet de le modifier et de l'enrichir tout en conservant l'original.

Pour les téléchargements, la plateforme prend en charge les images individuelles, les vidéos et les archives de jeux de données telles que les fichiers ZIP, TAR ou GZ. Elle prend également en charge les formats de jeux de données couramment utilisés, comme YOLO COCO, ce qui facilite l'importation de jeux de données et d'annotations existants sans conversion supplémentaire. De plus, vous pouvez télécharger un jeu de données à l'aide d'un fichier NDJSON exporté depuis la plateforme, ce qui permet de recréer ou de réutiliser facilement des jeux de données d'un projet à l'autre.

Une fois les données téléchargées, la plateforme les traite via un pipeline structuré. Ce processus comprend la validation des formats et de la taille des fichiers, le redimensionnement des images si nécessaire, l'analyse des annotations et la génération de statistiques sur l'ensemble de données.

Par exemple, les vidéos sont converties en images afin de pouvoir être utilisées pour l'entraînement, tandis que les images sont optimisées et préparées pour faciliter leur consultation et leur analyse. Une fois le traitement terminé, les ensembles de données sont prêts à être utilisés pour l'annotation, l'analyse et l'entraînement des modèles au sein de la plateforme.

Annotation des données sur Ultralytics

Une fois téléchargés, les ensembles de données peuvent être examinés et annotés directement sur la plateforme. Celle-ci intègre des outils d'annotation d'images destinés à diverses tâches de vision par ordinateur, telles que la détection d'objets, la segmentation d'instances, l'estimation de la pose, la détection de cadres de sélection orientés (OBB) et la classification d'images.

Fig. 2. Utilisation de Ultralytics pour l'étiquetage des données (Source)

Les annotations peuvent être créées manuellement à l'aide de ces outils ou générées plus rapidement grâce à des fonctionnalités assistées par l'IA, telles que l'annotation intelligente SAM. Avec SAM, vous pouvez générer des masques, des cadres de sélection ou des cadres orientés en interagissant avec l'image, ce qui permet d'accélérer le processus d'étiquetage tout en garantissant la précision.

Analyse de la qualité des ensembles de données via Ultralytics

Outre la préparation et l'annotation des données, il est essentiel de bien comprendre la qualité des ensembles de données pour développer des modèles de vision par ordinateur fiables. Sans une vision claire des facteurs tels que la répartition des classes, la qualité des annotations, le fractionnement des ensembles de données et la manière dont les données sont représentées dans différentes conditions, il peut s'avérer difficile de détecter les problèmes qui affectent les performances des modèles.

Ultralytics intègre des fonctionnalités permettant d'analyser plus efficacement les ensembles de données. Ces informations sont accessibles directement depuis l'interface de l'ensemble de données, dans des onglets tels que « Images », « Classes » et « Graphiques ».

Dans l'onglet « Graphiques », vous pouvez consulter des statistiques au niveau de l'ensemble de données, telles que la répartition des données (entraînement, validation et test), la fréquence des classes et les cartes thermiques d'annotation qui indiquent où les objets apparaissent dans les images. 

L'onglet « Classes » présente une ventilation du nombre d'annotations par classe, ce qui permet de repérer plus facilement les déséquilibres entre les classes. Quant à l'onglet « Images », il affiche des informations au niveau des images, telles que leurs dimensions, le nombre d'annotations et la répartition des étiquettes sur chaque image.

Ces informations permettent d'identifier plus facilement des problèmes tels que le déséquilibre entre les classes, l'absence de certains scénarios ou une répartition inégale des données. Par exemple, vous pourriez remarquer que certaines classes ne comptent que très peu d'exemples ou que la plupart des annotations se concentrent dans des zones spécifiques d'une image.

Au-delà de l'analyse des données, la plateforme prend en charge la curation et l'enrichissement des ensembles de données, c'est-à-dire le perfectionnement de ces derniers en corrigeant ou en supprimant les données problématiques et en créant des variantes des données existantes afin d'améliorer les performances des modèles. Ces améliorations peuvent être apportées directement au sein de la plateforme en mettant à jour les annotations, en ajoutant de nouvelles données ou en réorganisant la répartition des ensembles de données à la lumière des conclusions tirées de l'analyse.

Exportation d'ensembles de données depuis Ultralytics

Une fois qu'un ensemble de données a été préparé et validé, il peut être exporté pour être utilisé dans différents environnements. Cela vous offre la possibilité d'utiliser vos données de vision par ordinateur où vous le souhaitez, que ce soit pour entraîner des modèles en local, dans le cloud ou dans d'autres outils et flux de travail.

Ultralytics prend en charge plusieurs formats d'exportation, notamment YOLO, COCO et NDJSON, ce qui facilite l'intégration des ensembles de données dans différents workflows et outils d'entraînement.

Fig. 3. Exportation d'un ensemble de données depuis Ultralytics (Source)

L'exportation d'un ensemble de données permet de créer un instantané figé des données à un moment précis, comprenant leurs images, leurs annotations et leur structure. Cette fonctionnalité est utile car les ensembles de données évoluent souvent à mesure que de nouvelles données sont ajoutées, que les annotations sont mises à jour ou que les divisions sont ajustées. En exportant un instantané, vous pouvez conserver la version exacte de l'ensemble de données utilisée pour un cycle d'entraînement donné.

Cela facilite la reproduction des résultats ultérieurement, car vous pouvez entraîner à nouveau un modèle sur le même ensemble de données et comparer les performances entre différentes versions de l'ensemble de données. Par exemple, vous pouvez déterminer si l'ajout de nouvelles images ou la correction d'annotations améliore réellement la précision du modèle, plutôt que d'essayer de deviner ce qui a changé.

Les exportations sont traitées de manière asynchrone ; une fois prêtes, les données peuvent être téléchargées et utilisées dans des environnements d'entraînement locaux, sur le cloud ou hors ligne.

Améliorer la qualité des ensembles de données grâce à des itérations sur Ultralytics

Dans les processus d'apprentissage automatique et d'apprentissage profond, la gestion des ensembles de données se poursuit même après le déploiement, car les données réelles diffèrent souvent de celles utilisées lors de l'entraînement. 

À mesure que les modèles sont confrontés à de nouvelles données, les lacunes du jeu de données – telles que l'absence de certaines conditions (par exemple, les environnements peu éclairés), les différents angles de prise de vue, les occlusions ou les scènes très animées – ainsi que les erreurs d'annotation, deviennent plus évidentes, ce qui rend nécessaire d'affiner les données au fil du temps.

Il existe plusieurs façons d'améliorer un ensemble de données. Vous pouvez ajouter de nouvelles images ou vidéos afin de couvrir les conditions manquantes, telles que les environnements peu éclairés, différents angles de prise de vue, les occlusions ou les scènes très fréquentées, ce qui permet de réduire les lacunes dans les données. 

Par ailleurs, veiller à ce que les annotations soient exactes et cohérentes, par exemple en s'assurant que les objets sont correctement étiquetés et que les cadres de sélection ou les masques sont précis, aide le modèle à apprendre des schémas plus fiables.

Ce processus suit généralement une boucle simple : entraîner le modèle, évaluer les résultats, identifier les erreurs, améliorer l'ensemble de données, puis réentraîner le modèle. Chaque étape permet de mettre en évidence des problèmes tels que des annotations erronées, des données manquantes ou des cas sous-représentés.

Imaginons que vous travailliez sur un système de surveillance en temps réel des rayons de magasin destiné à detect en rayon. Les premières versions de l'ensemble de données peuvent ne pas inclure certains types de produits, certaines conditions d'éclairage ou des rayons très chargés. Lors de l'évaluation, vous remarquerez peut-être que le modèle a du mal à detect dans ces situations.

Pour améliorer les performances, vous pouvez collecter de nouvelles images couvrant ces scénarios manquants et mettre à jour les annotations si nécessaire. Au fil du temps, la répétition de ce processus permet au modèle de gagner en précision et en fiabilité dans des conditions réelles.

Ultralytics prend en charge ce processus en reliant les mises à jour des ensembles de données aux phases d'entraînement et d'évaluation. Grâce à ses fonctionnalités intégrées de suivi des expériences et à ses indicateurs de performance, il devient plus facile de suivre les progrès et d'améliorer continuellement les ensembles de données au fil du temps.

Suivi des modifications apportées aux ensembles de données à l'aide de Ultralytics

Nous avons brièvement abordé la manière dont les ensembles de données évoluent au fil du temps dans le cadre du processus de développement des modèles. À mesure que de nouvelles données sont ajoutées, que les annotations sont affinées et que les classes sont mises à jour, il devient essentiel track changements pour préserver la qualité des données et garantir la cohérence des performances des modèles.

Voici quelques-unes des principales fonctionnalités Ultralytics qui permettent le suivi des ensembles de données et la gestion des versions :

  • Gestion des versions des ensembles de données: Vous pouvez créer des versions fixes d'ensembles de données sous forme d'instantanés NDJSON. Chaque version enregistre des informations clés telles que le nombre d'images, le nombre de classes, le nombre d'annotations et la taille de l'ensemble de données à un moment donné. Ces versions sont archivées et peuvent être téléchargées ultérieurement, ce qui facilite la reproduction des expériences et la comparaison des résultats entre différents états de l'ensemble de données.
  • Onglet « Versions » : toutes les versions de l'ensemble de données sont regroupées dans l'onglet « Versions », où vous pouvez consulter l'historique des versions, ajouter des descriptions aux modifications et track l'ensemble de données au fil du temps.
  • Lien vers les modèles : l'onglet « Modèles » affiche tous les modèles entraînés sur un ensemble de données, y compris des indicateurs tels que mAP les détails de l'entraînement. Les versions de l'ensemble de données sont associées aux sessions d'entraînement, ce qui vous aide à comprendre l'impact des modifications apportées aux données sur les performances des modèles.
  • Onglet « Erreurs » : l'onglet « Erreurs » met en évidence les fichiers qui ont posé problème lors du traitement, en fournissant des détails sur les erreurs et des suggestions. Cela vous permet d'identifier et de résoudre des problèmes tels que des fichiers endommagés ou des formats non pris en charge avant le traitement.
  • Interface du jeu de données (onglets « Images » et « Classes ») : ces vues vous permettent de parcourir les images, de consulter les annotations, de gérer les étiquettes de classe et d'analyser la répartition des classes. Des fonctionnalités telles que le filtrage, le tri et l'identification des images non annotées facilitent le suivi de la qualité du jeu de données au fil du temps.
  • Statistiques et graphiques : les visualisations de données intégrées, telles que la répartition par segments, les histogrammes et les cartes thermiques d'annotations, permettent de track de la répartition des données et d'identifier les déséquilibres à mesure que l'ensemble de données évolue.
Fig. 4. Aperçu de l'analyse de la répartition des classes d'un ensemble de données sur Ultralytics (Source)

Intégration des ensembles de données aux processus d'entraînement et de déploiement au sein de la Ultralytics

Ultralytics relie les différentes étapes du développement des modèles d'IA au sein d'un pipeline unique. Cela permet de rationaliser le processus menant des données brutes à des applications d'IA visuelle prêtes à être mises en production.

Une fois les ensembles de données préparés et annotés, ils peuvent être utilisés pour entraîner des modèles de vision par ordinateur, tels que Ultralytics , directement au sein de la plateforme. Pendant l'entraînement, vous pouvez surveiller les indicateurs de performance, track et évaluer la qualité de l'apprentissage du modèle à l'aide des tableaux de bord intégrés.

Fig. 5. Aperçu des indicateurs de formation des modèles de visualisation sur Ultralytics (Source)

Une fois l'entraînement terminé, les modèles peuvent être testés sur de nouvelles images directement dans le navigateur afin d'évaluer les prédictions et d'identifier les points à améliorer avant leur déploiement. Lorsque le modèle fonctionne correctement, il peut être déployé en production. 

La plateforme permet d'exporter des modèles vers plusieurs formats ou de les déployer via des services d'inférence et des points de terminaison dédiés, ce qui permet de les exécuter dans différents environnements.

Une fois déployés, les outils de surveillance intégrés permettent de track les performances track au fil du temps, notamment les indicateurs relatifs à l'utilisation et au comportement des modèles. Cela facilite la maintenance et l'amélioration des systèmes d'IA visuelle dans les applications concrètes.

Bonnes pratiques pour la gestion des ensembles de données avec Ultralytics

Voici quelques éléments clés à garder à l'esprit lorsque vous gérez vos ensembles de données à l'aide de la Ultralytics :

  • Utilisez des filtres pour repérer les lacunes : identifiez les données non annotées ou sous-représentées à l'aide d'outils de filtrage, ce qui facilite la saisie des annotations et améliore la couverture.
  • Corrigez les erreurs dès le début : utilisez l'onglet « Erreurs » pour le contrôle qualité afin de détecter les téléchargements ayant échoué, les fichiers endommagés ou les formats non pris en charge avant le début de la formation.
  • Mettre à jour les ensembles de données en continu : ajouter de nouvelles données, corriger les annotations et intégrer les cas limites dès qu'ils apparaissent. Cela permet d'améliorer la couverture et garantit la fiabilité des modèles dans des situations réelles.
  • Gérez soigneusement le fractionnement des ensembles de données : veillez à maintenir un bon équilibre entre les ensembles d'apprentissage, de validation et de test. Vous pouvez réorganiser le fractionnement manuellement ou recourir à la redistribution automatique si nécessaire.

Pour en savoir plus sur Ultralytics , consultez la Ultralytics officielle Ultralytics .

Principaux points à retenir

À mesure que les projets de vision par ordinateur prennent de l'ampleur, la gestion efficace des ensembles de données devient tout aussi importante que le développement des modèles. Une approche structurée de la gestion des ensembles de données permet d'améliorer la qualité des données, de rationaliser les flux de travail et d'optimiser les performances des modèles au fil du temps.

Ultralytics simplifie ce processus en regroupant la gestion des ensembles de données, l'entraînement et le déploiement au sein d'un flux de travail unique. En adoptant une approche structurée de la gestion des ensembles de données, les équipes peuvent réduire la complexité, améliorer l'efficacité et mettre au point des systèmes de vision par ordinateur plus évolutifs et plus fiables.

Rejoignez notre communauté en pleine expansion et explorez notre référentiel GitHub pour découvrir nos ressources en matière d'IA. Pour développer dès aujourd'hui des solutions d'IA visuelle, consultez nos options de licence. Découvrez comment l'IA transforme l'agriculture et comment l'IA visuelle façonne l'avenir du secteur de la santé en visitant nos pages Solutions.

Construisons ensemble l'avenir de l'IA !

Commencez votre parcours avec l'avenir de l'apprentissage automatique