Saltar al contenido

Clasificación de imágenes

Ejemplos de clasificación de imágenes

Image classification is the simplest of the three tasks and involves classifying an entire image into one of a set of predefined classes.

La salida de un clasificador de imágenes es una única etiqueta de clase y una puntuación de confianza. La clasificación de imágenes es útil cuando sólo necesitas saber a qué clase pertenece una imagen y no necesitas saber dónde se encuentran los objetos de esa clase ni cuál es su forma exacta.



Observa: Explora Ultralytics YOLO Tareas: Clasificación de imágenes utilizando Ultralytics HUB

Consejo

YOLO11 Classify models use the -cls sufijo, es decir yolo11n-cls.pt y están preentrenados en ImageNet.

Modelos

YOLO11 pretrained Classify models are shown here. Detect, Segment and Pose models are pretrained on the COCO dataset, while Classify models are pretrained on the ImageNet dataset.

Los modelos se descargan automáticamente de la últimaversión de Ultralytics la primera vez que se utilizan.

Modelo tamaño
(píxeles)
acc
top1
acc
top5
Velocidad
CPU ONNX
(ms)
Speed
T4 TensorRT10
(ms)
parámetros
(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 son las precisiones del modelo en la ImageNet conjunto de datos de validación.
    Reproducir por yolo val classify data=path/to/ImageNet device=0
  • Velocidad promediadas sobre las imágenes val de ImageNet utilizando un Amazon EC2 P4d instancia.
    Reproducir por yolo val classify data=path/to/ImageNet batch=1 device=0|cpu

Tren

Train YOLO11n-cls on the MNIST160 dataset for 100 epochs at image size 64. For a full list of available arguments see the Configuration page.

Ejemplo

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 del conjunto de datos

YOLO El formato de los conjuntos de datos de clasificación se encuentra detallado en la Guía de conjuntos de datos.

Val

Validate trained YOLO11n-cls model accuracy on the MNIST160 dataset. No arguments are needed as the model conserva su formación data y argumentos como atributos del modelo.

Ejemplo

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

Predecir

Use a trained YOLO11n-cls model to run predictions on images.

Ejemplo

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 todo predict detalles del modo en el Predecir página.

Exportar

Export a YOLO11n-cls model to a different format like ONNX, CoreML, etc.

Ejemplo

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

Available YOLO11-cls export formats are in the table below. You can export to any format using the format argumento, es decir format='onnx' o format='engine'. Puedes predecir o validar directamente los modelos exportados, es decir. yolo predict model=yolo11n-cls.onnx. Se muestran ejemplos de uso de tu modelo una vez finalizada la exportación.

Formato format Argumento Modelo Metadatos 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 Lite tflite yolo11n-cls.tflite imgsz, half, int8, batch
TF Arista 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
NCNN ncnn yolo11n-cls_ncnn_model/ imgsz, half, batch

Ver todo export detalles en el Exportar página.

PREGUNTAS FRECUENTES

What is the purpose of YOLO11 in image classification?

YOLO11 models, such as yolo11n-cls.ptestán diseñados para una clasificación eficaz de las imágenes. Asignan una única etiqueta de clase a toda una imagen junto con una puntuación de confianza. Esto es especialmente útil para aplicaciones en las que basta con conocer la clase específica de una imagen, en lugar de identificar la ubicación o la forma de los objetos dentro de la imagen.

How do I train a YOLO11 model for image classification?

To train a YOLO11 model, you can use either Python or CLI commands. For example, to train a yolo11n-cls en el conjunto de datos MNIST160 durante 100 épocas con un tamaño de imagen de 64:

Ejemplo

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 más opciones de configuración, visita la página Configuración.

Where can I find pretrained YOLO11 classification models?

Pretrained YOLO11 classification models can be found in the Modelos sección. Modelos como yolo11n-cls.pt, yolo11s-cls.pt, yolo11m-cls.ptetc., están preentrenados en la ImageNet y puede descargarse fácilmente y utilizarse para diversas tareas de clasificación de imágenes.

How can I export a trained YOLO11 model to different formats?

You can export a trained YOLO11 model to various formats using Python or CLI commands. For instance, to export a model to ONNX format:

Ejemplo

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 conocer en detalle las opciones de exportación, consulta la página Exportar.

How do I validate a trained YOLO11 classification model?

Para validar la precisión de un modelo entrenado en un conjunto de datos como MNIST160, puedes utilizar los siguientes comandos Python o CLI :

Ejemplo

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 más información, visita la sección Validar.


📅 Created 11 months ago ✏️ Updated 9 days ago

Comentarios