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 weist bemerkenswerte Verbesserungen in Bezug auf Effizienz, Genauigkeit und Anpassungsfähigkeit auf und setzt neue Maßstäbe für den MS COCO . Das YOLOv9 wird zwar von einem separaten Open-Source-Team entwickelt, baut aber auf der robusten Codebasis auf, die von UltralyticsYOLOv5und zeigt den kollaborativen Geist der KI-Forschungsgemeinschaft.



Ansehen: YOLOv9 auf benutzerdefinierten Daten unter Verwendung von Ultralytics | Datensatz für Industriepakete

YOLOv9 Leistungsvergleich

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.

Die wichtigsten Innovationen von YOLOv9

Die Fortschritte von YOLOv9 sind tief verwurzelt in der Bewältigung der Herausforderungen, die der Informationsverlust in tiefen neuronalen Netzen mit sich bringt. Das Prinzip des Informationsengpasses und die innovative Verwendung von umkehrbaren Funktionen sind von zentraler Bedeutung für das Design von YOLOv9 , um eine hohe Effizienz und Genauigkeit zu gewährleisten.

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 umkehrbaren Funktionen ist ein weiterer Eckpfeiler des Designs von YOLOv9. Eine Funktion gilt als umkehrbar, wenn sie ohne Informationsverlust invertiert werden kann, wie durch 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 das Netz einen vollständigen Informationsfluss beibehalten kann, wodurch genauere Aktualisierungen der Modellparameter möglich sind. YOLOv9 enthält reversible Funktionen in seiner Architektur, um das Risiko einer Informationsverschlechterung, insbesondere in tieferen Schichten, zu verringern und die Erhaltung kritischer Daten für Aufgaben der Objekterkennung sicherzustellen.

Auswirkungen auf Lightweight-Modelle

Die Vermeidung von Informationsverlusten ist besonders wichtig für leichtgewichtige Modelle, die oft zu wenig parametrisiert sind und dazu neigen, während des Feedforward-Prozesses wichtige Informationen zu verlieren. Die Architektur von YOLOv9 stellt durch die Verwendung von PGI und reversiblen Funktionen sicher, dass selbst bei einem schlanken Modell die wesentlichen Informationen, die für eine genaue Objekterkennung erforderlich sind, erhalten bleiben und effektiv genutzt werden.

Programmable Gradient Information (PGI)

PGI ist ein neuartiges Konzept, das in YOLOv9 eingeführt wurde, um das Problem des Informationsengpasses zu bekämpfen und die Erhaltung wesentlicher Daten über tiefe Netzwerkschichten hinweg sicherzustellen. Dies ermöglicht die Generierung zuverlässiger Gradienten, was genaue Modellaktualisierungen erleichtert und die Erkennungsleistung insgesamt verbessert.

Generalized Efficient Layer Aggregation Network (GELAN)

GELAN stellt einen strategischen architektonischen Fortschritt dar, der es YOLOv9 ermöglicht, eine überragende Parameternutzung und Berechnungseffizienz zu erreichen. Sein Design ermöglicht die flexible Integration verschiedener Berechnungsblöcke, wodurch YOLOv9 an ein breites Spektrum von Anwendungen angepasst werden kann, ohne an Geschwindigkeit oder Genauigkeit einzubüßen.

Vergleich der YOLOv9

YOLOv9 Benchmarks

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

  • 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: Benchmarking des YOLOv9 mit dem Ultralytics Python

Leistung beim MS COCO

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

Performance

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
ModellGröße
(Pixel)
mAPKasten
50-95
mAPMaske
50-95
Parameter
(M)
FLOPs
(B)
YOLOv9c-seg64052.442.227.9159.4
YOLOv9e-seg64055.144.360.5248.4

Die Versionen von YOLOv9, die vom winzigen t Variante bis zum umfangreichen e Modells, zeigen Verbesserungen nicht nur in der GenauigkeitmAP ), sondern auch in der Effizienz mit einer reduzierten Anzahl von Parametern und Rechenanforderungen (FLOPs). Diese Tabelle unterstreicht die Fähigkeit von YOLOv9, eine hohe Präzision und gleichzeitig den Rechenaufwand im Vergleich zu früheren Versionen und Konkurrenzmodellen beizubehalten oder zu reduzieren.

Im Vergleich dazu weist YOLOv9 einen bemerkenswerten Zuwachs auf:

  • Leichte Modelle: YOLOv9s übertrifft YOLO MS-S in Bezug auf Parametereffizienz und Rechenlast und erreicht 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 verdeutlicht die Wirksamkeit der Optimierungen der Architektur. Es arbeitet mit 42 % weniger Parametern und 21 % weniger Rechenaufwand als YOLOv7 AF und erreicht dennoch eine vergleichbare Genauigkeit, was die erheblichen Effizienzsteigerungen von YOLOv9 belegt. Darüber hinaus setzt das Modell YOLOv9e einen neuen Standard für große Modelle, mit 15% weniger Parametern und 25% weniger Rechenaufwand als YOLOv8xbei einer zusätzlichen Verbesserung der AP um 1,7 %.

Diese Ergebnisse zeigen die strategischen Fortschritte von YOLOv9 im Modelldesign und betonen die verbesserte Effizienz, ohne die für die Echtzeit-Objekterkennung erforderliche 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 auf dem Gebiet der Computer Vision macht.

Fazit

