Aperçu des ensembles de données pour la détection d'objets
L'apprentissage d'un modèle de détection d'objets robuste et précis nécessite un ensemble de données complet. Ce guide présente les différents formats d'ensembles de données compatibles avec le modèle Ultralytics YOLO et donne un aperçu de leur structure, de leur utilisation et de la manière de convertir les différents formats.
Formats de données pris en charge
Ultralytics YOLO format
Le format Ultralytics YOLO est un format de configuration du jeu de données qui vous permet de définir le répertoire racine du jeu de données, les chemins relatifs vers les répertoires d'images d'entraînement/de validation/de test ou les chemins relatifs vers les répertoires d'images d'entraînement/de validation/de test. *.txt
contenant les chemins d'accès aux images, et un dictionnaire de noms de classes. Voici un exemple :
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/coco8 # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 images
test: # test images (optional)
# Classes (80 COCO classes)
names:
0: person
1: bicycle
2: car
# ...
77: teddy bear
78: hair drier
79: toothbrush
Les étiquettes de ce format doivent être exportées vers le format YOLO avec un seul *.txt
par image. S'il n'y a pas d'objets dans une image, aucun fichier n'est créé. *.txt
est nécessaire. Les *.txt
Le fichier doit être formaté avec une ligne par objet en class x_center y_center width height
format. Les coordonnées de la boîte doivent être au format xywh normalisé (de 0 à 1). Si vos cases sont en pixels, vous devez diviser x_center
et width
par la largeur de l'image, et y_center
et height
par la hauteur de l'image. Les numéros de classe doivent être indexés à zéro (commencer par 0).
Le fichier d'Ă©tiquettes correspondant Ă l'image ci-dessus contient 2 personnes (classe 0
) et une égalité (classe 27
) :
Lorsque vous utilisez le format Ultralytics YOLO , organisez vos images et étiquettes de formation et de validation comme indiqué dans l'exemple de l'ensemble de données COCO8 ci-dessous.
Utilisation
Voici comment vous pouvez utiliser ces formats pour entraîner votre modèle :
Exemple
Ensembles de données pris en charge
Voici une liste des ensembles de données pris en charge et une brève description de chacun d'entre eux :
- Argoverse: Un ensemble de données contenant des données de suivi et de prévision de mouvement en 3D provenant d'environnements urbains et comportant de nombreuses annotations.
- COCO: Common Objects in Context (COCO) est un ensemble de données à grande échelle pour 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: un sous-ensemble plus petit des 128 premières images de COCO train et COCO val, adapté aux 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 600 000 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: Le jeu 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 la détection des 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, à l'appui de la vérification des documents et de la recherche sur la détection des fraudes.
Ajouter votre propre jeu de données
Si vous disposez de votre propre ensemble de données et que vous souhaitez l'utiliser pour entraîner des modèles de détection avec le format Ultralytics YOLO , assurez-vous qu'il respecte le format spécifié ci-dessus sous "Ultralytics YOLO format". Convertissez vos annotations au format requis et spécifiez les chemins d'accès, le nombre de classes et les noms des classes dans le fichier de configuration YAML.
Portage ou conversion des formats d'Ă©tiquettes
Format des ensembles de données COCO vers le format YOLO
Vous pouvez facilement convertir les étiquettes du format de données COCO au format YOLO en utilisant l'extrait de code suivant :
Exemple
Cet outil de conversion peut être utilisé pour convertir le jeu de données COCO ou tout autre jeu de données au format COCO au format Ultralytics YOLO .
N'oubliez pas de vérifier que l'ensemble de données que vous souhaitez utiliser est compatible avec votre modèle et respecte les conventions de format nécessaires. Des ensembles de données correctement formatés sont essentiels pour former des modèles de détection d'objets performants.
FAQ
Quel est le format du jeu de données Ultralytics YOLO et comment le structurer ?
Le format Ultralytics YOLO est une configuration structurée permettant de définir des ensembles de données dans vos projets de formation. Il s'agit de définir les chemins d'accès aux images d'apprentissage, de validation et de test, ainsi que les étiquettes correspondantes. Par exemple :
path: ../datasets/coco8 # dataset root directory
train: images/train # training images (relative to 'path')
val: images/val # validation images (relative to 'path')
test: # optional test images
names:
0: person
1: bicycle
2: car
# ...
Les étiquettes sont enregistrées dans *.txt
avec un fichier par image, formaté comme suit class x_center y_center width height
avec des coordonnées normalisées. Pour un guide détaillé, voir la page Exemple de jeu de données COCO8.
Comment convertir un jeu de données COCO au format YOLO ?
Vous pouvez convertir un jeu de données COCO au format YOLO en utilisant les outils de conversion Ultralytics . Voici une méthode rapide :
from ultralytics.data.converter import convert_coco
convert_coco(labels_dir="path/to/coco/annotations/")
Ce code convertira vos annotations COCO au format YOLO , permettant une intégration transparente avec les modèles Ultralytics YOLO . Pour plus de détails, consultez la section Porter ou convertir les formats d'étiquettes.
Quels ensembles de données sont pris en charge par Ultralytics YOLO pour la détection d'objets ?
Ultralytics YOLO prend en charge un large éventail d'ensembles de données, y compris :
Chaque page d'ensemble de données fournit des informations détaillées sur la structure et l'utilisation adaptées à une formation efficace à l'adresse YOLO11 . La liste complète se trouve dans la section " Jeux de données pris en charge".
Comment puis-je commencer à former un modèle YOLO11 en utilisant mon ensemble de données ?
Pour commencer à former un modèle YOLO11 , assurez-vous que votre ensemble de données est formaté correctement et que les chemins d'accès sont définis dans un fichier YAML. Utilisez le script suivant pour commencer la formation :
Exemple
Reportez-vous à la section Utilisation pour plus de détails sur l'utilisation des différents modes, y compris les commandes CLI .
Où puis-je trouver des exemples pratiques d'utilisation de Ultralytics YOLO pour la détection d'objets ?
Ultralytics fournit de nombreux exemples et guides pratiques pour l'utilisation de YOLO11 dans diverses applications. Pour une vue d'ensemble complète, visitez le blogUltralytics où vous trouverez des études de cas, des tutoriels détaillés et des histoires de la communauté illustrant la détection d'objets, la segmentation et bien d'autres choses encore avec YOLO11. Pour des exemples spécifiques, consultez la section Utilisation de la documentation.