Conjunto de Dados ImageWoof
O conjunto de dados ImageWoof é um subconjunto do ImageNet que consiste em 10 classes que são difíceis de classificar, pois são todas raças de cães. Foi criado como uma tarefa mais difícil para os algoritmos de classificação de imagens resolverem, visando incentivar o desenvolvimento de modelos mais avançados.
Principais Características
- ImageWoof contém imagens de 10 raças diferentes de cães: Australian terrier, Border terrier, Samoieda, 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 confiáveis.
Estrutura do Conjunto de Dados
A estrutura do dataset ImageWoof é baseada nas classes de raças de cães, com cada raça tendo seu próprio diretório de imagens. Semelhante a outros datasets de classificação, ele segue um formato de diretório dividido com pastas separadas para conjuntos de treinamento e validação.
Aplicações
O dataset ImageWoof é amplamente utilizado para treinar e avaliar modelos de aprendizado profundo em tarefas de classificação de imagens, especialmente quando se trata de classes mais complexas e semelhantes. O desafio do dataset reside nas diferenças sutis entre as raças de cães, ultrapassando os limites de desempenho e generalização do modelo. É particularmente valioso para:
- Benchmarking do desempenho do modelo de classificação em categorias de grão fino
- Testando a robustez do modelo contra classes de aparência semelhante
- Desenvolver algoritmos que consigam distinguir diferenças visuais subtis
- Avaliando as capacidades de aprendizado por transferência de domínios gerais para específicos
Utilização
Para treinar um modelo CNN no conjunto de dados ImageWoof por 100 épocas com um tamanho de imagem de 224x224, você pode usar os seguintes trechos de código. Para uma lista abrangente de argumentos disponíveis, consulte a página de Treinamento do modelo.
Exemplo de Treinamento
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 do Conjunto de Dados
O conjunto de dados ImageWoof está disponível em três tamanhos diferentes para acomodar diversas necessidades de pesquisa e capacidades computacionais:
-
Tamanho Completo (imagewoof): Esta é a versão original do conjunto de dados ImageWoof. Ele contém imagens em tamanho real e é ideal para treinamento final e benchmarking de desempenho.
-
Tamanho Médio (imagewoof320): Esta versão contém imagens redimensionadas para terem um comprimento máximo de aresta 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 ter um comprimento máximo de borda de 160 pixels. Ele foi projetado para prototipagem rápida e experimentação onde a velocidade de treinamento é uma prioridade.
Para usar estas variantes no seu treinamento, basta substituir 'imagewoof' no argumento do conjunto de dados por 'imagewoof320' ou 'imagewoof160'. Por exemplo:
Exemplo
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
É importante observar que o uso de imagens menores provavelmente resultará em um desempenho inferior em termos de precisão da classificação. No entanto, é uma excelente maneira de iterar rapidamente nos estágios iniciais do desenvolvimento e prototipagem do modelo.
Amostras 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 desafiador 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 sutis 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 você usar o conjunto de dados ImageWoof em seu trabalho de pesquisa ou desenvolvimento, certifique-se de reconhecer os criadores do conjunto de dados, vinculando ao repositório oficial do conjunto de dados.
Gostaríamos de agradecer à equipe FastAI por criar e manter o conjunto de dados ImageWoof como um recurso valioso para a comunidade de pesquisa em aprendizado de máquina e visão computacional. Para mais informações sobre o conjunto de dados ImageWoof, visite 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 desafiador do ImageNet com foco em 10 raças de cães específicas. Criado para ultrapassar 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é mesmo rótulos ruidosos para cenários de treinamento mais realistas. Essa complexidade torna o ImageWoof ideal para desenvolver modelos de aprendizado profundo mais avançados.
Como posso treinar um modelo usando o conjunto de dados ImageWoof com Ultralytics YOLO?
Para treinar um modelo de Rede Neural Convolucional (CNN) no conjunto de dados ImageWoof usando Ultralytics YOLO por 100 épocas com um tamanho de imagem de 224x224, você pode usar o seguinte código:
Exemplo de Treinamento
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
Para obter mais detalhes sobre os argumentos de treino disponíveis, consulte a página de Treino.
Quais versões do conjunto de dados ImageWoof estão disponíveis?
O conjunto de dados ImageWoof está disponível em três tamanhos:
- Tamanho Completo (imagewoof): Ideal para treinamento final e benchmarking, contendo imagens em tamanho real.
- Tamanho Médio (imagewoof320): Imagens redimensionadas com um comprimento máximo de aresta de 320 pixels, adequadas para um treino mais rápido.
- Tamanho Pequeno (imagewoof160): Imagens redimensionadas com um comprimento máximo de borda de 160 pixels, perfeitas para prototipagem rápida.
Use estas versões substituindo 'imagewoof' no argumento do conjunto de dados de acordo. Observe, no entanto, que imagens menores podem produzir menor precisão de classificação, mas podem ser úteis para iterações mais rápidas.
Como os rótulos ruidosos no conjunto de dados ImageWoof beneficiam o treinamento?
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 esses dados ajuda a desenvolver robustez e generalização em tarefas de classificação de imagens. Isso prepara os modelos para lidar com dados ambíguos ou rotulados incorretamente de forma eficaz, o que é frequentemente encontrado em aplicações práticas.
Quais são os principais desafios de usar o dataset ImageWoof?
O principal desafio do conjunto de dados ImageWoof reside nas diferenças sutis entre as raças de cães que ele inclui. Como ele se concentra em 10 raças intimamente relacionadas, distinguir entre elas requer modelos de classificação de imagem mais avançados e ajustados. Isso torna o ImageWoof um excelente benchmark para testar as capacidades e melhorias de modelos de deep learning.