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 zeigt bemerkenswerte Verbesserungen in Bezug auf Effizienz, Genauigkeit und Anpassungsf├Ąhigkeit und setzt mit dem MS COCO-Datensatz neue Ma├čst├Ąbe. Das YOLOv9-Projekt wird zwar von einem eigenen Open-Source-Team entwickelt, baut aber auf der robusten Codebasis auf, die von Ultralytics YOLOv5und zeigt den kollaborativen Geist der KI-Forschungsgemeinschaft.



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

YOLOv9 Leistungsvergleich

Einf├╝hrung in YOLOv9

Auf der Suche nach einer optimalen Objekterkennung in Echtzeit sticht YOLOv9 mit seinem innovativen Ansatz zur ├ťberwindung von Informationsverlusten hervor, die bei tiefen neuronalen Netzen auftreten. 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 stehen im Mittelpunkt des Designs und sorgen daf├╝r, dass YOLOv9 eine hohe Effizienz und Genauigkeit beibeh├Ąlt.

Prinzip des Informationsengpasses

Das Prinzip des Informationsengpasses offenbart eine grundlegende Herausforderung beim Deep Learning: Je mehr Daten die aufeinanderfolgenden Schichten eines Netzwerks durchlaufen, desto gr├Â├čer ist das Potenzial f├╝r Informationsverluste. Dieses Ph├Ąnomen l├Ąsst sich mathematisch wie folgt darstellen:

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

wo I bezeichnet die gegenseitige Information, und f und g Transformationsfunktionen mit Parametern darstellen theta und phi. YOLOv9 begegnet dieser Herausforderung, indem es programmierbare Gradienteninformationen (PGI) implementiert, die dazu beitragen, wichtige Daten ├╝ber die Tiefe des Netzes hinweg zu erhalten, was eine zuverl├Ąssigere Gradientengenerierung und folglich eine bessere Modellkonvergenz und Leistung gew├Ąhrleistet.

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, wie es durch ausgedr├╝ckt wird:

X = v_zeta(r_psi(X))

mit psi und zeta als Parameter f├╝r die reversible bzw. die inverse Funktion. Diese Eigenschaft ist f├╝r Deep-Learning-Architekturen von entscheidender Bedeutung, da sie 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 einer Informationsverschlechterung vor allem in den tieferen Schichten zu mindern und sicherzustellen, dass die f├╝r die Objekterkennung wichtigen Daten erhalten bleiben.

Auswirkungen auf Lightweight-Modelle

Die Vermeidung von Informationsverlusten ist besonders wichtig f├╝r leichtgewichtige Modelle, die oft unterparametrisiert sind und dazu neigen, w├Ąhrend des Feedforward-Prozesses wichtige Informationen zu verlieren. Die Architektur von YOLOv9 stellt durch den Einsatz von PGI und reversiblen Funktionen sicher, dass auch bei einem abgespeckten Modell die wesentlichen Informationen, die f├╝r eine genaue Objekterkennung erforderlich sind, erhalten bleiben und effektiv genutzt werden.

Programmierbare Gradienteninformation (PGI)

PGI ist ein neuartiges Konzept, das in YOLOv9 eingef├╝hrt wurde, um das Problem des Informationsengpasses zu bek├Ąmpfen und sicherzustellen, dass wichtige Daten ├╝ber tiefe Netzwerkschichten hinweg erhalten bleiben. Dies erm├Âglicht die Generierung zuverl├Ąssiger Gradienten, was genaue Modellaktualisierungen erleichtert und die Erkennungsleistung insgesamt verbessert.

Generalized Efficient Layer Aggregation Network (GELAN)

GELAN ist ein strategischer architektonischer Fortschritt, der es YOLOv9 erm├Âglicht, die Parameter besser zu nutzen und effizienter zu rechnen. Sein Design erm├Âglicht die flexible Integration verschiedener Rechenbl├Âcke, wodurch YOLOv9 an eine Vielzahl von Anwendungen angepasst werden kann, ohne an Geschwindigkeit oder Genauigkeit einzub├╝├čen.

Vergleich der YOLOv9-Architektur

