Vue d'ensemble des jeux de données

Ultralytics prend en charge divers jeux de données pour faciliter les tâches de vision par ordinateur telles que la détection, la segmentation d'instance, la segmentation sémantique, l'estimation de pose, la classification et le suivi multi-objets. Vous trouverez ci-dessous une liste des principaux jeux de données Ultralytics, suivie d'un résumé de chaque tâche de vision par ordinateur et des jeux de données correspondants.



Watch: Ultralytics Datasets Overview

Détection d'objets

La détection d'objets par boîte englobante est une technique de vision par ordinateur qui consiste à détecter et localiser des objets dans une image en dessinant une boîte englobante autour de chaque objet.

  • African-wildlife : Un jeu de données contenant des images de la faune africaine, notamment des buffles, des éléphants, des rhinocéros et des zèbres.
  • Argoverse : Un jeu de données contenant des données de suivi 3D et de prévision de mouvement issues d'environnements urbains avec des annotations riches.
  • Brain-tumor : Un jeu de données pour la détection des tumeurs cérébrales comprenant des images d'IRM ou de scanner avec des détails sur la présence, l'emplacement et les caractéristiques de la tumeur.
  • COCO : Common Objects in Context (COCO) est un jeu de données à grande échelle pour la détection d'objets, la segmentation et la génération de légendes avec 80 catégories d'objets.
  • COCO8 : Un sous-ensemble plus petit des 4 premières images de COCO train et COCO val, adapté aux tests rapides.
  • COCO8-Grayscale : Une version en niveaux de gris de COCO8 créée en convertissant le RVB en niveaux de gris, utile pour l'évaluation de modèles monocanal.
  • COCO8-Multispectral : Une version multispectrale à 10 canaux de COCO8 créée par interpolation des longueurs d'onde RVB, utile pour l'évaluation de modèles sensibles au spectre.
  • COCO128 : Un sous-ensemble plus petit des 128 premières images de COCO train et COCO val, adapté aux tests.
  • Construction-PPE : Un jeu de données d'images de chantiers de construction annotées avec des équipements de sécurité essentiels tels que des casques, des gilets, des gants, des bottes et des lunettes de protection, ainsi que des étiquettes pour l'équipement manquant, soutenant le développement de modèles d'IA pour la conformité et la protection des travailleurs.
  • Global Wheat 2020 : Un jeu de données contenant des images de têtes de blé pour le Global Wheat Challenge 2020.
  • HomeObjects-3K : Un jeu de données de scènes intérieures annotées présentant 12 objets domestiques courants, idéal pour développer et tester des modèles de vision par ordinateur dans les systèmes de maison intelligente, la robotique et la réalité augmentée.
  • KITTI Nouveau : Un jeu de données bien connu sur la conduite autonome comprenant des entrées stéréo, LiDAR et GPS/IMU, utilisé pour la détection d'objets 2D dans des scènes routières variées.
  • LVIS : Un jeu de données à grande échelle pour la détection d'objets, la segmentation et la génération de légendes avec 1203 catégories d'objets.
  • Medical-pills : Un jeu de données contenant des images étiquetées de pilules médicales, conçu pour aider dans des tâches comme le contrôle qualité pharmaceutique, le tri et la garantie de conformité aux normes industrielles.
  • Objects365 : Un jeu de données de haute qualité à grande échelle pour la détection d'objets avec 365 catégories d'objets et plus de 600 000 images annotées.
  • OpenImagesV7 : Un jeu de données complet par Google avec 1,7 million d'images d'entraînement et 42 000 images de validation.
  • RF100 : Un benchmark diversifié de détection d'objets avec 100 jeux de données couvrant sept domaines d'imagerie pour une évaluation complète des modèles.
  • Signature : Un jeu de données présentant des images de divers documents avec des signatures annotées, soutenant la recherche sur la vérification de documents et la détection de fraude.
  • SKU-110K : Un jeu de données présentant une détection d'objets dense dans des environnements de vente au détail avec plus de 11 000 images et 1,7 million de boîtes englobantes.
  • VisDrone : Un jeu de données contenant des données de détection d'objets et de suivi multi-objets issues d'imagerie capturée par drone, avec plus de 10 000 images et séquences vidéo.
  • VOC : Le jeu de données Pascal Visual Object Classes (VOC) pour la détection d'objets et la segmentation avec 20 classes d'objets et plus de 11 000 images.
  • xView : Un jeu de données pour la détection d'objets dans l'imagerie aérienne avec 60 catégories d'objets et plus d'un million d'objets annotés.

Segmentation d'instance

