Zum Inhalt springen

Modellvergleich: YOLOv7 vs. YOLOv8 für Objekterkennung

In der sich schnell entwickelnden Landschaft der Computer Vision hat die „You Only Look Once“ (YOLO)-Modellfamilie stets den Standard für die Echtzeit-Objekterkennung gesetzt. Zwei wichtige Meilensteine in dieser Linie sind YOLOv7 und Ultralytics YOLOv8. Während beide Modelle bei ihrer Veröffentlichung die Grenzen von Genauigkeit und Geschwindigkeit verschoben haben, repräsentieren sie unterschiedliche Designphilosophien und Ökosystemreifestadien.

Dieser Leitfaden bietet einen detaillierten technischen Vergleich, um Entwicklern und Forschern bei der Auswahl des richtigen Tools für ihre spezifischen Anforderungen zu helfen, von der akademischen Forschung bis zur produktionsreifen Bereitstellung.

Vergleich von Leistungsmetriken

Die folgende Tabelle bietet einen direkten Vergleich der Leistungsmetriken zwischen wichtigen YOLOv7- und YOLOv8-Modellen. YOLOv8 zeigt einen erheblichen Vorteil bei der Inferenzgeschwindigkeit und eine günstige Parameteranzahl, insbesondere bei den kleineren Modellvarianten, die für Edge-AI-Anwendungen entscheidend sind.

ModellGröße
(Pixel)
mAPval
50-95
Geschwindigkeit
CPU ONNX
(ms)
Geschwindigkeit
T4 TensorRT10
(ms)
Parameter
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8

YOLOv7: Die „Bag-of-Freebies“-Evolution

Im Juli 2022 veröffentlicht, wurde YOLOv7 hauptsächlich von den Autoren von YOLOv4 und YOLOR entwickelt. Es führte mehrere architektonische Innovationen ein, die darauf abzielen, den Trainingsprozess zu optimieren, ohne die Inferenzkosten zu erhöhen, ein Konzept, das als „trainable bag-of-freebies“ bezeichnet wird.

  • Autoren: Chien-Yao Wang, Alexey Bochkovskiy und Hong-Yuan Mark Liao
  • Organisation: Institute of Information Science, Academia Sinica, Taiwan
  • Datum: 2022-07-06
  • Links:Arxiv Paper | GitHub Repository

Wesentliche Architekturmerkmale

YOLOv7 führte das Extended Efficient Layer Aggregation Network (E-ELAN) ein. Diese Architektur steuert die kürzesten und längsten Gradientenpfade, um dem Netzwerk das Lernen vielfältigerer Merkmale zu ermöglichen. Darüber hinaus nutzte es Modellskalierungstechniken, die die Tiefe und Breite der Architektur gleichzeitig modifizieren und so eine optimale Leistung über verschiedene Größen hinweg gewährleisten.

Trotz seiner beeindruckenden Benchmarks bei der Einführung konzentriert sich YOLOv7 primär auf die Objekterkennung, mit weniger integrierter Unterstützung für andere Aufgaben im Vergleich zu neueren Frameworks.

Erfahren Sie mehr über YOLOv7

Ultralytics YOLOv8: Vereinheitlichtes Framework und moderne Architektur

Anfang 2023 von Ultralytics eingeführt, stellte YOLOv8 eine umfassende Überarbeitung der YOLO-Architektur dar. Es wurde nicht nur als Modell, sondern als einheitliches Framework konzipiert, das detect, Instanzsegmentierung, Pose Estimation und Klassifizierung nahtlos ausführen kann.

Architektonische Innovationen

YOLOv8 hat sich von der in früheren Versionen (einschließlich YOLOv7) verwendeten ankerbasierten Detektion hin zu einem ankerfreien Detektor-Mechanismus entwickelt. Diese Umstellung vereinfacht den Trainingsprozess, indem die Notwendigkeit entfällt, Ankerboxen zu berechnen, was das Modell robuster gegenüber Variationen in Objektform und -größe macht.

Das Backbone wurde auf C2f-Module (Cross-Stage Partial Bottleneck mit zwei Faltungen) aufgerüstet, die die C3-Module von YOLOv5 ersetzen. Diese Änderung verbessert den Gradientenfluss und ermöglicht es dem Modell, leichtgewichtig zu bleiben, während es reichhaltigere Merkmalsinformationen erfasst.

Erfahren Sie mehr über YOLOv8

Detaillierter technischer Vergleich

Ankerbasiert vs. Ankerfrei

Einer der prägendsten Unterschiede ist der Detektionskopf. YOLOv7 basiert auf Ankerboxen – vordefinierten Formen, die das Modell versucht, Objekten zuzuordnen. Obwohl effektiv, erfordert dies eine Hyperparameter-Abstimmung für benutzerdefinierte Datensätze.

Im Gegensatz dazu verwendet YOLOv8 einen ankerfreien Ansatz, der das Zentrum eines Objekts direkt vorhersagt. Dies reduziert die Anzahl der Box-Vorhersagen, beschleunigt die Non-Maximum Suppression (NMS) und erleichtert das Training des Modells auf vielfältigen Daten ohne manuelle Ankerkonfiguration.

