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
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
, test
e, 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
, test
e, 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
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.