Zum Inhalt springen

YOLOv4: Hochgeschwindigkeits- und prÀzise Objekterkennung

Willkommen auf der Dokumentationsseite Ultralytics fĂŒr YOLOv4, einen hochmodernen Echtzeit-Objektdetektor, der 2020 von Alexey Bochkovskiy unter https://github.com/AlexeyAB/darknet vorgestellt wird . YOLOv4 wurde entwickelt, um ein optimales Gleichgewicht zwischen Geschwindigkeit und Genauigkeit zu bieten, was ihn zu einer hervorragenden Wahl fĂŒr viele Anwendungen macht.

YOLOv4 Architektur Diagramm YOLOv4 Architektur Diagramm. Er zeigt das komplexe Netzwerkdesign von YOLOv4, einschließlich der Backbone-, Neck- und Head-Komponenten und ihrer miteinander verbundenen Schichten fĂŒr eine optimale Objekterkennung in Echtzeit.

EinfĂŒhrung

YOLOv4 steht fĂŒr You Only Look Once Version 4. Es ist ein Echtzeit-Objekterkennungsmodell, das entwickelt wurde, um die EinschrĂ€nkungen frĂŒherer YOLO Versionen wie YOLOv3 und anderer Objekterkennungsmodelle zu beseitigen. Im Gegensatz zu anderen CNN-basierten Objekterkennungsmodellen (Convolutional Neural Network) ist YOLOv4 nicht nur fĂŒr Empfehlungssysteme geeignet, sondern auch fĂŒr das eigenstĂ€ndige Prozessmanagement und die Reduzierung menschlicher Eingaben. Sein Betrieb auf konventionellen Grafikprozessoren (GPUs) ermöglicht den Masseneinsatz zu einem erschwinglichen Preis. Es ist so konzipiert, dass es in Echtzeit auf einem konventionellen Grafikprozessor arbeitet und nur einen solchen fĂŒr das Training benötigt.

Architektur

YOLOv4 nutzt mehrere innovative Funktionen, die zusammenarbeiten, um seine Leistung zu optimieren. Dazu gehören Weighted-Residual-Connections (WRC), Cross-Stage-Partial-Connections (CSP), Cross-mini-Batch Normalization (CmBN), Self-adversarial-training (SAT), Mish-activation, Mosaic data augmentation, DropBlock regularization und CIoU loss. Diese Merkmale werden kombiniert, um die besten Ergebnisse zu erzielen.

Ein typischer Objektdetektor besteht aus mehreren Teilen: dem Input, dem Backbone, dem Hals und dem Kopf. Das Backbone von YOLOv4 ist auf ImageNet vortrainiert und wird verwendet, um Klassen und Bounding Boxes von Objekten vorherzusagen. Das Backbone kann aus verschiedenen Modellen wie VGG, ResNet, ResNeXt oder DenseNet stammen. Der Nackenteil des Detektors wird verwendet, um Feature Maps aus verschiedenen Stufen zu sammeln, und umfasst in der Regel mehrere Bottom-up-Pfade und mehrere Top-down-Pfade. Der Kopfteil wird verwendet, um die endgĂŒltigen Objekterkennungen und Klassifizierungen vorzunehmen.

Tasche mit Freebies

YOLOv4 nutzt auch Methoden, die als "Bag of Freebies" bekannt sind. Dabei handelt es sich um Techniken, die die Genauigkeit des Modells wĂ€hrend des Trainings verbessern, ohne die Kosten der Schlussfolgerungen zu erhöhen. Die Datenerweiterung ist eine gĂ€ngige Bag-of-Freebies-Technik, die bei der Objekterkennung eingesetzt wird und die VariabilitĂ€t der Eingangsbilder erhöht, um die Robustheit des Modells zu verbessern. Einige Beispiele fĂŒr die Datenerweiterung sind photometrische Verzerrungen (Anpassung von Helligkeit, Kontrast, Farbton, SĂ€ttigung und Rauschen eines Bildes) und geometrische Verzerrungen (zufĂ€lliges Skalieren, Zuschneiden, Spiegeln und Drehen). Diese Techniken helfen dem Modell, besser auf verschiedene Arten von Bildern zu verallgemeinern.

