YOLO Vision 2026:

YOLOv9: Ein großer Schritt nach vorn in der Object Detection-Technologie#

YOLOv9 markiert einen bedeutenden Fortschritt bei der Echtzeit-Objekterkennung und führt bahnbrechende Techniken wie Programmable Gradient Information (PGI) und das Generalized Efficient Layer Aggregation Network (GELAN) ein. Dieses Modell zeigt bemerkenswerte Verbesserungen hinsichtlich Effizienz, Genauigkeit und Anpassungsfähigkeit und setzt neue Maßstäbe auf dem MS COCO-Datensatz. Das YOLOv9-Projekt baut, obwohl von einem separaten Open-Source-Team entwickelt, auf der robusten Codebasis von Ultralytics YOLOv5 auf und unterstreicht den kollaborativen Geist der KI-Forschungsgemeinschaft.



Watch: YOLOv9 Training on Custom Data using Ultralytics | Industrial Package Dataset

YOLOv9 performance comparison

Einführung in YOLOv9#

Auf der Suche nach einer optimalen Echtzeit-Objekterkennung zeichnet sich YOLOv9 durch seinen innovativen Ansatz zur Bewältigung von Informationsverlusten aus, die tiefen neural networks innewohnen. Durch die Integration von PGI und der vielseitigen GELAN-Architektur verbessert YOLOv9 nicht nur die Lernkapazität des Modells, sondern stellt auch sicher, dass entscheidende Informationen während des gesamten Erkennungsprozesses erhalten bleiben, wodurch eine außergewöhnliche Genauigkeit und Leistung erzielt wird.

Kerninnovationen von YOLOv9#

Die Fortschritte von YOLOv9 wurzeln tief in der Bewältigung der Herausforderungen durch Informationsverluste in tiefen neuronalen Netzen. Das Information Bottleneck Principle und der innovative Einsatz umkehrbarer Funktionen sind zentral für sein Design und sorgen dafür, dass YOLOv9 eine hohe Effizienz und Genauigkeit beibehält.

Information Bottleneck Principle#

Das Information Bottleneck Principle offenbart eine grundlegende Herausforderung im Deep Learning: Wenn Daten aufeinanderfolgende Schichten eines Netzwerks passieren, steigt das Potenzial für Informationsverluste. Dieses Phänomen wird mathematisch dargestellt als:

I(X, X) >= I(X, f_theta(X)) >= I(X, g_phi(f_theta(X)))

wobei I gegenseitige Information bezeichnet und f sowie g Transformationsfunktionen mit den Parametern theta beziehungsweise phi darstellen. YOLOv9 wirkt diesem Problem entgegen, indem es Programmable Gradient Information (PGI) implementiert, was dazu beiträgt, wesentliche Daten über die Tiefe des Netzwerks hinweg zu bewahren, eine zuverlässigere Gradientengenerierung und folglich eine bessere Modellkonvergenz und -leistung sicherzustellen.

Umkehrbare Funktionen#

Das Konzept der umkehrbaren Funktionen ist ein weiterer Eckpfeiler des Designs von YOLOv9. Eine Funktion gilt als umkehrbar, wenn sie ohne Informationsverlust invertiert werden kann, ausgedrückt durch:

X = v_zeta(r_psi(X))

wobei psi und zeta als Parameter für die umkehrbare Funktion bzw. deren Umkehrfunktion dienen. Diese Eigenschaft ist für deep learning-Architekturen von entscheidender Bedeutung, da sie es dem Netzwerk ermöglicht, einen vollständigen Informationsfluss aufrechtzuerhalten, und somit genauere Aktualisierungen der Modellparameter erlaubt. YOLOv9 integriert umkehrbare Funktionen in seine Architektur, um das Risiko eines Informationsabbaus, insbesondere in tieferen Schichten, zu mindern und die Erhaltung kritischer Daten für Objekterkennungsaufgaben sicherzustellen.

Auswirkungen auf leichtgewichtige Modelle#

