Zum Inhalt springen

YOLOv9 vs. YOLOv7: Ein tiefer Einblick in die Evolution der Objekterkennung

Die Landschaft der Computer Vision ist durch rasche Innovationen gekennzeichnet, wobei architektonische Durchbrüche kontinuierlich die Grenzen von Geschwindigkeit und Genauigkeit neu definieren. Zwei bedeutende Meilensteine auf diesem Weg sind YOLOv9 und YOLOv7. Beide Modelle stammen aus der Forschung von Chien-Yao Wang und Kollegen und repräsentieren verschiedene Generationen der „You Only Look Once“-Familie.

Während YOLOv7 bei seiner Veröffentlichung im Jahr 2022 den Standard für die Echtzeit-Objekterkennung setzte, erschien YOLOv9 im Jahr 2024 mit neuartigen Mechanismen zur Behebung von Informationsverlusten in tiefen Netzwerken. Dieser Vergleich untersucht ihre technischen Spezifikationen, architektonischen Unterschiede und praktischen Anwendungen, um Entwicklern bei der Auswahl des optimalen Modells für ihre Anforderungen zu helfen.

Leistungsmetriken und Effizienz

Die Entwicklung von YOLOv7 zu YOLOv9 ist am deutlichsten im Kompromiss zwischen Rechenkosten und Detektionsleistung sichtbar. YOLOv9 führt erhebliche Effizienzsteigerungen ein, die es ermöglichen, eine höhere mean Average Precision (mAP) mit weniger Parametern im Vergleich zu seinem Vorgänger zu erreichen.

Zum Beispiel erreicht das YOLOv9m-Modell denselben 51,4 % mAPval wie YOLOv7l, verwendet aber fast die Hälfte der Parameter (20,0 Mio. vs. 36,9 Mio.) und deutlich weniger FLOPs. Diese Effizienz macht YOLOv9 besonders attraktiv für Edge-AI-Anwendungen, bei denen Hardwareressourcen begrenzt sind.

ModellGröße
(Pixel)
mAPval
50-95
Geschwindigkeit
CPU ONNX
(ms)
Geschwindigkeit
T4 TensorRT10
(ms)
Parameter
(M)
FLOPs
(B)
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

YOLOv9: Programmierbare Gradienteninformation

YOLOv9 stellt einen Paradigmenwechsel in der Art und Weise dar, wie tiefe neuronale Netze die Datenübertragung durch Schichten handhaben. Anfang 2024 veröffentlicht, zielt es speziell auf das Problem des „Informationsengpasses“ ab, bei dem Daten verloren gehen, wenn sie aufeinanderfolgende Schichten eines tiefen Netzwerks durchlaufen.

Autoren: Chien-Yao Wang, Hong-Yuan Mark Liao
Organisation:Institute of Information Science, Academia Sinica
Datum: 2024-02-21
Arxiv:2402.13616
GitHub:WongKinYiu/yolov9
Docs:Ultralytics YOLOv9

Architektonische Innovation

Die Kerninnovation in YOLOv9 ist die Einführung von Programmable Gradient Information (PGI). PGI bietet ein Hilfsüberwachungs-Framework, das sicherstellt, dass Gradienten zuverlässig zu den initialen Schichten zurückpropagiert werden, wodurch wesentliche Eingabeinformationen erhalten bleiben, die sonst während der Merkmalsextraktion verloren gehen könnten.

Ergänzend zu PGI ist das Generalized Efficient Layer Aggregation Network (GELAN). Diese Architektur ermöglicht es Entwicklern, verschiedene Rechenblöcke (wie CSP oder ResBlocks) flexibel zu stapeln, wodurch die Modellgewichte für spezifische Hardware-Anforderungen optimiert werden, ohne die Genauigkeit zu beeinträchtigen.

Stärken und Schwächen

  • Stärken:
    • Überlegene Genauigkeit: Erzielt modernste Ergebnisse auf dem COCO-Datensatz, wobei das YOLOv9-E-Modell 55,6 % mAP erreicht.
    • Parameter-Effizienz: Liefert vergleichbare Leistung zu älteren Modellen unter Verwendung deutlich weniger Parameter, wodurch die Speicheranforderungen während der Inference reduziert werden.
    • Informationserhaltung: Theoretische Verbesserungen im Gradientenfluss führen zu besserer Konvergenz und Merkmalsrepräsentation.
  • Schwächen:
    • Trainingskomplexität: Die während des Trainings verwendeten (und für die Inferenz entfernten) Hilfszweige können den GPU-Speicherverbrauch während der Trainingsphase im Vergleich zu einfacheren Architekturen erhöhen.

