Skip to main content

Conjunto de dados ImageWoof

O argumento ImageWoof é um subconjunto do ImageNet composto por 10 classes difíceis de classificar, já que todas são raças de cães. Foi criado como uma tarefa mais desafiadora para classificação de imagem algoritmos 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 real, 320px, 160px), acomodando diferentes capacidades computacionais e necessidades de pesquisa.
  • Ele também inclui uma versão com rótulos ruidosos (noisy labels), proporcionando um cenário mais realista onde os rótulos podem nem sempre ser confiáveis.

Estrutura do Dataset

A estrutura do conjunto de dados 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 conjuntos de dados de classificação, ele segue um formato de diretórios separados para conjuntos de treinamento e validação.

Aplicações

O conjunto de dados ImageWoof é amplamente utilizado para treinar e avaliar modelos 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 sutis entre as raças de cães, levando ao limite o desempenho e a generalização dos modelos. Ele é particularmente valioso para:

  • Benchmarking do desempenho de modelos de classificação em categorias granulares
  • Testar a robustez do modelo contra classes visualmente semelhantes
  • Desenvolver algoritmos que consigam distinguir diferenças visuais sutis
  • Avaliar capacidades de transferência de aprendizado (transfer learning) de domínios gerais para específicos

Uso

Para treinar um modelo CNN no conjunto de dados ImageWoof por 100 epochs com um tamanho de imagem de 224x224, você pode usar os seguintes snippets de código. Para uma lista abrangente de argumentos disponíveis, consulte o modelo Treinamento.

Exemplo de Treinamento
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 diversas necessidades de pesquisa e capacidades computacionais:

  1. Tamanho Real (imagewoof): Esta é a versão original do conjunto de dados ImageWoof. Contém imagens em tamanho real e é ideal para o treinamento final e benchmarking de desempenho.

  2. 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 treinamento mais rápido sem sacrificar significativamente o desempenho do modelo.

  3. Tamanho Pequeno (imagewoof160): Esta versão contém imagens redimensionadas para terem um comprimento máximo de aresta de 160 pixels. Foi projetada para prototipagem rápida e experimentação, onde a velocidade de treinamento é uma prioridade.

Para usar essas variantes em seu treinamento, basta substituir 'imagewoof' no argumento do dataset por 'imagewoof320' ou 'imagewoof160'. Por exemplo:

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 usar imagens menores provavelmente resultará em menor desempenho em termos de precisão de classificação. No entanto, é uma excelente maneira de iterar rapidamente nos estágios iniciais do desenvolvimento e prototipagem do modelo.

Exemplos de Imagens e Anotações

O conjunto de dados ImageWoof contém imagens coloridas de várias raças de cães, oferecendo um conjunto de dados desafiador para tarefas de classificação de imagens. Aqui estão alguns exemplos de imagens do conjunto de dados:

Amostras do conjunto de dados de classificação de raças de cães ImageWoof

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 creditar os criadores do conjunto de dados incluindo um link para o repositório oficial do conjunto de dados.

Gostaríamos de agradecer à FastAI equipe pela criação e manutenção do conjunto de dados ImageWoof como um recurso valioso para a machine learning e computer vision comunidade de pesquisa. 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 na Ultralytics?

O argumento ImageWoof O conjunto de dados é um subconjunto desafiador do ImageNet focado em 10 raças específicas de cães. Criado para levar ao limite os modelos de classificação de imagens, ele apresenta raças como Beagle, Shih-Tzu e Golden Retriever. O conjunto de dados inclui imagens em várias resoluções (tamanho real, 320px, 160px) e até mesmo rótulos ruidosos (noisy labels) para cenários de treinamento mais realistas. Essa 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 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("yolo26n-cls.pt")  # Load a pretrained model
results = model.train(data="imagewoof", epochs=100, imgsz=224)

Para mais detalhes sobre os argumentos de treinamento disponíveis, consulte a Treinamento.

Quais versões do conjunto de dados ImageWoof estão disponíveis?

O conjunto de dados ImageWoof vem em três tamanhos:

  1. Tamanho Real (imagewoof): Ideal para treinamento final e benchmarking, contendo imagens em tamanho real.
  2. Tamanho Médio (imagewoof320): Imagens redimensionadas com um comprimento máximo de aresta de 320 pixels, adequadas para um treinamento mais rápido.
  3. Tamanho Pequeno (imagewoof160): Imagens redimensionadas com um comprimento máximo de aresta de 160 pixels, perfeitas para prototipagem rápida.

Use essas versões substituindo 'imagewoof' no argumento do dataset conforme necessário. Note, no entanto, que imagens menores podem resultar em menor accuracy de classificação, mas podem ser úteis para iterações mais rápidas.

Como os rótulos ruidosos (noisy labels) no conjunto de dados ImageWoof beneficiam o treinamento?

Os rótulos ruidosos no conjunto de dados ImageWoof simulam condições do mundo real onde os rótulos nem sempre são 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 conjunto de dados ImageWoof?

O principal desafio do conjunto de dados ImageWoof reside nas diferenças sutis entre as raças de cães incluídas. Como ele foca em 10 raças estreitamente relacionadas, distingui-las requer modelos de classificação de imagens mais avançados e ajustados. Isso torna o ImageWoof um excelente benchmark para testar as capacidades e melhorias de deep learning bem treinados.

Comentários