Aperçu des ensembles de données de classification d'images
Structure des ensembles de données pour YOLO Tâches de classification
Pour Ultralytics YOLO l'ensemble de données doit être organisé dans une structure spécifique de répertoires fractionnés sous la rubrique root
afin de faciliter la formation, les tests et les processus de validation optionnels. Cette structure comprend des répertoires distincts pour la formation (train
) et les tests (test
), avec un répertoire facultatif 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. Veillez à 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
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 des 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 complexe 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: Les 8 premières images de chaque catégorie MNIST de l'ensemble de données MNIST. L'ensemble de données contient 160 images au total.
Ajouter votre propre jeu de données
Si vous disposez de votre propre jeu de données et que vous souhaitez l'utiliser pour entraîner des modèles de classification avec Ultralytics, assurez-vous qu'il respecte le format spécifié ci-dessus dans la rubrique "Format du jeu de données", puis faites pointer votre logiciel data
au répertoire du jeu de données.
FAQ
Comment structurer mon ensemble de données pour les tâches de classification YOLO ?
Pour structurer votre ensemble de données en vue des tâches de classification Ultralytics YOLO , vous devez suivre un format spécifique de division des répertoires. Organisez votre ensemble de données dans des répertoires distincts pour les tâches suivantes train
, test
et Ă©ventuellement val
. Chacun de ces répertoires doit contenir des sous-répertoires nommés d'après chaque classe, avec les images correspondantes à l'intérieur. Cela facilite les processus de formation et d'évaluation. Prenons l'exemple du format de l'ensemble de données CIFAR-10 :
cifar-10-/
|-- train/
| |-- airplane/
| |-- automobile/
| |-- bird/
| ...
|-- test/
| |-- airplane/
| |-- automobile/
| |-- bird/
| ...
|-- val/ (optional)
| |-- airplane/
| |-- automobile/
| |-- bird/
| ...
Pour plus de détails, consultez la page Structure des ensembles de données pour les tâches de classification sur le site YOLO .
Quels sont les ensembles de données pris en charge par Ultralytics YOLO pour la classification des images ?
Ultralytics YOLO prend en charge le téléchargement automatique de plusieurs ensembles de données pour la classification des images, notamment :
- Caltech 101
- Caltech 256
- CIFAR-10
- CIFAR-100
- Mode-MNIST
- ImageNet
- ImageNet-10
- Imagenette
- Imagewoof
- MNIST
Ces ensembles de données sont structurés de manière à faciliter leur utilisation avec YOLO. La page de chaque jeu de données fournit des détails supplémentaires sur sa structure et ses applications.
Comment ajouter mon propre jeu de données pour la classification d'images YOLO ?
Pour utiliser votre propre jeu de données avec Ultralytics YOLO , assurez-vous qu'il respecte le format de répertoire spécifié requis pour la tâche de classification, avec des fichiers train
, test
et Ă©ventuellement val
et des sous-répertoires pour chaque classe contenant les images correspondantes. Une fois que votre jeu de données est correctement structuré, pointez la commande data
au répertoire racine de votre jeu de données lors de l'initialisation du script d'apprentissage. Voici un exemple à Python:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-cls.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="path/to/your/dataset", epochs=100, imgsz=640)
Vous trouverez plus de détails dans la section Ajouter votre propre jeu de données.
Pourquoi utiliser Ultralytics YOLO pour la classification des images ?
Ultralytics YOLO offre plusieurs avantages pour la classification des images, notamment
- Modèles pré-entraînés: Charger des modèles pré-entraînés tels que
yolo11n-cls.pt
pour lancer votre processus de formation. - Facilité d'utilisation: API simple et commandes CLI pour la formation et l'évaluation.
- Haute performance: Précision et vitesse de pointe, idéales pour les applications en temps réel.
- Prise en charge de plusieurs ensembles de données: Intégration transparente de divers ensembles de données populaires tels que CIFAR-10, ImageNet, etc.
- Communauté et assistance: Accès à une documentation complète et à une communauté active pour le dépannage et les améliorations.
Pour plus d'informations et d'applications concrètes, vous pouvez consulter les sites suivants Ultralytics YOLO.
Comment puis-je former un modèle en utilisant Ultralytics YOLO ?
L'entraînement d'un modèle à l'aide de Ultralytics YOLO peut se faire facilement dans Python et CLI. Voici un exemple :
Exemple
Ces exemples illustrent le processus simple de formation d'un modèle YOLO à l'aide de l'une ou l'autre approche. Pour plus d'informations, consultez la section Utilisation.