La segmentation d'instance est une technique de vision par ordinateur qui consiste à identifier et localiser des objets dans une image au niveau du pixel. Contrairement à la segmentation sémantique qui classifie seulement chaque pixel, la segmentation d'instance distingue les différentes instances d'une même classe.

  • Carparts-seg : Jeu de données spécialement conçu pour identifier les pièces de véhicules, répondant aux besoins de conception, de fabrication et de recherche. Il sert à la fois pour les tâches de détection d'objets et de segmentation.
  • COCO : Un jeu de données à grande échelle conçu pour les tâches de détection d'objets, de segmentation et de génération de légendes avec plus de 200 000 images étiquetées.
  • COCO8-seg : Un jeu de données plus petit pour les tâches de segmentation d'instance, contenant un sous-ensemble de 8 images COCO avec des annotations de segmentation.
  • COCO128-seg : Un jeu de données plus petit pour les tâches de segmentation d'instance, contenant un sous-ensemble de 128 images COCO avec des annotations de segmentation.
  • Crack-seg : Jeu de données spécifiquement conçu pour détecter les fissures sur les routes et les murs, applicable à la fois pour les tâches de détection d'objets et de segmentation.
  • Package-seg : Jeu de données sur mesure pour identifier les colis dans les entrepôts ou les environnements industriels, adapté aux applications de détection d'objets et de segmentation.

Segmentation sémantique

La segmentation sémantique attribue une étiquette de classe à chaque pixel d'une image, produisant des cartes de scènes denses pour des applications telles que la conduite autonome, l'analyse de scène et la cartographie de l'occupation des sols.

  • Cityscapes : Jeu de données de segmentation sémantique de scènes de rue urbaines avec 19 classes d'entraînement.
  • Cityscapes8 : Un sous-ensemble compact de 8 images Cityscapes pour des vérifications rapides de pipeline de segmentation sémantique.
  • ADE20K : Jeu de données d'analyse de scène avec 150 classes sémantiques.

Estimation de pose

L'estimation de pose est une technique utilisée pour déterminer la pose de l'objet par rapport à la caméra ou au système de coordonnées du monde. Cela implique d'identifier des points clés ou des articulations sur les objets, particulièrement les humains ou les animaux.

  • COCO : Un jeu de données à grande échelle avec des annotations de pose humaine conçu pour les tâches d'estimation de pose.
  • COCO8-pose : Un jeu de données plus petit pour les tâches d'estimation de pose, contenant un sous-ensemble de 8 images COCO avec des annotations de pose humaine.
  • Dog-pose : Un jeu de données complet comprenant environ 6 000 images centrées sur les chiens, annotées avec 24 points clés par chien, conçu pour les tâches d'estimation de pose.
  • Hand-Keypoints : Un jeu de données concis comprenant plus de 26 000 images centrées sur les mains humaines, annotées avec 21 points clés par main, conçu pour les tâches d'estimation de pose.
  • Tiger-pose : Un jeu de données compact composé de 263 images centrées sur les tigres, annotées avec 12 points clés par tigre pour les tâches d'estimation de pose.

Classification

La classification d'images est une tâche de vision par ordinateur qui consiste à catégoriser une image dans une ou plusieurs classes ou catégories prédéfinies basées sur son contenu visuel.

  • Caltech 101 : Un jeu de données contenant des images de 101 catégories d'objets pour les tâches de classification d'images.
  • Caltech 256 : Une version étendue de Caltech 101 avec 256 catégories d'objets et des images plus difficiles.
  • CIFAR-10 : Un jeu de données de 60 000 images couleur 32x32 dans 10 classes, avec 6 000 images par classe.
  • CIFAR-100 : Une version étendue de CIFAR-10 avec 100 catégories d'objets et 600 images par classe.
  • Fashion-MNIST : Un jeu de données composé de 70 000 images en niveaux de gris de 10 catégories de mode pour les tâches de classification d'images.
  • ImageNet : Un jeu de données à grande échelle pour la détection d'objets et la classification d'images avec plus de 14 millions d'images et 20 000 catégories.
  • ImageNet-10 : Un sous-ensemble plus petit d'ImageNet avec 10 catégories pour une expérimentation et des tests plus rapides.
  • Imagenette : Un sous-ensemble plus petit d'ImageNet qui contient 10 classes facilement distinguables pour un entraînement et des tests plus rapides.
  • Imagewoof : Un sous-ensemble plus difficile d'ImageNet contenant 10 catégories de races de chiens pour les tâches de classification d'images.
  • MNIST : Un jeu de données de 70 000 images en niveaux de gris de chiffres manuscrits pour les tâches de classification d'images.
  • MNIST160 : Les 8 premières images de chaque catégorie MNIST du jeu de données MNIST. Le jeu de données contient 160 images au total.