Leistung im 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 der modernsten Echtzeit-Objektdetektoren und verdeutlicht die ├╝berlegene Effizienz und Genauigkeit von YOLOv9.

Tabelle 1. Vergleich von Echtzeit-Objektdetektoren auf dem neuesten Stand der Technik

Leistung

Modell Gr├Â├če
(Pixel)
mAPval
50-95
mAPval
50
params
(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
params
(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

YOLOv9s Iterationen, die von der kleinen t Variante zur umfangreichen e Modells zeigen nicht nur Verbesserungen bei der Genauigkeit (mAP-Metriken), sondern auch bei der Effizienz mit einer geringeren Anzahl von Parametern und Rechenaufwand (FLOPs). Diese Tabelle unterstreicht die F├Ąhigkeit von YOLOv9, eine hohe Genauigkeit zu liefern und gleichzeitig den Rechenaufwand im Vergleich zu fr├╝heren Versionen und konkurrierenden Modellen beizubehalten oder zu reduzieren.

Im Vergleich dazu weist YOLOv9 bemerkenswerte Gewinne auf:

  • Leichte Modelle: YOLOv9s ├╝bertrifft die YOLO MS-S in Bezug auf Parametereffizienz und Rechenlast und erreicht eine Verbesserung von 0,4Ôł╝0,6% in AP.
  • Mittlere bis gro├če Modelle: YOLOv9m und YOLOv9e zeigen bemerkenswerte Fortschritte bei der Abw├Ągung zwischen Modellkomplexit├Ąt und Erkennungsleistung und bieten eine erhebliche Reduzierung der Parameter und Berechnungen vor dem Hintergrund einer verbesserten Genauigkeit.

Vor allem das YOLOv9c-Modell zeigt, wie effektiv die Optimierungen der Architektur sind. 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 zeigt. Dar├╝ber hinaus setzt das Modell YOLOv9e einen neuen Standard f├╝r gro├če Modelle, mit 15% weniger Parametern und 25% weniger Rechenaufwand als YOLOv8xund einer zus├Ątzlichen Verbesserung der AP um 1,7 %.

Diese Ergebnisse zeigen die strategischen Fortschritte von YOLOv9 bei der Modellentwicklung und unterstreichen die verbesserte Effizienz, ohne die f├╝r die Echtzeit-Objekterkennung notwendige Pr├Ązision zu beeintr├Ąchtigen. Das Modell verschiebt nicht nur die Grenzen der Leistungskennzahlen, 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 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-Gemeinschaft weiterentwickelt, ist YOLOv9 ein Beweis f├╝r die Kraft von Zusammenarbeit und Innovation, die den technologischen Fortschritt vorantreiben.

Verwendungsbeispiele

Dieses Beispiel zeigt einfache YOLOv9-Trainings- und Inferenzbeispiele. Die vollst├Ąndige Dokumentation zu diesen und anderen Modi findest du auf den Seiten Predict, Train, Val und Export docs.

Beispiel

PyTorch vorgebildet *.pt Modelle als auch die Konfiguration *.yaml Dateien k├Ânnen an den YOLO() Klasse, 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")

CLI Befehle sind verf├╝gbar, 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 eine leistungsstarke Objekterkennung optimiert sind. Diese Modelle erf├╝llen unterschiedliche Anforderungen an die Rechenleistung und die Genauigkeit, was sie f├╝r eine Vielzahl von Anwendungen geeignet macht.

Modell Dateinamen Aufgaben Inferenz Validierung Ausbildung exportieren
YOLOv9 yolov9t yolov9s yolov9m yolov9c.pt yolov9e.pt Objekt-Erkennung Ôťů Ôťů Ôťů Ôťů
YOLOv9-seg yolov9c-seg.pt yolov9e-seg.pt Instanz-Segmentierung Ôťů Ôťů Ôťů Ôťů

Diese Tabelle gibt einen detaillierten ├ťberblick ├╝ber die YOLOv9-Modellvarianten und hebt ihre F├Ąhigkeiten bei der Objekterkennung sowie ihre Kompatibilit├Ąt mit verschiedenen Betriebsmodi wie Inferenz, Validierung, Training und Export hervor. Diese umfassende Unterst├╝tzung stellt sicher, dass die Nutzer/innen die F├Ąhigkeiten der YOLOv9-Modelle in einem breiten Spektrum von Objekterkennungsszenarien voll aussch├Âpfen k├Ânnen.

Hinweis

Die Ausbildung von YOLOv9-Modellen erfordert mehr Ressourcen und dauert l├Ąnger als die Ausbildung eines gleich gro├čen YOLOv8 Modells.

Zitate und Danksagungen

Wir m├Âchten den YOLOv9-Autoren f├╝r ihre bedeutenden Beitr├Ąge im Bereich 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}
}