Erfahren Sie mehr über YOLOv9

YOLOv7: Der Bag-of-Freebies-Standard

Vor YOLOv9 war YOLOv7 der amtierende Champion der YOLO-Familie. Es führte architektonische Verfeinerungen ein, die sich auf die Optimierung des Trainingsprozesses konzentrierten, ohne die Inferenzkosten zu erhöhen – ein Konzept, das als „Bag-of-Freebies“ bekannt ist.

Autoren: Chien-Yao Wang, Alexey Bochkovskiy, Hong-Yuan Mark Liao
Organisation: Institute of Information Science, Academia Sinica
Datum: 2022-07-06
Arxiv:2207.02696
GitHub:WongKinYiu/yolov7
Docs:Ultralytics YOLOv7

Architekturübersicht

YOLOv7 führte E-ELAN (Extended Efficient Layer Aggregation Network) ein, das die kürzesten und längsten Gradientenpfade steuert, um die Lernfähigkeit des Netzwerks zu verbessern. Es nutzte auch Modellskalierungstechniken, die die Tiefe und Breite des Netzwerks gleichzeitig modifizieren und so eine optimale Architektur für verschiedene Zielgeräte gewährleisten.

Stärken und Schwächen

  • Stärken:
    • Bewährte Zuverlässigkeit: Umfassende Nutzung und Validierung durch die Community über mehrere Jahre hinweg machen es zu einer stabilen Wahl für Altsysteme.
    • Hohe Geschwindigkeit: Speziell optimiert für Echtzeit-Inferenz auf Standard-GPU-Hardware.
  • Schwächen:
    • Geringere Effizienz: Erfordert mehr Parameter und FLOPs, um die Genauigkeitsniveaus zu erreichen, die neuere Modelle wie YOLOv9 oder YOLO11 mit leichteren Architekturen erzielen können.
    • Ältere Tools: Es fehlen einige der nativen Integrationen und Benutzerfreundlichkeitsfunktionen, die im modernen Ultralytics-Ökosystem zu finden sind.

Erfahren Sie mehr über YOLOv7

Ideale Anwendungsfälle und Anwendungen

Die Wahl zwischen diesen beiden Modellen hängt oft von den spezifischen Einschränkungen der Bereitstellungsumgebung und der erforderlichen Präzision der Aufgabe ab.

Wann YOLOv9 wählen?

YOLOv9 eignet sich hervorragend für Szenarien, die das höchste Verhältnis von Genauigkeit zu Effizienz erfordern.

  • Autonome Navigation: In selbstfahrenden Autos ist die Erkennung kleiner Objekte über große Entfernungen entscheidend. Die Fähigkeit von YOLOv9, Informationen zu erhalten, hilft bei der Erkennung entfernter Gefahren.
  • Medizinische Bildgebung: Für Aufgaben wie die Tumordetektion, bei denen das Übersehen einer positiven Detektion kritisch ist, sind der hohe Recall und die Genauigkeit von YOLOv9 vorteilhaft.
  • Edge-Geräte: Die yolov9t Variante bietet eine robuste Lösung für IoT-Geräte wie Raspberry Pis, die eine gute Genauigkeit bei minimalem Rechenaufwand bieten.

Wann YOLOv7 wählen?

YOLOv7 bleibt relevant für bestehende Pipelines, die bereits für seine Architektur optimiert sind.

  • Bestehende Systeme: Industrielle Fertigungslinien, die YOLOv7 für die Qualitätskontrolle validiert haben, ziehen es möglicherweise vor, die Konsistenz zu wahren, anstatt sofort ein Upgrade durchzuführen.
  • Forschungs-Baselines: Es dient als hervorragende Benchmark, um neue Detektionsstrategien mit etablierten Standards in der akademischen Forschung zu vergleichen.

Leistungsbalance mit Ultralytics

