YOLOv4: Hochgeschwindigkeits- und Präzisionsobjekt-Erkennung
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 es zu einer hervorragenden Wahl für viele Anwendungen macht.
YOLOv4-Architekturdiagramm. Vorstellung des komplizierten Netzwerkdesigns von YOLOv4, einschließlich der Backbone-, Hals- und Kopfkomponenten 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 Versionen von YOLO wie YOLOv3 und anderer Objekterkennungsmodelle zu beseitigen. Im Gegensatz zu anderen CNN-basierten Objekterkennungsmodellen ( Convolutional Neural Network ) ist YOLOv4 nicht nur für Empfehlungssysteme, sondern auch für eigenständiges Prozessmanagement und die Reduzierung menschlicher Eingaben geeignet. Sein Betrieb auf konventionellen Grafikprozessoren (GPUs) ermöglicht einen Masseneinsatz zu einem erschwinglichen Preis, und es ist so konzipiert, dass es in Echtzeit auf einem konventionellen GPU arbeitet, während es nur einen solchen GPU 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, darunter der Eingabe, dem Backbone, dem Hals und dem Kopf. Das Backbone von YOLOv4 ist auf ImageNet vortrainiert und wird zur Vorhersage von Klassen und Bounding Boxes von Objekten verwendet. Das Backbone kann aus verschiedenen Modellen stammen, darunter VGG, ResNet, ResNeXt oder DenseNet. Der Halsteil des Detektors wird zum Sammeln von Merkmalskarten aus verschiedenen Stufen verwendet und umfasst in der Regel mehrere Bottom-up-Pfade und mehrere Top-down-Pfade. Der Kopfteil wird für die endgültigen Objekterkennungen und Klassifizierungen verwendet.
Tasche mit Werbegeschenken
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 für die Inferenz zu erhöhen. Die Datenerweiterung ist eine gängige Bag-of-Freebies-Technik, die bei der Objekterkennung eingesetzt wird und die Variabilität der Eingabebilder 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 (Hinzufügen von zufälligem Skalieren, Beschneiden, Spiegeln und Drehen). Diese Techniken tragen dazu bei, dass das Modell besser auf verschiedene Arten von Bildern verallgemeinert werden kann.
Merkmale 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 Detektionskopf. 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.
Beispiele für die Verwendung
Zum Zeitpunkt der Erstellung dieses Artikels unterstützt Ultralytics derzeit keine YOLOv4-Modelle. Daher müssen alle Benutzer, die YOLOv4 verwenden möchten, direkt auf das YOLOv4-GitHub-Repository verweisen, um Anweisungen zur Installation und Verwendung zu erhalten.
Hier ist ein kurzer Überblick über die typischen Schritte, die Sie bei der Nutzung von YOLOv4 durchführen können:
-
Besuchen Sie das YOLOv4 GitHub Repository: https://github.com/AlexeyAB/darknet.
-
Folgen Sie den Anweisungen in der README-Datei für die Installation. Dies umfasst in der Regel das Klonen des Repositorys, die Installation der erforderlichen Abhängigkeiten und das Einrichten aller erforderlichen Umgebungsvariablen.
-
Sobald die Installation abgeschlossen ist, können Sie das Modell gemäß den im Repository bereitgestellten Nutzungsanweisungen trainieren und verwenden. Dies beinhaltet in der Regel die Vorbereitung Ihres Datensatzes, die Konfiguration der Modellparameter, das Training des Modells und die Verwendung des trainierten Modells zur Objekterkennung.
Bitte beachten Sie, dass die einzelnen Schritte je nach Ihrem spezifischen Anwendungsfall und dem aktuellen Stand des YOLOv4-Repositorys variieren können. Es wird daher dringend empfohlen, sich direkt auf die Anweisungen im YOLOv4 GitHub-Repository zu beziehen.
Wir bedauern alle Unannehmlichkeiten, die dies verursachen kann und werden uns bemühen, dieses Dokument mit Anwendungsbeispielen für Ultralytics zu aktualisieren, sobald die Unterstützung für YOLOv4 implementiert ist.
Schlussfolgerung
YOLOv4 ist ein leistungsstarkes und effizientes Objekterkennungsmodell, das ein ausgewogenes Verhältnis zwischen Geschwindigkeit und Genauigkeit bietet. Durch die Verwendung einzigartiger Funktionen und "Bag of Freebies"-Techniken während des Trainings kann es bei Objekterkennungsaufgaben in Echtzeit hervorragende Leistungen erbringen. YOLOv4 kann von jedem, der über eine herkömmliche GPU verfügt, trainiert und verwendet werden, was es für eine breite Palette von Anwendungen zugänglich und praktisch macht.
Zitate und Danksagungen
Wir möchten den YOLOv4-Autoren für ihre bedeutenden Beiträge auf dem Gebiet der Echtzeit-Objekterkennung danken:
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 abgerufen werden. Wir schätzen ihre Bemühungen, das Feld voranzubringen und ihre Arbeit einer breiteren Gemeinschaft zugänglich zu machen.
FAQ
Was ist YOLOv4 und warum sollte ich es für die Objekterkennung verwenden?
YOLOv4, die Abkürzung für "You Only Look Once Version 4", ist ein hochmodernes Echtzeit-Objekterkennungsmodell, das von Alexey Bochkovskiy im Jahr 2020 entwickelt wurde. Es erreicht ein optimales Gleichgewicht zwischen Geschwindigkeit und Genauigkeit und eignet sich daher hervorragend für Echtzeitanwendungen. Die Architektur von YOLOv4 beinhaltet mehrere innovative Funktionen wie Weighted-Residual-Connections (WRC), Cross-Stage-Partial-Connections (CSP) und Self-Adversarial-Training (SAT), um modernste Ergebnisse zu erzielen. Wenn Sie auf der Suche nach einem Hochleistungsmodell sind, das effizient auf herkömmlichen GPUs arbeitet, ist YOLOv4 eine ausgezeichnete Wahl.
Wie verbessert die Architektur von YOLOv4 seine Leistung?
Die Architektur von YOLOv4 umfasst mehrere Schlüsselkomponenten: das Rückgrat, den Hals und den Kopf. Das Rückgrat, das aus Modellen wie VGG, ResNet oder CSPDarknet53 bestehen kann, ist vortrainiert, um Klassen und Bounding Boxes vorherzusagen. Der Hals, der PANet verwendet, verbindet Merkmalskarten aus verschiedenen Phasen für eine umfassende Datenextraktion. Der Kopf schließlich, der Konfigurationen aus YOLOv3 verwendet, führt die endgültigen Objekterkennungen durch. YOLOv4 verwendet auch "Bag of Freebies"-Techniken wie Mosaikdatenerweiterung und DropBlock-Regularisierung, wodurch seine Geschwindigkeit und Genauigkeit weiter optimiert werden.
Was sind "Tüten mit Werbegeschenken" im Zusammenhang mit YOLOv4?
"Bag of freebies" bezieht sich auf Methoden, die die Trainingsgenauigkeit von YOLOv4 verbessern, ohne die Kosten der Inferenz zu erhöhen. Zu diesen Techniken gehören verschiedene Formen der Datenerweiterung wie photometrische Verzerrungen (Anpassung von Helligkeit, Kontrast usw.) und geometrische Verzerrungen (Skalieren, Beschneiden, Spiegeln, Drehen). Indem sie die Variabilität der Eingabebilder erhöhen, helfen diese Erweiterungen YOLOv4, besser auf verschiedene Arten von Bildern zu verallgemeinern, wodurch seine Robustheit und Genauigkeit verbessert wird, ohne seine Echtzeitleistung zu beeinträchtigen.
Warum ist YOLOv4 für die Echtzeit-Objekterkennung auf herkömmlichen GPUs geeignet?
YOLOv4 wurde entwickelt, um sowohl die Geschwindigkeit als auch die Genauigkeit zu optimieren, was es ideal für Echtzeit-Objekterkennungsaufgaben macht, die eine schnelle und zuverlässige Leistung erfordern. Es arbeitet effizient auf konventionellen GPUs und benötigt nur einen für Training und Inferenz. Dies macht es für verschiedene Anwendungen, von Empfehlungssystemen bis hin zum eigenständigen Prozessmanagement, zugänglich und praktikabel, wodurch der Bedarf an umfangreichen Hardware-Setups reduziert und es zu einer kosteneffektiven Lösung für die Echtzeit-Objekterkennung wird.
Wie kann ich mit YOLOv4 beginnen, wenn Ultralytics es derzeit nicht unterstützt?
Um mit YOLOv4 zu beginnen, sollten Sie das offizielle YOLOv4 GitHub-Repository besuchen. Folgen Sie den Installationsanweisungen in der README-Datei, die in der Regel das Klonen des Repositorys, die Installation von Abhängigkeiten und die Einrichtung von Umgebungsvariablen umfassen. Nach der Installation können Sie das Modell trainieren, indem Sie Ihren Datensatz vorbereiten, die Modellparameter konfigurieren und die mitgelieferten Nutzungsanweisungen befolgen. Da Ultralytics derzeit keine Unterstützung für YOLOv4 bietet, wird empfohlen, sich für die aktuellste und detaillierteste Anleitung direkt auf das YOLOv4 GitHub zu beziehen.