Zum Inhalt springen

Entdecken Sie Ultralytics YOLOv8

Überblick

YOLOv8 Ultralytics 10. Januar 2023 von Ultralytics veröffentlicht und bietet Spitzenleistung in Bezug auf Genauigkeit und Geschwindigkeit. Aufbauend auf den Fortschritten früherer YOLO YOLOv8 neue Funktionen und Optimierungen YOLOv8 , die es zu einer idealen Wahl für verschiedene Objekterkennungsaufgaben in einer Vielzahl von Anwendungen machen.

Ultralytics YOLOv8



Ansehen: Ultralytics YOLOv8 Modellübersicht

Hauptmerkmale von YOLOv8

  • Fortschrittliche Backbone- und Neck-Architekturen: YOLOv8 verwendet modernste Backbone- und Neck-Architekturen, was zu einer verbesserten Merkmalsextraktion und Objekterkennungsleistung führt.
  • Ankerfreier Split-Ultralytics-Head: YOLOv8 verwendet einen ankerfreien Split-Ultralytics-Head, was im Vergleich zu ankerbasierten Ansätzen zu einer höheren Genauigkeit und einem effizienteren Erkennungsprozess beiträgt.
  • Optimierter Kompromiss zwischen Genauigkeit und Geschwindigkeit: Mit dem Fokus auf die Aufrechterhaltung eines optimalen Gleichgewichts zwischen Genauigkeit und Geschwindigkeit eignet sich YOLOv8 für Echtzeit-Objekterkennungsaufgaben in verschiedenen Anwendungsbereichen.
  • Vielzahl vorab trainierter Modelle: YOLOv8 eine Reihe vorab trainierter Modelle für verschiedene Aufgaben und Leistungsanforderungen, sodass Sie leichter das richtige Modell für Ihren speziellen Anwendungsfall finden können.

Unterstützte Aufgaben und Modi

Die YOLOv8-Serie bietet eine vielfältige Auswahl an Modellen, die jeweils auf spezifische Aufgaben in der Computer Vision spezialisiert sind. Diese Modelle sind so konzipiert, dass sie verschiedenen Anforderungen gerecht werden, von Objekterkennung bis hin zu komplexeren Aufgaben wie Instanzsegmentierung, Erkennung von Pose/Keypoints, Erkennung von ausgerichteten Objekten und Klassifizierung.

Jede Variante der YOLOv8-Serie ist für ihre jeweilige Aufgabe optimiert, um eine hohe Leistung und Genauigkeit zu gewährleisten. Darüber hinaus sind diese Modelle mit verschiedenen Betriebsmodi kompatibel, darunter Inferenz, Validierung, Training und Export, was ihre Verwendung in verschiedenen Phasen der Bereitstellung und Entwicklung erleichtert.

ModellDateinamenAufgabeInferenzValidierungTrainingExport
YOLOv8yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.ptErkennung
YOLOv8-segyolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.ptInstanzsegmentierung
YOLOv8-poseyolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.ptPose/Keypoints
obbyolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.ptOrientierte Erkennung
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 in spezifischen Aufgaben sowie ihre Kompatibilität mit verschiedenen Betriebsmodi wie Inferenz, Validierung, Training und Export hervor. Sie zeigt die Vielseitigkeit und Robustheit der YOLOv8-Serie und macht sie für eine Vielzahl von Anwendungen in der Computer Vision geeignet.

Leistungsmetriken

Performance

Beispiele für die Verwendung dieser auf COCOtrainiert wurden und 80 vortrainierte Klassen umfassen.

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

Beispiele für die Verwendung dieser Modelle, die auf Open Image V7 trainiert wurden und 600 vortrainierte Klassen umfassen, finden Sie in den Dokumenten zur Erkennung.

ModellGröße
(Pixel)
mAPval
50-95
Geschwindigkeit
CPU ONNX
(ms)
Geschwindigkeit
A100 TensorRT
(ms)
Parameter
(M)
FLOPs
(B)
YOLOv8n64018.4142.41.213.510.5
YOLOv8s64027.7183.11.4011.429.7
YOLOv8m64033.6408.52.2626.280.6
YOLOv8l64034.9596.92.4344.1167.4
YOLOv8x64036.3860.63.5668.7260.6

Beispiele für die Verwendung dieser trainierten Modelle finden Sie in den Segmentierungsdokumenten unter COCOtrainiert wurden und 80 vortrainierte Klassen umfassen.

ModellGröße
(Pixel)
mAPKasten
50-95
mAPMaske
50-95
Geschwindigkeit
CPU ONNX
(ms)
Geschwindigkeit
A100 TensorRT
(ms)
Parameter
(M)
FLOPs
(B)
YOLOv8n-seg64036.730.596.11.213.412.6
YOLOv8s-seg64044.636.8155.71.4711.842.6
YOLOv8m-seg64049.940.8317.02.1827.3110.2
YOLOv8l-seg64052.342.6572.42.7946.0220.5
YOLOv8x-seg64053.443.4712.14.0271.8344.1

Beispiele für die Verwendung dieser auf ImageNet trainierten Modelle finden Sie in den Klassifizierungsdokumenten. ImageNettrainiert wurden und 1000 vortrainierte Klassen umfassen.

ModellGröße
(Pixel)
acc
top1
acc
top5
Geschwindigkeit
CPU ONNX
(ms)
Geschwindigkeit
A100 TensorRT
(ms)
Parameter
(M)
FLOPs
(B) bei 224
YOLOv8n-cls22469.088.312.90.312.70.5
YOLOv8s-cls22473.891.723.40.356.41.7
YOLOv8m-cls22476.893.585.40.6217.05.3
YOLOv8l-cls22476.893.5163.00.8737.512.3
YOLOv8x-cls22479.094.6232.01.0157.419.0

