Conjunto de dados ImageWoof
O conjunto de dados ImageWoof é um subconjunto do ImageNet que consiste em 10 classes difíceis de classificar, uma vez que são todas raças de cães. Foi criado como uma tarefa mais difícil para algoritmos de classificação de imagens resolverem, visando incentivar o desenvolvimento de modelos mais avançados.
Principais recursos
- O ImageWoof contém imagens de 10 raças de cães diferentes: Australian terrier, Border terrier, Samoyed, Beagle, Shih-Tzu, English foxhound, Rhodesian ridgeback, Dingo, Golden retriever e Old English sheepdog.
- O conjunto de dados fornece imagens em várias resoluções (tamanho total, 320px, 160px), acomodando diferentes capacidades computacionais e necessidades de pesquisa.
- Também inclui uma versão com rótulos ruidosos, proporcionando um cenário mais realista onde os rótulos podem nem sempre ser fiáveis.
Estrutura do Dataset
A estrutura do conjunto de dados ImageWoof baseia-se nas classes de raças de cães, com cada raça a ter o seu próprio diretório de imagens. Semelhante a outros conjuntos de dados de classificação, segue um formato de diretório dividido com pastas separadas para conjuntos de treino e validação.
Aplicações
O conjunto de dados ImageWoof é amplamente utilizado para treinar e avaliar modelos de deep learning em tarefas de classificação de imagens, especialmente quando se trata de classes mais complexas e semelhantes. O desafio do conjunto de dados reside nas diferenças subtis entre as raças de cães, empurrando os limites do desempenho e generalização do modelo. É particularmente valioso para:
- Avaliar o desempenho de modelos de classificação em categorias granulares
- Testar a robustez do modelo contra classes com aspeto semelhante
- Desenvolver algoritmos capazes de distinguir diferenças visuais subtis
- Avaliar capacidades de aprendizagem por transferência de domínios gerais para específicos
Utilização
Para treinar um modelo CNN no conjunto de dados ImageWoof durante 100 epochs com um tamanho de imagem de 224x224, podes usar os seguintes snippets de código. Para uma lista completa de argumentos disponíveis, consulta a página de Training do 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 do Conjunto de Dados
O conjunto de dados ImageWoof vem em três tamanhos diferentes para acomodar várias necessidades de pesquisa e capacidades computacionais:
-
Tamanho Completo (imagewoof): Esta é a versão original do conjunto de dados ImageWoof. Contém imagens em tamanho real e é ideal para o treino final e avaliação de desempenho.
-
Tamanho Médio (imagewoof320): Esta versão contém imagens redimensionadas para terem um comprimento de aresta máximo de 320 pixels. É adequada para um treino mais rápido sem sacrificar significativamente o desempenho do modelo.
-
Tamanho Pequeno (imagewoof160): Esta versão contém imagens redimensionadas para terem um comprimento de aresta máximo de 160 pixels. Foi concebida para prototipagem rápida e experimentação onde a velocidade de treino é uma prioridade.
Para usar estas variantes no teu treino, basta substituir 'imagewoof' no argumento do conjunto de dados por 'imagewoof320' ou 'imagewoof160'. Por exemplo:
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)É importante notar que o uso de imagens menores provavelmente resultará num desempenho inferior em termos de precisão de classificação. No entanto, é uma excelente maneira de iterar rapidamente nas fases iniciais do desenvolvimento e prototipagem do modelo.
Amostra de Imagens e Anotações
O conjunto de dados ImageWoof contém imagens coloridas de várias raças de cães, fornecendo um conjunto de dados desafiante para tarefas de classificação de imagens. Aqui estão alguns exemplos de imagens do conjunto de dados:

O exemplo mostra as diferenças e semelhanças subtis entre as diferentes raças de cães no conjunto de dados ImageWoof, destacando a complexidade e a dificuldade da tarefa de classificação.
Citações e Agradecimentos
Se usares o conjunto de dados ImageWoof no teu trabalho de pesquisa ou desenvolvimento, certifica-te de agradecer aos criadores do conjunto de dados através de um link para o repositório oficial do conjunto de dados.
Gostaríamos de agradecer à equipa FastAI por criar e manter o conjunto de dados ImageWoof como um recurso valioso para a comunidade de pesquisa de machine learning e computer vision. Para mais informações sobre o conjunto de dados ImageWoof, visita o repositório do conjunto de dados ImageWoof.
FAQ
O que é o conjunto de dados ImageWoof no Ultralytics?
O conjunto de dados ImageWoof é um subconjunto desafiante do ImageNet focado em 10 raças de cães específicas. Criado para elevar os limites dos modelos de classificação de imagens, apresenta raças como Beagle, Shih-Tzu e Golden Retriever. O conjunto de dados inclui imagens em várias resoluções (tamanho total, 320px, 160px) e até rótulos ruidosos para cenários de treino mais realistas. Esta complexidade torna o ImageWoof ideal para desenvolver modelos de deep learning mais avançados.
Como posso treinar um modelo usando o conjunto de dados ImageWoof com Ultralytics YOLO?
Para treinar um modelo de Convolutional Neural Network (CNN) no conjunto de dados ImageWoof usando o Ultralytics YOLO durante 100 epochs a um tamanho de imagem de 224x224, podes usar o seguinte 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 mais detalhes sobre argumentos de treino disponíveis, consulta a página de Training.
Que versões do conjunto de dados ImageWoof estão disponíveis?
O conjunto de dados ImageWoof vem em três tamanhos:
- Tamanho Completo (imagewoof): Ideal para treino final e avaliação, contendo imagens em tamanho real.
- Tamanho Médio (imagewoof320): Imagens redimensionadas com um comprimento de aresta máximo de 320 pixels, adequadas para treinos mais rápidos.
- Tamanho Pequeno (imagewoof160): Imagens redimensionadas com um comprimento de aresta máximo de 160 pixels, perfeitas para prototipagem rápida.
Usa estas versões substituindo 'imagewoof' no argumento do conjunto de dados conforme necessário. Nota, no entanto, que imagens menores podem resultar numa accuracy de classificação inferior, mas podem ser úteis para iterações mais rápidas.
Como é que os rótulos ruidosos no conjunto de dados ImageWoof beneficiam o treino?
Os rótulos ruidosos no conjunto de dados ImageWoof simulam condições do mundo real onde os rótulos podem nem sempre ser precisos. Treinar modelos com estes dados ajuda a desenvolver robustez e generalização em tarefas de classificação de imagens. Isto prepara os modelos para lidar com dados ambíguos ou mal rotulados de forma eficaz, o que é frequentemente encontrado em aplicações práticas.
Quais são os principais desafios de usar o conjunto de dados ImageWoof?
O principal desafio do conjunto de dados ImageWoof reside nas diferenças subtis entre as raças de cães que inclui. Como se concentra em 10 raças estreitamente relacionadas, distingui-las requer modelos de classificação de imagens mais avançados e ajustados. Isto torna o ImageWoof um excelente benchmark para testar as capacidades e melhorias de modelos de deep learning.