Entdecke Ultralytics YOLOv8

Übersicht

YOLOv8 wurde am 10. Januar 2023 von Ultralytics veröffentlicht und bietet modernste Leistung in Bezug auf Genauigkeit und Geschwindigkeit. Aufbauend auf den Fortschritten früherer YOLO-Versionen führte YOLOv8 neue Funktionen und Optimierungen ein, die es zur idealen Wahl für verschiedene Objekterkennungsaufgaben in einer Vielzahl von Anwendungen machen.

Leistungsvergleichsdiagramme für YOLOv8



Watch: Ultralytics YOLOv8 Model Overview
Auf der Ultralytics Platform ausprobieren

Erkunde und führe YOLOv8-Modelle direkt auf der Ultralytics Platform aus.

Hauptfunktionen von YOLOv8

  • Fortschrittliche Backbone- und Neck-Architekturen: YOLOv8 verwendet modernste Backbone- und Neck-Architekturen, was zu einer verbesserten Merkmalsextraktion und Objekterkennungsleistung führt.
  • Ankerfreier, geteilter Ultralytics Head: YOLOv8 verwendet einen ankerfreien, geteilten Ultralytics Head, der im Vergleich zu ankerbasierten Ansätzen zu einer besseren Genauigkeit und einem effizienteren Erkennungsprozess beiträgt.
  • Optimiertes Genauigkeits-Geschwindigkeits-Verhältnis: Mit dem Fokus auf ein optimales Gleichgewicht zwischen Genauigkeit und Geschwindigkeit eignet sich YOLOv8 für Echtzeit-Objekterkennungsaufgaben in diversen Anwendungsbereichen.
  • Vielzahl an vortrainierten Modellen: YOLOv8 bietet eine Reihe von vortrainierten Modellen, die verschiedene Aufgaben und Leistungsanforderungen abdecken, wodurch es einfacher wird, das richtige Modell für deinen spezifischen Anwendungsfall zu finden.

Unterstützte Aufgaben und Modi

Die YOLOv8-Serie bietet eine vielfältige Auswahl an Modellen, die jeweils auf spezifische Aufgaben im Bereich Computer Vision spezialisiert sind. Diese Modelle wurden entwickelt, um unterschiedliche Anforderungen zu erfüllen, von der Objekterkennung bis hin zu komplexeren Aufgaben wie Instanzsegmentierung, Pose-/Keypoint-Erkennung, orientierter Objekterkennung und Klassifizierung.

Jede Variante der YOLOv8-Serie ist für ihre jeweilige Aufgabe optimiert, um eine hohe Leistung und Genauigkeit zu gewährleisten. Zudem sind diese Modelle mit verschiedenen operativen Modi kompatibel, darunter Inference, Validation, Training und Export, was ihren Einsatz in verschiedenen Phasen der Bereitstellung und Entwicklung erleichtert.

ModellDateinamenAufgabeInferenzValidierungTrainingExportieren
YOLOv8yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.ptDetection
YOLOv8-segyolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.ptInstance Segmentation
YOLOv8-poseyolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.ptPose/Keypoints
YOLOv8-obbyolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.ptOriented Detection
YOLOv8-clsyolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.ptClassification

Diese Tabelle bietet einen Überblick über die YOLOv8-Modellvarianten, hebt ihre Eignung für spezifische Aufgaben hervor und zeigt ihre Kompatibilität mit verschiedenen operativen Modi wie Inference, Validation, Training und Export. Sie demonstriert die Vielseitigkeit und Robustheit der YOLOv8-Serie, die sie für eine Vielzahl von Anwendungen im Bereich Computer Vision geeignet macht.

Leistungskennzahlen

Leistung

Siehe Detection Docs für Anwendungsbeispiele mit diesen auf COCO trainierten Modellen, die 80 vortrainierte Klassen enthalten.

ModellGröße
(Pixel)
mAPval
50-95
Geschwindigkeit
CPU ONNX
(ms)
Geschwindigkeit
A100 TensorRT
(ms)
Params
(M)
FLOPs
(B)
YOLOv8n64037.380.40.993.28.7
YOLOv8s64044.9128.41.2011.228.6
YOLOv8m64050.2234.71.8325.978.9
YOLOv8l64052.9375.22.3943.7165.2
YOLOv8x64053.9479.13.5368.2257.8

YOLOv8 Anwendungsbeispiele

Dieses Beispiel bietet einfache Beispiele für das Training und die Inferenz mit YOLOv8. Für die vollständige Dokumentation zu diesen und anderen Modi siehe die Dokumentationsseiten für Predict, Train, Val und Export.