Beispiele für die Verwendung dieser Modelle, die auf COCOtrainiert wurden, darunter eine vortrainierte Klasse „Person“.

ModellGröße
(Pixel)
mAPPose
50-95
mAPPose
50
Geschwindigkeit
CPU ONNX
(ms)
Geschwindigkeit
A100 TensorRT
(ms)
Parameter
(M)
FLOPs
(B)
YOLOv8n-pose64050.480.1131.81.183.39.2
YOLOv8s-pose64060.086.2233.21.4211.630.2
YOLOv8m-pose64065.088.8456.32.0026.481.0
YOLOv8l-pose64067.690.0784.52.5944.4168.6
YOLOv8x-pose64069.290.21607.13.7369.4263.2
YOLOv8x-pose-p6128071.691.24088.710.0499.11066.4

Beispiele für die Verwendung dieser auf DOTAv1 trainierten Modelle, die 15 vortrainierte Klassen umfassen, finden Sie in der Dokumentation zur orientierten Erkennung.

ModellGröße
(Pixel)
mAPTest
50
Geschwindigkeit
CPU ONNX
(ms)
Geschwindigkeit
A100 TensorRT
(ms)
Parameter
(M)
FLOPs
(B)
obb102478.0204.773.573.123.3
obb102479.5424.884.0711.476.3
obb102480.5763.487.6126.4208.6
obb102480.71278.4211.8344.5433.8
obb102481.361759.1013.2369.5676.7

YOLOv8 – Anwendungsbeispiele

Dieses Beispiel bietet einfache YOLOv8-Trainings- und Inferenzbeispiele. Eine vollständige Dokumentation zu diesen und anderen Modi finden Sie auf den Dokumentationsseiten Predict, Train, Val und Export.

Beachten Sie, dass das folgende Beispiel für YOLOv8 Detect-Modelle zur Objekterkennung gilt. Zusätzliche unterstützte Aufgaben finden Sie in den Segment-, Classify-, OBB-Dokumenten und den Pose-Dokumenten.

Beispiel

PyTorch vorab trainierte *.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")

Es stehen CLI-Befehle zur Verfügung, um die Modelle direkt auszuführen:

# Load a COCO-pretrained YOLOv8n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLOv8n model and run inference on the 'bus.jpg' image
yolo predict model=yolov8n.pt source=path/to/bus.jpg

Zitate und Danksagungen

Ultralytics YOLOv8-Veröffentlichung

Ultralytics hat aufgrund der schnellen Weiterentwicklung 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. Die aktuellsten Informationen zu YOLO-Architektur, -Funktionen und -Nutzung finden Sie in unserem GitHub-Repository und unserer Dokumentation.

Wenn Sie das YOLOv8-Modell oder eine andere Software aus diesem Repository in Ihrer Arbeit verwenden, zitieren Sie es bitte in folgendem Format:

@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 beachten Sie, dass der DOI-Link noch aussteht und dem Zitat hinzugefügt wird, sobald er 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 Leistung der Echtzeit-Objekterkennung mit fortschrittlichen Funktionen zu verbessern. Im Gegensatz zu früheren Versionen verfügt YOLOv8 über einen ankerfreien Split-Ultralytics-Head, hochmoderne Backbone- und Neck-Architekturen und bietet einen optimierten Genauigkeits-Geschwindigkeits-Kompromiss, was es ideal für vielfältige Anwendungen macht. Weitere Informationen finden Sie in den Abschnitten Überblick und Hauptmerkmale.

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

YOLOv8 unterstützt eine Vielzahl von Computer-Vision-Aufgaben, darunter 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 finden Sie im Abschnitt Unterstützte Aufgaben und Modi.

Was sind die Leistungsmetriken für YOLOv8-Modelle?

YOLOv8 erreichen in verschiedenen Benchmarking-Datensätzen Spitzenleistungen. Zum Beispiel erreicht das YOLOv8n eine mAP (mittlere durchschnittliche Präzision) von 37,3 auf dem COCO und eine Geschwindigkeit von 0,99 ms auf A100 TensorRT. Detaillierte Leistungsmetriken für jede Modellvariante für verschiedene Aufgaben und Datensätze finden Sie im Abschnitt Leistungsmetriken.

Wie trainiere ich ein YOLOv8-Modell?

Das Training eines YOLOv8 kann entweder mit Python oder CLI durchgeführt werden. Nachfolgend finden Sie Beispiele für das Trainieren eines Modells mit einem COCO YOLOv8 auf dem COCO8 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)
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640

Weitere Informationen finden Sie in der Trainingsdokumentation.

Kann ich YOLOv8-Modelle für die Leistung einem Benchmark unterziehen?

Ja, YOLOv8-Modelle können hinsichtlich ihrer Geschwindigkeit und Genauigkeit über verschiedene Exportformate hinweg einem Benchmark unterzogen werden. Sie können für das Benchmarking PyTorch, ONNX, TensorRT und mehr verwenden. Nachfolgend finden Sie Beispielbefehle für das Benchmarking mit Python und der CLI:

Beispiel

from ultralytics.utils.benchmarks import benchmark

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

Weitere Informationen finden Sie im Abschnitt Performance-Metriken.



📅 Vor 2 Jahren erstellt ✏️ Vor 0 Tagen aktualisiert
glenn-jocherRizwanMunawarY-T-GLaughing-qpderrengerLexBarouMatthewNoyceUltralyticsAssistantBurhan-QAyushExelfcakyon

Kommentare