Zum Inhalt springen

YOLOv9: Ein Sprung nach vorn in der Objekterkennungstechnologie

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 demonstriert bemerkenswerte Verbesserungen in Bezug auf Effizienz, Genauigkeit und Anpassungsfähigkeit und setzt neue Maßstäbe auf dem MS COCO-Datensatz. Das YOLOv9-Projekt, das von einem separaten Open-Source-Team entwickelt wurde, baut auf der robusten Codebasis von Ultralytics YOLOv5 auf und demonstriert den kollaborativen Geist der KI-Forschungsgemeinschaft.



Ansehen: YOLOv9 Training auf benutzerdefinierten Daten mit Ultralytics | Industrial Package Dataset

YOLOv9 Performance-Vergleich

Einführung in YOLOv9

Auf der Suche nach optimaler Echtzeit-Objekterkennung zeichnet sich YOLOv9 durch seinen innovativen Ansatz zur Überwindung von Informationsverlusten aus, die tiefen neuronalen Netzen 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 wichtige 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 basieren im Wesentlichen auf der Bewältigung der Herausforderungen, die durch Informationsverluste in tiefen neuronalen Netzen entstehen. Das Information Bottleneck Principle und der innovative Einsatz von Reversible Functions sind von zentraler Bedeutung für das 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. 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, wodurch eine zuverlässigere Gradientenerzeugung und folglich eine bessere Modellkonvergenz und -leistung gewährleistet werden.

Reversible Funktionen

Das Konzept der Reversible Functions ist ein weiterer Eckpfeiler des Designs von YOLOv9. Eine Funktion gilt als reversibel, wenn sie ohne Informationsverlust invertiert werden kann, wie folgt ausgedrückt:

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 sie es dem Netzwerk ermöglicht, einen vollständigen Informationsfluss beizubehalten, wodurch genauere Aktualisierungen der Modellparameter ermöglicht werden. YOLOv9 integriert reversible Funktionen in seine Architektur, um das Risiko einer Informationsverschlechterung zu mindern, insbesondere in tieferen Schichten, und stellt so die Erhaltung kritischer Daten für Objekterkennungsaufgaben sicher.

Auswirkungen auf Lightweight-Modelle

Die Bekämpfung von Informationsverlusten ist besonders wichtig für Lightweight-Modelle, die oft unterparametrisiert sind und dazu neigen, während des Feedforward-Prozesses signifikante Informationen zu verlieren. 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 Objekterkennung erforderlichen wesentlichen Informationen erhalten und effektiv genutzt werden.

Programmable Gradient Information (PGI)

PGI ist ein neuartiges Konzept, das in YOLOv9 eingeführt wurde, um das Problem des Information Bottleneck zu bekämpfen und die Erhaltung wesentlicher Daten über tiefe Netzwerkschichten hinweg zu gewährleisten. Dies ermöglicht die Generierung zuverlässiger Gradienten, was genaue Modellaktualisierungen ermöglicht und die Gesamtleistung der Erkennung 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 erzielen. 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 Architekturvergleich

YOLOv9 Benchmarks

Das 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 führen Sie ein Benchmarking des YOLOv9-Modells mit dem Ultralytics Python-Paket durch

Performance auf dem MS COCO-Datensatz

Die Leistung von YOLOv9 auf dem COCO-Datensatz verdeutlicht seine bedeutenden Fortschritte bei der Echtzeit-Objekterkennung und setzt neue Maßstäbe für verschiedene Modellgrößen. Tabelle 1 zeigt einen umfassenden Vergleich von hochmodernen Echtzeit-Objektdetektoren, der die überlegene Effizienz und Genauigkeit von YOLOv9 veranschaulicht.

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 der winzigen t Variante bis zum umfangreichen e Modell reichen, demonstrieren Verbesserungen nicht nur in der Genauigkeit (mAP-Metriken), sondern auch in der Effizienz mit einer reduzierten 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.

Vergleichsweise zeigt YOLOv9 bemerkenswerte Vorteile:

  • Leichte Modelle: YOLOv9s übertrifft YOLO MS-S in Bezug auf Parametereffizienz und Rechenlast und erzielt gleichzeitig eine Verbesserung von 0,4∼0,6 % in AP.
  • 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 Optimierungen der Architektur. Es arbeitet mit 42 % weniger Parametern und 21 % weniger Rechenaufwand als YOLOv7 AF, erzielt aber dennoch eine vergleichbare Genauigkeit, was die deutlichen Effizienzverbesserungen von YOLOv9 demonstriert. Darüber hinaus setzt das YOLOv9e-Modell einen neuen Standard für große Modelle: Es benötigt 15 % weniger Parameter und 25 % weniger Rechenleistung als YOLOv8x und erzielt gleichzeitig eine inkrementelle Verbesserung von 1,7 % in AP.

