Ultralytics YOLO27:

Dataset ImageWoof#

O dataset ImageWoof é um subconjunto do ImageNet constituído por 10 classes de raças de cães deliberadamente difíceis de distinguir, criado pela fast.ai como um desafio mais exigente para algoritmos de classificação de imagens. Contém 12.954 imagens a cores — 9.025 para treino e 3.929 para validação — de raças como Beagle, Shih-Tzu e Golden retriever, levando os modelos a distinguir diferenças subtis e específicas, em vez de categorias de objetos óbvias.

Principais funcionalidades#

  • O ImageWoof contém 12.954 imagens de 10 raças de cães: terrier australiano, Border terrier, Samoyed, Beagle, Shih-Tzu, foxhound inglês, Rhodesian ridgeback, Dingo, Golden retriever e Old English sheepdog.
  • É distribuído com uma divisão predefinida de 9.025 imagens de treino e 3.929 de validação, disponível em várias resoluções (tamanho completo, 320px e 160px) para se adequar a diferentes orçamentos computacionais.
  • Também inclui uma versão com etiquetas ruidosas, proporcionando um cenário mais realista em que as etiquetas nem sempre são fiáveis.

Estrutura do Conjunto de Dados#

O ImageWoof é distribuído com uma divisão predefinida entre treino e validação, com cada raça de cão armazenada na sua própria pasta:

DivisãoImagensClasses
Treinar9,02510
Validação3,92910

Como todas as 10 classes são raças de cães, a divisão foi concebida para testar a classificação específica — distinguindo categorias visualmente semelhantes — em vez do reconhecimento amplo de objetos do dataset ImageNet completo.

Aplicações#

O dataset ImageWoof é amplamente utilizado para treinar e avaliar modelos de deep learning em classes mais complexas e semelhantes. O desafio está nas diferenças subtis entre as raças de cães, levando os modelos aos seus limites de desempenho e generalização. É particularmente valioso para:

  • Avaliar o desempenho da classificação em categorias específicas
  • Testar a robustez dos modelos perante classes visualmente semelhantes
  • Desenvolver algoritmos capazes de distinguir diferenças visuais subtis
  • Avaliar a aprendizagem por transferência de domínios gerais para domínios específicos

Utilização#

Para treinar um modelo de classificação no dataset ImageWoof durante 100 épocas, com um tamanho de imagem de 224x224, utiliza os fragmentos de código abaixo. Para obter uma lista completa dos argumentos disponíveis, consulta a página de Treino do modelo.

Exemplo de treino
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 dataset#

O ImageWoof está disponível em três tamanhos para acomodar diferentes necessidades de investigação e orçamentos computacionais:

  1. Tamanho completo (imagewoof): A versão original com imagens de tamanho completo, ideal para o treino final e para a avaliação de desempenho.
  2. Tamanho médio (imagewoof320): Imagens redimensionadas para um comprimento máximo de 320 píxeis, adequadas para um treino mais rápido sem sacrificar significativamente o desempenho do modelo.
  3. Tamanho pequeno (imagewoof160): Imagens redimensionadas para um comprimento máximo de 160 píxeis, concebidas para prototipagem rápida e experimentação quando a velocidade de treino é uma prioridade.

Para utilizar estas variantes, 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)

Nota que imagens mais pequenas provavelmente produzirão uma precisão de classificação inferior, mas são uma excelente forma de iterar rapidamente nas fases iniciais do desenvolvimento do modelo. Também podes gerir datasets de classificação e executar o treino na cloud com a Ultralytics Platform.

Imagens de exemplo e anotações#

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

Exemplos do dataset de classificação de raças de cães ImageWoof

O exemplo demonstra as diferenças e semelhanças subtis entre as várias raças de cães, evidenciando a complexidade e a dificuldade da tarefa de classificação.

Citações e agradecimentos#

Se utilizares o dataset ImageWoof no teu trabalho de investigação ou desenvolvimento, reconhece os seus criadores incluindo uma ligação para o repositório oficial do dataset.

Gostaríamos de reconhecer a equipa da fast.ai por criar e manter o ImageWoof como um recurso valioso para a comunidade de investigação em machine learning e visão computacional. Para obteres mais informações sobre o ImageWoof, visita o repositório do dataset ImageWoof.

Perguntas frequentes#

  • O dataset ImageWoof é um subconjunto desafiante do ImageNet centrado em 10 raças de cães, contendo 12.954 imagens (9.025 de treino e 3.929 de validação). Criado pela fast.ai para levar os modelos de classificação de imagens aos seus limites, inclui raças como Beagle, Shih-Tzu e Golden retriever. O dataset está disponível em várias resoluções (tamanho completo, 320px e 160px) e inclui até etiquetas ruidosas para cenários de treino mais realistas, sendo ideal para desenvolver modelos avançados de deep learning.

  • O ImageWoof contém um total de 12.954 imagens — 9.025 para treino e 3.929 para validação — de 10 raças de cães: terrier australiano, Border terrier, Samoyed, Beagle, Shih-Tzu, foxhound inglês, Rhodesian ridgeback, Dingo, Golden retriever e Old English sheepdog. Cada raça é armazenada na sua própria pasta, seguindo o esquema de classificação padrão esperado pela Ultralytics.

  • Para treinar um modelo de classificação no dataset ImageWoof utilizando o Ultralytics YOLO durante 100 épocas, com um tamanho de imagem de 224x224, utiliza o código seguinte:

    Exemplo de treino
    from ultralytics import YOLO
    
    model = YOLO("yolo26n-cls.pt")  # Load a pretrained model
    results = model.train(data="imagewoof", epochs=100, imgsz=224)

    Para obteres mais detalhes sobre os argumentos de treino disponíveis, consulta a página de Treino.

  • O dataset ImageWoof está disponível em três tamanhos:

    1. Tamanho completo (imagewoof): Ideal para o treino final e a avaliação de desempenho, contém imagens de tamanho completo.
    2. Tamanho médio (imagewoof320): Imagens redimensionadas com um comprimento máximo de 320 píxeis, adequadas para um treino mais rápido.
    3. Tamanho pequeno (imagewoof160): Imagens redimensionadas com um comprimento máximo de 160 píxeis, perfeitas para prototipagem rápida.

    Utiliza estas versões substituindo imagewoof no argumento do dataset conforme necessário. Nota que imagens mais pequenas podem produzir uma precisão de classificação inferior, mas são úteis para iterações mais rápidas.

  • As etiquetas ruidosas do dataset ImageWoof simulam condições do mundo real em que as etiquetas nem sempre são precisas. Treinar modelos com estes dados ajuda a desenvolver robustez e generalização em tarefas de classificação de imagens. Prepara os modelos para lidar eficazmente com dados ambíguos ou incorretamente etiquetados, algo frequente em aplicações práticas.

  • O principal desafio do ImageWoof está nas diferenças subtis entre as raças de cães que inclui. Como se centra em 10 raças estreitamente relacionadas, distingui-las exige modelos de classificação de imagens mais avançados e aperfeiçoados. Isto faz do ImageWoof um excelente benchmark para testar as capacidades e melhorias dos modelos de deep learning.

Comentários