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 répertoires fractionnés sous la rubrique 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
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: A dataset containing images of 101 object categories for image classification tasks.
- 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: A large-scale dataset for object detection and image classification with over 14 million images and 20,000 categories.
- 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.
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.
FAQ
Comment structurer mon ensemble de données pour les tâches de classification YOLO ?
Pour structurer ton jeu de données pour les tâches de classification Ultralytics YOLO , tu dois suivre un format spécifique de répertoire divisé. Organise ton ensemble de données dans des répertoires distincts pour 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, visite Structure des ensembles de données pour YOLO Tâches de classification.
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 :
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 ton propre jeu de données avec Ultralytics YOLO , assure-toi 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 respectives. Une fois que ton jeu de données est correctement structuré, pointe la commande data
au répertoire racine de ton jeu de données lors de l'initialisation du script de formation. 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)
Tu trouveras plus de détails dans la section Ajouter ton propre jeu de données.
Pourquoi devrais-je 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: Charge les modèles pré-entraînés comme
yolo11n-cls.pt
pour lancer ton processus de formation. - Facilité d'utilisation: API simple et commandes CLI pour la formation et l'évaluation.
- High Performance: State-of-the-art accuracy and speed, ideal for real-time applications.
- Prise en charge de plusieurs ensembles de données: Intégration transparente avec divers ensembles de données populaires comme CIFAR-10, ImageNet, et plus encore.
- Communauté et assistance: Accès à une documentation complète et à une communauté active pour le dépannage et les améliorations.
Pour obtenir des informations supplémentaires et des applications concrètes, tu peux explorer... 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, visite la section Utilisation.