YOLOv9: Ein Technologiesprung in der Objekterkennung
YOLOv9 stellt einen bedeutenden Fortschritt in der Echtzeit-Objekterkennung dar und führt bahnbrechende Techniken wie Programmable Gradient Information (PGI) und das Generalized Efficient Layer Aggregation Network (GELAN) ein. Dieses Modell zeigt bemerkenswerte Verbesserungen in Effizienz, Genauigkeit und Anpassungsfähigkeit und setzt neue Maßstäbe auf dem MS COCO dataset. Das YOLOv9-Projekt, obwohl von einem separaten Open-Source-Team entwickelt, baut auf der robusten Codebasis von UltralyticsYOLOv5 auf und demonstriert den kollaborativen Geist der KI-Forschungsgemeinschaft.
Ansehen: YOLOv9 Training auf benutzerdefinierten Daten mit Ultralytics | Industrielles Paket-Datensatz

Einführung in YOLOv9
Auf der Suche nach einer optimalen Objekterkennung in Echtzeit zeichnet sich YOLOv9 durch seinen innovativen Ansatz zur Überwindung des Informationsverlusts aus, der bei tiefen neuronalen Netzen auftritt. Durch die Integration von PGI und der vielseitigen GELAN-Architektur verbessert YOLOv9 nicht nur die Lernfähigkeit des Modells, sondern sorgt auch dafür, dass wichtige Informationen während des gesamten Erkennungsprozesses erhalten bleiben, wodurch eine außergewöhnliche Genauigkeit und Leistung erreicht wird.
Kerninnovationen von YOLOv9
Die Fortschritte von YOLOv9 sind tief in der Bewältigung der Herausforderungen verwurzelt, die durch Informationsverlust in tiefen neuronalen Netzen entstehen. Das Information Bottleneck Principle und der innovative Einsatz reversibler Funktionen sind zentral für sein Design und stellen sicher, dass YOLOv9 eine hohe Effizienz und Genauigkeit beibehält.
Information Bottleneck Principle
Das Information Bottleneck Principle offenbart eine grundlegende Herausforderung beim Deep Learning: Wenn Daten aufeinanderfolgende Schichten eines Netzwerks durchlaufen, steigt das Potenzial für Informationsverluste. Dieses Phänomen wird mathematisch wie folgt dargestellt:
I(X, X) >= I(X, f_theta(X)) >= I(X, g_phi(f_theta(X)))
wobei I die gegenseitige Information bezeichnet, und f und g Transformationsfunktionen mit Parametern darstellen theta und phi bzw. YOLOv9 begegnet dieser Herausforderung durch die Implementierung von Programmable Gradient Information (PGI), die dazu beiträgt, wesentliche Daten über die Tiefe des Netzwerks hinweg zu erhalten, was eine zuverlässigere Gradientenerzeugung und folglich eine bessere Modellkonvergenz und -leistung gewährleistet.
Reversible Funktionen
Das Konzept der reversiblen Funktionen ist ein weiterer Eckpfeiler des Designs von YOLOv9. Eine Funktion gilt als reversibel, wenn sie ohne Informationsverlust invertiert werden kann, wie ausgedrückt durch:
X = v_zeta(r_psi(X))
mit psi und zeta als Parameter für die reversible Funktion und ihre inverse Funktion. Diese Eigenschaft ist entscheidend für Deep-Learning- Architekturen, da es dem Netzwerk ermöglicht, einen vollständigen Informationsfluss aufrechtzuerhalten und dadurch genauere Aktualisierungen der Modellparameter zu ermöglichen. YOLOv9 integriert reversible Funktionen in seine Architektur, um das Risiko der Informationsdegradation, insbesondere in tieferen Schichten, zu mindern und so die Erhaltung kritischer Daten für Objekterkennungsaufgaben sicherzustellen.
Auswirkungen auf Lightweight-Modelle
Die Behebung von Informationsverlusten ist besonders wichtig für leichte Modelle, die oft unterparametrisiert sind und während des Feedforward-Prozesses anfällig für erheblichen Informationsverlust sind. Die Architektur von YOLOv9 stellt durch die Verwendung von PGI und reversiblen Funktionen sicher, dass selbst bei einem optimierten Modell die für eine genaue Objektdetektion erforderlichen wesentlichen Informationen erhalten bleiben 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 Erhaltung wesentlicher Daten über tiefe Netzwerkschichten hinweg zu gewährleisten. Dies ermöglicht die Generierung zuverlässiger Gradienten, was präzise Modellaktualisierungen erleichtert und die gesamte detect-Leistung verbessert.
Generalized Efficient Layer Aggregation Network (GELAN)
GELAN stellt einen strategischen architektonischen Fortschritt dar, der YOLOv9 eine überlegene Parameternutzung und Recheneffizienz ermöglicht. Sein Design erlaubt die flexible Integration verschiedener Rechenblöcke, wodurch YOLOv9 an eine Vielzahl von Anwendungen anpassbar ist, ohne dabei Geschwindigkeit oder Genauigkeit einzubüßen.

