Ultralytics YOLO27 :

Vue d’ensemble des jeux de données#

Ultralytics prend en charge différents jeux de données pour faciliter les tâches de vision par ordinateur telles que la détection, la segmentation d’instances, la segmentation sémantique, l’estimation de profondeur, la classification, l’estimation de pose et les boîtes englobantes orientées (OBB). Voici 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. Le mode Suivi s’exécute avec les modèles de détection, de segmentation, de pose et OBB sans entraînement spécifique au suivi ; consulte les jeux de données de suivi.



Watch: Ultralytics Datasets Overview

Détection d’objets#

La détection d’objets par boîtes englobantes est une technique de vision par ordinateur qui consiste à détecter et localiser les objets dans une image en traçant une boîte englobante autour de chaque objet.

  • African-wildlife : un jeu de données contenant des images d’animaux sauvages africains, 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 des mouvements issues d’environnements urbains, avec des annotations détaillées.
  • Brain-tumor : un jeu de données destiné à la détection des tumeurs cérébrales, comprenant des images d’IRM ou de scanner avec des informations sur la présence, l’emplacement et les caractéristiques des tumeurs.
  • COCO : Objets courants dans leur contexte (COCO) est un jeu de données à grande échelle pour la détection, la segmentation et le sous-titrage d’objets, avec 80 catégories d’objets.
  • COCO8 : un sous-ensemble plus petit des 8 premières images du jeu de données d'entraînement COCO train2017, 4 pour l'entraînement et 4 pour la validation, adapté aux tests rapides.
  • COCO8-Grayscale : une version en niveaux de gris de COCO8, créée en convertissant les images RGB en niveaux de gris, utile pour évaluer les modèles à canal unique.
  • COCO8-Multispectral : une version multispectrale à 10 canaux de COCO8, créée par interpolation des longueurs d’onde RGB, utile pour évaluer les modèles sensibles aux caractéristiques spectrales.
  • COCO12-Formats : un jeu de données de test de 12 images couvrant les 12 formats d'image pris en charge (AVIF, BMP, DNG, HEIC, JP2, JPEG, JPG, MPO, PNG, TIF, TIFF, WebP) pour valider les pipelines de chargement d'images.
  • COCO128 : un sous-ensemble réduit constitué des 128 premières images de COCO train2017, adapté aux tests.
  • Construction-PPE : un jeu de données d’images de chantiers de construction annotées avec les principaux équipements de sécurité, tels que les casques, gilets, gants, bottes et lunettes, ainsi qu’avec des étiquettes indiquant les équipements manquants, afin de favoriser 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 d’épis 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 domotiques, la robotique et la réalité augmentée.
  • KITTI : un jeu de données de conduite autonome bien connu comportant 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, la segmentation et le sous-titrage d’objets, avec 1203 catégories d’objets.
  • Medical-pills : un jeu de données contenant des images étiquetées de médicaments, conçu pour faciliter des tâches telles que le contrôle qualité pharmaceutique, le tri et la conformité aux normes du secteur.
  • Objects365 : un jeu de données de haute qualité et à grande échelle pour la détection d’objets, avec 365 catégories d’objets et plus de 600K images annotées.
  • OpenImagesV7 : un jeu de données complet de Google comprenant 1,7 M d’images d’entraînement et 42k images de validation.
  • RF100 : une référence diversifiée pour la détection d’objets, composée de 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 contenant des signatures annotées, destiné à la recherche sur la vérification de documents et la détection des fraudes.
  • SKU-110K : un jeu de données consacré à la détection dense d’objets dans des environnements de vente au détail, avec plus de 11K images et 1,7 million de boîtes englobantes.
  • TT100K : le jeu de données de panneaux de signalisation routière Tsinghua-Tencent 100K comprenant 16 817 images de rue réparties sur 221 catégories de panneaux.
  • VisDrone : un jeu de données contenant des données de détection d’objets et de suivi multiobjets issues d’images capturées par drone, avec plus de 10K images et séquences vidéo.
  • VOC : le jeu de données Pascal Classes d’objets visuels (VOC) pour la détection et la segmentation d’objets, avec 20 classes d’objets et plus de 11K images.
  • xView : un jeu de données destiné à la détection d’objets dans des images aériennes, avec 60 catégories d’objets et plus d’un million d’objets annotés.

