YOLO Vision 2026:

Visão Geral de Conjuntos de Dados para Classificação de Imagens#

Estrutura de Conjunto de Dados para Tarefas de Classificação YOLO#

Para tarefas de classificação YOLO da Ultralytics, o conjunto de dados deve ser organizado em uma estrutura específica de diretórios divididos sob o diretório root para facilitar os processos adequados de treinamento, teste e validação opcional. Esta estrutura inclui diretórios separados para as fases de treinamento (train) e validação (val), com um diretório opcional para teste (test).

Cada um desses diretórios deve conter um subdiretório para cada classe no conjunto de dados. Os subdiretórios recebem o nome da classe correspondente e contêm todas as imagens dessa classe. Certifica-te de que cada arquivo de imagem seja nomeado de forma única e armazenado em um formato comum, como JPEG ou PNG.

Exemplo de Estrutura de Pastas#

Considera o conjunto de dados CIFAR-10 como exemplo. A estrutura de pastas deve ter este 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 possa aprender eficazmente a partir de classes bem organizadas durante a fase de treinamento e avaliar com precisão o desempenho durante as fases de teste e validação.

Uso#

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

A maioria dos nomes de conjuntos de dados integrados (por exemplo, cifar10, imagenette ou mnist160) fará o download e o cache dos dados automaticamente na primeira vez que os referenciares. Aponta data para um caminho de pasta apenas quando tiveres preparado um conjunto de dados personalizado.

Datasets suportados#

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

  • Caltech 101: Um conjunto de dados contendo imagens de 101 categorias de objetos para tarefas de classificação de imagens.
  • Caltech 256: Uma versão estendida do Caltech 101 com 256 categorias de objetos e imagens mais desafiadoras.
  • CIFAR-10: Um conjunto de dados de 60K imagens coloridas de 32x32 em 10 classes, com 6K imagens por classe.
  • CIFAR-100: Uma versão estendida do CIFAR-10 com 100 categorias de objetos e 600 imagens por classe.
  • Fashion-MNIST: Um conjunto de dados que consiste em 70.000 imagens em tons de cinza de 10 categorias de moda para tarefas de classificação de imagens.
  • ImageNet: Um conjunto de dados em grande escala para deteção de objetos e classificação de imagens com mais de 14 milhões de imagens e 20.000 categorias.
  • ImageNet-10: Um subconjunto menor do ImageNet com 10 categorias para experimentação e testes mais rápidos.
  • Imagenette: Um subconjunto menor do ImageNet que contém 10 classes facilmente distinguíveis para treinamento e teste mais rápidos.
  • Imagewoof: Um subconjunto mais desafiador do ImageNet contendo 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 cinza de dígitos escritos à mão para tarefas de classificação de imagens.
  • MNIST160: As primeiras 8 imagens de cada dígito (0-9) das divisões de treino e teste do MNIST. O conjunto de dados contém 160 imagens no total.

Adicionando seu próprio dataset#

Se tens o teu próprio conjunto de dados e gostarias de usá-lo para treinar modelos de classificação com Ultralytics YOLO, certifica-te de que ele segue o formato especificado acima em "Dataset Structure" e, em seguida, aponta o teu argumento data para o diretório do conjunto de dados ao inicializar o teu script de treinamento.

FAQ#

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

Para estruturar o teu conjunto de dados para tarefas de classificação YOLO da Ultralytics, deves seguir um formato específico de diretórios divididos. Organiza o teu conjunto de dados em diretórios separados para train, test e, opcionalmente, val. Cada um desses diretórios deve conter subdiretórios com o nome de cada classe, com as imagens correspondentes no interior. Isto facilita os processos suaves de treinamento e avaliação. Para um exemplo, considera o formato do conjunto de dados CIFAR-10:

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

Para mais detalhes, visita a secção Dataset Structure for YOLO Classification Tasks.

Quais conjuntos de dados são suportados pelo Ultralytics YOLO para classificação de imagens?#

O Ultralytics YOLO suporta o download 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 forma a torná-los fáceis de usar com o YOLO. A página de cada conjunto de dados fornece mais detalhes sobre a sua estrutura e aplicações.

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

Para usar o teu próprio conjunto de dados com o Ultralytics YOLO, certifica-te de que ele segue o formato de diretório especificado necessário para a tarefa de classificação, com diretórios separados de train, test e, opcionalmente, val, e subdiretórios para cada classe contendo as respetivas imagens. Uma vez que o teu conjunto de dados esteja estruturado corretamente, aponta o argumento data para o diretório raiz do teu conjunto de dados ao inicializar o script de treinamento. Eis um exemplo em Python:

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

Mais detalhes podem ser encontrados na secção Adding your own dataset.

Por que devo usar o Ultralytics YOLO para classificação de imagens?#

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

  • Modelos Pré-treinados: Carrega modelos pré-treinados como yolo26n-cls.pt para dar início ao teu processo de treinamento.
  • Facilidade de Uso: API simples e comandos CLI para treinamento e avaliação.
  • Alto Desempenho: Precisão e velocidade de ponta, ideais para aplicações em tempo real.
  • Suporte para Múltiplos Conjuntos de Dados: Integração perfeita com vários conjuntos de dados populares como CIFAR-10, ImageNet e mais.
  • Comunidade e Suporte: Acesso a documentação extensa e a uma comunidade ativa para resolução de problemas e melhorias.

Para insights adicionais e aplicações do mundo real, podes explorar o Ultralytics YOLO.

Como posso treinar um modelo usando o Ultralytics YOLO?#

O treinamento de um modelo usando o Ultralytics YOLO pode ser feito facilmente tanto em Python quanto em CLI. Eis um exemplo:

Exemplo
from ultralytics import YOLO

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

# Train the model
results = model.train(data="path/to/dataset", epochs=100, imgsz=640)

Estes exemplos demonstram o processo direto de treinar um modelo YOLO usando qualquer uma das abordagens. Para mais informações, visita a secção Usage e a página Train para tarefas de classificação.

Comentários