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.
| Modell | Größe (Pixel) | mAPval 50-95 | Geschwindigkeit CPU ONNX (ms) | Geschwindigkeit T4 TensorRT10 (ms) | Parameter (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.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.
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.
- Autoren: Glenn Jocher, Ayush Chaurasia, und Jing Qiu
- Organisation: Ultralytics
- Datum: 2023-01-10
- Links:Ultralytics Docs | GitHub Repository
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.
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:
- Optimierte API: Eine einheitliche Python für alle Aufgaben.
- Bereitstellung: Ein-Klick-Export in Formate wie ONNX, TensorRT, CoreML und TFLite über den Exportmodus.
- 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.