Vai al contenuto

Classificazione delle immagini

Esempi di classificazione delle immagini

La classificazione delle immagini è la più semplice delle tre operazioni e consiste nel classificare un'intera immagine in una serie di classi predefinite.

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



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

Suggerimento

YOLO11 I modelli di classificazione utilizzano il metodo -cls suffisso, cioè yolo11n-cls.pt e sono preaddestrati su ImageNet.

Modelli

YOLO11 I modelli Classify pre-addestrati sono mostrati qui. I modelli Detect, Segment e Pose sono stati preaddestrati sul set di dati COCO, mentre i modelli Classify sono stati preaddestrati sul set di dati ImageNet.

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

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

Treno

Addestrare YOLO11n-cls sul dataset MNIST160 per 100 epoche a dimensione immagine 64. Per un elenco completo degli argomenti disponibili, vedere la pagina di configurazione.

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 è descritto in dettaglio nella Guida ai dataset.

Val

Convalida del modello YOLO11n-cls addestrato precisione sul set di dati MNIST160. Non sono necessari argomenti in quanto il 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

Utilizzare un modello YOLO11n-cls addestrato per eseguire previsioni sulle immagini.

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 dettagli sulla modalità nella sezione Prevedere pagina.

Esportazione

Esportazione di un modello YOLO11n-cls in un formato diverso come ONNX, CoreML, ecc.

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

I formati di esportazione disponibili di YOLO11-cls sono riportati nella tabella seguente. È possibile esportare in qualsiasi formato utilizzando l'opzione format cioè l'argomento format='onnx' o format='engine'. È possibile prevedere o convalidare direttamente i modelli esportati, ad es. yolo predict model=yolo11n-cls.onnx. Al termine dell'esportazione vengono mostrati esempi di utilizzo del 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
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

Vedi tutto export dettagli nel Esportazione pagina.

FAQ

Qual è lo scopo di YOLO11 nella classificazione delle immagini?

YOLO11 modelli, come 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. Ciò è 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.

Come si addestra un modello YOLO11 per la classificazione delle immagini?

Per addestrare un modello YOLO11 , è possibile utilizzare i comandi Python o CLI . Per esempio, per addestrare un modello yolo11n-cls sul dataset MNIST160 per 100 epoch con un'immagine di dimensioni pari a 64:

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, visitare la pagina Configurazione.

Dove posso trovare modelli di classificazione preaddestrati su YOLO11 ?

I modelli di classificazione preaddestrati di YOLO11 sono disponibili in Modelli sezione. Modelli come yolo11n-cls.pt, yolo11s-cls.pt, yolo11m-cls.pt, ecc. sono preaddestrati alla ImageNet e può essere facilmente scaricato e utilizzato per vari compiti di classificazione delle immagini.

Come posso esportare un modello YOLO11 addestrato in diversi formati?

È possibile esportare un modello addestrato YOLO11 in vari formati utilizzando i comandi Python o CLI . Per esempio, per esportare un modello nel formato ONNX :

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, consultare la pagina Esportazione.

Come si convalida un modello di classificazione addestrato su YOLO11 ?

Per convalidare l'accuratezza di un modello addestrato su un set di dati come MNIST160, si possono usare 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 ulteriori informazioni, visitate la sezione Convalida.

📅C reato 1 anno fa ✏️ Aggiornato 2 mesi fa

Commenti