Diese Ergebnisse zeigen die strategischen Fortschritte von YOLOv9 im Modelldesign und betonen die 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 betont auch die Bedeutung der Recheneffizienz, was es zu einer zentralen Entwicklung im Bereich Computer Vision macht.

Fazit

YOLOv9 stellt eine entscheidende Entwicklung in der Echtzeit-Objekterkennung dar und bietet signifikante Verbesserungen in Bezug auf Effizienz, Genauigkeit und Anpassungsfähigkeit. Durch die Bewältigung kritischer Herausforderungen mit innovativen Lösungen wie PGI und GELAN setzt YOLOv9 einen neuen Präzedenzfall für zukünftige Forschung und Anwendung in diesem Bereich. Während sich die KI-Community ständig weiterentwickelt, ist YOLOv9 ein 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. Die 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-Serie bietet eine Reihe von Modellen, die jeweils für hochleistungsfähige Objekterkennung optimiert sind. Diese Modelle erfüllen unterschiedliche Rechenanforderungen und Genauigkeitsanforderungen und sind somit vielseitig für eine Vielzahl von Anwendungen einsetzbar.

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 und hebt ihre Fähigkeiten bei Objekterkennungsaufgaben sowie ihre Kompatibilität mit verschiedenen Betriebsmodi wie Inference, Validierung, Training und Export hervor. Diese umfassende Unterstützung stellt sicher, dass Benutzer die Fähigkeiten von YOLOv9-Modellen in einem breiten Spektrum von Objekterkennungsszenarien voll ausschöpfen können.

Hinweis

Das Training von YOLOv9-Modellen erfordert mehr Ressourcen und dauert länger als bei einem gleich großen YOLOv8-Modell.

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}
}

Das Original-Paper zu YOLOv9 finden Sie auf arXiv. Die Autoren haben ihre Arbeit öffentlich zugänglich gemacht, und der Code ist auf GitHub verfügbar. Wir schätzen ihre Bemühungen, das Gebiet voranzubringen und ihre Arbeit der breiteren Community 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 den Herausforderungen des Informationsverlusts in tiefen neuronalen Netzen und gewährleisten hohe Effizienz, Genauigkeit und Anpassungsfähigkeit. PGI bewahrt wichtige Daten über Netzwerkschichten hinweg, während GELAN die Parameternutzung und die Recheneffizienz optimiert. Erfahren Sie mehr über die Kerninnovationen von YOLOv9, die neue Maßstäbe auf dem MS COCO-Datensatz setzen.

Wie schneidet YOLOv9 auf dem MS COCO-Datensatz im Vergleich zu anderen Modellen ab?

YOLOv9 übertrifft die modernsten Echtzeit-Objektdetektoren durch höhere Genauigkeit und Effizienz. Auf dem COCO-Datensatz weisen die YOLOv9-Modelle überlegene mAP-Werte über verschiedene Größen hinweg auf, während sie den Rechenaufwand beibehalten oder reduzieren. Zum Beispiel erreicht YOLOv9c eine vergleichbare Genauigkeit mit 42 % weniger Parametern und 21 % weniger Rechenaufwand als YOLOv7 AF. Entdecken Sie 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 Lightweight-Modelle?

YOLOv9 wurde entwickelt, um Informationsverluste zu minimieren, was besonders wichtig für schlanke Modelle ist, die oft dazu neigen, signifikante Informationen zu verlieren. Durch die Integration von Programmable Gradient Information (PGI) und reversiblen Funktionen stellt YOLOv9 die Aufbewahrung wesentlicher Daten sicher, was die Genauigkeit und Effizienz des Modells verbessert. Dies macht es sehr geeignet für Anwendungen, die kompakte Modelle mit hoher Leistung erfordern. Weitere Informationen finden Sie im Abschnitt über die Auswirkungen von YOLOv9 auf schlanke Modelle.

Welche Aufgaben und Modi unterstützt YOLOv9?

YOLOv9 unterstützt verschiedene Aufgaben, einschließlich Objekterkennung und Instanzsegmentierung. Es ist kompatibel mit verschiedenen Betriebsmodi wie Inferenz, Validierung, Training und Export. Diese Vielseitigkeit macht YOLOv9 anpassungsfähig an verschiedene Echtzeit-Computer-Vision-Anwendungen. Weitere Informationen finden Sie im Abschnitt Unterstützte Aufgaben und Modi.



📅 Vor 1 Jahr erstellt ✏️ Vor 5 Monaten aktualisiert

Kommentare