Passer au contenu

Ensemble de données ImageWoof

L'ensemble de données ImageWoof est un sous-ensemble d'ImageNet comprenant 10 classes difficiles à classifier, car ce sont toutes des races de chiens. Il a été créé comme une tâche plus difficile à résoudre pour les algorithmes de classification d'images, dans le but d'encourager le développement de modèles plus avancés.

Principales caractéristiques

  • ImageWoof contient des images de 10 races de chiens différentes : Terrier australien, Border terrier, Samoyède, Beagle, Shih-Tzu, Foxhound anglais, Rhodesian ridgeback, Dingo, Golden retriever et Bobtail.
  • L'ensemble de données fournit des images à différentes résolutions (taille réelle, 320px, 160px), s'adaptant aux différentes capacités de calcul et aux besoins de la recherche.
  • Il inclut également une version avec des étiquettes bruitées, offrant un scénario plus réaliste où les étiquettes ne sont pas toujours fiables.

Structure du jeu de données

La structure du dataset ImageWoof est basée sur les classes de races de chiens, chaque race ayant son propre répertoire d'images. Semblable à d'autres datasets de classification, il suit un format de répertoire divisé avec des dossiers séparés pour les ensembles d'entraînement et de validation.

Applications

Le dataset ImageWoof est largement utilisé pour l'entraînement et l'évaluation de modèles de deep learning dans les tâches de classification d'images, en particulier lorsqu'il s'agit de classes plus complexes et similaires. Le défi du dataset réside dans les différences subtiles entre les races de chiens, repoussant les limites des performances et de la généralisation du modèle. Il est particulièrement précieux pour :

  • Évaluation comparative des performances d'un modèle de classification sur des catégories à granularité fine
  • Tester la robustesse du modèle face à des classes d'apparence similaire
  • Développement d'algorithmes capables de distinguer de subtiles différences visuelles
  • Évaluation des capacités d'apprentissage par transfert des domaines généraux aux domaines spécifiques

Utilisation

Pour entraîner un modèle CNN sur l'ensemble de données ImageWoof pendant 100 epochs avec une taille d'image de 224x224, vous pouvez utiliser les extraits de code suivants. Pour une liste complète des arguments disponibles, consultez la page Formation du modèle.

Exemple d'entraînement

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="imagewoof", epochs=100, imgsz=224)
# Start training from a pretrained *.pt model
yolo classify train data=imagewoof model=yolo11n-cls.pt epochs=100 imgsz=224

Variantes de l'ensemble de données

L'ensemble de données ImageWoof est disponible en trois tailles différentes pour répondre aux divers besoins de recherche et aux capacités de calcul :

  1. Taille réelle (imagewoof) : Il s'agit de la version originale du jeu de données ImageWoof. Il contient des images en taille réelle et est idéal pour l'entraînement final et l'évaluation des performances.

  2. Taille moyenne (imagewoof320): Cette version contient des images redimensionnées pour avoir une longueur de bord maximale de 320 pixels. Elle est adaptée à un entraînement plus rapide sans sacrifier significativement les performances du modèle.

  3. Petite taille (imagewoof160) : Cette version contient des images redimensionnées pour avoir une longueur de bord maximale de 160 pixels. Elle est conçue pour le prototypage rapide et l’expérimentation où la vitesse de formation est une priorité.

Pour utiliser ces variantes dans votre entraînement, remplacez simplement 'imagewoof' dans l'argument de l'ensemble de données par 'imagewoof320' ou 'imagewoof160'. Par exemple :

Exemple

from ultralytics import YOLO

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

# For medium-sized dataset
model.train(data="imagewoof320", epochs=100, imgsz=224)

# For small-sized dataset
model.train(data="imagewoof160", epochs=100, imgsz=224)
# Load a pretrained model and train on the medium-sized dataset
yolo classify train model=yolo11n-cls.pt data=imagewoof320 epochs=100 imgsz=224

Il est important de noter que l'utilisation d'images plus petites entraînera probablement une baisse des performances en termes de précision de la classification. Cependant, c'est un excellent moyen d'itérer rapidement dans les premières étapes du développement et du prototypage du modèle.

Images et annotations d'exemple