YOLOv9 stellt eine entscheidende Entwicklung in der Echtzeit-Objekterkennung dar und bietet erhebliche Verbesserungen in Bezug auf Effizienz, Genauigkeit und Anpassungsfähigkeit. Durch die Bewältigung kritischer Herausforderungen durch innovative Lösungen wie PGI und GELAN setzt YOLOv9 einen neuen Präzedenzfall für künftige Forschung und Anwendung in diesem Bereich. Während sich die KI-Gemeinschaft weiter entwickelt, ist YOLOv9 ein Beweis für die Kraft von Zusammenarbeit und Innovation, die den technologischen Fortschritt vorantreiben.

Anwendungsbeispiele

Dieses Beispiel zeigt einfache YOLOv9 und Inferenzbeispiele. Eine vollständige Dokumentation zu diesen und anderen Modi finden Sie auf den Seiten Predict, Train, Val und Export docs.

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 bietet eine Reihe von Modellen, die jeweils für eine leistungsstarke Objekterkennung optimiert sind. Diese Modelle erfüllen unterschiedliche Anforderungen an die Rechenleistung und die Genauigkeit und sind somit vielseitig für eine Vielzahl von Anwendungen einsetzbar.

ModellDateinamenAufgabenInferenzValidierungTrainingExport
YOLOv9yolov9t.pt yolov9s.pt yolov9m.pt yolov9c.pt yolov9e.ptObjekterkennung
YOLOv9yolov9c-seg.pt yolov9e-seg.ptInstanzsegmentierung

Diese Tabelle gibt einen detaillierten Überblick über die YOLOv9 und hebt ihre Fähigkeiten bei Objekterkennungsaufgaben sowie ihre Kompatibilität mit verschiedenen Betriebsmodi wie Inferenz, Validierung, Training und Export hervor. Diese umfassende Unterstützung stellt sicher, dass die Benutzer die Fähigkeiten der YOLOv9 in einem breiten Spektrum von Objekterkennungsszenarien voll ausschöpfen können.

Hinweis

Die Ausbildung von YOLOv9 erfordert mehr Ressourcen und dauert länger als die Ausbildung eines YOLOv8 gleicher Größe.

Zitate und Danksagungen

Wir möchten den YOLOv9 für ihre bedeutenden Beiträge auf dem Gebiet der Echtzeit-Objekterkennung danken:

@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 ursprüngliche YOLOv9 kann auf arXiv gefunden werden. Die Autoren haben ihre Arbeit öffentlich zugänglich gemacht, und die Codebasis kann auf GitHub abgerufen werden. Wir schätzen ihre Bemühungen, das Feld voranzubringen und ihre Arbeit einer breiteren Gemeinschaft zugänglich zu machen.

FAQ

Welche Neuerungen bringt YOLOv9 für die Objekterkennung in Echtzeit?

YOLOv9 führt bahnbrechende Techniken wie Programmable Gradient Information (PGI) und das Generalized Efficient Layer Aggregation Network (GELAN) ein. Diese Innovationen gehen die Herausforderungen des Informationsverlusts in tiefen neuronalen Netzen an 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 vonYOLOv9, die mit dem MS COCO neue Maßstäbe gesetzt haben.

Wie schneidet YOLOv9 beim MS COCO im Vergleich zu anderen Modellen ab?

YOLOv9 übertrifft die modernsten Echtzeit-Objektdetektoren durch höhere Genauigkeit und Effizienz. Auf dem COCO zeigen die YOLOv9 über verschiedene Größen hinweg überlegene mAP bei gleichbleibendem oder reduziertem Rechenaufwand. So erreicht YOLOv9c beispielsweise eine vergleichbare Genauigkeit mit 42 % weniger Parametern und 21 % weniger Rechenaufwand als YOLOv7 AF. Detaillierte Metriken finden Sie in den Leistungsvergleichen.

Wie kann ich ein YOLOv9 mit Python und CLI trainieren?

Sie können ein YOLOv9 sowohl mit Python als auch mit CLI trainieren. In Python instanziieren Sie ein Modell mit dem Befehl 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.

Was sind die Vorteile der Verwendung von Ultralytics YOLOv9 für leichtgewichtige Modelle?

YOLOv9 wurde entwickelt, um Informationsverluste zu minimieren, was besonders wichtig für leichtgewichtige Modelle ist, die oft dazu neigen, wichtige Informationen zu verlieren. Durch die Integration von Programmable Gradient Information (PGI) und reversiblen Funktionen stellt YOLOv9 sicher, dass wichtige Daten erhalten bleiben, was die Genauigkeit und Effizienz des Modells erhöht. Dadurch eignet es sich hervorragend für Anwendungen, die kompakte Modelle mit hoher Leistung erfordern. Weitere Einzelheiten finden Sie im Abschnitt über die Auswirkungen vonYOLOv9 auf leichtgewichtige Modelle.

Welche Aufgaben und Modi werden von YOLOv9 unterstützt?

YOLOv9 unterstützt verschiedene Aufgaben wie Objekterkennung und Instanzsegmentierung. Es ist mit mehreren Betriebsmodi wie Inferenz, Validierung, Training und Export kompatibel. Diese Vielseitigkeit macht YOLOv9 anpassungsfähig für verschiedene Echtzeit-Computer-Vision-Anwendungen. Weitere Informationen finden Sie im Abschnitt über die unterstützten Aufgaben und Modi.



📅 Erstellt vor 1 Jahr ✏️ Aktualisiert vor 1 Monat
glenn-jocherRizwanMunawarBurhan-QY-T-Gambitious-octopusLaughing-qMatthewNoyceUltralyticsAssistant

Kommentare