Salta para o conteúdo

Conjunto de dados ImageWoof

O conjunto de dados ImageWoof é um subconjunto do ImageNet composto por 10 classes que são difíceis de classificar, uma vez que 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, com o objetivo de incentivar o desenvolvimento de modelos mais avançados.

Características principais

  • ImageWoof contém imagens de 10 raças de cães diferentes: Terrier australiano, Border terrier, Samoyed, Beagle, Shih-Tzu, English foxhound, Rhodesian ridgeback, Dingo, Golden retriever e Old English sheepdog.
  • O conjunto de dados fornece imagens com várias resoluções (tamanho real, 320 px, 160 px), adaptando-se a diferentes capacidades computacionais e necessidades de investigação.
  • Inclui também uma versão com etiquetas com ruído, proporcionando um cenário mais realista em que as etiquetas podem nem sempre ser fiáveis.

Estrutura do conjunto de dados

A estrutura do conjunto de dados ImageWoof baseia-se nas classes de raças de cães, tendo cada raça o seu próprio diretório de imagens.

Aplicações

O conjunto de dados ImageWoof é amplamente utilizado para treinar e avaliar modelos de aprendizagem profunda 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, o que leva aos limites do desempenho e generalização do modelo.

Utilização

Para treinar um modelo CNN no conjunto de dados ImageWoof para 100 épocas com um tamanho de imagem de 224x224, podes utilizar os seguintes snippets de código. Para obter uma lista abrangente dos argumentos disponíveis, consulta a página Treino do modelo.

Exemplo de comboio

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n-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 detect train data=imagewoof model=yolov8n-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 se adaptar a várias necessidades de investigação e capacidades computacionais:

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

  2. Tamanho médio (imagewoof320): Esta versão contém imagens redimensionadas para ter um comprimento máximo de borda de 320 pixels. É adequada para um treino 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 borda de 160 pixels. Foi concebida para prototipagem rápida e experimentação onde a velocidade de treino é uma prioridade.

Para utilizar 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("yolov8n-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 observar que o uso de imagens menores provavelmente produzirá um desempenho inferior em termos de precisão de classificação. No entanto, é uma excelente maneira de iterar rapidamente nos estágios iniciais de desenvolvimento e prototipagem de modelos.

Exemplos de imagens e anotações

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

Imagem de amostra do conjunto de dados

O exemplo mostra as diferenças subtis e as semelhanças entre as diferentes raças de cães no conjunto de dados ImageWoof, realçando a complexidade e a dificuldade da tarefa de classificação.

Citações e agradecimentos

Se utilizares o conjunto de dados ImageWoof no teu trabalho de investigação ou desenvolvimento, certifica-te de que reconheces os criadores do conjunto de dados, ligando-os ao 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 investigação em aprendizagem automática e visão computacional. 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 em Ultralytics?

O conjunto de dados ImageWoof é um subconjunto exigente do ImageNet que se centra 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 real, 320px, 160px) e até mesmo rótulos com ruído para cenários de treinamento mais realistas. Esta complexidade torna o ImageWoof ideal para desenvolver modelos de aprendizagem profunda mais avançados.

Como posso treinar um modelo utilizando o conjunto de dados ImageWoof com Ultralytics YOLO ?

Para treinar um modelo de Rede Neural Convolucional (CNN) no conjunto de dados ImageWoof utilizando Ultralytics YOLO para 100 épocas com um tamanho de imagem de 224x224, podes utilizar o seguinte código:

Exemplo de comboio

from ultralytics import YOLO

model = YOLO("yolov8n-cls.pt")  # Load a pretrained model
results = model.train(data="imagewoof", epochs=100, imgsz=224)
yolo detect train data=imagewoof model=yolov8n-cls.pt epochs=100 imgsz=224

Para mais informações sobre os argumentos de formação disponíveis, consulta a página Formação.

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

O conjunto de dados ImageWoof está disponível em três tamanhos:

  1. Tamanho completo (imagewoof): Ideal para formação final e avaliação comparativa, contendo imagens em tamanho real.
  2. Tamanho médio (imagewoof320): Imagens redimensionadas com um comprimento máximo de borda de 320 pixels, adequadas para um treino mais rápido.
  3. Tamanho pequeno (imagewoof160): Imagens redimensionadas com um comprimento máximo de borda de 160 pixels, perfeitas para prototipagem rápida.

Utiliza estas versões substituindo 'imagewoof' no argumento do conjunto de dados em conformidade. Nota, no entanto, que as imagens mais pequenas podem produzir uma precisão de classificação inferior, mas podem ser úteis para iterações mais rápidas.

Como é que as etiquetas com ruído no conjunto de dados ImageWoof beneficiam o treino?

As etiquetas ruidosas no conjunto de dados ImageWoof simulam condições do mundo real em que as etiquetas podem nem sempre ser exactas. Treinar modelos com estes dados ajuda a desenvolver a robustez e a generalização em tarefas de classificação de imagens. Isto prepara os modelos para lidar eficazmente com dados ambíguos ou mal rotulados, que são frequentemente encontrados em aplicações práticas.

Quais são os principais desafios da utilização do 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. Uma vez que se centra em 10 raças estreitamente relacionadas, a distinção entre elas exige modelos de classificação de imagens mais avançados e aperfeiçoados. Isto faz do ImageWoof uma excelente referência para testar as capacidades e melhorias dos modelos de aprendizagem profunda.



Criado em 2023-11-12, Atualizado em 2024-07-04
Autores: glenn-jocher (6)

Comentários