Saltar para o conteúdo

Classificação de imagens

Exemplos de classificação de imagens

A classificação de imagens é a mais simples das três tarefas e envolve a classificação de uma imagem inteira num conjunto de classes predefinidas.

O resultado de um classificador de imagens é uma etiqueta de classe única e uma pontuação de confiança. A classificação de imagens é útil quando é necessário saber apenas a que classe pertence uma imagem e não é necessário saber onde estão localizados os objectos dessa classe ou qual é a sua forma exacta.



Ver: Explorar Ultralytics YOLO Tasks: Classificação de imagens usando Ultralytics HUB

Dica

YOLO11 Os modelos de classificação utilizam o -cls sufixo, ou seja yolo11n-cls.pt e são pré-treinados em ImageNet.

Modelos

YOLO11 modelos Classify pré-treinados são mostrados aqui. Os modelos Detetar, Segmentar e Pose são pré-treinados no conjunto de dados COCO, enquanto os modelos Classificar são pré-treinados no conjunto de dados ImageNet.

Os modelos são transferidos automaticamente a partir daversão mais recentede Ultralytics na primeira utilização.

Modelo tamanho
(pixéis)
acc
top1
acc
top5
Velocidade
CPU ONNX
(ms)
Velocidade
T4TensorRT10
(ms)
params
(M)
FLOPs
(B) a 640
YOLO11n-cls 224 70.0 89.4 5.0 ± 0.3 1.1 ± 0.0 1.6 3.3
YOLO11s-cls 224 75.4 92.7 7.9 ± 0.2 1.3 ± 0.0 5.5 12.1
YOLO11m-cls 224 77.3 93.9 17.2 ± 0.4 2.0 ± 0.0 10.4 39.3
YOLO11l-cls 224 78.3 94.3 23.2 ± 0.3 2.8 ± 0.0 12.9 49.4
YOLO11x-cls 224 79.5 94.9 41.4 ± 0.9 3.8 ± 0.0 28.4 110.4
  • acc são as exactidões do modelo no ImageNet conjunto de validação do conjunto de dados.
    Reproduzir por yolo val classify data=path/to/ImageNet device=0
  • Velocidade média das imagens ImageNet val utilizando um Amazon EC2 P4d instância.
    Reproduzir por yolo val classify data=path/to/ImageNet batch=1 device=0|cpu

Comboio

Treinar YOLO11n-cls no conjunto de dados MNIST160 para 100 épocas com tamanho de imagem 64. Para obter uma lista completa dos argumentos disponíveis, consulte a página Configuração.

Exemplo

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-cls.yaml")  # build a new model from YAML
model = YOLO("yolo11n-cls.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo11n-cls.yaml").load("yolo11n-cls.pt")  # build from YAML and transfer weights

# Train the model
results = model.train(data="mnist160", epochs=100, imgsz=64)
# Build a new model from YAML and start training from scratch
yolo classify train data=mnist160 model=yolo11n-cls.yaml epochs=100 imgsz=64

# Start training from a pretrained *.pt model
yolo classify train data=mnist160 model=yolo11n-cls.pt epochs=100 imgsz=64

# Build a new model from YAML, transfer pretrained weights to it and start training
yolo classify train data=mnist160 model=yolo11n-cls.yaml pretrained=yolo11n-cls.pt epochs=100 imgsz=64

Formato do conjunto de dados

YOLO O formato do conjunto de dados de classificação pode ser consultado em pormenor no Guia do conjunto de dados.

Val

Validar o modelo YOLO11n-cls treinado exatidão no conjunto de dados MNIST160. Não são necessários argumentos, uma vez que o model mantém a sua formação data e argumentos como atributos do modelo.

Exemplo

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-cls.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Validate the model
metrics = model.val()  # no arguments needed, dataset and settings remembered
metrics.top1  # top1 accuracy
metrics.top5  # top5 accuracy
yolo classify val model=yolo11n-cls.pt  # val official model
yolo classify val model=path/to/best.pt  # val custom model

Prever

Utilizar um modelo YOLO11n-cls treinado para executar previsões em imagens.

Exemplo

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-cls.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Predict with the model
results = model("https://ultralytics.com/images/bus.jpg")  # predict on an image
yolo classify predict model=yolo11n-cls.pt source='https://ultralytics.com/images/bus.jpg'  # predict with official model
yolo classify predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg'  # predict with custom model

Ver completo predict detalhes do modo no Prever página.

Exportação

Exportar um modelo YOLO11n-cls para um formato diferente, como ONNX, CoreML, etc.