Boîtes englobantes orientées (OBB)

Les boîtes englobantes orientées (OBB) sont une méthode de vision par ordinateur pour détecter des objets inclinés dans des images en utilisant des boîtes englobantes pivotées, souvent appliquées à l'imagerie aérienne et satellite. Contrairement aux boîtes englobantes traditionnelles, les OBB peuvent mieux s'adapter aux objets dans diverses orientations.

  • DOTA-v2 : Un jeu de données d'imagerie aérienne OBB populaire avec 1,7 million d'instances et 11 268 images.
  • DOTA8 : Un sous-ensemble plus petit des 8 premières images de l'ensemble de division DOTAv1, 4 pour l'entraînement et 4 pour la validation, adapté aux tests rapides.
  • DOTA128 : Un sous-ensemble de 128 images du jeu de données DOTA avec 128 images pour l'entraînement et la validation, offrant un bon équilibre entre taille et diversité pour tester les modèles OBB.

Suivi multi-objets

Le suivi multi-objets est une technique de vision par ordinateur qui consiste à détecter et suivre plusieurs objets au fil du temps dans une séquence vidéo. Cette tâche étend la détection d'objets en maintenant des identités cohérentes des objets à travers les images.

  • Argoverse : Un jeu de données contenant des données de suivi 3D et de prévision de mouvement issues d'environnements urbains avec des annotations riches pour les tâches de suivi multi-objets.
  • VisDrone : Un jeu de données contenant des données de détection d'objets et de suivi multi-objets issues d'imagerie capturée par drone, avec plus de 10 000 images et séquences vidéo.

Contribuer à de nouveaux jeux de données

Contribuer à un nouveau jeu de données implique plusieurs étapes pour s'assurer qu'il s'aligne bien avec l'infrastructure existante. Voici les étapes nécessaires :



Watch: How to Contribute to Ultralytics Datasets

Étapes pour contribuer à un nouveau jeu de données

  1. Collecter des images : Rassemble les images qui appartiennent au jeu de données. Celles-ci peuvent être collectées à partir de diverses sources, telles que des bases de données publiques ou ta propre collection.

  2. Annoter les images : Annote ces images avec des boîtes englobantes, des segments ou des points clés, selon la tâche.

  3. Exporter les annotations : Convertis ces annotations au format de fichier YOLO *.txt qu'Ultralytics prend en charge.

  4. Organiser le jeu de données : Organise ton jeu de données dans la structure de dossiers correcte. Tu devrais avoir des répertoires de premier niveau images/ et labels/, et au sein de chacun, un sous-répertoire train/ et val/.

    dataset/
    ├── images/
    │   ├── train/
    │   └── val/
    └── labels/
        ├── train/
        └── val/
  5. Créer un fichier data.yaml : Dans le répertoire racine de ton jeu de données, crée un fichier data.yaml qui décrit le jeu de données, les classes et toute autre information nécessaire.

  6. Optimiser les images (Optionnel) : Si tu souhaites réduire la taille du jeu de données pour un traitement plus efficace, tu peux optimiser les images en utilisant le code ci-dessous. Ce n'est pas obligatoire, mais recommandé pour des tailles de jeu de données plus petites et des vitesses de téléchargement plus rapides.

  7. Zipper le jeu de données : Compresse le dossier entier du jeu de données dans un fichier zip.

  8. Documenter et PR : Crée une page de documentation décrivant ton jeu de données et comment il s'intègre dans le framework existant. Après cela, soumets une Pull Request (PR). Reporte-toi aux directives de contribution d'Ultralytics pour plus de détails sur la manière de soumettre une PR.

Exemple de code pour optimiser et zipper un jeu de données

Optimiser et zipper un jeu de données
   from pathlib import Path

   from ultralytics.data.utils import compress_one_image
   from ultralytics.utils.downloads import zip_directory

   # Define dataset directory
   path = Path("path/to/dataset")

   # Optimize images in dataset (optional)
   for f in path.rglob("*.jpg"):
       compress_one_image(f)

   # Zip dataset into 'path/to/dataset.zip'
   zip_directory(path)

En suivant ces étapes, tu peux contribuer à un nouveau jeu de données qui s'intègre bien avec la structure existante d'Ultralytics.

FAQ

Quels jeux de données Ultralytics prend-il en charge pour la détection d'objets ?