Segmentation d'instances#

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

  • Carparts-seg : un 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 convient aux tâches de détection d’objets comme de segmentation.
  • COCO : un jeu de données à grande échelle conçu pour les tâches de détection, de segmentation et de sous-titrage d’objets, avec plus de 200K images étiquetées.
  • COCO8-seg : un jeu de données réduit pour les tâches de segmentation d’instances, contenant un sous-ensemble de 8 images COCO avec des annotations de segmentation.
  • COCO128-seg : un jeu de données réduit pour les tâches de segmentation d’instances, contenant un sous-ensemble de 128 images COCO avec des annotations de segmentation.
  • Crack-seg : un jeu de données spécialement conçu pour détecter les fissures sur les routes et les murs, utilisable pour les tâches de détection d’objets comme de segmentation.
  • Package-seg : un jeu de données conçu pour identifier les colis dans les entrepôts ou les environnements industriels, adapté aux applications de détection d’objets comme de segmentation.

Segmentation sémantique#

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

  • Cityscapes : un jeu de données de segmentation sémantique de scènes urbaines comportant 19 classes d’entraînement.
  • Cityscapes8 : un sous-ensemble compact de Cityscapes composé de 8 images pour vérifier rapidement les pipelines de segmentation sémantique.
  • ADE20K : un jeu de données d’interprétation de scènes avec 150 classes sémantiques.

Estimation de profondeur#

L’estimation de profondeur monoculaire prédit une carte de profondeur par pixel, en mètres, à partir d’une seule image RGB, pour la reconstruction de scènes 3D, la navigation des robots et les applications de réalité augmentée/virtuelle.

  • Depth8 : un sous-ensemble compact de SUN RGB-D composé de 8 images pour vérifier rapidement les pipelines.
  • ARKitScenes : des scènes intérieures réelles RVB-D capturées avec le LiDAR Apple ARKit, la plus grande source d'entraînement réelle.
  • SUN RGB-D : des scènes intérieures réelles capturées avec quatre capteurs RVB-D différents.
  • DIODE : des profondeurs intérieures et extérieures denses obtenues à l'aide d'un scanner laser de qualité topographique.
  • Hypersim : des scènes intérieures synthétiques photoréalistes avec une profondeur parfaite par pixel.
  • TartanAir : des environnements AirSim synthétiques avec une profondeur dense jusqu'à ~80 m.
  • Virtual KITTI 2 : une recréation synthétique de scènes de conduite KITTI avec une profondeur dense.
  • KITTI : des scènes de conduite autonome en extérieur réelles avec une profondeur obtenue par Velodyne LiDAR, ainsi que le benchmark KITTI Eigen.
  • ImageNet (pseudo-labeled) : des images ImageNet-1K avec des pseudo-labels Depth Anything 3 pour la distillation.
  • NYU Depth V2 : une référence standard de profondeur intérieure capturée avec une Microsoft Kinect v1.
  • ETH3D : un benchmark de scanner laser intérieur et extérieur de haute précision.
  • Make3D : un benchmark de campus extérieur hors distribution.
  • iBims-1 : un benchmark intérieur de haute qualité pour les bords de profondeur et les surfaces planaires.

Classification#

La classification d’images est une tâche de vision par ordinateur qui consiste à classer une image dans une ou plusieurs classes ou catégories prédéfinies en fonction de 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 60K images couleur de 32x32 pixels réparties en 10 classes, avec 6K 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 vêtements 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 réduit d’ImageNet comprenant 10 catégories pour accélérer l’expérimentation et les tests.
  • Imagenette : un sous-ensemble réduit d’ImageNet contenant 10 classes facilement distinguables pour accélérer l’entraînement et les tests.
  • 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 chiffre (0-9) issues des partitions d’entraînement et de test de MNIST. Le jeu de données contient 160 images au total.

Estimation de pose#

L’estimation de pose est une technique utilisée pour déterminer la pose d’un objet par rapport à la caméra ou au système de coordonnées du monde. Elle consiste à identifier des points clés ou des articulations sur des objets, en particulier 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 réduit 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 8 500 images de 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 des 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 de tigres, annotées avec 12 points clés par tigre pour les tâches d’estimation de pose.

Boîtes englobantes orientées (OBB)#

Les boîtes englobantes orientées (OBB) constituent une méthode de vision par ordinateur permettant de détecter des objets inclinés dans des images à l’aide de boîtes englobantes pivotées, souvent appliquée aux images aériennes et satellitaires. Contrairement aux boîtes englobantes traditionnelles, les OBB s’adaptent mieux aux objets selon leurs différentes orientations.

  • DOTA-v2 : un jeu de données populaire d’images aériennes OBB avec 1,7 million d’instances et 11 268 images.
  • DOTA8 : un sous-ensemble réduit constitué des 8 premières images de la partition DOTAv1, dont 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.