Trainingseffizienz und Speichernutzung

Ultralytics Modelle sind bekannt für ihre Engineering-Effizienz. YOLOv8 verwendet eine intelligente Datenaugmentierungsstrategie, die die Mosaic Augmentation während der letzten Trainings-Epochen deaktiviert. Diese Technik stabilisiert den Trainingsverlust und verbessert die Präzision.

Speichereffizienz

Ein wesentlicher Vorteil von Ultralytics YOLOv8 gegenüber komplexen Architekturen wie Transformatoren (z.B. RT-DETR) ist der geringere CUDA-Speicherbedarf. Dies ermöglicht es Benutzern, größere Batch-Größen auf Consumer-GPUs zu trainieren, wodurch der Zugang zu modernstem Modelltraining demokratisiert wird.

Ökosystem und Benutzerfreundlichkeit

Während YOLOv7 ein leistungsstarkes Forschungs-Repository ist, bietet Ultralytics YOLOv8 ein ausgereiftes Produkterlebnis. Das Ultralytics-Ökosystem bietet:

  1. Optimierte API: Eine konsistente python-Schnittstelle für alle Aufgaben.
  2. Bereitstellung: Export mit einem Klick in Formate wie ONNX, TensorRT, CoreML und TFLite über den Exportmodus.
  3. Community-Support: Eine aktive Discord-Community und häufige Updates gewährleisten die Kompatibilität mit den neuesten PyTorch-Versionen.

Code-Vergleich

Die Usability-Lücke wird deutlich, wenn man den für die Inferenz erforderlichen Code vergleicht. Ultralytics priorisiert einen Low-Code-Ansatz, der es Entwicklern ermöglicht, Vision AI mit minimalem Overhead in Anwendungen zu integrieren.

YOLOv8 mit Python ausführen

from ultralytics import YOLO

# Load a pre-trained YOLOv8 model
model = YOLO("yolov8n.pt")

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Display the results
for result in results:
    result.show()

CLI-Implementierung

YOLOv8 kann auch direkt über die Kommandozeile ausgeführt werden, eine Funktion, die die Pipeline-Integration und schnelle Tests vereinfacht.

# Detect objects in an image using the nano model
yolo predict model=yolov8n.pt source='https://ultralytics.com/images/zidane.jpg' imgsz=640

Ideale Anwendungsfälle

Wann man YOLOv7 verwenden sollte

YOLOv7 bleibt eine praktikable Wahl für Forscher, die Benchmarking nach den Standards von 2022/2023 durchführen oder Altsysteme pflegen, die speziell auf der Darknet-Architektur basieren. Sein „Bag-of-Freebies“-Ansatz bietet interessante Einblicke für diejenigen, die Optimierungsstrategien für neuronale Netze untersuchen.

Wann man YOLOv8 verwenden sollte

YOLOv8 ist die empfohlene Wahl für die überwiegende Mehrheit neuer Projekte, darunter:

  • Echtzeitanwendungen: Das YOLOv8n (Nano)-Modell bietet unglaubliche Geschwindigkeiten (ca. 80 ms auf der CPU) und ist somit perfekt für mobile Apps und eingebettete Systeme geeignet.
  • Multi-Task-Pipelines: Projekte, die Posenschätzung oder segment neben detect erfordern, können eine einzige API verwenden.
  • Kommerzielle Bereitstellung: Die robuste Exportkompatibilität stellt sicher, dass in PyTorch trainierte Modelle effizient in Produktionsumgebungen mittels TensorRT oder OpenVINO bereitgestellt werden können.

Fazit

Während YOLOv7 durch die Optimierung trainierbarer Parameter bedeutende Beiträge zum Bereich der Computer Vision leistete, repräsentiert Ultralytics YOLOv8 den modernen Standard für die praktische KI-Entwicklung.

YOLOv8s überlegenes Gleichgewicht aus Geschwindigkeit und Genauigkeit, kombiniert mit einem ankerfreien Design und dem umfangreichen Ultralytics Support-Ökosystem, macht es für Anfänger zugänglicher und für Experten leistungsfähiger. Für Entwickler, die skalierbare, wartbare und hochleistungsfähige Vision-Anwendungen erstellen möchten, bieten YOLOv8 – und seine Nachfolger wie YOLO11 – den vielversprechendsten Weg nach vorn.

Weiterführende Informationen

Für diejenigen, die die neuesten Fortschritte in der Objekterkennung erkunden möchten, empfehlen wir, diese verwandten Modelle zu prüfen:

  • YOLO11: Die neueste Iteration von Ultralytics, die die Architektur für noch mehr Effizienz verfeinert.
  • YOLOv6: Ein weiteres ankerfreies Modell mit Fokus auf industrielle Anwendungen.
  • YOLOv9: Konzentriert sich auf programmierbare Gradienteninformationen (PGI) für das Training tiefer Netzwerke.

Kommentare