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 as tarefas de classificação do Ultralytics YOLO, 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. Essa estrutura inclui diretórios separados para as fases de treinamento (train) e validação (val), com um diretório opcional para testes (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 ser parecida com esta:

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) descarregará e armazenará automaticamente os dados em cache na primeira vez que os refernciares. Aponta data para o caminho de uma pasta apenas quando tiveres curado 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 que contém 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 60 mil imagens coloridas de 32x32 em 10 classes, com 6 mil 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 consistindo 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 testes 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 manuscritos para tarefas de classificação de imagens.
  • MNIST160: 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 o utilizar para treinar modelos de classificação com o 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 inicializares o teu script de treinamento.

FAQ#

  • Para estruturar o teu conjunto de dados para tarefas de classificação do Ultralytics YOLO, deves seguir um formato específico de diretório dividido. Organiza o teu conjunto de dados em diretórios separados para train, test e, opcionalmente, val. Cada um destes diretórios deve conter subdiretórios com o nome de cada classe, com as imagens correspondentes no interior. Isto facilita processos de treinamento e avaliação suaves. Como 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.

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

  • Para usares o teu próprio conjunto de dados com o Ultralytics YOLO, certifica-te de que este segue o formato de diretório especificado exigido para a tarefa de classificação, com diretórios separados 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 inicializares 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)

    Podes encontrar mais detalhes na secção Adding your own dataset.

  • 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 última geração, 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 muito mais.
    • Comunidade e Suporte: Acesso a documentação extensa e a uma comunidade ativa para resolução de problemas e melhorias.

    Para obter mais informações e aplicações no mundo real, podes explorar 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 simples 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