Skip to content

Aperçu des ensembles de données

Ultralytics fournit un support pour divers ensembles de données afin de faciliter les tâches de vision par ordinateur telles que la détection, la segmentation d'instances, l'estimation de la pose, la classification et le suivi d'objets multiples. Tu trouveras ci-dessous une liste des principaux ensembles de données Ultralytics , suivie d'un résumé de chaque tâche de vision par ordinateur et des ensembles de données correspondants.

NOUVEAU 🚀 Ultralytics Explorer

Crée des embeddings pour ton jeu de données, recherche des images similaires, exécute des requêtes SQL, effectue des recherches sémantiques et même des recherches en langage naturel ! Tu peux commencer avec notre application GUI ou créer ta propre application à l'aide de l'API. Pour en savoir plus, clique ici.

Ultralytics Capture d'Ă©cran de l'explorateur

Ensembles de données de détection

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.

  • Argoverse: Un ensemble de donnĂ©es contenant des donnĂ©es de suivi 3D et de prĂ©vision de mouvement provenant d'environnements urbains avec de riches annotations.
  • COCO: un ensemble de donnĂ©es Ă  grande Ă©chelle conçu pour la dĂ©tection, la segmentation et le sous-titrage d'objets, avec plus de 200 000 images Ă©tiquetĂ©es.
  • COCO8: Contient les 4 premières images de COCO train et COCO val, adaptĂ©es aux tests rapides.
  • Global Wheat 2020: Un ensemble de donnĂ©es d'images d'Ă©pis de blĂ© recueillies dans le monde entier pour des tâches de dĂ©tection et de localisation d'objets.
  • Objets365: Un ensemble de donnĂ©es Ă  grande Ă©chelle de haute qualitĂ© pour la dĂ©tection d'objets avec 365 catĂ©gories d'objets et plus de 600K images annotĂ©es.
  • OpenImagesV7: Un ensemble de donnĂ©es complet de Google avec 1,7 million d'images de formation et 42 000 images de validation.
  • SKU-110K: Un ensemble de donnĂ©es comprenant la dĂ©tection d'objets denses dans des environnements de vente au dĂ©tail avec plus de 11 000 images et 1,7 million de boĂ®tes de dĂ©limitation.
  • VisDrone: Un ensemble de donnĂ©es contenant des donnĂ©es de dĂ©tection d'objets et de suivi d'objets multiples Ă  partir d'images capturĂ©es par des drones, avec plus de 10 000 images et sĂ©quences vidĂ©o.
  • VOC: L'ensemble de donnĂ©es Pascal Visual Object Classes (VOC) pour la dĂ©tection et la segmentation d'objets avec 20 classes d'objets et plus de 11 000 images.
  • xView: Un ensemble de donnĂ©es pour la dĂ©tection d'objets dans les images aĂ©riennes avec 60 catĂ©gories d'objets et plus d'un million d'objets annotĂ©s.
  • Roboflow 100: Un benchmark de dĂ©tection d'objets divers avec 100 ensembles de donnĂ©es couvrant sept domaines d'imagerie pour une Ă©valuation complète des modèles.

Jeux de données sur la segmentation des instances

La segmentation des instances est une technique de vision par ordinateur qui consiste Ă  identifier et Ă  localiser des objets dans une image au niveau des pixels.

  • COCO: un ensemble de donnĂ©es Ă  grande Ă©chelle conçu pour la dĂ©tection d'objets, la segmentation et les tâches de sous-titrage avec plus de 200 000 images Ă©tiquetĂ©es.
  • COCO8-seg: un ensemble de donnĂ©es plus petit pour les tâches de segmentation des instances, contenant un sous-ensemble de 8 images COCO avec des annotations de segmentation.
  • Crack-seg: ensemble de donnĂ©es spĂ©cialement conçu pour dĂ©tecter les fissures sur les routes et les murs, applicable Ă  la fois aux tâches de dĂ©tection et de segmentation des objets.
  • Package-seg: ensemble de donnĂ©es sur mesure pour identifier les paquets dans les entrepĂ´ts ou les environnements industriels, convenant Ă  la fois Ă  la dĂ©tection d'objets et aux applications de segmentation.
  • Carparts-seg: Ensemble de donnĂ©es conçu pour identifier les pièces de vĂ©hicules, rĂ©pondant aux besoins de la conception, de la fabrication et de la recherche. Il sert Ă  la fois Ă  la dĂ©tection d'objets et aux tâches de segmentation.

