Présentation des jeux de données pour la classification d'images#
Structure des jeux de données pour les tâches de classification YOLO#
Pour les tâches de classification Ultralytics YOLO, le jeu de données doit être organisé selon une structure de répertoire divisée spécifique sous le répertoire root afin de faciliter l'entraînement, les tests et les processus de validation optionnels. Cette structure comprend des répertoires distincts pour les phases d'entraînement (train) et de validation (val), avec un répertoire optionnel pour les tests (test).
Chacun de ces répertoires doit contenir un sous-répertoire pour chaque classe du jeu de données. Les sous-répertoires portent le nom de la classe correspondante et contiennent toutes les images de cette classe. Assure-toi que chaque fichier image est nommé de manière unique et stocké dans un format commun comme JPEG ou PNG.
Exemple de structure de dossier#
Considère le jeu de données CIFAR-10 comme exemple. La structure des dossiers doit 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 durant la phase d'entraînement et évaluer précisément ses performances lors des phases de test et de validation.
Utilisation#
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-cls.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="path/to/dataset", epochs=100, imgsz=640)La plupart des noms de jeux de données intégrés (par exemple cifar10, imagenette ou mnist160) téléchargeront et mettront automatiquement en cache les données la première fois que tu les référenceras. Indique data vers un chemin de dossier uniquement lorsque tu as préparé un jeu de données personnalisé.
Jeux de données pris en charge#
Ultralytics prend en charge les jeux de données suivants avec téléchargement automatique :
- Caltech 101 : Un jeu 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 nuances de gris de 10 catégories de mode pour les tâches de classification d'images.
- ImageNet : Un jeu 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 un test plus rapides.
- Imagenette : un sous-ensemble plus petit d'ImageNet qui contient 10 classes facilement identifiables pour un entraînement 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 nuances de gris de chiffres manuscrits pour les tâches de classification d'images.
- MNIST160 : les 8 premières images de chaque chiffre (0-9) provenant à la fois des divisions d'entraînement et de test de MNIST. L'ensemble de données contient 160 images au total.
Ajouter ton propre jeu de données#
Si tu possèdes ton propre jeu de données et que tu souhaites l'utiliser pour entraîner des modèles de classification avec Ultralytics YOLO, assure-toi qu'il respecte le format spécifié ci-dessus sous "Dataset Structure", puis pointe ton argument data vers le répertoire du jeu de données lors de l'initialisation de ton script d'entraînement.
FAQ#
Ultralytics YOLO prend en charge le téléchargement automatique de plusieurs jeux de données pour la classification d'images, notamment Caltech 101, Caltech 256, CIFAR-10, CIFAR-100, Fashion-MNIST, ImageNet, ImageNet-10, Imagenette, Imagewoof et MNIST. Ces jeux de données sont structurés de manière à être faciles à utiliser avec YOLO. La page de chaque jeu de données fournit de plus amples détails sur sa structure et ses applications.
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 répertoires distincts
train,testet éventuellementval, ainsi que des sous-dossiers pour chaque classe contenant les images respectives. Une fois ton jeu de données correctement structuré, pointe l'argumentdatavers le répertoire racine de ton jeu de données lors de l'initialisation du script d'entraînement. Voici un exemple en Python :from ultralytics import YOLO # Load a model model = YOLO("yolo26n-cls.pt") # load a pretrained model (recommended for training) # Train the model results = model.train(data="path/to/your/dataset", epochs=100, imgsz=640)Plus de détails peuvent être trouvés dans la section Adding your own dataset.
Ultralytics YOLO offre plusieurs avantages pour la classification d'images, notamment :
- Modèles pré-entraînés : Charge des modèles pré-entraînés comme
yolo26n-cls.ptpour lancer rapidement ton processus d'entraînement. - Facilité d'utilisation : API simple et commandes CLI pour l'entraînement et l'évaluation.
- Haute performance : Une précision et une vitesse de pointe, idéales pour les applications en temps réel.
- Prise en charge de plusieurs jeux de données : Intégration transparente avec divers jeux de données populaires tels que CIFAR-10, ImageNet et bien d'autres.
- Communauté et support : Accès à une documentation étendue et à une communauté active pour le dépannage et les améliorations.
Pour obtenir des informations supplémentaires et découvrir des applications concrètes, tu peux explorer Ultralytics YOLO.
- Modèles pré-entraînés : Charge des modèles pré-entraînés comme
L'entraînement d'un modèle avec Ultralytics YOLO peut être effectué facilement en Python et en CLI. Voici un exemple :
Exemplefrom ultralytics import YOLO # Load a model model = YOLO("yolo26n-cls.pt") # load a pretrained model # Train the model results = model.train(data="path/to/dataset", epochs=100, imgsz=640)Ces exemples démontrent la simplicité du processus d'entraînement d'un modèle YOLO en utilisant l'une ou l'autre des approches. Pour plus d'informations, visite la section Usage et la page Train pour les tâches de classification.
Pour structurer ton jeu de données pour les tâches de classification Ultralytics YOLO, tu dois suivre un format de répertoire divisé spécifique. Organise ton jeu de données en répertoires séparés pour
train,testet éventuellementval. Chacun de ces répertoires doit contenir des sous-dossiers nommés d'après chaque classe, avec les images correspondantes à l'intérieur. Cela facilite la fluidité des processus d'entraînement et d'évaluation. Pour un exemple, consulte le format du jeu de données CIFAR-10 :Pour plus de détails, visite la section Dataset Structure for YOLO Classification Tasks.