Skip to content

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

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/dataset", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=path/to/data model=yolo11n-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 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, testet é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 :

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, testet é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

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-cls.pt")  # load a pretrained model

# 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=yolo11n-cls.pt epochs=100 imgsz=640

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.

📅C réé il y a 1 an ✏️ Mis à jour il y a 2 mois

Commentaires