Saltar para o conteúdo

Descrição geral dos conjuntos de dados de classificação de imagens

Estrutura do conjunto de dados para YOLO Tarefas de classificação

Para Ultralytics YOLO tarefas de classificação, o conjunto de dados deve ser organizado numa estrutura específica de diretório dividido sob o root para facilitar a formação adequada, os testes e os processos de validação opcionais. Esta estrutura inclui diretórios separados para a formação (train) e testes (test), com um diretório opcional para validação (val).

Cada uma destas diretorias deve conter uma subdiretoria para cada classe no conjunto de dados. As subdirectorias têm o nome da classe correspondente e contêm todas as imagens para essa classe. Certifique-se de que cada ficheiro de imagem tem um nome único e é armazenado num formato comum, como JPEG ou PNG.

Exemplo de estrutura de pastas

Considere o conjunto de dados CIFAR-10 como um exemplo. A estrutura da pasta deve ter o seguinte aspeto:

cifar-10-/
|
|-- train/
|   |-- airplane/
|   |   |-- 10008_airplane.png
|   |   |-- 10009_airplane.png
|   |   |-- ...
|   |
|   |-- automobile/
|   |   |-- 1000_automobile.png
|   |   |-- 1001_automobile.png
|   |   |-- ...
|   |
|   |-- bird/
|   |   |-- 10014_bird.png
|   |   |-- 10015_bird.png
|   |   |-- ...
|   |
|   |-- ...
|
|-- test/
|   |-- airplane/
|   |   |-- 10_airplane.png
|   |   |-- 11_airplane.png
|   |   |-- ...
|   |
|   |-- automobile/
|   |   |-- 100_automobile.png
|   |   |-- 101_automobile.png
|   |   |-- ...
|   |
|   |-- bird/
|   |   |-- 1000_bird.png
|   |   |-- 1001_bird.png
|   |   |-- ...
|   |
|   |-- ...
|
|-- val/ (optional)
|   |-- airplane/
|   |   |-- 105_airplane.png
|   |   |-- 106_airplane.png
|   |   |-- ...
|   |
|   |-- automobile/
|   |   |-- 102_automobile.png
|   |   |-- 103_automobile.png
|   |   |-- ...
|   |
|   |-- bird/
|   |   |-- 1045_bird.png
|   |   |-- 1046_bird.png
|   |   |-- ...
|   |
|   |-- ...

Esta abordagem estruturada garante que o modelo pode aprender efetivamente a partir de classes bem organizadas durante a fase de formação e avaliar com precisão o desempenho durante as fases de teste e validação.

Utilização

Exemplo

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="path/to/dataset", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo classify train data=path/to/data model=yolo11n-cls.pt epochs=100 imgsz=640

Conjuntos de dados suportados

Ultralytics suporta os seguintes conjuntos de dados com descarregamento automático:

  • Caltech 101: Um conjunto de dados que contém imagens de 101 categorias de objectos para tarefas de classificação de imagens.
  • Caltech 256: Uma versão alargada do Caltech 101 com 256 categorias de objectos e imagens mais desafiantes.
  • CIFAR-10: Um conjunto de dados de 60K imagens a cores 32x32 em 10 classes, com 6K imagens por classe.
  • CIFAR-100: Uma versão alargada do CIFAR-10 com 100 categorias de objectos e 600 imagens por classe.
  • Fashion-MNIST: Um conjunto de dados constituído por 70 000 imagens em tons de cinzento de 10 categorias de moda para tarefas de classificação de imagens.
  • ImageNet: Um conjunto de dados em grande escala para deteção de objectos e classificação de imagens com mais de 14 milhões de imagens e 20.000 categorias.
  • ImageNet-10: Um subconjunto mais pequeno do ImageNet com 10 categorias para uma experimentação e teste mais rápidos.
  • Imagenette: Um subconjunto mais pequeno do ImageNet que contém 10 classes facilmente distinguíveis para um treino e teste mais rápidos.
  • Imagewoof: Um subconjunto mais exigente do ImageNet que contém 10 categorias de raças de cães para tarefas de classificação de imagens.
  • MNIST: Um conjunto de dados de 70.000 imagens em tons de cinzento de dígitos manuscritos para tarefas de classificação de imagens.
  • MNIST160: As primeiras 8 imagens de cada categoria MNIST do conjunto de dados MNIST. O conjunto de dados contém um total de 160 imagens.

