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. 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 stands for You Only Look Once version 4. It is a real-time object detection model developed to address the limitations of previous YOLO versions like YOLOv3 and other object detection models. Unlike other convolutional neural network (CNN) based object detectors, YOLOv4 is not only applicable for recommendation systems but also for standalone process management and human input reduction. Its operation on conventional graphics processing units (GPUs) allows for mass usage at an affordable price, and it is designed to work in real-time on a conventional GPU while requiring only one such GPU for training.
Architektur
YOLOv4 makes use of several innovative features that work together to optimize its performance. These include 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, and CIoU loss. These features are combined to achieve state-of-the-art results.
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 nutzen möchten, sich direkt an das YOLOv4 GitHub Repository wenden, um Anweisungen zur Installation und Nutzung zu erhalten.
Hier ist ein kurzer Überblick über die typischen Schritte, die du unternehmen kannst, um YOLOv4 zu nutzen:
Besuche das YOLOv4 GitHub-Repository: https://github.com/AlexeyAB/darknet.
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.
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 Funktionen und Bag-of-Freebies-Techniken während des Trainings ist es in der Lage, bei der Objekterkennung in Echtzeit hervorragende Leistungen zu erbringen. YOLOv4 kann von jedem trainiert und genutzt werden, der über eine herkömmliche GPU verfügt, 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:
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 danken ihnen für ihre Bemühungen, das Feld voranzubringen und ihre Arbeit einer breiteren Gemeinschaft zugänglich zu machen.
FAQ
What is YOLOv4 and why should I use it for object detection?
YOLOv4, which stands for "You Only Look Once version 4," is a state-of-the-art real-time object detection model developed by Alexey Bochkovskiy in 2020. It achieves an optimal balance between speed and accuracy, making it highly suitable for real-time applications. YOLOv4's architecture incorporates several innovative features like Weighted-Residual-Connections (WRC), Cross-Stage-Partial-connections (CSP), and Self-adversarial-training (SAT), among others, to achieve state-of-the-art results. If you're looking for a high-performance model that operates efficiently on conventional GPUs, YOLOv4 is an excellent choice.
Wie verbessert die Architektur von YOLOv4 seine Leistung?
Die Architektur von YOLOv4 besteht aus mehreren Schlüsselkomponenten: dem Backbone, dem Hals und dem Kopf. Das Backbone, das aus Modellen wie VGG, ResNet oder CSPDarknet53 bestehen kann, ist vortrainiert, um Klassen und Bounding Boxes vorherzusagen. Der Hals, der PANet verwendet, verbindet Feature Maps aus verschiedenen Phasen für eine umfassende Datenextraktion. Der Kopf schließlich, der die Konfigurationen von YOLOv3 verwendet, führt die endgültige Objekterkennung durch. YOLOv4 nutzt auch "Bag of Freebies"-Techniken wie Mosaikdatenerweiterung und DropBlock-Regularisierung, um seine Geschwindigkeit und Genauigkeit weiter zu optimieren.
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 für die Schlussfolgerungen zu erhöhen. Zu diesen Techniken gehören verschiedene Formen der Datenerweiterung, wie z. B. photometrische Verzerrungen (Anpassung von Helligkeit, Kontrast usw.) und geometrische Verzerrungen (Skalieren, Zuschneiden, Spiegeln, Drehen). Indem sie die Variabilität der Eingangsbilder erhöhen, helfen diese Erweiterungen YOLOv4, besser auf verschiedene Arten von Bildern zu verallgemeinern und dadurch seine Robustheit und Genauigkeit zu verbessern, ohne seine Echtzeitleistung zu beeinträchtigen.
Warum ist YOLOv4 für die Echtzeit-Objekterkennung auf herkömmlichen Grafikprozessoren geeignet?
YOLOv4 is designed to optimize both speed and accuracy, making it ideal for real-time object detection tasks that require quick and reliable performance. It operates efficiently on conventional GPUs, needing only one for both training and inference. This makes it accessible and practical for various applications ranging from recommendation systems to standalone process management, thereby reducing the need for extensive hardware setups and making it a cost-effective solution for real-time object detection.
Wie kann ich mit YOLOv4 anfangen, wenn Ultralytics es derzeit nicht unterstützt?
Um mit YOLOv4 zu beginnen, solltest du das offizielle YOLOv4 GitHub-Repository besuchen. Befolge die Installationsanweisungen in der README-Datei, die normalerweise das Klonen des Repositorys, die Installation von Abhängigkeiten und die Einrichtung von Umgebungsvariablen beinhalten. Nach der Installation kannst du das Modell trainieren, indem du deinen Datensatz vorbereitest, die Modellparameter konfigurierst und die Anweisungen zur Nutzung befolgst. Da Ultralytics derzeit noch nicht YOLOv4 unterstützt, wird empfohlen, die aktuellste und detaillierteste Anleitung direkt auf dem YOLOv4 GitHub zu finden.