Skip to content

Aperçu des ensembles de données de classification d'images

Structure du jeu de données pour YOLO Tâches de classification

Pour Ultralytics YOLO pour les tâches de classification, l'ensemble de données doit être organisé dans une structure spécifique de split-direcotry sous la forme d'un tableau. root afin de faciliter la formation, les tests et les processus de validation facultatifs. Cette structure comprend des répertoires distincts pour la formation (train) et les tests (test), avec un répertoire optionnel pour la validation (val).

Chacun de ces répertoires doit contenir un sous-répertoire pour chaque classe de l'ensemble de données. Les sous-répertoires portent le nom de la classe correspondante et contiennent toutes les images de cette classe. Veille à ce que chaque fichier image porte un nom unique et soit stocké dans un format commun tel que JPEG ou PNG.

Exemple de structure de dossier

Prenons l'exemple du jeu de données CIFAR-10. La structure du dossier devrait ressembler à ceci :

cifar-10-/
|
|-- train/
|   |-- airplane/
|   |   |-- 10008_airplane.png
|   |   |-- 10009_airplane.png
|   |   |-- ...
|   |
|   |-- automobile/
|   |   |-- 1000_automobile.png
|   |   |-- 1001_automobile.png
|   |   |-- ...
|   |
|   |-- bird/
|   |   |-- 10014_bird.png
|   |   |-- 10015_bird.png
|   |   |-- ...
|   |
|   |-- ...
|
|-- test/
|   |-- airplane/
|   |   |-- 10_airplane.png
|   |   |-- 11_airplane.png
|   |   |-- ...
|   |
|   |-- automobile/
|   |   |-- 100_automobile.png
|   |   |-- 101_automobile.png
|   |   |-- ...
|   |
|   |-- bird/
|   |   |-- 1000_bird.png
|   |   |-- 1001_bird.png
|   |   |-- ...
|   |
|   |-- ...
|
|-- val/ (optional)
|   |-- airplane/
|   |   |-- 105_airplane.png
|   |   |-- 106_airplane.png
|   |   |-- ...
|   |
|   |-- automobile/
|   |   |-- 102_automobile.png
|   |   |-- 103_automobile.png
|   |   |-- ...
|   |
|   |-- bird/
|   |   |-- 1045_bird.png
|   |   |-- 1046_bird.png
|   |   |-- ...
|   |
|   |-- ...

Cette approche structurée garantit que le modèle peut apprendre efficacement à partir de classes bien organisées pendant la phase de formation et évaluer avec précision les performances pendant les phases de test et de validation.

Utilisation

Exemple

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n-cls.pt')  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data='path/to/dataset', epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=path/to/data model=yolov8n-cls.pt epochs=100 imgsz=640

Ensembles de données pris en charge

Ultralytics prend en charge les ensembles de données suivants en les téléchargeant automatiquement :

  • 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.

Ajouter ton propre jeu de données

Si tu as ton propre jeu de données et que tu souhaites l'utiliser pour entraîner des modèles de classification avec Ultralytics, assure-toi qu'il respecte le format spécifié ci-dessus dans la rubrique "Format du jeu de données", puis fais pointer ton data au répertoire du jeu de données.



Créé le 2023-11-12, Mis à jour le 2024-04-10
Auteurs : stormsson (1), glenn-jocher (4), GreatV (1)

Commentaires