Adicionar o seu próprio conjunto de dados

Se tiver o seu próprio conjunto de dados e quiser utilizá-lo para treinar modelos de classificação com o Ultralytics YOLO, certifique-se de que segue o formato especificado acima em "Estrutura do conjunto de dados" e, em seguida, aponte o seu data para o diretório do conjunto de dados ao inicializar o script de treino.

FAQ

Como é que estruturo o meu conjunto de dados para YOLO tarefas de classificação?

Para estruturar o seu conjunto de dados para Ultralytics YOLO tarefas de classificação, deve seguir um formato específico de diretório dividido. Organize o seu conjunto de dados em diretórios separados para train, teste, opcionalmente val. Cada um destes diretórios deve conter subdirectórios com o nome de cada classe, com as imagens correspondentes no seu interior. Isto facilita os processos de formação e avaliação. Para um exemplo, considere o diretório CIFAR-10 formato do conjunto de dados:

cifar-10-/
|-- train/
|   |-- airplane/
|   |-- automobile/
|   |-- bird/
|   ...
|-- test/
|   |-- airplane/
|   |-- automobile/
|   |-- bird/
|   ...
|-- val/ (optional)
|   |-- airplane/
|   |-- automobile/
|   |-- bird/
|   ...

Para mais detalhes, visite a secção Estrutura do conjunto de dados para as tarefas de classificação YOLO .

Que conjuntos de dados são suportados por Ultralytics YOLO para classificação de imagens?

Ultralytics YOLO suporta o descarregamento automático de vários conjuntos de dados para classificação de imagens, incluindo Caltech 101, Caltech 256, CIFAR-10, CIFAR-100, Fashion-MNIST, ImageNet, ImageNet-10, Imagenette, Imagewoof e MNIST. Estes conjuntos de dados estão estruturados de uma forma que os torna fáceis de utilizar com o YOLO. A página de cada conjunto de dados fornece mais pormenores sobre a sua estrutura e aplicações.

Como é que adiciono o meu próprio conjunto de dados para a classificação de imagens YOLO ?

Para utilizar o seu próprio conjunto de dados com Ultralytics YOLO , certifique-se de que segue o formato de diretório especificado necessário para a tarefa de classificação, com train, teste, opcionalmente val e subdirectórios para cada classe contendo as respectivas imagens. Quando o conjunto de dados estiver estruturado corretamente, aponte o comando data para o diretório raiz do seu conjunto de dados ao inicializar o script de treino. Aqui está um exemplo em Python:

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="path/to/your/dataset", epochs=100, imgsz=640)

Para mais informações, consulte a secção Adicionar o seu próprio conjunto de dados.

Por que razão devo utilizar Ultralytics YOLO para a classificação de imagens?

Ultralytics YOLO oferece vários benefícios para a classificação de imagens, incluindo:

  • Modelos pré-treinados: Carregar modelos pré-treinados como yolo11n-cls.pt para iniciar o seu processo de formação.
  • Facilidade de utilização: API simples e comandos CLI para formação e avaliação.
  • Alto desempenho: Precisão e velocidade topo de gama, ideal para aplicações em tempo real.
  • Suporte para vários conjuntos de dados: Integração perfeita com vários conjuntos de dados populares, como CIFAR-10, ImageNet e muito mais.
  • Comunidade e suporte: Acesso a documentação extensa e a uma comunidade ativa para resolução de problemas e melhorias.

Para obter informações adicionais e aplicações do mundo real, pode explorar Ultralytics YOLO.

Como é que posso treinar um modelo utilizando Ultralytics YOLO ?

O treino de um modelo utilizando Ultralytics YOLO pode ser efectuado facilmente em Python e CLI. Eis um exemplo:

Exemplo

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-cls.pt")  # load a pretrained model

# Train the model
results = model.train(data="path/to/dataset", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo classify train data=path/to/data model=yolo11n-cls.pt epochs=100 imgsz=640

Estes exemplos demonstram o processo simples de formação de um modelo YOLO utilizando qualquer uma das abordagens. Para obter mais informações, visite a secção Utilização e a página Treinar para tarefas de classificação.

📅C riado há 1 ano ✏️ Atualizado há 29 dias

Comentários