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 dayolo val classify data=path/to/ImageNet device=0
- Velocità mediato sulle immagini ImageNet val utilizzando un Amazon EC2 P4d istanza.
Riproduzione dayolo 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
Prevedere
Utilizzare un modello YOLO11n-cls addestrato per eseguire previsioni sulle immagini.
Esempio
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
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.pt
sono 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
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
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
Per ulteriori informazioni, visitate la sezione Convalida.