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 detect 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 Ultralytics, certifique-se de que segue o formato especificado acima em "Formato do conjunto de dados" e, em seguida, aponte o seu data para o diretório do conjunto de dados.

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 formato do conjunto de dados CIFAR-10:

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

Para obter mais detalhes, visite Estrutura do conjunto de dados para YOLO Tarefas de classificação.

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:

Estes conjuntos de dados estão estruturados de uma forma que facilita a sua utilização com 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 detect 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 mais informações, visite a secção Utilização.

📅C riado há 1 ano ✏️ Atualizado há 1 mês

Comentários