Zum Inhalt springen

YOLOv7 vs. YOLOX: Ein detaillierter technischer Vergleich

In der sich schnell entwickelnden Landschaft der Computer Vision hat die YOLO (You Only Look Once)-Modellfamilie stets den Standard für die Objekterkennung in Echtzeit gesetzt. Zwei wichtige Meilensteine in dieser Geschichte sind YOLOv7 und YOLOX. Während beide Modelle ein Gleichgewicht zwischen Geschwindigkeit und Genauigkeit anstreben, unterscheiden sie sich erheblich in ihrer Architekturphilosophie - insbesondere in Bezug auf ankerbasierte und ankerfreie Methoden.

Dieser Leitfaden bietet einen detaillierten technischen Vergleich, um Forschern und Ingenieuren bei der Auswahl des richtigen Tools für ihre speziellen Computer-Vision-Anwendungen zu helfen. Wir analysieren ihre Architekturen, führen Leistungsvergleiche durch und untersuchen, warum moderne Alternativen wie Ultralytics YOLO11 oft eine bessere Erfahrung für Entwickler bieten.

Leistungsmetriken: Geschwindigkeit und Genauigkeit

Bei der Bewertung von Objektdetektoren ist der Kompromiss zwischen Inferenzlatenz und mittlerer durchschnittlicher PräzisionmAP) von entscheidender Bedeutung. Die folgende Tabelle zeigt einen direkten Vergleich zwischen YOLOv7 und YOLOX-Varianten auf dem COCO .

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
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9

Analyse der Ergebnisse

Die Daten zeigen deutliche Vorteile für jede Modellfamilie je nach den Einsatzbedingungen. YOLOv7 zeigt eine außergewöhnliche Effizienz in der Hochleistungsgruppe. So erreicht YOLOv7l eine mAP von 51,4 % mit nur 36,9 Mio. Parametern und übertrifft damit YOLOXx (51,1 % mAP, 99,1 Mio. Parameter), während es deutlich weniger Rechenressourcen benötigt. Dies macht YOLOv7 zu einem starken Kandidaten für Szenarien, in denen die GPU entscheidend ist, der Speicher jedoch begrenzt ist.

Umgekehrt glänzt YOLOX in der Kategorie der Leichtgewichte. Das YOLOX-Nano-Modell (0,91 Mio. Parameter) bietet eine praktikable Lösung für Ultra-Low-Power-Edge-Geräte, für die selbst die kleinsten YOLO zu schwer sein könnten. Seine skalierbaren Tiefen-Breiten-Multiplikatoren ermöglichen eine feinkörnige Abstimmung über eine breite Palette von Hardware-Profilen.

YOLOv7: Optimierte Bag-of-Freebies

YOLOv7 wurde im Juli 2022 veröffentlicht und führte mehrere architektonische Neuerungen ein, um den Trainingsprozess zu optimieren, ohne dass dabei Kosten für Inferenzen entstehen.

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

Erfahren Sie mehr über YOLOv7

Architektonische Highlights

YOLOv7 konzentriert sich auf "trainierbare bag-of-freebies"-Optimierungsmethoden, die die Genauigkeit während des Trainings verbessern, aber während der Inferenz entfernt oder zusammengeführt werden. Die wichtigsten Merkmale sind:

  1. E-ELAN (Extended Efficient Layer Aggregation Network): Eine verbesserte Backbone-Struktur, die die Fähigkeit des Modells zum Erlernen verschiedener Merkmale durch Kontrolle der kürzesten und längsten Gradientenpfade verbessert.
  2. Modell-Skalierung: Anstelle einer einfachen Skalierung der Tiefe oder Breite verwendet YOLOv7 eine zusammengesetzte Skalierungsmethode für verkettungsbasierte Modelle, die die optimale Struktur während der Hochskalierung beibehält.
  3. Auxiliary Head Coarse-to-Fine: Ein Hilfsverlustkopf wird während des Trainings zur Unterstützung der Überwachung verwendet, der dann für die Inferenz in den Hauptkopf umparametrisiert wird.

Neuparametrierung

YOLOv7 verwendet eine geplante Neuparametrisierung, bei der verschiedene Trainingsmodule mathematisch zu einer einzigen Faltungsschicht für die Inferenz zusammengeführt werden. Dadurch verringert sich die Latenzzeit für die Inferenz erheblich, ohne dass die beim Training gewonnene Fähigkeit zum Erlernen von Merkmalen beeinträchtigt wird.

YOLOX: Die ankerlose Evolution

YOLOX, das 2021 auf den Markt kam, stellte einen Wechsel im YOLO dar, indem es von Ankerboxen zu einem ankerlosen Mechanismus überging, ähnlich wie bei semantischen Segmentierungsansätzen.

  • Autoren: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li und Jian Sun
  • Organisation: Megvii
  • Datum: 2021-07-18
  • Papier:Arxiv Link
  • GitHub:YOLOX-Repository

