Meet YOLO26: next-gen vision AI.

Link to this sectionPrésentation des jeux de données pour la classification d'images#

Link to this sectionStructure des jeux de données pour les tâches de classification YOLO#

Pour les tâches de classification YOLO d'Ultralytics, le jeu de données doit être organisé dans une structure de répertoires fractionnée spécifique sous le répertoire root pour faciliter les processus d'entraînement, de test et, optionnellement, de validation. Cette structure inclut des répertoires séparés 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.

Link to this sectionExemple de structure de dossier#

Prends le jeu de données CIFAR-10 comme exemple. La structure du dossier 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.

Link to this sectionUtilisation#

Exemple
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)
Astuce

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 mentionnes. Indique le chemin d'un dossier pour data uniquement si tu as préparé un jeu de données personnalisé.

Link to this sectionJeux 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 complexes.
  • CIFAR-10 : Un jeu 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 jeu de données composé de 70 000 images en niveaux de gris de 10 catégories de mode pour des 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 des expérimentations et des tests plus rapides.
  • Imagenette : Un sous-ensemble plus petit d'ImageNet qui contient 10 classes facilement distinguables pour un entraînement et des tests plus rapides.
  • Imagewoof : Un sous-ensemble plus complexe d'ImageNet contenant 10 catégories de races de chiens pour des tâches de classification d'images.
  • MNIST : Un jeu de données de 70 000 images en niveaux de gris de chiffres manuscrits pour des tâches de classification d'images.
  • MNIST160 : Les 8 premières images de chaque chiffre (0-9) issues à la fois des jeux d'entraînement et de test de MNIST. Le jeu de données contient 160 images au total.

Link to this sectionAjouter 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 dans "Dataset Structure" et indique ensuite le répertoire du jeu de données dans ton argument data lors de l'initialisation de ton script d'entraînement.

Link to this sectionFAQ#

Link to this sectionComment structurer mon jeu de données pour les tâches de classification YOLO ?#

Pour structurer ton jeu de données pour les tâches de classification YOLO d'Ultralytics, tu dois suivre un format spécifique de répertoires fractionnés. Organise ton jeu de données en répertoires séparés pour train, test et éventuellement val. Chacun de ces répertoires doit contenir des sous-répertoires nommés selon chaque classe, avec les images correspondantes à l'intérieur. Cela facilite le bon déroulement des processus d'entraînement et d'évaluation. Pour un exemple, considère le format du jeu 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, consulte la section Dataset Structure for YOLO Classification Tasks.

Link to this sectionQuels jeux de données sont pris en charge par Ultralytics YOLO pour la classification d'images ?#

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 à faciliter leur utilisation avec YOLO. La page de chaque jeu de données fournit plus de détails sur sa structure et ses applications.

Link to this sectionComment 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 suit le format de répertoire spécifié requis pour la tâche de classification, avec des répertoires séparés pour train, test et éventuellement val, et des sous-répertoires pour chaque classe contenant les images respectives. Une fois ton jeu de données correctement structuré, pointe l'argument data vers 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 sont disponibles dans la section Adding your own dataset.

Link to this sectionPourquoi utiliser Ultralytics YOLO pour la classification d'images ?#

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.pt pour démarrer rapidement ton processus d'entraînement.
  • Facilité d'utilisation : API simple et commandes CLI pour l'entraînement 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 jeux de données : Intégration transparente avec divers jeux de données populaires comme CIFAR-10, ImageNet, et plus encore.
  • Communauté et support : Accès à une documentation étendue et à une communauté active pour le dépannage et les améliorations.

Pour des perspectives supplémentaires et des applications concrètes, tu peux explorer Ultralytics YOLO.

Link to this sectionComment puis-je entraîner un modèle en utilisant Ultralytics YOLO ?#

L'entraînement d'un modèle avec Ultralytics YOLO peut être effectué facilement en Python et en CLI. Voici un exemple :

Exemple
from 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 approche. Pour plus d'informations, visite la section Usage et la page Train pour les tâches de classification.

Commentaires