Exemplo

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-cls.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom trained model

# Export the model
model.export(format="onnx")
yolo export model=yolo11n-cls.pt format=onnx  # export official model
yolo export model=path/to/best.pt format=onnx  # export custom trained model

Os formatos de exportação disponíveis em YOLO11-cls encontram-se na tabela abaixo. É possível exportar para qualquer formato utilizando o format argumento, ou seja format='onnx' ou format='engine'. É possível prever ou validar diretamente nos modelos exportados, ou seja yolo predict model=yolo11n-cls.onnx. São apresentados exemplos de utilização para o seu modelo após a conclusão da exportação.

Formato format Argumento Modelo Metadados Argumentos
PyTorch - yolo11n-cls.pt -
TorchScript torchscript yolo11n-cls.torchscript imgsz, optimize, batch
ONNX onnx yolo11n-cls.onnx imgsz, half, dynamic, simplify, opset, batch
OpenVINO openvino yolo11n-cls_openvino_model/ imgsz, half, int8, batch
TensorRT engine yolo11n-cls.engine imgsz, half, dynamic, simplify, workspace, int8, batch
CoreML coreml yolo11n-cls.mlpackage imgsz, half, int8, nms, batch
TF SavedModel saved_model yolo11n-cls_saved_model/ imgsz, keras, int8, batch
TF GraphDef pb yolo11n-cls.pb imgsz, batch
TF Leve tflite yolo11n-cls.tflite imgsz, half, int8, batch
TF Borda TPU edgetpu yolo11n-cls_edgetpu.tflite imgsz
TF.js tfjs yolo11n-cls_web_model/ imgsz, half, int8, batch
PaddlePaddle paddle yolo11n-cls_paddle_model/ imgsz, batch
MNN mnn yolo11n-cls.mnn imgsz, batch, int8, half
NCNN ncnn yolo11n-cls_ncnn_model/ imgsz, half, batch
IMX500 imx yolo11n-cls_imx_model/ imgsz, int8

Ver completo export pormenores no Exportação página.

FAQ

Qual é o objetivo do YOLO11 na classificação de imagens?

YOLO11 modelos, tais como yolo11n-cls.ptsão concebidos para uma classificação eficiente de imagens. Atribuem uma única etiqueta de classe a uma imagem inteira, juntamente com uma pontuação de confiança. Isto é particularmente útil para aplicações em que é suficiente conhecer a classe específica de uma imagem, em vez de identificar a localização ou a forma dos objectos na imagem.

Como é que treino um modelo YOLO11 para classificação de imagens?

Para treinar um modelo YOLO11 , é possível usar os comandos Python ou CLI . Por exemplo, para treinar um modelo yolo11n-cls no conjunto de dados MNIST160 para 100 épocas com um tamanho de imagem de 64:

Exemplo

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="mnist160", epochs=100, imgsz=64)
yolo classify train data=mnist160 model=yolo11n-cls.pt epochs=100 imgsz=64

Para obter mais opções de configuração, visite a página Configuração.

Onde posso encontrar modelos de classificação YOLO11 pré-treinados?

Os modelos de classificação YOLO11 pré-treinados podem ser encontrados no Modelos secção. Modelos como yolo11n-cls.pt, yolo11s-cls.pt, yolo11m-cls.pt, etc., são pré-treinados no ImageNet e pode ser facilmente descarregado e utilizado para várias tarefas de classificação de imagens.

Como é que posso exportar um modelo YOLO11 treinado para diferentes formatos?

É possível exportar um modelo YOLO11 treinado para vários formatos usando os comandos Python ou CLI . Por exemplo, para exportar um modelo para o formato ONNX :

Exemplo

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-cls.pt")  # load the trained model

# Export the model to ONNX
model.export(format="onnx")
yolo export model=yolo11n-cls.pt format=onnx  # export the trained model to ONNX format

Para opções de exportação detalhadas, consulte a página Exportar.

Como é que valido um modelo de classificação YOLO11 treinado?

Para validar a precisão de um modelo treinado num conjunto de dados como o MNIST160, pode utilizar os seguintes comandos Python ou CLI :

Exemplo

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-cls.pt")  # load the trained model

# Validate the model
metrics = model.val()  # no arguments needed, uses the dataset and settings from training
metrics.top1  # top1 accuracy
metrics.top5  # top5 accuracy
yolo classify val model=yolo11n-cls.pt  # validate the trained model

Para mais informações, visite a secção Validar.

📅C riado há 1 ano ✏️ Atualizado há 1 mês

Comentários