YOLOv9 Benchmarks
Benchmarking in YOLOv9 mit Ultralytics umfasst die Bewertung der Leistung Ihres trainierten und validierten Modells in realen Szenarien. Dieser Prozess beinhaltet:
- Leistungsbewertung: Bewertung der Geschwindigkeit und Genauigkeit des Modells.
- Exportformate: Testen des Modells in verschiedenen Exportformaten, um sicherzustellen, dass es die erforderlichen 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 und zuverlässige Ergebnisse sicherzustellen.
Durch Benchmarking können Sie sicherstellen, dass Ihr Modell nicht nur in kontrollierten Testumgebungen gut funktioniert, sondern auch in praktischen realen Anwendungen eine hohe Leistung erbringt.
Ansehen: So benchmarken Sie das YOLOv9-Modell mit dem Ultralytics python-Paket
Leistung auf dem MS COCO-Datensatz
Die Leistung von YOLOv9 auf dem COCO-Datensatz veranschaulicht seine signifikanten Fortschritte in der Echtzeit-Objekterkennung und setzt neue Benchmarks über verschiedene Modellgrößen hinweg. Tabelle 1 präsentiert einen umfassenden Vergleich modernster Echtzeit-Objektdetektoren, der die überlegene Effizienz und Genauigkeit von YOLOv9 verdeutlicht.
Performance
| Modell | Größe (Pixel) | mAPval 50-95 | mAPval 50 | Parameter (M) | FLOPs (B) |
|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | 53.1 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | 63.4 | 7.2 | 26.7 |
| YOLOv9m | 640 | 51.4 | 68.1 | 20.1 | 76.8 |
| YOLOv9c | 640 | 53.0 | 70.2 | 25.5 | 102.8 |
| YOLOv9e | 640 | 55.6 | 72.8 | 58.1 | 192.5 |
| Modell | Größe (Pixel) | mAPbox 50-95 | mAPmask 50-95 | Parameter (M) | FLOPs (B) |
|---|---|---|---|---|---|
| YOLOv9c-seg | 640 | 52.4 | 42.2 | 27.9 | 159.4 |
| YOLOv9e-seg | 640 | 55.1 | 44.3 | 60.5 | 248.4 |
Die Iterationen von YOLOv9, die von den kleinsten t Variante bis zum umfangreichen e Modell, zeigen Verbesserungen nicht nur bei der Genauigkeit (mAP-Metriken), sondern auch bei der Effizienz durch eine reduzierte Anzahl von Parametern und Rechenanforderungen (FLOPs). Diese Tabelle unterstreicht die Fähigkeit von YOLOv9, hohe Leistungen zu erbringen Präzision und gleichzeitig den Rechenaufwand im Vergleich zu früheren Versionen und Konkurrenzmodellen beizubehalten oder zu reduzieren.
Im Vergleich dazu zeigt YOLOv9 bemerkenswerte Fortschritte:
- Leichtgewichtige Modelle: YOLOv9s übertrifft das YOLO MS-S hinsichtlich Parametereffizienz und Rechenlast, wobei eine Verbesserung von 0,4∼0,6 % beim AP erzielt wird.
- Mittelgroße bis große Modelle: YOLOv9m und YOLOv9e zeigen bemerkenswerte Fortschritte beim Ausgleich zwischen Modellkomplexität und Erkennungsleistung und bieten signifikante Reduzierungen bei Parametern und Berechnungen vor dem Hintergrund verbesserter Genauigkeit.
Insbesondere das YOLOv9c-Modell unterstreicht die Effektivität der Architektur-Optimierungen. Es arbeitet mit 42 % weniger Parametern und 21 % geringerem Rechenaufwand als YOLOv7 AF, erreicht aber 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 % geringerem Rechenbedarf als YOLOv8x, zusammen mit einer inkrementellen Verbesserung von 1,7 % bei der AP.
Diese Ergebnisse zeigen die strategischen Fortschritte von YOLOv9 im Modell-Design und betonen dessen verbesserte Effizienz, ohne die für Echtzeit-Objekterkennungsaufgaben unerlässliche Präzision zu beeinträchtigen. Das Modell verschiebt nicht nur die Grenzen der Leistungsmetriken, sondern unterstreicht auch die Bedeutung der Recheneffizienz, was es zu einer entscheidenden Entwicklung im Bereich der Computer Vision macht.
Fazit
YOLOv9 stellt eine entscheidende Entwicklung in der Echtzeit-Objektdetektion dar, die erhebliche Verbesserungen in Bezug auf Effizienz, Genauigkeit und Anpassungsfähigkeit bietet. Durch die Bewältigung kritischer Herausforderungen mittels innovativer Lösungen wie PGI und GELAN setzt YOLOv9 einen neuen Maßstab für zukünftige Forschung und Anwendung in diesem Bereich. Während sich die KI-Gemeinschaft weiterentwickelt, steht YOLOv9 als Beweis für die Kraft der Zusammenarbeit und Innovation bei der Förderung des technologischen Fortschritts.
Anwendungsbeispiele
Dieses Beispiel bietet einfache YOLOv9-Trainings- und Inferenzbeispiele. Eine vollständige Dokumentation zu diesen und anderen Modi finden Sie auf den Dokumentationsseiten Predict, Train, Val und Export.
Beispiel
PyTorch vorab trainierte *.pt Modelle sowie Konfigurations- *.yaml Dateien können an die YOLO() Klasse ü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")
Es stehen CLI-Befehle zur Verfügung, um die Modelle direkt auszuführen:
# Build a YOLOv9c model from scratch and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov9c.yaml data=coco8.yaml epochs=100 imgsz=640
# Build a YOLOv9c model from scratch and run inference on the 'bus.jpg' image
yolo predict model=yolov9c.yaml source=path/to/bus.jpg
Unterstützte Aufgaben und Modi
Die YOLOv9-Reihe bietet eine Reihe von Modellen, die jeweils für hochleistungsfähige Objekterkennung optimiert sind. Diese Modelle decken unterschiedliche Rechenanforderungen und Genauigkeitsbedürfnisse ab, was sie vielseitig für eine Vielzahl von Anwendungen macht.
| Modell | Dateinamen | Aufgaben | Inferenz | Validierung | Training | Export |
|---|---|---|---|---|---|---|
| YOLOv9 | yolov9t.pt yolov9s.pt yolov9m.pt yolov9c.pt yolov9e.pt | Objekterkennung | ✅ | ✅ | ✅ | ✅ |
| YOLOv9-seg | yolov9c-seg.pt yolov9e-seg.pt | Instanzsegmentierung | ✅ | ✅ | ✅ | ✅ |
Diese Tabelle bietet einen detaillierten Überblick über die YOLOv9-Modellvarianten, hebt deren Fähigkeiten bei Objekterkennungsaufgaben hervor und zeigt ihre Kompatibilität mit verschiedenen Betriebsmodi wie Inferenz, Validierung, Training und Export. Diese umfassende Unterstützung stellt sicher, dass Benutzer die Fähigkeiten der YOLOv9-Modelle in einer Vielzahl von Objekterkennungsszenarien voll ausschöpfen können.
Hinweis
Das Training von YOLOv9-Modellen erfordert mehr Ressourcen und dauert länger als das Training eines YOLOv8-Modells gleicher Größe.
Zitate und Danksagungen
Wir möchten die YOLOv9-Autoren für ihre bedeutenden Beiträge im Bereich der Echtzeit-Objekterkennung würdigen:
@article{wang2024yolov9,
title={YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information},
author={Wang, Chien-Yao and Liao, Hong-Yuan Mark},
booktitle={arXiv preprint arXiv:2402.13616},
year={2024}
}
Die Originalarbeit zu YOLOv9 ist auf arXiv verfügbar. Die Autoren haben ihre Arbeit öffentlich zugänglich gemacht, und der Quellcode kann auf GitHub abgerufen werden. Wir schätzen ihre Bemühungen, das Fachgebiet voranzutreiben und ihre Arbeit einer breiteren Gemeinschaft zugänglich zu machen.
FAQ
Welche Innovationen führt YOLOv9 für die Echtzeit-Objekterkennung ein?
YOLOv9 führt bahnbrechende Techniken wie Programmable Gradient Information (PGI) und das Generalized Efficient Layer Aggregation Network (GELAN) ein. Diese Innovationen begegnen Herausforderungen des Informationsverlusts in tiefen neuronalen Netzen und gewährleisten hohe Effizienz, Genauigkeit und Anpassungsfähigkeit. PGI bewahrt wesentliche Daten über Netzwerkschichten hinweg, während GELAN die Parameternutzung und die Recheneffizienz optimiert. Erfahren Sie mehr über die Kerninnovationen von YOLOv9, die neue Benchmarks auf dem MS COCO-Datensatz setzen.
Wie schneidet YOLOv9 auf dem MS COCO-Datensatz im Vergleich zu anderen Modellen ab?
YOLOv9 übertrifft modernste Echtzeit-Objektdetektoren durch höhere Genauigkeit und Effizienz. Auf dem COCO-Datensatz zeigen YOLOv9-Modelle überlegene mAP-Werte über verschiedene Größen hinweg, während der Rechenaufwand beibehalten oder reduziert wird. Zum Beispiel erreicht YOLOv9c eine vergleichbare Genauigkeit mit 42 % weniger Parametern und 21 % geringerem Rechenaufwand als YOLOv7 AF. Erfahren Sie mehr über Leistungsvergleiche für detaillierte Metriken.
Wie kann ich ein YOLOv9-Modell mit Python und CLI trainieren?
Sie können ein YOLOv9-Modell sowohl mit Python- als auch mit CLI-Befehlen trainieren. Für Python instanziieren Sie ein Modell mit der YOLO Klasse und rufen Sie die train Methode 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ür das CLI-Training führen Sie Folgendes aus:
yolo train model=yolov9c.yaml data=coco8.yaml epochs=100 imgsz=640
Erfahren Sie mehr über Anwendungsbeispiele für Training und Inferenz.
Welche Vorteile bietet die Verwendung von Ultralytics YOLOv9 für leichtgewichtige Modelle?
YOLOv9 wurde entwickelt, um Informationsverlust zu mindern, was besonders wichtig für leichtgewichtige Modelle ist, die oft dazu neigen, erhebliche Informationen zu verlieren. Durch die Integration von Programmable Gradient Information (PGI) und reversiblen Funktionen gewährleistet YOLOv9 eine wesentliche Datenretention, wodurch die Genauigkeit und Effizienz des Modells verbessert werden. Dies macht es sehr geeignet für Anwendungen, die kompakte Modelle mit hoher Leistung erfordern. Weitere Details finden Sie im Abschnitt über die Auswirkungen von YOLOv9 auf leichtgewichtige Modelle.
Welche Aufgaben und Modi unterstützt YOLOv9?
YOLOv9 unterstützt verschiedene Aufgaben, darunter Objektdetektion und Instanzsegmentierung. Es ist mit mehreren Betriebsmodi wie Inferenz, Validierung, Training und Export kompatibel. Diese Vielseitigkeit macht YOLOv9 anpassungsfähig für diverse Echtzeit-Computer-Vision-Anwendungen. Weitere Informationen finden Sie im Abschnitt unterstützte Aufgaben und Modi.