Vai al contenuto

Classificazione delle immagini

Esempi di classificazione delle immagini

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

L'output di un classificatore di immagini è una singola etichetta di classe e un punteggio di confidenza. La classificazione delle immagini è utile quando hai bisogno di sapere solo a quale classe appartiene un'immagine e non hai bisogno di sapere dove si trovano gli oggetti di quella classe o qual è la loro forma esatta.



Guarda: Esplora Ultralytics YOLO Compiti: Classificazione delle immagini con Ultralytics HUB

Suggerimento

YOLO11 Classify models use the -cls suffisso, cioè yolo11n-cls.pt e sono preaddestrati su ImageNet.

Modelli

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.

I modelli vengono scaricati automaticamente dall'ultimarelease di Ultralytics al primo utilizzo.

Modello dimensione
(pixel)
acc
top1
acc
top5
Velocità
CPU ONNX
(ms)
Speed
T4 TensorRT10
(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 i valori sono le precisioni del modello sul ImageNet set di convalida del set di dati.
    Riproduci da yolo val classify data=path/to/ImageNet device=0
  • Velocità mediato sulle immagini ImageNet val utilizzando un Amazon EC2 P4d istanza.
    Riproduci da yolo val classify data=path/to/ImageNet batch=1 device=0|cpu

Treno

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.

Esempio

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 set di dati

YOLO Il formato del dataset di classificazione è riportato in dettaglio nella Guida ai Dataset.

Val

Validate trained YOLO11n-cls model accuracy on the MNIST160 dataset. No arguments are needed as the model mantiene la sua formazione data e gli argomenti come attributi del modello.

Esempio

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

Prevedere

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

Esempio

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

Vedi tutto predict i dettagli della modalità nella sezione Prevedere pagina.

Esportazione

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

Esempio

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 argomento, vale a dire format='onnx' o format='engine'. Puoi prevedere o convalidare direttamente i modelli esportati, ad es. yolo predict model=yolo11n-cls.onnx. Al termine dell'esportazione vengono mostrati degli esempi di utilizzo per il tuo modello.

Formato format Argomento Modello Metadati Argomenti
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 Bordo 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

Vedi tutto export dettagli nella sezione Esportazione pagina.

DOMANDE FREQUENTI

What is the purpose of YOLO11 in image classification?

YOLO11 models, such as yolo11n-cls.ptsono progettati per una classificazione efficiente delle immagini. Assegnano un'unica etichetta di classe a un'intera immagine insieme a un punteggio di confidenza. Questo è particolarmente utile per le applicazioni in cui è sufficiente conoscere la classe specifica di un'immagine, piuttosto che identificare la posizione o la forma degli oggetti all'interno dell'immagine.

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 sul dataset MNIST160 per 100 epoch con un'immagine di 64 dimensioni:

Esempio

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

Per ulteriori opzioni di configurazione, visita la pagina Configurazione.

Where can I find pretrained YOLO11 classification models?

Pretrained YOLO11 classification models can be found in the Modelli sezione. Modelli come yolo11n-cls.pt, yolo11s-cls.pt, yolo11m-cls.pt, etc., sono preaddestrati sul ImageNet e può essere facilmente scaricato e utilizzato per varie attività di classificazione delle immagini.

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:

Esempio

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

Per informazioni dettagliate sulle opzioni di esportazione, consulta la pagina Esportazione.

How do I validate a trained YOLO11 classification model?

Per convalidare l'accuratezza di un modello addestrato su un set di dati come MNIST160, puoi utilizzare i seguenti comandi Python o CLI :

Esempio

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

Per maggiori informazioni, visita la sezione Convalida.


📅 Created 11 months ago ✏️ Updated 9 days ago

Commenti