Die Bekämpfung von Informationsverlusten ist besonders wichtig für leichtgewichtige Modelle, die oft unterparametrisiert sind und dazu neigen, während des Feedforward-Prozesses erhebliche Informationen zu verlieren. Die Architektur von YOLOv9 stellt durch den Einsatz von PGI und umkehrbaren Funktionen sicher, dass selbst bei einem schlanken Modell die wesentlichen Informationen, die für eine genaue Objekterkennung erforderlich sind, beibehalten und effektiv genutzt werden.

Programmable Gradient Information (PGI)#

PGI ist ein neuartiges Konzept, das in YOLOv9 eingeführt wurde, um das Informationsengpassproblem zu bekämpfen und die Bewahrung wesentlicher Daten über tiefe Netzwerkschichten hinweg sicherzustellen. Dies ermöglicht die Erzeugung zuverlässiger Gradienten, was präzise Modellaktualisierungen erleichtert und die gesamte Erkennungsleistung verbessert.

Generalized Efficient Layer Aggregation Network (GELAN)#

GELAN stellt einen strategischen architektonischen Fortschritt dar, der es YOLOv9 ermöglicht, eine überlegene Parameternutzung und Recheneffizienz zu erreichen. Sein Design ermöglicht die flexible Integration verschiedener Rechenblöcke, wodurch YOLOv9 an eine Vielzahl von Anwendungen angepasst werden kann, ohne Geschwindigkeit oder Genauigkeit zu opfern.

YOLOv9 architecture comparison

YOLOv9 Benchmarks#

Das Benchmarking in YOLOv9 mit Ultralytics beinhaltet die Bewertung der Leistung deines trainierten und validierten Modells in realen Szenarien. Dieser Prozess umfasst:

  • Leistungsbewertung: Einschätzung der Geschwindigkeit und Genauigkeit des Modells.
  • Exportformate: Testen des Modells über verschiedene Exportformate, um sicherzustellen, dass es die notwendigen Standards erfüllt und in verschiedenen Umgebungen gut funktioniert.
  • Framework-Unterstützung: Bereitstellung eines umfassenden Frameworks innerhalb von Ultralytics YOLOv8, um diese Bewertungen zu erleichtern und konsistente sowie zuverlässige Ergebnisse sicherzustellen.

Durch Benchmarking kannst du sicherstellen, dass dein Modell nicht nur in kontrollierten Testumgebungen gut funktioniert, sondern auch in praktischen Anwendungen in der realen Welt eine hohe Leistung beibehält.



Watch: How to Benchmark the YOLOv9 Model Using the Ultralytics Python Package

Leistung auf dem MS COCO-Datensatz#

Die Leistung von YOLOv9 auf dem COCO dataset veranschaulicht seine bedeutenden Fortschritte bei der Echtzeit-Objekterkennung und setzt neue Maßstäbe über verschiedene Modellgrößen hinweg. Tabelle 1 bietet einen umfassenden Vergleich modernster Echtzeit-Objekterkennungen und verdeutlicht die überlegene Effizienz und accuracy von YOLOv9.

Leistung
ModellGröße
(Pixel)
mAPval
50-95
mAPval
50
Parameter
(M)
FLOPs
(B)
YOLOv9t64038.353.12.07.7
YOLOv9s64046.863.47.226.7
YOLOv9m64051.468.120.176.8
YOLOv9c64053.070.225.5102.8
YOLOv9e64055.672.858.1192.5

Die Iterationen von YOLOv9, die von der winzigen t-Variante bis zum umfangreichen e-Modell reichen, zeigen Verbesserungen nicht nur bei der Genauigkeit (mAP-Metriken), sondern auch bei der Effizienz mit einer reduzierten Anzahl von Parametern und geringerem Rechenbedarf (FLOPs). Diese Tabelle unterstreicht die Fähigkeit von YOLOv9, eine hohe precision zu liefern und gleichzeitig den Rechenaufwand im Vergleich zu früheren Versionen und Konkurrenzmodellen beizubehalten oder zu reduzieren.