Während YOLOv9 und YOLOv7 leistungsstark sind, sollten Entwickler, die das ultimative Gleichgewicht aus Geschwindigkeit, Genauigkeit und Entwicklererfahrung suchen, Ultralytics YOLO11 in Betracht ziehen. YOLO11 integriert die besten Funktionen früherer Generationen mit einer optimierten API und unterstützt detection, Segmentierung, Pose-Schätzung und Klassifizierung in einem einzigen Framework.

Der Ultralytics Vorteil

Die Verwendung dieser Modelle innerhalb des Ultralytics-Ökosystems bietet deutliche Vorteile gegenüber der Nutzung reiner Forschungs-Repositories. Die Ultralytics Python API abstrahiert komplexen Boilerplate-Code, wodurch sich Forscher und Ingenieure auf Daten und Ergebnisse konzentrieren können.

  1. Benutzerfreundlichkeit: Eine vereinheitlichte Schnittstelle ermöglicht den Wechsel zwischen YOLOv8, YOLOv9 und YOLO11 mit einer einzigen Codezeile.
  2. Trainingseffizienz: Ultralytics-Modelle sind für schnellere Konvergenz optimiert und benötigen oft weniger Trainingsdaten, um eine hohe Genauigkeit zu erreichen.
  3. Speicheranforderungen: Das Framework ist darauf ausgelegt, den CUDA-Speicherverbrauch zu minimieren, was das Training größerer Batch-Größen auf Consumer-Hardware im Vergleich zu speicherintensiven Transformer-Modellen ermöglicht.
  4. Vielseitigkeit: Über einfache Bounding Boxes hinaus unterstützt das Ökosystem Instanzsegmentierung, Pose-Schätzung und Oriented Bounding Box (OBB)-Aufgaben, was es zu einem umfassenden Werkzeug für vielfältige KI-Herausforderungen macht.

Implementierungsbeispiel

Das Ausführen dieser Modelle ist mit der Ultralytics-Bibliothek unkompliziert. Das folgende Code-Snippet zeigt, wie ein vortrainiertes Modell geladen und eine Inferenz auf einem Bild ausgeführt wird.

from ultralytics import YOLO

# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")

# Run inference on a local image
results = model.predict("path/to/image.jpg", save=True, conf=0.5)

# Process results
for result in results:
    result.show()  # Display predictions

Für diejenigen, die am Training mit benutzerdefinierten Datensätzen interessiert sind, ist der Prozess gleichermaßen einfach, unter Nutzung der robusten Hyperparameter-Optimierung- und Datenaugmentierungs-Strategien, die in das Framework integriert sind.

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

Fazit

Sowohl YOLOv9 als auch YOLOv7 stellen bedeutende Errungenschaften im Bereich der Computer Vision dar. YOLOv9 ist der klare technische Nachfolger und bietet überlegene Parametereffizienz und Genauigkeit durch seine innovativen PGI- und GELAN-Architekturen. Es ist die empfohlene Wahl für Benutzer, die hohe Leistung aus der spezifischen Forschungslinie von Wang et al. suchen.

Für Entwickler, die die ganzheitlichste KI-Entwicklungserfahrung suchen, bleibt Ultralytics YOLO11 jedoch die Top-Empfehlung. Mit seiner aktiven Wartung, der umfassenden Dokumentation und der breiten Unterstützung für multimodale Aufgaben stellt YOLO11 sicher, dass Ihre Projekte zukunftssicher und produktionsreif sind.

Andere Modelle entdecken

Um Ihr Verständnis der Landschaft der Objekterkennung weiter zu vertiefen, ziehen Sie in Betracht, diese verwandten Modelle und Vergleiche zu erkunden:

  • YOLO11 vs. YOLOv9 - Vergleichen Sie das neueste Ultralytics-Modell mit YOLOv9.
  • YOLOv8 vs. YOLOv7 – Sehen Sie, wie sich die vorherige Generation schlägt.
  • RT-DETR vs. YOLOv9 - Ein Blick auf Transformer-basierte Erkennung im Vergleich zu CNNs.
  • YOLOv10 – Entdecken Sie das End-to-End-Objektdektionsmodell in Echtzeit.
  • Ultralytics HUB – Der einfachste Weg, Ihre Modelle zu trainieren und bereitzustellen.

Kommentare