Objekterkennung
Objekterkennung ist eine Aufgabe, die das Identifizieren der Position und Klasse von Objekten in einem Bild oder Videostream umfasst.
Die Ausgabe eines Objekterkenners ist eine Menge von Begrenzungsrahmen, die die Objekte im Bild umschließen, zusammen mit Klassenbezeichnungen und Vertrauenswerten für jedes Feld. Objekterkennung ist eine gute Wahl, wenn Sie Objekte von Interesse in einer Szene identifizieren müssen, aber nicht genau wissen müssen, wo das Objekt ist oder wie seine genaue Form ist.
Sehen Sie: Objekterkennung mit vortrainiertem Ultralytics YOLOv8 Modell.
Tipp
YOLOv8 Detect Modelle sind die Standard YOLOv8 Modelle, zum Beispiel yolov8n.pt
, und sind vortrainiert auf dem COCO-Datensatz.
Modelle
Hier werden die vortrainierten YOLOv8 Detect Modelle gezeigt. Detect, Segment und Pose Modelle sind vortrainiert auf dem COCO-Datensatz, während die Classify Modelle vortrainiert sind auf dem ImageNet-Datensatz.
Modelle werden automatisch von der neuesten Ultralytics Veröffentlichung bei Erstbenutzung heruntergeladen.
Modell | Größe (Pixel) |
mAPval 50-95 |
Geschwindigkeit CPU ONNX (ms) |
Geschwindigkeit A100 TensorRT (ms) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv8n | 640 | 37.3 | 80.4 | 0.99 | 3.2 | 8.7 |
YOLOv8s | 640 | 44.9 | 128.4 | 1.20 | 11.2 | 28.6 |
YOLOv8m | 640 | 50.2 | 234.7 | 1.83 | 25.9 | 78.9 |
YOLOv8l | 640 | 52.9 | 375.2 | 2.39 | 43.7 | 165.2 |
YOLOv8x | 640 | 53.9 | 479.1 | 3.53 | 68.2 | 257.8 |
- mAPval Werte sind für Single-Modell Single-Scale auf dem COCO val2017 Datensatz.
Reproduzieren mityolo val detect data=coco.yaml device=0
- Geschwindigkeit gemittelt über COCO Val Bilder mit einer Amazon EC2 P4d-Instanz.
Reproduzieren mityolo val detect data=coco128.yaml batch=1 device=0|cpu
Training
YOLOv8n auf dem COCO128-Datensatz für 100 Epochen bei Bildgröße 640 trainieren. Für eine vollständige Liste verfügbarer Argumente siehe die Konfigurationsseite.
Beispiel
from ultralytics import YOLO
# Modell laden
model = YOLO('yolov8n.yaml') # ein neues Modell aus YAML aufbauen
model = YOLO('yolov8n.pt') # ein vortrainiertes Modell laden (empfohlen für Training)
model = YOLO('yolov8n.yaml').load('yolov8n.pt') # aus YAML aufbauen und Gewichte übertragen
# Das Modell trainieren
results = model.train(data='coco128.yaml', epochs=100, imgsz=640)
# Ein neues Modell aus YAML aufbauen und Training von Grund auf starten
yolo detect train data=coco128.yaml model=yolov8n.yaml epochs=100 imgsz=640
# Training von einem vortrainierten *.pt Modell starten
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640
# Ein neues Modell aus YAML aufbauen, vortrainierte Gewichte übertragen und Training starten
yolo detect train data=coco128.yaml model=yolov8n.yaml pretrained=yolov8n.pt epochs=100 imgsz=640
Datenformat
Das Datenformat für YOLO-Erkennungsdatensätze finden Sie detailliert im Dataset Guide. Um Ihren vorhandenen Datensatz von anderen Formaten (wie COCO etc.) in das YOLO-Format zu konvertieren, verwenden Sie bitte das JSON2YOLO-Tool von Ultralytics.
Validierung
Genauigkeit des trainierten YOLOv8n-Modells auf dem COCO128-Datensatz validieren. Es müssen keine Argumente übergeben werden, da das modell
seine Trainingsdaten und Argumente als Modellattribute beibehält.
Beispiel
from ultralytics import YOLO
# Modell laden
model = YOLO('yolov8n.pt') # ein offizielles Modell laden
model = YOLO('pfad/zum/besten.pt') # ein benutzerdefiniertes Modell laden
# Das Modell validieren
metrics = model.val() # keine Argumente nötig, Datensatz und Einstellungen erinnert
metrics.box.map # map50-95
metrics.box.map50 # map50
metrics.box.map75 # map75
metrics.box.maps # eine Liste enthält map50-95 jeder Kategorie
Vorhersage
Ein trainiertes YOLOv8n-Modell verwenden, um Vorhersagen auf Bildern durchzuführen.
Beispiel
Volle Details über den predict
-Modus finden Sie auf der Predict-Seite.
Export
Ein YOLOv8n-Modell in ein anderes Format wie ONNX, CoreML usw. exportieren.
Beispiel
Verfügbare YOLOv8 Exportformate sind in der untenstehenden Tabelle aufgeführt. Sie können direkt auf den exportierten Modellen Vorhersagen treffen oder diese validieren, zum Beispiel yolo predict model=yolov8n.onnx
. Verwendungsbeispiele werden für Ihr Modell nach Abschluss des Exports angezeigt.
Format | format -Argument |
Modell | Metadaten | Argumente |
---|---|---|---|---|
PyTorch | - | yolov8n.pt |
✅ | - |
TorchScript | torchscript |
yolov8n.torchscript |
✅ | imgsz , optimize |
ONNX | onnx |
yolov8n.onnx |
✅ | imgsz , half , dynamic , simplify , opset |
OpenVINO | openvino |
yolov8n_openvino_model/ |
✅ | imgsz , half |
TensorRT | engine |
yolov8n.engine |
✅ | imgsz , half , dynamic , simplify , workspace |
CoreML | coreml |
yolov8n.mlpackage |
✅ | imgsz , half , int8 , nms |
TF SavedModel | saved_model |
yolov8n_saved_model/ |
✅ | imgsz , keras |
TF GraphDef | pb |
yolov8n.pb |
❌ | imgsz |
TF Lite | tflite |
yolov8n.tflite |
✅ | imgsz , half , int8 |
TF Edge TPU | edgetpu |
yolov8n_edgetpu.tflite |
✅ | imgsz |
TF.js | tfjs |
yolov8n_web_model/ |
✅ | imgsz |
PaddlePaddle | paddle |
yolov8n_paddle_model/ |
✅ | imgsz |
ncnn | ncnn |
yolov8n_ncnn_model/ |
✅ | imgsz , half |
Volle Details zum export
finden Sie auf der Export-Seite.