Zum Inhalt springen

Modellvergleich: YOLOv7 vs. YOLOv8 zur Objekterkennung

In der sich schnell entwickelnden Landschaft der Computer Vision hat die Familie der "You Only Look Once"-ModelleYOLO) stets den Standard für die Objekterkennung in Echtzeit gesetzt. Zwei wichtige Meilensteine in dieser Reihe sind YOLOv7 und Ultralytics YOLOv8. Während beide Modelle bei ihrer Veröffentlichung die Grenzen der Genauigkeit und Geschwindigkeit verschoben haben, repräsentieren sie unterschiedliche Design-Philosophien und Ökosystem-Reifegrade.

Dieser Leitfaden bietet einen detaillierten technischen Vergleich, um Entwicklern und Forschern bei der Auswahl des richtigen Tools für ihre spezifischen Anforderungen zu helfen, die von der akademischen Forschung bis hin zum produktionsgerechten Einsatz reichen.

Vergleich der Leistungsmetriken

Die folgende Tabelle zeigt einen direkten Vergleich der Leistungsmetriken zwischen den wichtigsten YOLOv7 und YOLOv8 . YOLOv8 zeigt einen deutlichen 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"-Entwicklung

YOLOv7 wurde im Juli 2022 veröffentlicht und wurde hauptsächlich von den Autoren von YOLOv4 und YOLOR entwickelt. Es führte mehrere architektonische Neuerungen ein, die darauf abzielen, den Trainingsprozess zu optimieren, ohne die Kosten für die Inferenz zu erhöhen. Dieses Konzept wird als "trainierbare Bag-of-Freebies" bezeichnet.

  • 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

Wichtige architektonische Merkmale

Mit YOLOv7 wurde das Extended Efficient Layer Aggregation Network (E-ELAN) eingeführt. Diese Architektur steuert die kürzesten und längsten Gradientenpfade, damit das Netz mehr verschiedene Merkmale lernen kann. Darüber hinaus wurden Modellskalierungstechniken eingesetzt, die die Tiefe und Breite der Architektur gleichzeitig verändern und so eine optimale Leistung bei unterschiedlichen Größen gewährleisten.

Trotz seiner beeindruckenden Benchmarks bei der Markteinführung konzentriert sich YOLOv7 in erster Linie auf die Objekterkennung und bietet im Vergleich zu neueren Frameworks weniger integrierte Unterstützung für andere Aufgaben.

Erfahren Sie mehr über YOLOv7

Ultralytics YOLOv8: Vereinheitlichter Rahmen und moderne Architektur

YOLOv8 wurde Anfang 2023 von Ultralytics auf den Markt gebracht und stellte eine grundlegende Überarbeitung der YOLO dar. Es wurde nicht nur als Modell, sondern als einheitliches Framework entwickelt, das nahtlos Erkennung, Instanzsegmentierung, Posenschätzung und Klassifizierung durchführen kann.

Architektonische Innovationen

YOLOv8 ist von der ankerbasierten Erkennung, die in früheren Versionen (einschließlich YOLOv7) verwendet wurde, zu einem ankerfreien Erkennungsmechanismus übergegangen. Diese Umstellung vereinfacht den Trainingsprozess, da keine Ankerboxen mehr berechnet werden müssen, was das Modell robuster gegenüber Schwankungen der Objektform und -größe macht.

Das Backbone wurde auf die Verwendung von C2f-Modulen (Cross-Stage Partial Bottleneck mit zwei Faltungen) umgestellt, die die C3-Module von YOLOv5. Diese Änderung verbessert den Gradientenfluss und ermöglicht es dem Modell, leichtgewichtig zu bleiben und gleichzeitig umfangreichere Merkmalsinformationen zu erfassen.

Erfahren Sie mehr über YOLOv8

Detaillierter technischer Vergleich

Verankerungsbasiert vs. verankerungsfrei

Einer der wichtigsten Unterschiede ist der Erkennungskopf. YOLOv7 stützt sich auf Ankerboxen - vordefinierte Formen, die das Modell versucht, den Objekten zuzuordnen. Dies ist zwar effektiv, erfordert aber eine Abstimmung der Hyperparameter für benutzerdefinierte Datensätze.