Im Vergleich dazu zeigt YOLOv9 bemerkenswerte Zuwächse:

  • Leichtgewichtige Modelle: YOLOv9s übertrifft das YOLO MS-S bei der Parametereffizienz und Rechenlast und erreicht dabei eine Verbesserung von 0.4∼0.6% bei AP.
  • Mittlere bis große Modelle: YOLOv9m und YOLOv9e zeigen bemerkenswerte Fortschritte beim Ausgleich des Kompromisses zwischen Modellkomplexität und Erkennungsleistung und bieten signifikante Reduzierungen bei Parametern und Berechnungen vor dem Hintergrund verbesserter Genauigkeit.

Insbesondere das YOLOv9c-Modell verdeutlicht die Wirksamkeit der Architektur-Optimierungen. Es arbeitet mit 42% weniger Parametern und 21% weniger Rechenbedarf als YOLOv7 AF, erzielt jedoch eine vergleichbare Genauigkeit, was die signifikanten Effizienzverbesserungen von YOLOv9 demonstriert. Darüber hinaus setzt das YOLOv9e-Modell einen neuen Standard für große Modelle mit 15% weniger Parametern und 25% weniger Rechenbedarf als YOLOv8x bei einer gleichzeitigen Steigerung der AP um 1,7%.

Diese Ergebnisse zeigen die strategischen Fortschritte von YOLOv9 im Modelldesign und betonen dessen verbesserte Effizienz, ohne Kompromisse bei der für Echtzeit-Objekterkennungsaufgaben essenziellen Präzision einzugehen. Das Modell verschiebt nicht nur die Grenzen der Leistungskennzahlen, sondern betont auch die Bedeutung der Recheneffizienz, was es zu einer bahnbrechenden Entwicklung im Bereich der computer vision macht.

Fazit#

YOLOv9 wurde im Februar 2024 veröffentlicht und stellte eine wegweisende Entwicklung in der Echtzeit-Objekterkennung dar, die signifikante Verbesserungen hinsichtlich Effizienz, Genauigkeit und Anpassungsfähigkeit bot. Durch die Lösung kritischer Herausforderungen mittels innovativer Ansätze wie PGI und GELAN setzte YOLOv9 zum Zeitpunkt seiner Veröffentlichung neue Maßstäbe. Zwar wurden seither neuere Modelle wie YOLO11 und YOLO26 mit weiteren Verbesserungen veröffentlicht, doch die architektonischen Innovationen von YOLOv9 prägen den Bereich weiterhin.

Anwendungsbeispiele#

Dieses Beispiel bietet einfache YOLOv9-Trainings- und Inferenzbeispiele. Vollständige Dokumentationen zu diesen und anderen modes findest du auf den Dokumentationsseiten zu Predict, Train, Val und Export.

Beispiel

Vorrainierte PyTorch-Modelle *.pt sowie Konfigurationsdateien *.yaml können an die Klasse YOLO() übergeben werden, um eine Modellinstanz in Python zu erstellen:

from ultralytics import YOLO

# Build a YOLOv9c model from scratch
model = YOLO("yolov9c.yaml")

# Build a YOLOv9c model from pretrained weight
model = YOLO("yolov9c.pt")

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the YOLOv9c model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

Unterstützte Aufgaben und Modi#

Die YOLOv9-Serie bietet eine Reihe von Modellen, die jeweils für leistungsstarke Object Detection optimiert sind. Diese Modelle decken unterschiedliche Rechen- und Genauigkeitsanforderungen ab und sind somit vielseitig für eine Vielzahl von Anwendungen einsetzbar.

ModellDateinamenAufgabenTrainingValidationInferenceExportieren
YOLOv9yolov9t.pt yolov9s.pt yolov9m.pt yolov9c.pt yolov9e.ptObjekterkennung
YOLOv9-segyolov9c-seg.pt yolov9e-seg.ptInstanzsegmentierung

Diese Tabelle bietet eine detaillierte Übersicht über die YOLOv9-Modellvarianten und hebt deren Fähigkeiten bei Objekterkennungsaufgaben sowie deren Kompatibilität mit verschiedenen Betriebsmodi wie Inference, Validation, Training und Export hervor. Diese umfassende Unterstützung stellt sicher, dass du die Funktionen von YOLOv9-Modellen in einer breiten Palette von Objekterkennungsszenarien optimal nutzen kannst.

