Aperçu des ensembles de données
Ultralytics provides support for various datasets to facilitate computer vision tasks such as detection, instance segmentation, pose estimation, classification, and multi-object tracking. Below is a list of the main Ultralytics datasets, followed by a summary of each computer vision task and the respective datasets.
Regarde : Ultralytics Aperçu des ensembles de données
Ultralytics Explorer 🚀 NEW
Create embeddings for your dataset, search for similar images, run SQL queries, perform semantic search and even search using natural language! You can get started with our GUI app or build your own using the API. Learn more here.
- Essaie la démo de l'interface graphique
- En savoir plus sur l'API Explorer
DĂ©tection d'objets
Bounding box object detection is a computer vision technique that involves detecting and localizing objects in an image by drawing a bounding box around each object.
- 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: Common Objects in Context (COCO) est un ensemble de données à grande échelle sur la détection, la segmentation et le sous-titrage d'objets comprenant 80 catégories d'objets.
- LVIS: un ensemble de données à grande échelle pour la détection, la segmentation et le sous-titrage d'objets, comprenant 1203 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.
- COCO128: A smaller subset of the first 128 images from COCO train and COCO val, suitable for tests.
- Global Wheat 2020: Un ensemble de données contenant des images d'épis de blé pour le Global Wheat Challenge 2020.
- 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 d'entraînement 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.
- Tumeur cérébrale: Un ensemble de données pour détecter les tumeurs cérébrales comprend des images d'IRM ou de tomodensitométrie avec des détails sur la présence, l'emplacement et les caractéristiques de la tumeur.
- Faune africaine: Un ensemble de données comprenant des images de la faune africaine, notamment de buffles, d'éléphants, de rhinocéros et de zèbres.
- Signature: Un ensemble de données comprenant des images de divers documents avec des signatures annotées, soutenant la recherche sur la vérification des documents et la détection des fraudes.
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.
- COCO128-seg: A smaller dataset for instance segmentation tasks, containing a subset of 128 COCO images with segmentation annotations.
- 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.
- Hand-Keypoints: A concise dataset featuring over 26,000 images centered on human hands, annotated with 21 keypoints per hand, designed for pose estimation tasks.
Classification
Image classification is a computer vision task that involves categorizing an image into one or more predefined classes or categories based on its visual content.
- 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.
- MNIST160: First 8 images of each MNIST category from the MNIST dataset. Dataset contains 160 images total.
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.
- DOTA-v2: Un ensemble de données d'imagerie aérienne OBB populaire avec 1,7 million d'instances et 11 268 images.
- DOTA8: A smaller subset of the first 8 images from the DOTAv1 split set, 4 for training and 4 for validation, suitable for quick tests.
Suivi de plusieurs objets
Le suivi d'objets multiples 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 pour contribuer à un nouveau jeu de données
- 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.
- 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.
- Exporter les annotations: Convertir ces annotations dans le YOLO
*.txt
que Ultralytics prend en charge. -
Organiser l'ensemble des données: Range ton jeu de données dans la structure de dossier correcte. Tu dois avoir
train/
etval/
des répertoires de premier niveau, et dans chacun d'eux, unimages/
etlabels/
sous-répertoire. -
Crée un
data.yaml
Fichier: Dans le répertoire racine de ton jeu de données, crée un fichierdata.yaml
qui décrit le jeu de données, les classes et les autres informations nécessaires. - 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.
- Zip Dataset: Compresse tout le dossier de l'ensemble des données dans un fichier zip.
- 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.
FAQ
What datasets does Ultralytics support for object detection?
Ultralytics supports a wide variety of datasets for object detection, including:
- COCO: A large-scale object detection, segmentation, and captioning dataset with 80 object categories.
- LVIS: An extensive dataset with 1203 object categories, designed for more fine-grained object detection and segmentation.
- 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.
- VisDrone: A dataset with object detection and multi-object tracking data from drone-captured imagery.
- SKU-110K: Featuring dense object detection in retail environments with over 11K images.
Ces ensembles de données facilitent la formation de modèles robustes pour diverses applications de détection d'objets.
Comment ajouter un nouveau jeu de données à Ultralytics?
Contributing a new dataset involves several steps:
- Collect Images: Gather images from public databases or personal collections.
- Annotate Images: Apply bounding boxes, segments, or keypoints, depending on the task.
- Exporter les annotations: Convertir les annotations dans le YOLO
*.txt
format. - Organiser l'ensemble des données: Utilise la structure des dossiers avec
train/
etval/
répertoires, chacun contenantimages/
etlabels/
subdirectories. - Crée un
data.yaml
Fichier: Include dataset descriptions, classes, and other relevant information. - Optimize Images (Optional): Reduce dataset size for efficiency.
- Zip Dataset: Compress the dataset into a zip file.
- Document and PR: Describe your dataset and submit a Pull Request following Ultralytics Contribution Guidelines.
Visite Contribuer à de nouveaux ensembles de données pour obtenir un guide complet.
Pourquoi devrais-je utiliser Ultralytics Explorer pour mon ensemble de données ?
Ultralytics Explorer offers powerful features for dataset analysis, including:
- Embeddings Generation: Create vector embeddings for images.
- Semantic Search: Search for similar images using embeddings or AI.
- SQL Queries: Run advanced SQL queries for detailed data analysis.
- Natural Language Search: Search using plain language queries for ease of use.
Explore l'explorateurUltralytics pour plus d'informations et pour essayer la démo de l'interface graphique.
What are the unique features of Ultralytics YOLO models for computer vision?
Ultralytics YOLO models provide several unique features:
- Real-time Performance: High-speed inference and training.
- Versatility: Suitable for detection, segmentation, classification, and pose estimation tasks.
- Pretrained Models: Access to high-performing, pretrained models for various applications.
- Extensive Community Support: Active community and comprehensive documentation for troubleshooting and development.
DĂ©couvre plus d'informations sur YOLO sur la Ultralytics YOLO page.
Comment puis-je optimiser et zipper un ensemble de données à l'aide des outils Ultralytics ?
Pour optimiser et zipper un ensemble de données à l'aide des outils Ultralytics , suis ce code d'exemple :
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 savoir plus sur la façon d'optimiser et de zipper un ensemble de données.