Conjunto de datos ImageWoof
El conjunto de datos ImageWoof es un subconjunto de ImageNet que consta de 10 clases difíciles de clasificar, ya que todas son razas de perro. Se creó como una tarea más compleja para que la resolvieran los algoritmos de clasificación de imágenes, con el objetivo de fomentar el desarrollo de modelos más avanzados.
Características clave
- ImageWoof contiene imágenes de 10 razas de perro diferentes: terrier australiano, Border terrier, samoyedo, beagle, shih-tzu, foxhound inglés, crestado rodesiano, dingo, golden retriever y pastor inglés antiguo.
- El conjunto de datos proporciona imágenes en varias resoluciones (tamaño completo, 320px, 160px), adaptándose a diferentes necesidades de investigación y capacidades computacionales.
- También incluye una versión con etiquetas ruidosas, lo que proporciona un escenario más realista donde las etiquetas no siempre son fiables.
Estructura del conjunto de datos
La estructura del conjunto de datos ImageWoof se basa en las clases de razas de perro, donde cada raza tiene su propio directorio de imágenes. Al igual que otros conjuntos de datos de clasificación, sigue un formato de directorio dividido con carpetas separadas para los conjuntos de entrenamiento y validación.
Aplicaciones
El conjunto de datos ImageWoof se utiliza ampliamente para entrenar y evaluar modelos de deep learning en tareas de clasificación de imágenes, especialmente cuando se trata de clases más complejas y similares. El desafío del conjunto de datos radica en las sutiles diferencias entre las razas de perro, lo que supera los límites del rendimiento y la generalización del modelo. Es particularmente valioso para:
- Evaluar el rendimiento de modelos de clasificación en categorías de grano fino
- Probar la robustez del modelo frente a clases de aspecto similar
- Desarrollar algoritmos capaces de distinguir diferencias visuales sutiles
- Evaluar capacidades de transfer learning de dominios generales a específicos
Uso
Para entrenar un modelo CNN en el conjunto de datos ImageWoof durante 100 epochs con un tamaño de imagen de 224x224, puedes usar los siguientes fragmentos de código. Para obtener una lista completa de los argumentos disponibles, consulta la página de Training del modelo.
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 del conjunto de datos
El conjunto de datos ImageWoof viene en tres tamaños diferentes para adaptarse a diversas necesidades de investigación y capacidades computacionales:
-
Tamaño completo (imagewoof): Esta es la versión original del conjunto de datos ImageWoof. Contiene imágenes a tamaño completo y es ideal para el entrenamiento final y la evaluación del rendimiento.
-
Tamaño medio (imagewoof320): Esta versión contiene imágenes redimensionadas para tener una longitud de borde máxima de 320 píxeles. Es adecuada para un entrenamiento más rápido sin sacrificar significativamente el rendimiento del modelo.
-
Tamaño pequeño (imagewoof160): Esta versión contiene imágenes redimensionadas para tener una longitud de borde máxima de 160 píxeles. Está diseñada para prototipado rápido y experimentación donde la velocidad de entrenamiento es una prioridad.
Para utilizar estas variantes en tu entrenamiento, simplemente reemplaza 'imagewoof' en el argumento del conjunto de datos por 'imagewoof320' o 'imagewoof160'. Por ejemplo:
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)Es importante tener en cuenta que el uso de imágenes más pequeñas probablemente producirá un menor rendimiento en términos de precisión de clasificación. Sin embargo, es una excelente manera de iterar rápidamente en las primeras etapas del desarrollo y prototipado del modelo.
Imágenes y anotaciones de muestra
El conjunto de datos ImageWoof contiene imágenes coloridas de varias razas de perro, lo que proporciona un conjunto de datos desafiante para tareas de clasificación de imágenes. Aquí tienes algunos ejemplos de imágenes del conjunto de datos:

El ejemplo muestra las sutiles diferencias y similitudes entre las diferentes razas de perro en el conjunto de datos ImageWoof, destacando la complejidad y dificultad de la tarea de clasificación.
Citas y reconocimientos
Si utilizas el conjunto de datos ImageWoof en tu trabajo de investigación o desarrollo, asegúrate de reconocer a los creadores del conjunto de datos mediante un enlace al repositorio oficial del conjunto de datos.
Nos gustaría reconocer al equipo de FastAI por crear y mantener el conjunto de datos ImageWoof como un recurso valioso para la comunidad de investigación en machine learning y computer vision. Para obtener más información sobre el conjunto de datos ImageWoof, visita el repositorio del conjunto de datos ImageWoof.
Preguntas frecuentes
¿Qué es el conjunto de datos ImageWoof en Ultralytics?
El conjunto de datos ImageWoof es un subconjunto desafiante de ImageNet centrado en 10 razas de perro específicas. Creado para superar los límites de los modelos de clasificación de imágenes, incluye razas como Beagle, Shih-Tzu y Golden Retriever. El conjunto de datos incluye imágenes a varias resoluciones (tamaño completo, 320px, 160px) e incluso etiquetas ruidosas para escenarios de entrenamiento más realistas. Esta complejidad hace que ImageWoof sea ideal para desarrollar modelos de deep learning más avanzados.
¿Cómo puedo entrenar un modelo usando el conjunto de datos ImageWoof con Ultralytics YOLO?
Para entrenar un modelo de Convolutional Neural Network (CNN) en el conjunto de datos ImageWoof utilizando Ultralytics YOLO durante 100 epochs con un tamaño de imagen de 224x224, puedes usar el siguiente código:
from ultralytics import YOLO
model = YOLO("yolo26n-cls.pt") # Load a pretrained model
results = model.train(data="imagewoof", epochs=100, imgsz=224)Para obtener más detalles sobre los argumentos de entrenamiento disponibles, consulta la página de Training.
¿Qué versiones del conjunto de datos ImageWoof están disponibles?
El conjunto de datos ImageWoof viene en tres tamaños:
- Tamaño completo (imagewoof): Ideal para entrenamiento final y evaluación, conteniendo imágenes a tamaño completo.
- Tamaño medio (imagewoof320): Imágenes redimensionadas con una longitud de borde máxima de 320 píxeles, adecuadas para un entrenamiento más rápido.
- Tamaño pequeño (imagewoof160): Imágenes redimensionadas con una longitud de borde máxima de 160 píxeles, perfectas para prototipado rápido.
Utiliza estas versiones reemplazando 'imagewoof' en el argumento del conjunto de datos según corresponda. Ten en cuenta, sin embargo, que las imágenes más pequeñas pueden producir una menor accuracy de clasificación, pero pueden ser útiles para iteraciones más rápidas.
¿Cómo benefician las etiquetas ruidosas en el conjunto de datos ImageWoof al entrenamiento?
Las etiquetas ruidosas en el conjunto de datos ImageWoof simulan condiciones del mundo real donde las etiquetas no siempre pueden ser precisas. Entrenar modelos con estos datos ayuda a desarrollar robustez y generalización en tareas de clasificación de imágenes. Esto prepara a los modelos para manejar datos ambiguos o mal etiquetados de manera efectiva, algo que a menudo se encuentra en aplicaciones prácticas.
¿Cuáles son los desafíos clave de usar el conjunto de datos ImageWoof?
El principal desafío del conjunto de datos ImageWoof radica en las sutiles diferencias entre las razas de perro que incluye. Dado que se centra en 10 razas estrechamente relacionadas, distinguirlas requiere modelos de clasificación de imágenes más avanzados y ajustados. Esto hace de ImageWoof un excelente benchmark para probar las capacidades y mejoras de los modelos de deep learning.