YOLO vs. YOLOv9: Ein technischer Vergleich
In der sich rasant entwickelnden Welt der Computer Vision ist die Auswahl des optimalen Objekterkennungsmodells eine zentrale Entscheidung, die sich auf alles auswirkt, von der Systemlatenz bis zur Erkennungsgenauigkeit. Dieser umfassende Leitfaden bietet einen technischen Vergleich zwischen YOLO, einem Hochgeschwindigkeitsdetektor der Alibaba Group, und YOLOv9einer Architektur, die auf Informationserhalt und Effizienz ausgerichtet ist. Wir analysieren ihre architektonischen Innovationen, Leistungsmetriken und idealen Anwendungsfälle, um Entwicklern und Forschern zu helfen, eine fundierte Entscheidung zu treffen.
Beide Modelle bieten deutliche Verbesserungen gegenüber ihren Vorgängern, YOLOv9vor allem dann, wenn es innerhalb des Ultralytics eingesetzt wird, eine überzeugende Mischung aus modernster Genauigkeit, entwicklerfreundlichen Werkzeugen und vielseitigen Einsatzoptionen.
YOLO: Geschwindigkeitsorientierter Entwurf durch neuronale Architektursuche
YOLO ist ein von Alibaba entwickeltes Framework für die Objekterkennung, das mit einer "Einmal-für-alles"-Methode konzipiert wurde. Es legt den Schwerpunkt auf niedrige Latenzzeiten und hohen Durchsatz, was es zu einem starken Konkurrenten für industrielle Anwendungen macht, die streng definierte Geschwindigkeitsvorgaben auf spezifischer Hardware erfordern.
Authors: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, and Xiuyu Sun
Organisation:Alibaba Group
Datum: 2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444
GitHubYOLO
Architektonische Innovationen
YOLO zeichnet sich durch automatisierte Konstruktionsprozesse und effiziente Komponenten aus:
- Neuronale Architektursuche (NAS): Anstatt Backbones manuell zu entwerfen, nutzt YOLO die neuronale Architektursuche (NAS), um effiziente Strukturen (TinyNAS) zu finden, die auf unterschiedliche Rechenkapazitäten zugeschnitten sind.
- RepGFPN-Netz: Es wird eine effiziente Variante des Generalized Feature Pyramid Network (GFPN) eingeführt, die als RepGFPN bezeichnet wird. Diese Komponente optimiert die Merkmalsfusion und unterstützt die Neuparametrisierung, was eine schnellere Inferenzgeschwindigkeit ermöglicht.
- ZeroHead: Das Modell verwendet einen leichtgewichtigen "ZeroHead"-Erkennungskopf, der den mit komplexen Erkennungsköpfen typischerweise verbundenen Berechnungsaufwand reduziert.
- AlignedOTA: Um die Trainingsstabilität und -genauigkeit zu verbessern, wird AlignedOTA verwendet, eine Strategie für die Zuweisung von Bezeichnungen, die Probleme der falschen Ausrichtung zwischen Klassifizierungs- und Regressionsaufgaben löst.
Stärken und Schwächen
Die Hauptstärke von YOLO liegt in der Inferenzgeschwindigkeit. Die Architektur ist stark für einen hohen GPU optimiert, wodurch sie sich für Videoanalyse-Pipelines eignet, bei denen das Verarbeitungsvolumen entscheidend ist. Darüber hinaus wird durch die Verwendung von Destillation die Leistung der kleineren Modelle verbessert.
YOLO steht jedoch vor Herausforderungen hinsichtlich der Reife des Ökosystems. Im Vergleich zu den robusten Tools, die für Ultralytics zur Verfügung stehen, finden die Nutzer möglicherweise weniger Ressourcen für die Bereitstellung, die Formatkonvertierung und die Unterstützung durch die Community. Die Vielseitigkeit der Aufgabe ist im Allgemeinen auf die Objekterkennung beschränkt, während moderne Frameworks oft Segmentierung und Posenschätzung nativ unterstützen.
Erfahren Sie mehr über DAMO-YOLO
YOLOv9: Programmierbare Farbverläufe für maximale Effizienz
YOLOv9 stellt einen Paradigmenwechsel in der Echtzeit-Objekterkennung dar, indem das grundlegende Problem des Informationsverlustes in tiefen neuronalen Netzen angegangen wird. Indem YOLOv9 sicherstellt, dass kritische Daten über die gesamte Netzwerktiefe hinweg erhalten bleiben, erreicht es eine überragende Genauigkeit bei bemerkenswerter Parametereffizienz.
Authors: Chien-Yao Wang, Hong-Yuan Mark Liao
Organisation:Institute of Information Science, Academia Sinica, Taiwan
Datum: 2024-02-21
Arxiv:https://arxiv.org/abs/2402.13616
GitHub:https://github.com/WongKinYiu/yolov9
Dokumentationultralytics
Kernarchitektur: PGI und GELAN
YOLOv9 verfügt über zwei bahnbrechende Technologien, die es von anderen unterscheidet:
- Programmierbare Gradienteninformation (PGI): Tiefe Netzwerke leiden oft unter einem Informationsengpass, bei dem Eingabedaten auf dem Weg durch die Schichten verloren gehen. PGI bietet einen zusätzlichen Überwachungszweig, der zuverlässige Gradienten generiert und sicherstellt, dass tiefe Schichten vollständige Informationen für genaue Gewichtsaktualisierungen erhalten.
- Generalized Efficient Layer Aggregation Network (GELAN): Diese neuartige Architektur kombiniert die Stärken von CSPNet und ELAN. GELAN wurde entwickelt, um die Parameternutzung zu maximieren und bietet ein Modell, das sowohl leichtgewichtig als auch unglaublich leistungsstark ist.
Warum die g.g.A. wichtig ist
Bei herkömmlichen Deep-Learning-Modellen verfügt die Verlustfunktion in der Ausgabeschicht oft nicht über ausreichende Informationen, um die Aktualisierungen der flachen Schichten effektiv zu steuern. PGI fungiert als Brücke, bewahrt die Eingabeinformationen und stellt sicher, dass das gesamte Netzwerk robuste Merkmale erlernt, was zu einer besseren Konvergenz und höheren Genauigkeit führt.
Der Ultralytics
Die Verwendung von YOLOv9 innerhalb des Ultralytics bietet Entwicklern erhebliche Vorteile gegenüber eigenständigen Implementierungen:
- Benutzerfreundlichkeit: DiePython und CLI Ultralytics abstrahieren komplexe Schulungspipelines in einfache Befehle.
- Effizienz der Ausbildung: Ultralytics gewährleisten eine optimale Ressourcennutzung. Im Vergleich zu transformatorbasierten Detektoren benötigt YOLOv9 während des Trainings in der Regel weniger CUDA , wodurch es auf einer breiteren Palette von Hardware einsetzbar ist.
- Vielseitigkeit: Während sich das YOLOv9 im Kern auf die Erkennung konzentriert, erleichtert das Ultralytics die Erweiterung dieser Architekturen auf andere Aufgaben und gewährleistet einen nahtlosen Export in Formate wie ONNX, TensorRTund OpenVINO.
Leistungsanalyse: Genauigkeit vs. Effizienz
Der nachstehende Vergleich verdeutlicht die Kompromisse zwischen YOLO und YOLOv9. Während YOLO auf spezifischer Hardware wettbewerbsfähige Geschwindigkeiten bietet, liefert YOLOv9 mit weniger Parametern durchweg eine höhere mittlere Genauigkeit (Mean Average Precision,mAP ) und zeigt damit eine überlegene Architektureffizienz.
| Modell | Größe (Pixel) | mAPval 50-95 | Geschwindigkeit CPU ONNX (ms) | Geschwindigkeit T4 TensorRT10 (ms) | Parameter (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
Wichtigste Erkenntnisse:
- Parameter-Effizienz: YOLOv9s erreicht einen höheren mAP (46,8) als DAMO-YOLOs (46,0) und benötigt dabei weniger als die Hälfte der Parameter (7,1 Mio. gegenüber 16,3 Mio.). Dadurch ist YOLOv9 wesentlich speicherfreundlicher und für Edge-KI-Geräte leichter über die Luft zu aktualisieren.
- Top-End-Genauigkeit: Die größten YOLOv9 (c und e) verschieben die Genauigkeitsgrenzen weit über die Grenzen von YOLO hinaus und erreichen 55,6 mAP.
- Geschwindigkeit: Während YOLO einen leichten Vorteil bei der rohen TensorRT für mittlere Modelle aufweist, ist YOLOv9t extrem schnell (2,3 ms), was es ideal für mobile Echtzeitanwendungen macht.
Trainingsmethoden und Benutzerfreundlichkeit
Die Trainingserfahrung unterscheidet sich erheblich zwischen den beiden Modellen. YOLO Abhängigkeit von NAS impliziert eine komplexe Suchphase, um die Architektur abzuleiten, oder die Verwendung von vorab gesuchten Backbones. Sein "Einmal-für-alles"-Ansatz kann rechenintensiv sein, wenn eine Anpassung der Backbone-Struktur erforderlich ist.
Im Gegensatz dazu bietet YOLOv9, das von Ultralytics unterstützt wird, einen optimierten Trainingsmodus. Benutzer können Modelle auf benutzerdefinierten Datensätzen wie Open Images V7 oder speziellen Sammlungen mit minimaler Konfiguration feinabstimmen. Die Integration mit Ultralytics HUB ermöglicht Cloud-basiertes Training, Visualisierung und Ein-Klick-Bereitstellung, wodurch der Zugang zu fortschrittlicher KI demokratisiert wird, ohne dass tiefes Fachwissen über NAS oder Hyperparameter-Tuning erforderlich ist.
Code-Beispiel: Ausbildung YOLOv9
Die Implementierung von YOLOv9 ist mit demPython sehr einfach.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Train the model on the COCO8 dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
Ideale Anwendungsfälle
Wann sollte man YOLO wählen?
- Videoverarbeitung in großem Maßstab: Wenn Sie Tausende von Videoströmen auf speziellen Server-GPUs verarbeiten, bei denen jede Millisekunde Latenzzeit zu erheblichen Einsparungen bei den Infrastrukturkosten führt, kann die Optimierung von YOLO für hohen Durchsatz von Vorteil sein.
- Feste Hardware-Beschränkungen: Für Szenarien, in denen die Hardware bekannt und statisch ist, können die von NAS abgeleiteten Architekturen so ausgewählt werden, dass sie das verfügbare Rechenbudget perfekt ausfüllen.
Wann sollte man YOLOv9 wählen YOLOv9
- Computer Vision für allgemeine Zwecke: Für die meisten Entwickler, die an Robotik, Sicherheit oder Einzelhandelsanalysen arbeiten, bietet YOLOv9 das beste Gleichgewicht aus Genauigkeit und Benutzerfreundlichkeit.
- Einsatz in Randbereichen: Aufgrund seiner überlegenen Parametereffizienz (z. B. YOLOv9s) passt es besser auf eingeschränkte Geräte wie den Raspberry Pi oder NVIDIA Jetson und lässt mehr Platz für andere Anwendungen.
- Forschung und Entwicklung: Die PGI-Architektur bietet eine faszinierende Grundlage für die weitere Erforschung der Effizienz von Deep Learning.
- Sie benötigen ein ausgereiftes Ökosystem: Wenn Ihr Projekt zuverlässige Nachverfolgung, einfachen Export nach CoreML oder TFLite und aktive Unterstützung durch die Gemeinschaft erfordert, ist das Ultralytics rund um YOLOv9 unübertroffen.
Fazit
Sowohl YOLO als auch YOLOv9 sind ein Beispiel für die rasante Innovation im Bereich der Objekterkennung. YOLO beweist den Wert der neuronalen Architektursuche für die Erzielung maximaler Geschwindigkeitsleistungen. Allerdings, YOLOv9 als die vielseitigere und leistungsfähigere Lösung für die meisten Benutzer hervor.
Durch die Behebung des Engpasses bei den Tiefenüberwachungsinformationen mit PGI und die Optimierung der Schichten mit GELAN bietet YOLOv9 modernste Genauigkeit bei bemerkenswerter Effizienz. In Kombination mit dem Ultralytics bietet es eine robuste, gut gewartete und benutzerfreundliche Plattform, die den Weg vom Konzept zur Bereitstellung beschleunigt. Für Entwickler, die mit Sicherheit innovative Bildverarbeitungsanwendungen erstellen möchten, sind dieYOLO Ultralytics nach wie vor die beste Wahl.
Andere Modelle entdecken
Wenn Sie daran interessiert sind, andere hochmoderne Optionen innerhalb der Ultralytics zu erkunden oder weitere Vergleiche anzustellen, sollten Sie diese Ressourcen in Betracht ziehen:
- Ultralytics YOLO11 - Das neueste SOTA-Modell für vielseitige Bildverarbeitungsaufgaben.
- YOLOv8 vs. DAMO-YOLO
- RT-DETR vs. DAMO-YOLO
- YOLOv10 vs. YOLO
- YOLOX vs. DAMO-YOLO