Ultralytics prend en charge une grande variété de jeux de données pour la détection d'objets, notamment :

  • COCO : Un jeu de données à grande échelle pour la détection d'objets, la segmentation et la génération de légendes avec 80 catégories d'objets.
  • LVIS : Un jeu de données étendu avec 1203 catégories d'objets, conçu pour une détection d'objets et une segmentation plus fines.
  • Argoverse : Un jeu de données contenant des données de suivi 3D et de prévision de mouvement issues d'environnements urbains avec des annotations riches.
  • VisDrone : Un jeu de données avec des données de détection d'objets et de suivi multi-objets issues d'imagerie capturée par drone.
  • SKU-110K : Présentant une détection d'objets dense dans des environnements de vente au détail avec plus de 11 000 images.

Ces jeux de données facilitent l'entraînement de modèles Ultralytics YOLO robustes pour diverses applications de détection d'objets.

Comment contribuer à un nouveau jeu de données pour Ultralytics ?

Contribuer à un nouveau jeu de données implique plusieurs étapes :

  1. Collecter des images : Rassemble des images à partir de bases de données publiques ou de collections personnelles.
  2. Annoter les images : Applique des boîtes englobantes, des segments ou des points clés, selon la tâche.
  3. Exporter les annotations : Convertis les annotations au format YOLO *.txt.
  4. Organiser le jeu de données : Utilise la structure de dossiers avec les répertoires train/ et val/, contenant chacun des sous-répertoires images/ et labels/.
  5. Créer un fichier data.yaml : Inclus des descriptions de jeu de données, des classes et d'autres informations pertinentes.
  6. Optimiser les images (Optionnel) : Réduis la taille du jeu de données pour l'efficacité.
  7. Zipper le jeu de données : Compresse le jeu de données dans un fichier zip.
  8. Documenter et PR : Décris ton jeu de données et soumets une Pull Request en suivant les directives de contribution d'Ultralytics.

Visite Contribuer à de nouveaux jeux de données pour un guide complet.

Pourquoi devrais-je utiliser la plateforme Ultralytics pour mon jeu de données ?

La Ultralytics Platform propose des fonctionnalités puissantes pour la gestion et l'analyse de jeux de données, notamment :

  • Gestion transparente des jeux de données : télécharge, organise et gère tes jeux de données au même endroit.
  • Intégration immédiate pour l'entraînement : utilise les jeux de données téléchargés directement pour l'entraînement de modèles sans configuration supplémentaire.
  • Outils de visualisation : explore et visualise les images et annotations de tes jeux de données.
  • Analyse de jeux de données : obtiens des informations sur la distribution et les caractéristiques de ton jeu de données.

La plateforme simplifie la transition entre la gestion des jeux de données et l'entraînement de modèles, rendant l'ensemble du processus plus efficace. Apprends-en plus sur les Ultralytics Platform Datasets.

Quelles sont les fonctionnalités uniques des modèles YOLO d'Ultralytics pour la vision par ordinateur ?

Les modèles YOLO d'Ultralytics offrent plusieurs fonctionnalités uniques pour les tâches de vision par ordinateur :

  • Performance en temps réel : capacités d'inférence et d'entraînement à haute vitesse pour les applications sensibles au temps.
  • Polyvalence : prise en charge des tâches de détection, segmentation d'instance, segmentation sémantique, classification et estimation de pose dans un cadre unifié.
  • Modèles pré-entraînés : accès à des modèles pré-entraînés performants pour diverses applications, réduisant le temps d'entraînement.
  • Support communautaire étendu : une communauté active et une documentation complète pour le dépannage et le développement.
  • Intégration facile : API simple pour une intégration dans tes projets et workflows existants.

Découvre plus de détails sur les modèles YOLO sur la page Ultralytics Models.

Comment puis-je optimiser et compresser un jeu de données en utilisant les outils Ultralytics ?

Pour optimiser et compresser un jeu de données avec les outils Ultralytics, suis cet exemple de code :

Optimiser et zipper un jeu de données
from pathlib import Path

from ultralytics.data.utils import compress_one_image
from ultralytics.utils.downloads import zip_directory

# Define dataset directory
path = Path("path/to/dataset")

# Optimize images in dataset (optional)
for f in path.rglob("*.jpg"):
    compress_one_image(f)

# Zip dataset into 'path/to/dataset.zip'
zip_directory(path)

Ce processus aide à réduire la taille du jeu de données pour un stockage plus efficace et des vitesses de téléchargement plus rapides. Apprends-en plus sur la façon d'Optimiser et compresser un jeu de données.

Commentaires