Contribuer à de nouveaux jeux de données#

Contribuer à un nouveau jeu de données implique plusieurs étapes pour garantir sa bonne intégration à 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 les images : rassemble les images qui appartiennent au jeu de données. Tu peux les collecter auprès 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 pris en charge par Ultralytics.

  4. Organiser le jeu de données : organise ton jeu de données selon la structure de dossiers correcte. Il doit contenir les répertoires de premier niveau images/ et labels/, chacun contenant 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 les autres informations nécessaires.

  6. Optimiser les images (facultatif) : si tu veux réduire la taille du jeu de données pour un traitement plus efficace, tu peux optimiser les images à l’aide du code ci-dessous. Cette étape n’est pas obligatoire, mais elle est recommandée pour réduire la taille du jeu de données et accélérer les téléchargements.

  7. Compresser le jeu de données : compresse l’intégralité du dossier du jeu de données dans un fichier zip.

  8. Documenter et créer une PR : crée une page de documentation décrivant ton jeu de données et son intégration au framework existant. Ensuite, soumets une Pull Request (PR). Consulte les consignes de contribution Ultralytics pour plus d’informations sur l’envoi d’une PR.

Exemple de code pour optimiser et compresser un jeu de données#

Optimiser et compresser 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 correctement à la structure existante d’Ultralytics.

FAQ#

  • 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, la segmentation et le sous-titrage d’objets, avec 80 catégories d’objets.
    • LVIS : un vaste jeu de données avec 1203 catégories d’objets, conçu pour la détection et la segmentation d’objets plus fines.
    • Argoverse : un jeu de données contenant des données de suivi 3D et de prévision des mouvements issues d’environnements urbains, avec des annotations détaillées.
    • VisDrone : un jeu de données contenant des données de détection d’objets et de suivi multiobjets issues d’images capturées par drone.
    • SKU-110K : un jeu de données consacré à la détection dense d’objets dans des environnements de vente au détail, avec plus de 11K images.

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

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

    1. Collecter les images : rassemble des images provenant 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 une structure de dossiers comprenant les répertoires train/ et val/, chacun contenant les sous-répertoires images/ et labels/.
    5. Créer un fichier data.yaml : inclus la description du jeu de données, les classes et les autres informations pertinentes.
    6. Optimiser les images (facultatif) : réduis la taille du jeu de données pour gagner en efficacité.
    7. Compresser le jeu de données : compresse le jeu de données dans un fichier zip.
    8. Documenter et créer une PR : décris ton jeu de données et soumets une Pull Request en suivant les consignes de contribution Ultralytics.

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

  • Ultralytics Platform offre de puissantes fonctionnalités de gestion et d’analyse des jeux de données, notamment :

    • Gestion fluide des jeux de données : téléverse, organise et gère tes jeux de données depuis un emplacement unique.
    • Intégration immédiate à l’entraînement : utilise directement les jeux de données téléversés pour entraîner les modèles, sans configuration supplémentaire.
    • Outils de visualisation : explore et visualise les images et les annotations de ton jeu de données.
    • Analyse du jeu de données : Obtiens des informations sur la répartition et les caractéristiques de ton jeu de données.

    La plateforme simplifie la transition de la gestion des jeux de données à l’entraînement des modèles, ce qui rend l’ensemble du processus plus efficace. En savoir plus sur les jeux de données de la plateforme Ultralytics.

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

    • Performances en temps réel : Capacités d’inférence et d’entraînement à haute vitesse pour les applications sensibles au facteur temps.
    • Polyvalence : Prise en charge de la détection, de la segmentation d’instances, de la segmentation sémantique, de l’estimation de profondeur, de la classification et de l’estimation de pose dans un framework unifié.
    • Modèles préentraînés : Accès à des modèles préentraînés et performants pour diverses applications, ce qui réduit le temps d’entraînement.
    • Soutien étendu de la communauté : Communauté active et documentation complète pour le dépannage et le développement.
    • Intégration facile : API simple pour intégrer les modèles à tes projets et workflows existants.

    Découvre-en plus sur les modèles YOLO sur la page Modèles Ultralytics.

  • Pour optimiser et compresser un jeu de données à l’aide des outils Ultralytics, suis cet exemple de code :

    Optimiser et compresser 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 contribue à réduire la taille du jeu de données afin de faciliter son stockage et d’accélérer les téléchargements. En savoir plus sur l’optimisation et la compression d’un jeu de données.

Commentaires