Ir al contenido

Clasificación de imágenes

Ejemplos de clasificación de imágenes

La clasificación de imágenes es la más sencilla de las tres tareas y consiste en clasificar una imagen entera en una de un conjunto de clases predefinidas.

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 se necesita saber a qué clase pertenece una imagen y no es necesario saber dónde se encuentran los objetos de esa clase o cuál es su forma exacta.



Observa: Explore Ultralytics YOLO Tareas: Clasificación de imágenes con Ultralytics HUB

Consejo

YOLO11 Los modelos de clasificación utilizan el -cls es decir yolo11n-cls.pt y están preentrenados en ImageNet.

Modelos

YOLO11 Aquí se muestran los modelos Classify preentrenados. Los modelos Detectar, Segmentar y Pose se preentrenan en el conjunto de datos COCO, mientras que los modelos Clasificar se preentrenan en el conjunto de datos ImageNet.

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)
Velocidad
T4TensorRT10
(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 el ImageNet conjunto de datos de validación.
    Reproducir por yolo val classify data=path/to/ImageNet device=0
  • Velocidad promediadas sobre 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

Entrena YOLO11n-cls en el conjunto de datos MNIST160 durante 100 épocas con un tamaño de imagen de 64. Para obtener una lista completa de los argumentos disponibles, consulte la página Configuración.

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 detalla en la Guía de conjuntos de datos.

Val

Validación del modelo YOLO11n-cls entrenado precisión en el conjunto de datos MNIST160. No se necesitan argumentos, ya que el 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

Utilice un modelo YOLO11n-cls entrenado para realizar predicciones sobre imágenes.

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

Exportar

Exportar un modelo YOLO11n-cls a un formato diferente como 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

Los formatos de exportación disponibles en YOLO11-cls figuran en la tabla siguiente. Puede exportar a cualquier formato utilizando el botón format es decir format='onnx' o format='engine'. Puede predecir o validar directamente los modelos exportados, es decir. yolo predict model=yolo11n-cls.onnx. Se muestran ejemplos de uso de su 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 Borde 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 todos export detalles en el Exportar página.

PREGUNTAS FRECUENTES

¿Para qué sirve YOLO11 en la clasificación de imágenes?

YOLO11 modelos, como yolo11n-cls.ptestán diseñados para clasificar imágenes de forma eficaz. Asignan una única etiqueta de clase a toda una imagen junto con una puntuación de confianza. Esto resulta 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.

¿Cómo se entrena un modelo YOLO11 para la clasificación de imágenes?

Para entrenar un modelo YOLO11 , puede utilizar los comandos Python o CLI . Por ejemplo, para entrenar un modelo 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, visite la página Configuración.

¿Dónde puedo encontrar modelos de clasificación preentrenados en YOLO11 ?

Los modelos de clasificación preentrenados de YOLO11 pueden encontrarse en el Modelos sección. Modelos como yolo11n-cls.pt, yolo11s-cls.pt, yolo11m-cls.ptetc., están preentrenados en el ImageNet y puede descargarse fácilmente y utilizarse para diversas tareas de clasificación de imágenes.

¿Cómo puedo exportar un modelo YOLO11 entrenado a distintos formatos?

Puede exportar un modelo YOLO11 entrenado a varios formatos utilizando los comandos Python o CLI . Por ejemplo, para exportar un modelo al formato ONNX :

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 obtener información detallada sobre las opciones de exportación, consulte la página Exportar.

¿Cómo puedo validar un modelo de clasificación entrenado en YOLO11 ?

Para validar la precisión de un modelo entrenado en un conjunto de datos como MNIST160, puede 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, visite la sección Validar.

Creado hace 1 año ✏️ Actualizado hace 1 mes

Comentarios