Skip to main content

Erkunde 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 Objekterkennungs Aufgaben in einer Vielzahl von Anwendungen machen.

YOLOv8 Leistungsvergleichsdiagramme



Watch: Ultralytics YOLOv8 Model Overview
Auf der Ultralytics Plattform ausprobieren

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

Hauptfunktionen von YOLOv8

  • Fortschrittliche Backbone- und Neck-Architekturen: YOLOv8 verwendet modernste Backbone- und Neck-Architekturen, was zu einer verbesserten Merkmalsextraktion und Objekterkennungs Leistung führt.
  • Anchor-free Split Ultralytics Head: YOLOv8 verwendet einen ankerfreien, geteilten Ultralytics Head, was 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 ist YOLOv8 für Echtzeit-Objekterkennungsaufgaben in verschiedenen Anwendungsbereichen geeignet.
  • Vielzahl an vortrainierten Modellen: YOLOv8 bietet eine Reihe von vortrainierten Modellen für verschiedene Aufgaben und Leistungsanforderungen, 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 sind darauf ausgelegt, verschiedene Anforderungen zu erfüllen, von der Objekterkennung bis hin zu komplexeren Aufgaben wie Instanzsegmentierung, Pose/Keypoints-Erkennung, orientierte Objekterkennung und Klassifizierung.

Jede Variante der YOLOv8-Serie ist für ihre jeweilige Aufgabe optimiert, was eine hohe Leistung und Genauigkeit sicherstellt. Zudem sind diese Modelle mit verschiedenen Betriebsmodi kompatibel, einschließlich Inference, Validierung, Training, und Export, was ihren Einsatz in verschiedenen Phasen der Bereitstellung und Entwicklung erleichtert.

ModellDateinamenAufgabeInferenceValidierungTrainingExport
YOLOv8yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.ptDetektion
YOLOv8-segyolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.ptInstanz-Segmentierung
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.ptOrientierte Detektion
YOLOv8-clsyolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.ptKlassifizierung

Diese Tabelle bietet einen Überblick über die YOLOv8 Modellvarianten und hebt ihre Anwendbarkeit für spezifische Aufgaben sowie ihre Kompatibilität mit verschiedenen Betriebsmodi wie Inference, Validation, Training und Export hervor. Sie zeigt die Vielseitigkeit und Robustheit der YOLOv8-Serie, die sie für eine Vielzahl von Anwendungen in Computer Vision.

Leistungskennzahlen

Leistung

Siehe Detektions-Dokumentation für Anwendungsbeispiele dieser Modelle, die auf COCO trainiert wurden, welche 80 vortrainierte Klassen enthält.

ModellGröße
(Pixel)
mAPval
50-95
Speed
CPU ONNX
(ms)
Speed
A100 TensorRT
(ms)
Parameter
(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

Anwendungsbeispiele für YOLOv8

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 Vorhersage, Train, Val und Export Dokumentationsseiten.

Beachte, dass das folgende Beispiel für YOLOv8 Detect Modelle zur Objekterkennung gilt. Weitere unterstützte Aufgaben findest du in der Segment, Classify, OBB Dokumentation und Pose Dokumentation.

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 die Nutzung zu vereinfachen, anstatt statische Dokumentationen zu erstellen. Für die aktuellsten Informationen zu YOLO-Architektur, Funktionen und Nutzung, siehe bitte unser GitHub repository und Dokumentation.

Wenn du das YOLOv8-Modell oder eine andere Software aus diesem Repository in deiner Arbeit verwendest, zitiere sie bitte unter Verwendung des folgenden Formats:

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 aussteht und der Zitation hinzugefügt wird, sobald sie verfügbar ist. YOLOv8-Modelle werden unter AGPL-3.0 und Enterprise Lizenzen bereitgestellt.

FAQ

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

YOLOv8 wurde entwickelt, um die Echtzeit-Objekterkennungsleistung mit fortschrittlichen Funktionen zu verbessern. Im Gegensatz zu früheren Versionen enthält YOLOv8 einen anchor-free split Ultralytics head, modernste backbone und Backbone/Neck-Architekturen und bietet einen optimierten accuracy-Geschwindigkeits-Kompromiss, was es ideal für diverse Anwendungen macht. Weitere Details findest du in den Übersicht und Hauptmerkmale Abschnitten.

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

YOLOv8 unterstützt eine Vielzahl von Computer-Vision-Aufgaben, einschließlich Objekterkennung, Instanzsegmentierung, Pose-/Keypoint-Erkennung, orientierter Objekterkennung und Klassifizierung. Jede Modellvariante ist für ihre spezifische Aufgabe optimiert und mit verschiedenen Betriebsmodi wie Inference, Validierung, Training, und Export kompatibel. Siehe die Unterstützte Aufgaben und Modi Abschnitt für weitere Informationen.

Was sind die Leistungsmetriken für YOLOv8-Modelle?

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

Wie trainiere ich ein YOLOv8-Modell?

Das Training eines YOLOv8-Modells kann entweder mit Python oder über die CLI erfolgen. Unten sind Beispiele für das Training eines Modells unter Verwendung eines COCO-vortrainierten YOLOv8-Modells auf dem COCO8-Datensatz für 100 epochs:

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)

Für weitere Details besuche die Training Dokumentation.

Kann ich YOLOv8-Modelle auf Leistung benchen?

Ja, YOLOv8-Modelle können in Bezug auf Geschwindigkeit und Genauigkeit über verschiedene Exportformate hinweg gebenched werden. Du kannst PyTorch, ONNX, TensorRT und mehr für das Benchmarking verwenden. Unten sind Beispielbefehle für das Benchmarking 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)

Für weitere Informationen siehe die Leistungskennzahlen .

Kommentare