Hinweis

Das Training von YOLOv9-Modellen erfordert mehr Ressourcen und nimmt mehr Zeit in Anspruch als ein YOLOv8 model vergleichbarer Größe.

Zitate und Danksagungen#

Wir möchten den YOLOv9-Autoren für ihre bedeutenden Beiträge im Bereich der Echtzeit-Objekterkennung danken:

Zitat
@inproceedings{wang2024yolov9,
  title={YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information},
  author={Wang, Chien-Yao and Yeh, I-Hau and Liao, Hong-Yuan Mark},
  booktitle={Computer Vision -- ECCV 2024},
  pages={1--21},
  year={2024},
  organization={Springer Nature Switzerland}
}

Das offizielle YOLOv9-Paper wurde im Springer ECCV 2024 proceedings veröffentlicht, mit einem Preprint auf arXiv. Die Autoren haben ihre Arbeit öffentlich zugänglich gemacht, und auf die Codebasis kann auf GitHub zugegriffen werden. Wir danken ihnen für ihren Einsatz bei der Weiterentwicklung des Fachgebiets und dafür, dass sie ihre Arbeit der breiteren Community zugänglich gemacht haben.

FAQ#

  • YOLOv9 führt bahnbrechende Techniken wie Programmable Gradient Information (PGI) und das Generalized Efficient Layer Aggregation Network (GELAN) ein. Diese Innovationen lösen Probleme des Informationsverlusts in tiefen neuronalen Netzen und sorgen für hohe Effizienz, Genauigkeit und Anpassungsfähigkeit. PGI bewahrt wichtige Daten über Netzwerkschichten hinweg, während GELAN die Parameternutzung und Recheneffizienz optimiert. Erfahre mehr über YOLOv9's core innovations, die neue Maßstäbe auf dem MS COCO-Datensatz setzen.

  • YOLOv9 übertrifft modernste Echtzeit-Objekterkennungen durch höhere Genauigkeit und Effizienz. Auf dem COCO dataset zeigen YOLOv9-Modelle über verschiedene Größen hinweg überlegene mAP-Scores bei gleichbleibendem oder reduziertem Rechenaufwand. Beispielsweise erzielt YOLOv9c eine vergleichbare Genauigkeit bei 42% weniger Parametern und 21% weniger Rechenbedarf als YOLOv7 AF. Erkunde performance comparisons für detaillierte Metriken.

  • Du kannst ein YOLOv9-Modell sowohl mit Python als auch über CLI-Befehle trainieren. Instanziiere für Python ein Modell mit der Klasse YOLO und rufe die Methode train auf:

    from ultralytics import YOLO
    
    # Build a YOLOv9c model from pretrained weights and train
    model = YOLO("yolov9c.pt")
    results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

    Führe für das CLI-Training aus:

    yolo train model=yolov9c.yaml data=coco8.yaml epochs=100 imgsz=640

    Erfahre mehr über usage examples für Training und Inferenz.

  • YOLOv9 wurde entwickelt, um Informationsverluste zu mindern, was besonders für leichtgewichtige Modelle wichtig ist, die oft anfällig für signifikanten Informationsverlust sind. Durch die Integration von Programmable Gradient Information (PGI) und umkehrbaren Funktionen stellt YOLOv9 die Erhaltung wesentlicher Daten sicher und steigert so die Genauigkeit und Effizienz des Modells. Dies macht es hervorragend geeignet für Anwendungen, die kompakte Modelle mit hoher Leistung erfordern. Weitere Details findest du im Abschnitt über YOLOv9's impact on lightweight models.

  • YOLOv9 unterstützt verschiedene Aufgaben, einschließlich Objekterkennung und instance segmentation. Es ist kompatibel mit mehreren Betriebsmodi wie Inferenz, Validierung, Training und Export. Diese Vielseitigkeit macht YOLOv9 anpassungsfähig für diverse Echtzeit-Computer-Vision-Anwendungen. Weitere Informationen findest du im Abschnitt zu den supported tasks and modes.

Kommentare