Im Gegensatz dazu verwendet YOLOv8 einen ankerfreien Ansatz, bei dem der Mittelpunkt eines Objekts direkt vorhergesagt wird. Dies reduziert die Anzahl der Box-Vorhersagen, beschleunigt die Nicht-Maximum-UnterdrückungNMS) und macht es einfacher, das Modell auf verschiedenen Daten ohne manuelle Ankerkonfiguration zu trainieren.

Trainingseffizienz und Speichernutzung

Ultralytics sind für ihre technische Effizienz bekannt. YOLOv8 verwendet eine intelligente Datenerweiterungsstrategie, die die Mosaik-Erweiterung während der letzten Epochen des Trainings deaktiviert. Diese Technik stabilisiert den Trainingsverlust und verbessert die Präzision.

Speicher-Effizienz

Ein wesentlicher Vorteil von Ultralytics YOLOv8 gegenüber komplexen Architekturen wie Transformatoren (z. B., RT-DETR) ist sein geringerer CUDA . Dadurch können Benutzer größere Batchgrößen auf Consumer-GPUs trainieren und den Zugang zu modernster Modellschulung demokratisieren.

Ökosystem und Benutzerfreundlichkeit

Während YOLOv7 ein leistungsfähiger Forschungsspeicher ist, bietet Ultralytics YOLOv8 ein ausgefeiltes Produkterlebnis. Das Ultralytics Ökosystem bietet:

  1. Optimierte API: Eine einheitliche Python für alle Aufgaben.
  2. Bereitstellung: Ein-Klick-Export in Formate wie ONNX, TensorRT, CoreML und TFLite über den Exportmodus.
  3. Unterstützung der Gemeinschaft: Eine aktive Discord-Community und häufige Updates, die die Kompatibilität mit den neuesten PyTorch sicherstellen.

Code-Vergleich

Die Lücke in der Benutzerfreundlichkeit wird deutlich, wenn man den Code vergleicht, der für die Durchführung von Schlussfolgerungen erforderlich ist. Ultralytics setzt auf einen Low-Code-Ansatz, der es Entwicklern ermöglicht, Bildverarbeitungs-KI 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

YOLOv8 kann auch direkt von der Kommandozeile aus ausgeführt werden, eine Funktion, die die Integration von Pipelines 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 ist YOLOv7 zu verwenden YOLOv7

YOLOv7 ist nach wie vor eine gute Wahl für Forscher, die ein Benchmarking gegen 2022/2023-Standards durchführen oder Altsysteme pflegen, die speziell für eine Darknet-Architektur entwickelt wurden. Sein "Bag-of-Freebies"-Ansatz bietet interessante Einblicke für diejenigen, die Optimierungsstrategien für neuronale Netze untersuchen.

Wann Sie YOLOv8 verwenden sollten

YOLOv8 ist die empfohlene Wahl für die große Mehrheit der neuen Projekte, einschließlich:

  • Echtzeit-Anwendungen: Das YOLOv8n (nano)-Modell bietet unglaubliche Geschwindigkeiten (ca. 80ms auf CPU) und ist damit perfekt für mobile Anwendungen und eingebettete Systeme.
  • Multi-Task-Pipelines: Projekte, die neben der Erkennung auch eine Pose-Schätzung oder Segmentierung erfordern, können eine einzige API verwenden.
  • Kommerzieller Einsatz: Die robuste Exportkompatibilität stellt sicher, dass die in PyTorch trainierten Modelle effizient in Produktionsumgebungen mit TensorRT oder OpenVINO eingesetzt werden können.

Fazit

Während YOLOv7 durch die Optimierung trainierbarer Parameter einen bedeutenden Beitrag zum Bereich der Computer Vision geleistet hat, Ultralytics YOLOv8 den modernen Standard für die praktische KI-Entwicklung dar.

Das hervorragende Gleichgewicht zwischen Geschwindigkeit und Genauigkeit von YOLOv8 in Kombination mit dem ankerfreien Design und dem umfangreichen Ultralytics macht es für Anfänger leichter zugänglich und für Experten leistungsfähiger. Für Entwickler, die skalierbare, wartbare und leistungsstarke Bildverarbeitungsanwendungen erstellen möchten, sind YOLOv8seine Nachfolger wie YOLO11-den überzeugendsten Weg in die Zukunft.

Weiterführende Informationen

Wenn Sie sich für die neuesten Fortschritte bei der Objekterkennung interessieren, sollten Sie sich diese verwandten Modelle ansehen:

  • 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