Die urspr├╝ngliche YOLOv9-Ver├Âffentlichung ist auf arXiv zu finden. Die Autoren haben ihre Arbeit ├Âffentlich zug├Ąnglich gemacht, und die Codebasis kann auf GitHub eingesehen 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 die Programmable Gradient Information (PGI) und das Generalized Efficient Layer Aggregation Network (GELAN) ein. Diese Innovationen l├Âsen das Problem des Informationsverlusts in tiefen neuronalen Netzen und gew├Ąhrleisten hohe Effizienz, Genauigkeit und Anpassungsf├Ąhigkeit. PGI bewahrt wichtige Daten ├╝ber die verschiedenen Netzwerkschichten hinweg, w├Ąhrend GELAN die Nutzung der Parameter und die Effizienz der Berechnungen optimiert. Erfahre mehr ├╝ber die Kerninnovationen von YOLOv9, die mit dem MS COCO-Datensatz neue Ma├čst├Ąbe gesetzt haben.

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

YOLOv9 ├╝bertrifft die modernsten Echtzeit-Objektdetektoren, indem es eine h├Âhere Genauigkeit und Effizienz erreicht. Auf dem COCO-Datensatz zeigen die YOLOv9-Modelle ├╝ber verschiedene Gr├Â├čen hinweg ├╝berlegene mAP-Ergebnisse 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 findest du in den Leistungsvergleichen.

Wie kann ich ein YOLOv9-Modell mit Python und CLI trainieren?

Du kannst ein YOLOv9-Modell mit den beiden Befehlen Python und CLI trainieren. F├╝r Python instanziierst du ein Modell mit dem Befehl YOLO Klasse und rufen die train Methode:

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 CLI Training, ausf├╝hren:

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

Erfahre mehr ├╝ber Anwendungsbeispiele f├╝r Training und Inferenz.

Welche Vorteile hat die Verwendung von Ultralytics YOLOv9 f├╝r leichte Modelle?

YOLOv9 wurde entwickelt, um Informationsverluste zu minimieren. Das ist besonders wichtig f├╝r leichtgewichtige Modelle, die oft dazu neigen, wichtige Informationen zu verlieren. Durch die Integration von Programmable Gradient Information (PGI) und reversiblen Funktionen sorgt YOLOv9 daf├╝r, dass wichtige Daten erhalten bleiben, was die Genauigkeit und Effizienz des Modells erh├Âht. Damit eignet es sich hervorragend f├╝r Anwendungen, die kompakte Modelle mit hoher Leistung erfordern. Weitere Einzelheiten findest du im Abschnitt ├╝ber die Auswirkungen von YOLOv9 auf leichtgewichtige Modelle.

Welche Aufgaben und Modi werden von YOLOv9 unterst├╝tzt?

YOLOv9 unterst├╝tzt verschiedene Aufgaben wie die Erkennung von Objekten und die Segmentierung von Instanzen. Es ist mit verschiedenen Betriebsmodi wie Inferenz, Validierung, Training und Export kompatibel. Diese Vielseitigkeit macht YOLOv9 anpassungsf├Ąhig f├╝r verschiedene Echtzeit-Computer-Vision-Anwendungen. Weitere Informationen findest du im Abschnitt ├╝ber die unterst├╝tzten Aufgaben und Modi.



Erstellt am 26.02.2024, Aktualisiert am 04.07.2024
Autoren: glenn-jocher (9), ambitious-octopus (1), Burhan-Q (3), Laughing-q (2), RizwanMunawar (1)

Kommentare