Zum Inhalt springen

Bild-Klassifizierung

Beispiele für die Bildklassifizierung

Die Bildklassifizierung ist die einfachste der drei Aufgaben und beinhaltet die Einordnung eines gesamten Bildes in eine von mehreren vordefinierten Klassen.

Die Ausgabe eines Bildklassifizierers ist eine einzelne Klassenbezeichnung und ein Vertrauenswert. Die Bildklassifizierung ist nützlich, wenn Sie nur wissen müssen, zu welcher Klasse ein Bild gehört, und nicht wissen müssen, wo sich die Objekte dieser Klasse befinden oder welche Form sie genau haben.



Beobachten: Erkunden Sie Ultralytics YOLO Aufgaben: Bildklassifizierung mit Ultralytics HUB

Tipp

YOLO11 Klassifizierungsmodelle verwenden die -cls Suffix, d.h. yolo11n-cls.pt und sind vorgebildet auf ImageNet.

Modelle

YOLO11 Hier werden vortrainierte Klassifizierungsmodelle gezeigt. Die Modelle "Detect", "Segment" und "Pose" wurden mit dem COCO-Datensatz trainiert, während die Modelle "Classify" mit dem ImageNet-Datensatz trainiert wurden.

Die Modelle werden bei der ersten Verwendung automatisch von der neuestenVersion von Ultralytics heruntergeladen.

Modell Größe
(Pixel)
acc
top1
acc
top5
Geschwindigkeit
CPU ONNX
(ms)
Geschwindigkeit
T4TensorRT10
(ms)
params
(M)
FLOPs
(B) bei 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 Werte sind Modellgenauigkeiten auf der ImageNet Datensatz Validierungssatz.
    Reproduzieren durch yolo val classify data=path/to/ImageNet device=0
  • Geschwindigkeit gemittelt über ImageNet val-Bilder unter Verwendung eines Amazon EC2 P4d Instanz.
    Reproduzieren durch yolo val classify data=path/to/ImageNet batch=1 device=0|cpu

Zug

Trainieren Sie YOLO11n-cls auf dem MNIST160-Datensatz für 100 Epochen bei Bildgröße 64. Eine vollständige Liste der verfügbaren Argumente finden Sie auf der Seite Konfiguration.

Beispiel

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

Format des Datensatzes

YOLO Das Format der Klassifizierungsdatensätze ist im Dataset Guide ausführlich beschrieben.

Val

Validierung des trainierten YOLO11n-cls-Modells Genauigkeit auf dem MNIST160-Datensatz. Es werden keine Argumente benötigt, da die model seine Ausbildung beibehält data und Argumente als Modellattribute.

Beispiel

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

Vorhersage

Verwenden Sie ein trainiertes YOLO11n-cls-Modell, um Vorhersagen für Bilder zu treffen.

Beispiel

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

Vollständig sehen predict Modus Details im Vorhersage Seite.

Exportieren

Exportieren Sie ein YOLO11n-cls-Modell in ein anderes Format wie ONNX, CoreML, etc.

Beispiel

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

Die verfügbaren YOLO11-cls Exportformate sind in der folgenden Tabelle aufgeführt. Sie können in jedes beliebige Format exportieren, indem Sie die format Argument, d.h. format='onnx' oder format='engine'. Sie können exportierte Modelle direkt vorhersagen oder validieren, d. h. yolo predict model=yolo11n-cls.onnx. Nach Abschluss des Exports werden Anwendungsbeispiele für Ihr Modell angezeigt.

Format format Argument Modell Metadaten Argumente
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 Kante 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

Vollständig sehen export Details im Exportieren Seite.

FAQ

Was ist der Zweck von YOLO11 bei der Bildklassifizierung?

YOLO11 Modelle, wie zum Beispiel yolo11n-cls.ptsind für eine effiziente Bildklassifizierung konzipiert. Sie weisen einem gesamten Bild ein einziges Klassenlabel zusammen mit einem Vertrauenswert zu. Dies ist besonders nützlich für Anwendungen, bei denen es ausreicht, die spezifische Klasse eines Bildes zu kennen, anstatt den Ort oder die Form von Objekten innerhalb des Bildes zu identifizieren.

Wie trainiere ich ein YOLO11 Modell zur Bildklassifizierung?

Um ein YOLO11 Modell zu trainieren, können Sie entweder die Befehle Python oder CLI verwenden. Zum Beispiel, um ein yolo11n-cls Modell auf dem MNIST160-Datensatz für 100 Epochen bei einer Bildgröße von 64:

Beispiel

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

Weitere Konfigurationsoptionen finden Sie auf der Seite Konfiguration.

Wo finde ich vortrainierte YOLO11 Klassifizierungsmodelle?

Vorgefertigte YOLO11 Klassifizierungsmodelle finden Sie in der Modelle Abschnitt. Modelle wie yolo11n-cls.pt, yolo11s-cls.pt, yolo11m-cls.ptusw., werden auf den ImageNet Datensatz und kann leicht heruntergeladen und für verschiedene Bildklassifizierungsaufgaben verwendet werden.

Wie kann ich ein trainiertes YOLO11 Modell in verschiedene Formate exportieren?

Sie können ein trainiertes YOLO11 Modell mit den Befehlen Python oder CLI in verschiedene Formate exportieren. Zum Beispiel können Sie ein Modell in das Format ONNX exportieren:

Beispiel

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

Ausführliche Informationen zu den Exportoptionen finden Sie auf der Seite Export.

Wie kann ich ein trainiertes YOLO11 Klassifikationsmodell validieren?

Um die Genauigkeit eines trainierten Modells auf einem Datensatz wie MNIST160 zu überprüfen, können Sie die folgenden Befehle verwenden: Python oder CLI :

Beispiel

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

Weitere Informationen finden Sie im Abschnitt Validieren.

📅 Erstellt vor 1 Jahr ✏️ Aktualisiert vor 1 Monat

Kommentare