Erfahren Sie mehr über den YOLOX-Vergleich

Architektonische Highlights

YOLOX hat die Erkennungspipeline vereinfacht, indem es die manuelle Abstimmung der Ankerboxen überflüssig gemacht hat, die in früheren Versionen wie YOLOv4 und YOLOv5 ein häufiges Problem darstellte.

  1. Ankerfreier Mechanismus: Durch die direkte Vorhersage des Zentrums von Objekten eliminiert YOLOX die komplexen Hyperparameter, die mit Ankern verbunden sind, und verbessert so die Generalisierung auf verschiedenen Datensätzen.
  2. Entkoppelter Kopf: Im Gegensatz zu früheren YOLO , bei denen Klassifizierung und Lokalisierung in einem Kopf vereint waren, sind sie bei YOLOX getrennt. Dies führt zu schnellerer Konvergenz und besserer Genauigkeit.
  3. SimOTA: Eine fortschrittliche Label-Zuweisungsstrategie, die positive Proben dynamisch der Grundwahrheit mit den geringsten Kosten zuweist und dabei Klassifikations- und Regressionsverluste effektiv ausgleicht.

Warum Ultralytics die bevorzugte Wahl sind

YOLOv7 und YOLOX unterscheiden sich zwar in ihrer Architektur, werden aber von den modernen Ultralytics YOLO in Bezug auf Benutzerfreundlichkeit und Ökosystemunterstützung übertroffen. Für Entwickler, die eine robuste, zukunftssichere Lösung suchen, ist der Übergang zu YOLO11 deutliche Vorteile.

1. Einheitliches Ökosystem und Benutzerfreundlichkeit

YOLOv7 und YOLOX erfordern oft das Klonen spezifischer GitHub-Repositories, die Verwaltung komplexer Abhängigkeitsanforderungen und die Verwendung unterschiedlicher Datenformate. Im Gegensatz dazu bietet Ultralytics ein pip-installierbares Paket, das alle Aufgaben vereinheitlicht.

from ultralytics import YOLO

# Load a model (YOLO11n recommended for speed)
model = YOLO("yolo11n.pt")

# Train on a custom dataset with a single line
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image
results = model("path/to/image.jpg")

2. Überlegene Leistungsbilanz

Wie aus den Benchmarks hervorgeht, erzielen moderne Ultralytics einen besseren Kompromiss zwischen Geschwindigkeit und Genauigkeit. YOLO11 verwendet eine optimierte ankerfreie Architektur, die aus den Fortschritten von YOLOX (ankerfreies Design) und YOLOv7 (Gradientenpfadoptimierung) lernt. Dies führt zu Modellen, die nicht nur schneller bei der CPU sind, sondern auch weniger CUDA während des Trainings benötigen, wodurch sie auf einer breiteren Palette von Hardware verfügbar sind.

3. Vielseitigkeit bei verschiedenen Aufgaben

YOLOv7 und YOLOX sind in erster Linie für die Objekterkennung konzipiert. Ultralytics erweitern diese Fähigkeit nativ auf eine Reihe von Computer-Vision-Aufgaben, ohne die API zu ändern:

4. Nahtlose Bereitstellung und MLOps

Die Überführung eines Modells von der Forschung in die Produktion ist mit älteren Frameworks eine Herausforderung. Das Ultralytics umfasst integrierte Exportmodi für ONNX, TensorRT, CoreML und OpenVINO, die die Modellbereitstellung vereinfachen. Darüber hinaus ermöglichen Integrationen mit Ultralytics HUB eine webbasierte Datensatzverwaltung, Ferntraining und die Bereitstellung auf Edge-Geräten mit einem Klick.

Erfahren Sie mehr über YOLO11

Fazit

Sowohl YOLOv7 als auch YOLOX haben bedeutende Beiträge zum Bereich der Computer Vision geleistet. YOLOv7 optimierte die Architektur für Spitzenleistungen auf GPU und maximierte die Effizienz des "Bag-of-Freebies"-Ansatzes. YOLOX demonstrierte erfolgreich die Machbarkeit der ankerfreien Erkennung, vereinfachte die Pipeline und verbesserte die Generalisierung.

Aber für moderne Entwicklungsabläufe, Ultralytics YOLO11 als die bessere Wahl hervor. Es kombiniert die architektonischen Stärken seiner Vorgänger mit einer unübertroffenen Python , geringeren Speicheranforderungen und Unterstützung für eine umfassende Palette von Bildverarbeitungsaufgaben. Ganz gleich, ob Sie die Software auf einem Edge-Gerät oder einem Cloud-Server einsetzen, die aktive Community und die umfangreiche Dokumentation des Ultralytics sorgen für einen reibungsloseren Weg zur Produktion.

Andere Modelle entdecken

Wenn Sie an weiteren technischen Vergleichen interessiert sind, sollten Sie sich diese Ressourcen ansehen:


Kommentare