Visã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 directórios separados para a formação (train
) e testes (test
), com um diretório opcional para validação (val
).
Cada uma destas directorias 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. Certifica-te de que cada ficheiro de imagem tem um nome único e é armazenado num formato comum, como JPEG ou PNG.
Exemplo de estrutura de pastas
Considera 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 transferência automática:
- Caltech 101: A dataset containing images of 101 object categories for image classification tasks.
- 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.
- Moda-MNIST: Um conjunto de dados constituído por 70.000 imagens em escala de cinzentos de 10 categorias de moda para tarefas de classificação de imagens.
- ImageNet: A large-scale dataset for object detection and image classification with over 14 million images and 20,000 categories.
- ImageNet-10: Um subconjunto mais pequeno do ImageNet com 10 categorias para uma experimentação e testes 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: First 8 images of each MNIST category from the MNIST dataset. Dataset contains 160 images total.
Adicionar o teu próprio conjunto de dados
Se tiveres o teu próprio conjunto de dados e quiseres utilizá-lo para treinar modelos de classificação com Ultralytics, certifica-te de que segue o formato especificado acima em "Formato do conjunto de dados" e, em seguida, aponta o teu 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 teu conjunto de dados para Ultralytics YOLO tarefas de classificação, deves seguir um formato específico de diretório dividido. Organiza o teu conjunto de dados em directórios separados para train
, test
e, opcionalmente val
. Cada um destes directó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, 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 obter mais detalhes, visita a 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 forma a facilitar 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 teu próprio conjunto de dados com Ultralytics YOLO , certifica-te 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 que contenha as respectivas imagens. Quando o teu conjunto de dados estiver corretamente estruturado, aponta o comando data
para o diretório raiz do teu conjunto de dados ao inicializar o script de treino. Aqui tens 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, consulta a secção Adicionar o teu próprio conjunto de dados.
Porque é que 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: Carrega modelos pré-treinados como
yolo11n-cls.pt
para iniciar o teu processo de formação. - Facilidade de utilização: API simples e comandos CLI para formação e avaliação.
- High Performance: State-of-the-art accuracy and speed, ideal for real-time applications.
- 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: Acede a uma vasta documentação e a uma comunidade ativa para resolução de problemas e melhorias.
Para obteres mais informações e aplicações reais, podes explorar Ultralytics YOLO.
Como é que posso treinar um modelo utilizando Ultralytics YOLO ?
Treinar um modelo utilizando Ultralytics YOLO pode ser feito facilmente em Python e CLI. Eis um exemplo:
Exemplo
Estes exemplos demonstram o processo simples de treinar um modelo YOLO utilizando qualquer uma das abordagens. Para mais informações, visita a secção Utilização.