Estimation de la pose

L'estimation de la 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.

  • COCO: un ensemble de donnĂ©es Ă  grande Ă©chelle avec des annotations de pose humaine conçues pour les tâches d'estimation de la pose.
  • COCO8-pose: un ensemble de donnĂ©es plus petit pour les tâches d'estimation de la pose, contenant un sous-ensemble de 8 images COCO avec des annotations de pose humaine.
  • Tiger-pose: un ensemble de donnĂ©es compact composĂ© de 263 images axĂ©es sur les tigres, annotĂ©es avec 12 points clĂ©s par tigre pour les tâches d'estimation de la pose.

Classification

La classification des 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 ensemble 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 ensemble de donnĂ©es de 60 000 images couleur 32x32 rĂ©parties en 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 ensemble 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 ensemble 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 faciles Ă  distinguer pour une formation 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 ensemble de donnĂ©es de 70 000 images en niveaux de gris de chiffres manuscrits pour les tâches de classification d'images.

Boîtes de délimitation orientées (OBB)

Les boîtes de délimitation orientées (OBB) sont une méthode de vision par ordinateur permettant de détecter les objets angulaires dans les images à l'aide de boîtes de délimitation tournées, souvent appliquées aux images aériennes et satellites.

  • DOTAv2: Un ensemble de donnĂ©es d'imagerie aĂ©rienne OBB populaire avec 1,7 million d'instances et 11 268 images.

Suivi de plusieurs objets

Le suivi de plusieurs 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.

  • Argoverse: Un ensemble de donnĂ©es contenant des donnĂ©es de suivi 3D et de prĂ©vision de mouvement provenant d'environnements urbains avec de riches annotations pour les tâches de suivi d'objets multiples.
  • VisDrone: Un ensemble de donnĂ©es contenant des donnĂ©es de dĂ©tection d'objets et de suivi d'objets multiples Ă  partir d'images capturĂ©es par des drones, avec plus de 10 000 images et sĂ©quences vidĂ©o.

Contribuer à de nouveaux ensembles de données

Contribuer à un nouveau jeu de données implique plusieurs étapes pour s'assurer qu'il s'aligne bien sur l'infrastructure existante. Tu trouveras ci-dessous les étapes nécessaires :

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

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

  2. Annote les images: Annote ces images avec des boîtes de délimitation, des segments ou des points clés, en fonction de la tâche.

  3. Exporter les annotations: Convertir ces annotations dans le YOLO *.txt que Ultralytics prend en charge.

  4. Organiser l'ensemble des données: Range ton jeu de données dans la structure de dossier correcte. Tu dois avoir train/ et val/ des répertoires de premier niveau, et dans chacun d'eux, un images/ et labels/ sous-répertoire.

    dataset/
    ├── train/
    │   ├── images/
    │   └── labels/
    └── val/
        ├── images/
        └── labels/
    
  5. Crée un data.yaml Fichier: 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 de l'ensemble de données pour un traitement plus efficace, tu peux optimiser les images à l'aide du code ci-dessous. Cette opération n'est pas obligatoire, mais elle est recommandée pour réduire la taille des ensembles de données et accélérer les vitesses de téléchargement.

  7. Zip Dataset: Compresse tout le dossier de l'ensemble des données dans un fichier zip.

  8. Documentation et relations publiques: Crée une page de documentation décrivant ton jeu de données et la façon dont il s'intègre dans le cadre existant. Ensuite, soumets une Pull Request (PR). Reporte-toi à Ultralytics Contribution Guidelines pour plus de détails sur la façon de soumettre une PR.

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

Optimiser et zipper un ensemble 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 à la structure existante de Ultralytics.



Créé le 2023-11-12, Mis à jour le 2024-03-03
Auteurs : glenn-jocher (6), abirami-vina (1), chr043416@gmail.com (1), AyushExel (2)

Commentaires