Jeu de données ImageWoof
Le jeu de données ImageWoof est un sous-ensemble d'ImageNet composé de 10 classes difficiles à classifier, car il s'agit toutes de races de chiens. Il a été créé comme une tâche plus complexe pour les algorithmes de classification d'images, dans le but d'encourager le développement de modèles plus avancés.
Fonctionnalités clés
- ImageWoof contient des images de 10 races de chiens différentes : Australian terrier, Border terrier, Samoyède, Beagle, Shih-Tzu, English foxhound, Rhodesian ridgeback, Dingo, Golden retriever et Old English sheepdog.
- Le jeu de données propose des images à différentes résolutions (taille réelle, 320px, 160px), pour s'adapter à diverses capacités de calcul et besoins de 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 jeu de données ImageWoof est basée sur les classes de races de chiens, chaque race ayant son propre répertoire d'images. Comme pour d'autres jeux de données 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 jeu de données ImageWoof est largement utilisé pour l'entraînement et l'évaluation de modèles d'apprentissage profond dans des tâches de classification d'images, surtout lorsqu'il s'agit de classes plus complexes et similaires. Le défi du jeu de données réside dans les différences subtiles entre les races de chiens, repoussant les limites de la performance et de la généralisation des modèles. Il est particulièrement précieux pour :
- Évaluer la performance des modèles de classification sur des catégories à grain fin
- Tester la robustesse des modèles face à des classes visuellement similaires
- Développer des algorithmes capables de distinguer des différences visuelles subtiles
- Évaluer les capacités d'apprentissage par transfert des domaines généraux aux domaines spécifiques
Utilisation
Pour entraîner un modèle CNN sur le jeu de données ImageWoof pendant 100 époques avec une taille d'image de 224x224, tu peux utiliser les extraits de code suivants. Pour une liste complète des arguments disponibles, consulte la page d'entraînement Training.
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="imagewoof", epochs=100, imgsz=224)Variantes du jeu de données
Le jeu de données ImageWoof existe en trois tailles différentes pour répondre aux divers besoins de recherche et capacités de calcul :
-
Taille réelle (imagewoof) : Il s'agit de la version originale du jeu de données ImageWoof. Elle contient des images en taille réelle et est idéale pour l'entraînement final et l'évaluation des performances.
-
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 la performance du modèle.
-
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 lorsque la vitesse d'entraînement est une priorité.
Pour utiliser ces variantes dans ton entraînement, remplace simplement 'imagewoof' dans l'argument dataset par 'imagewoof320' ou 'imagewoof160'. Par exemple :
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-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)Il est important de noter que l'utilisation d'images plus petites donnera probablement une performance moindre en termes de précision de classification. Cependant, c'est un excellent moyen d'itérer rapidement au début du développement et du prototypage de ton modèle.
Exemples d'images et d'annotations
Le jeu de données ImageWoof contient des images colorées de diverses races de chiens, offrant un jeu de données stimulant pour les tâches de classification d'images. Voici quelques exemples d'images du jeu de données :

L'exemple met en évidence les différences et similitudes subtiles entre les différentes races de chiens dans le jeu de données ImageWoof, soulignant la complexité et la difficulté de la tâche de classification.
Citations et remerciements
Si tu utilises le jeu de données ImageWoof dans tes travaux de recherche ou de développement, assure-toi de créditer les créateurs du jeu de données en créant un lien vers le dépôt officiel du jeu de données.
Nous souhaitons remercier l'équipe de FastAI pour la création et la maintenance du jeu de données ImageWoof, une ressource précieuse pour la communauté de recherche en apprentissage automatique et en vision par ordinateur. Pour plus d'informations sur le jeu de données ImageWoof, visite le dépôt du jeu de données ImageWoof.
FAQ
Qu'est-ce que le jeu de données ImageWoof dans Ultralytics ?
Le jeu de données ImageWoof est un sous-ensemble stimulant d'ImageNet se concentrant 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. Le jeu de données inclut des images à diverses 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 le jeu de données ImageWoof avec Ultralytics YOLO ?
Pour entraîner un modèle de réseau de neurones convolutif (CNN) sur le jeu de données ImageWoof en utilisant Ultralytics YOLO pendant 100 époques avec une taille d'image de 224x224, tu peux utiliser le code suivant :
from ultralytics import YOLO
model = YOLO("yolo26n-cls.pt") # Load a pretrained model
results = model.train(data="imagewoof", epochs=100, imgsz=224)Pour plus de détails sur les arguments d'entraînement disponibles, consulte la page d'entraînement Training.
Quelles sont les versions du jeu de données ImageWoof disponibles ?
Le jeu de données ImageWoof existe en trois tailles :
- Taille réelle (imagewoof) : Idéal pour l'entraînement final et l'évaluation des performances, contenant des images en taille réelle.
- Taille moyenne (imagewoof320) : Images redimensionnées avec une longueur de bord maximale de 320 pixels, adaptées à un entraînement plus rapide.
- Petite taille (imagewoof160) : Images redimensionnées avec une longueur de bord maximale de 160 pixels, parfaites pour le prototypage rapide.
Utilise ces versions en remplaçant 'imagewoof' dans l'argument dataset en conséquence. Note, cependant, que des images plus petites peuvent donner une précision de classification moindre, mais peuvent être utiles pour des itérations plus rapides.
Comment les étiquettes bruitées dans le jeu de données ImageWoof favorisent-elles l'entraînement ?
Les étiquettes bruitées dans le jeu de données ImageWoof simulent des conditions réelles où les étiquettes ne sont pas toujours exactes. Entraîner des 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 des données ambiguës ou mal étiquetées, ce qui est souvent rencontré dans les applications pratiques.
Quels sont les principaux défis liés à l'utilisation du jeu de données ImageWoof ?
Le défi principal du jeu de données ImageWoof réside dans les différences subtiles entre les races de chiens incluses. Comme il se concentre sur 10 races étroitement liées, les distinguer nécessite des modèles de classification d'images plus avancés et affinés. Cela fait d'ImageWoof un excellent benchmark pour tester les capacités et les améliorations des modèles d'apprentissage profond.