L'ensemble de données ImageWoof contient des images colorées de diverses races de chiens, offrant un ensemble de données stimulant pour les tâches de classification d'images. Voici quelques exemples d'images de l'ensemble de données :

Exemple d'image de l'ensemble de données

L'exemple met en évidence les différences et les similitudes subtiles entre les différentes races de chiens dans l'ensemble de données ImageWoof, soulignant la complexité et la difficulté de la tâche de classification.

Citations et remerciements

Si vous utilisez l'ensemble de données ImageWoof dans vos travaux de recherche ou de développement, assurez-vous de mentionner les créateurs de l'ensemble de données en incluant un lien vers le référentiel officiel de l'ensemble de données.

Nous tenons à remercier l'équipe FastAI pour la création et la maintenance de l'ensemble de données ImageWoof, une ressource précieuse pour la communauté de la recherche en apprentissage automatique et en vision par ordinateur. Pour plus d'informations sur l'ensemble de données ImageWoof, consultez le référentiel de l'ensemble de données ImageWoof.

FAQ

Qu'est-ce que le jeu de données ImageWoof dans Ultralytics ?

L'ensemble de données ImageWoof est un sous-ensemble stimulant d'ImageNet axé sur 10 races de chiens spécifiques. Créé pour repousser les limites des modèles de classification d'images, il présente des races comme le Beagle, le Shih-Tzu et le Golden Retriever. L'ensemble de données comprend des images à différentes résolutions (taille réelle, 320px, 160px) et même des étiquettes bruitées pour des scénarios d'entraînement plus réalistes. Cette complexité rend ImageWoof idéal pour développer des modèles d'apprentissage profond plus avancés.

Comment puis-je entraîner un modèle en utilisant l'ensemble de données ImageWoof avec Ultralytics YOLO ?

Pour entraîner un modèle de réseau neuronal convolutionnel (CNN) sur l'ensemble de données ImageWoof à l'aide d'Ultralytics YOLO pendant 100 epochs à une taille d'image de 224x224, vous pouvez utiliser le code suivant :

Exemple d'entraînement

from ultralytics import YOLO

model = YOLO("yolo11n-cls.pt")  # Load a pretrained model
results = model.train(data="imagewoof", epochs=100, imgsz=224)
yolo classify train data=imagewoof model=yolo11n-cls.pt epochs=100 imgsz=224

Pour plus de détails sur les arguments d'entraînement disponibles, consultez la page Entraînement.

Quelles versions de l’ensemble de données ImageWoof sont disponibles ?

L'ensemble de données ImageWoof est disponible en trois tailles :

  1. Taille réelle (imagewoof) : Idéal pour l'entraînement final et le benchmarking, contenant des images en taille réelle.
  2. Taille moyenne (imagewoof320) : images redimensionnées avec une longueur de bord maximale de 320 pixels, adaptées à un entraînement plus rapide.
  3. Petite taille (imagewoof160) : Images redimensionnées avec une longueur de bord maximale de 160 pixels, parfaites pour le prototypage rapide.

Utilisez ces versions en remplaçant 'imagewoof' dans l'argument du jeu de données en conséquence. Notez cependant que des images plus petites peuvent entraîner une précision de classification plus faible, mais peuvent être utiles pour des itérations plus rapides.

Comment les étiquettes bruitées dans le jeu de données ImageWoof profitent-elles à l'entraînement ?

Les étiquettes bruitées dans l'ensemble de données ImageWoof simulent des conditions réelles où les étiquettes peuvent ne pas toujours être exactes. L'entraînement de modèles avec ces données aide à développer la robustesse et la généralisation dans les tâches de classification d'images. Cela prépare les modèles à gérer efficacement les données ambiguës ou mal étiquetées, ce qui est souvent rencontré dans les applications pratiques.

Quels sont les principaux défis de l'utilisation du jeu de données ImageWoof ?

La principale difficulté du jeu de données ImageWoof réside dans les différences subtiles entre les races de chiens qu'il inclut. Puisqu'il se concentre sur 10 races étroitement apparentées, il faut des modèles de classification d'images plus avancés et finement réglés pour les distinguer. Cela fait d'ImageWoof un excellent banc d'essai pour tester les capacités et les améliorations des modèles d'apprentissage profond.



📅 Créé il y a 1 an ✏️ Mis à jour il y a 5 mois

Commentaires