Meet YOLO26: next-gen vision AI.

Link to this sectionVisão Geral de Conjuntos de Dados para Classificação de Imagens#

Link to this sectionEstrutura 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.

Link to this sectionExemplo 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.

Link to this sectionUso#

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.

Link to this sectionDatasets 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.

Link to this sectionAdicionando 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.

Link to this sectionFAQ#

Link to this sectionComo 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.

Link to this sectionQuais 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.

Link to this sectionComo 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.

Link to this sectionPor 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.

Link to this sectionComo 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