Beachte, dass das folgende Beispiel für YOLOv8 Detect Modelle zur Objekterkennung gilt. Für weitere unterstützte Aufgaben siehe die Dokumentation zu Segment, Classify, OBB und Pose.

Beispiel

PyTorch vortrainierte *.pt Modelle sowie Konfigurations *.yaml Dateien können an die YOLO() Klasse übergeben werden, um eine Modellinstanz in Python zu erstellen:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv8n model
model = YOLO("yolov8n.pt")

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the YOLOv8n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

Zitate und Danksagungen

Ultralytics YOLOv8 Publikation

Ultralytics hat aufgrund der sich schnell entwickelnden Natur der Modelle kein formelles Forschungspapier für YOLOv8 veröffentlicht. Wir konzentrieren uns darauf, die Technologie voranzutreiben und ihre Anwendung zu erleichtern, anstatt statische Dokumentationen zu erstellen. Für die aktuellsten Informationen zur YOLO-Architektur, den Funktionen und der Nutzung besuche bitte unser GitHub-Repository und unsere Dokumentation.

Wenn du das YOLOv8 Modell oder eine andere Software aus diesem Repository in deiner Arbeit verwendest, zitiere sie bitte im folgenden Format:

Zitat
@software{yolov8_ultralytics,
  author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu},
  title = {Ultralytics YOLOv8},
  version = {8.0.0},
  year = {2023},
  url = {https://github.com/ultralytics/ultralytics},
  orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069},
  license = {AGPL-3.0}
}

Bitte beachte, dass die DOI noch aussteht und zur Zitierung hinzugefügt wird, sobald sie verfügbar ist. YOLOv8 Modelle werden unter den Lizenzen AGPL-3.0 und Enterprise bereitgestellt.

FAQ

Was ist YOLOv8 und wie unterscheidet es sich von früheren YOLO Versionen?

YOLOv8 wurde entwickelt, um die Echtzeit-Objekterkennungsleistung durch fortschrittliche Funktionen zu verbessern. Im Gegensatz zu früheren Versionen enthält YOLOv8 einen anckerfreien, geteilten Ultralytics Head, modernste Backbone und Neck-Architekturen und bietet ein optimiertes Verhältnis zwischen Genauigkeit und Geschwindigkeit, was es ideal für verschiedenste Anwendungen macht. Weitere Details findest du in den Abschnitten Übersicht und Hauptfunktionen.

Wie kann ich YOLOv8 für verschiedene Computer-Vision-Aufgaben nutzen?

YOLOv8 unterstützt eine breite Palette an Computer-Vision-Aufgaben, einschließlich Objekterkennung, Instanzsegmentierung, Pose-/Keypoint-Erkennung, orientierte Objekterkennung und Klassifizierung. Jede Modellvariante ist für ihre spezifische Aufgabe optimiert und mit verschiedenen Betriebsmodi wie Inference, Validation, Training und Export kompatibel. Weitere Informationen findest du im Abschnitt Unterstützte Aufgaben und Modi.

Was sind die Leistungskennzahlen für YOLOv8 Modelle?

YOLOv8 Modelle erzielen eine erstklassige Leistung über verschiedene Benchmark-Datensätze hinweg. Zum Beispiel erreicht das YOLOv8n Modell eine mAP (mean Average Precision) von 37.3 auf dem COCO Datensatz und eine Geschwindigkeit von 0.99 ms auf A100 TensorRT. Detaillierte Leistungskennzahlen für jede Modellvariante über verschiedene Aufgaben und Datensätze hinweg findest du im Abschnitt Leistungskennzahlen.

Wie trainiere ich ein YOLOv8 Modell?

Das Training eines YOLOv8 Modells kann entweder über Python oder CLI erfolgen. Nachfolgend findest du Beispiele für das Training eines Modells unter Verwendung eines COCO-vortrainierten YOLOv8 Modells auf dem COCO8 Datensatz für 100 Epochen:

Beispiel
from ultralytics import YOLO

# Load a COCO-pretrained YOLOv8n model
model = YOLO("yolov8n.pt")

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

Weitere Details findest du in der Training Dokumentation.

Kann ich YOLOv8 Modelle hinsichtlich ihrer Leistung benchen?

Ja, YOLOv8 Modelle können hinsichtlich Geschwindigkeit und Genauigkeit über verschiedene Exportformate hinweg gebenched werden. Du kannst PyTorch, ONNX, TensorRT und mehr für Benchmarks verwenden. Nachfolgend findest du Beispielbefehle für Benchmarks mit Python und CLI:

Beispiel
from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)

Weitere Informationen findest du im Abschnitt Leistungskennzahlen.

Kommentare