Eigenschaften und Leistung

YOLOv4 ist auf optimale Geschwindigkeit und Genauigkeit bei der Objekterkennung ausgelegt. Die Architektur von YOLOv4 umfasst CSPDarknet53 als Backbone, PANet als Hals und YOLOv3 als Erkennungskopf. Dank dieses Aufbaus kann YOLOv4 die Objekterkennung mit einer beeindruckenden Geschwindigkeit durchfĂŒhren und eignet sich daher fĂŒr Echtzeitanwendungen. YOLOv4 zeichnet sich auch durch seine hohe Genauigkeit aus und erzielt bei Benchmarks zur Objekterkennung die besten Ergebnisse.

Verwendungsbeispiele

Zum Zeitpunkt der Erstellung dieses Artikels unterstĂŒtzt Ultralytics derzeit keine YOLOv4-Modelle. Daher mĂŒssen alle Nutzer, die YOLOv4 verwenden möchten, sich direkt an das YOLOv4 GitHub Repository wenden, um Anweisungen zur Installation und Verwendung zu erhalten.

Hier ist ein kurzer Überblick ĂŒber die typischen Schritte, die du unternehmen kannst, um YOLOv4 zu nutzen:

  1. Besuche das YOLOv4 GitHub-Repository: https://github.com/AlexeyAB/darknet.

  2. Befolge die Anweisungen in der README-Datei zur Installation. Dazu gehört in der Regel das Klonen des Repositorys, die Installation der erforderlichen AbhÀngigkeiten und das Einrichten aller notwendigen Umgebungsvariablen.

  3. Sobald die Installation abgeschlossen ist, kannst du das Modell gemĂ€ĂŸ den Anweisungen im Repository trainieren und verwenden. Dazu gehört in der Regel, dass du deinen Datensatz vorbereitest, die Modellparameter konfigurierst, das Modell trainierst und dann das trainierte Modell zur Objekterkennung einsetzt.

Bitte beachte, dass die einzelnen Schritte je nach deinem Anwendungsfall und dem aktuellen Stand des YOLOv4-Repositorys variieren können. Es wird daher dringend empfohlen, sich direkt an die Anweisungen im YOLOv4 GitHub-Repository zu halten.

Wir bedauern alle Unannehmlichkeiten, die dadurch entstehen können und werden uns bemĂŒhen, dieses Dokument mit Anwendungsbeispielen fĂŒr Ultralytics zu aktualisieren, sobald die UnterstĂŒtzung fĂŒr YOLOv4 implementiert ist.

Fazit

YOLOv4 ist ein leistungsstarkes und effizientes Objekterkennungsmodell, das ein ausgewogenes VerhĂ€ltnis zwischen Geschwindigkeit und Genauigkeit bietet. Durch die Verwendung einzigartiger Merkmale und Bag-of-Freebies-Techniken beim Training kann es bei der Objekterkennung in Echtzeit hervorragende Leistungen erbringen. YOLOv4 kann von jedem mit einem herkömmlichen Grafikprozessor trainiert und verwendet werden, was es fĂŒr eine Vielzahl von Anwendungen zugĂ€nglich und praktisch macht.

Zitate und Danksagungen

Wir möchten den YOLOv4-Autoren fĂŒr ihre wichtigen BeitrĂ€ge im Bereich der Echtzeit-Objekterkennung danken:

@misc{bochkovskiy2020yolov4,
      title={YOLOv4: Optimal Speed and Accuracy of Object Detection},
      author={Alexey Bochkovskiy and Chien-Yao Wang and Hong-Yuan Mark Liao},
      year={2020},
      eprint={2004.10934},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

Die ursprĂŒngliche YOLOv4-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.



Erstellt am 2023-11-12, Aktualisiert am 2024-01-07
Autoren: glenn-jocher (6), sergiuwaxmann (1)

Kommentare