Link to this sectionYOLOv4: Hochgeschwindigkeits- und präzise Objekterkennung#
Willkommen auf der Ultralytics-Dokumentationsseite für YOLOv4, einem hochmodernen Echtzeit-Objektdetektor, der 2020 von Alexey Bochkovskiy unter https://github.com/AlexeyAB/darknet veröffentlicht wurde. YOLOv4 wurde entwickelt, um das optimale Gleichgewicht zwischen Geschwindigkeit und Genauigkeit zu bieten, was es zu einer exzellenten Wahl für viele Anwendungen macht.
YOLOv4-Architekturdiagramm. Präsentation des komplexen Netzwerkdesigns von YOLOv4, einschließlich der Backbone-, Neck- und Head-Komponenten sowie ihrer miteinander verbundenen Schichten für eine optimale Echtzeit-Objekterkennung.
Link to this sectionEinführung#
YOLOv4 steht für You Only Look Once Version 4. Es handelt sich um ein Echtzeit-Objekterkennungsmodell, das entwickelt wurde, um die Einschränkungen früherer YOLO-Versionen wie YOLOv3 und anderer Objekterkennungsmodelle zu beheben. Im Gegensatz zu anderen Objektdetektoren, die auf convolutional neural network (CNN) basieren, ist YOLOv4 nicht nur für Empfehlungssysteme anwendbar, sondern auch für eigenständiges Prozessmanagement und die Reduzierung menschlicher Eingaben. Sein Betrieb auf herkömmlichen Grafikprozessoren (GPUs) ermöglicht den Masseneinsatz zu einem erschwinglichen Preis, und es ist so konzipiert, dass es in Echtzeit auf einer herkömmlichen GPU arbeitet, während für das Training nur eine solche GPU erforderlich ist.
Link to this sectionArchitektur#
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-Verlust. Diese Funktionen werden kombiniert, um modernste Ergebnisse zu erzielen.
Ein typischer Objektdetektor besteht aus mehreren Teilen, einschließlich der Eingabe, dem backbone, dem Neck und dem Head. 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 stammen, darunter VGG, ResNet, ResNeXt oder DenseNet. Der Neck-Teil des Detektors wird verwendet, um feature maps aus verschiedenen Stufen zu sammeln, und umfasst normalerweise mehrere Bottom-up- und Top-down-Pfade. Der Head-Teil ist das, was zur Durchführung der endgültigen Objekterkennungen und -klassifizierungen verwendet wird.
Link to this sectionBag of Freebies#
YOLOv4 nutzt auch Methoden, die als "Bag of Freebies" bekannt sind; dies sind Techniken, die die accuracy des Modells während des Trainings verbessern, ohne die Kosten der Inferenz zu erhöhen. Data augmentation ist eine gängige Bag-of-Freebies-Technik, die bei der object detection verwendet wird und die Variabilität der Eingabebilder erhöht, um die Robustheit des Modells zu verbessern. Einige Beispiele für Datenerweiterung umfassen photometrische Verzerrungen (Anpassung von Helligkeit, Kontrast, Farbton, Sättigung und Rauschen eines Bildes) und geometrische Verzerrungen (Hinzufügen von zufälliger Skalierung, Zuschneiden, Spiegeln und Drehen). Diese Techniken helfen dem Modell, besser auf verschiedene Arten von Bildern zu generalisieren.
Link to this sectionFunktionen und Leistung#
YOLOv4 wurde für optimale Geschwindigkeit und Genauigkeit bei der Objekterkennung entwickelt. Die Architektur von YOLOv4 umfasst CSPDarknet53 als Backbone, PANet als Neck und YOLOv3 als detection head. Dieses Design ermöglicht es YOLOv4, Objekterkennung mit beeindruckender Geschwindigkeit durchzuführen, was es für Echtzeitanwendungen geeignet macht. YOLOv4 zeichnet sich auch durch seine Genauigkeit aus und erzielt modernste Ergebnisse bei Benchmarks für Objekterkennung wie COCO.
Im Vergleich zu anderen Modellen der YOLO-Familie, wie YOLOv5 und YOLOv7, behauptet sich YOLOv4 weiterhin stark in der Balance zwischen Geschwindigkeit und Genauigkeit. Obwohl neuere Modelle gewisse Vorteile bieten mögen, machen die architektonischen Innovationen von YOLOv4 es weiterhin relevant für viele Anwendungen, die eine Echtzeitleistung erfordern.
Link to this sectionAnwendungsbeispiele#
YOLOv4 ist ein Darknet-basiertes Modell und wird nicht nativ vom Ultralytics Python-Paket unterstützt: Es gibt keine yolov4.pt vortrainierten Gewichte, die auf ultralytics/assets veröffentlicht wurden, und keine ultralytics/cfg/models/v4/ YAMLs. Diese Seite dient als architektonische Referenz. Benutzer, die daran interessiert sind, YOLOv4 auszuführen, sollten sich direkt auf das YOLOv4 GitHub-Repository für Installations- und Nutzungshinweise beziehen.
Hier ist ein kurzer Überblick über die typischen Schritte, die du unternehmen könntest, um YOLOv4 zu verwenden:
-
Besuche das YOLOv4 GitHub-Repository: https://github.com/AlexeyAB/darknet.
-
Befolge die Anweisungen in der README-Datei für die Installation. Dies beinhaltet normalerweise das Klonen des Repositorys, die Installation notwendiger Abhängigkeiten und das Einrichten erforderlicher Umgebungsvariablen.
-
Sobald die Installation abgeschlossen ist, kannst du das Modell gemäß den im Repository bereitgestellten Nutzungshinweisen trainieren und verwenden. Dies beinhaltet normalerweise die Vorbereitung deines Datensatzes, die Konfiguration der Modellparameter, das Training des Modells und die anschließende Verwendung des trainierten Modells zur Durchführung der Objekterkennung.
Bitte beachte, dass die spezifischen Schritte je nach deinem Anwendungsfall und dem aktuellen Stand des YOLOv4-Repositorys variieren können. Daher wird dringend empfohlen, sich direkt auf die Anweisungen im YOLOv4 GitHub-Repository zu beziehen.
Für Training und Inferenz innerhalb des Ultralytics-Frameworks, siehe YOLO11 oder YOLO26.
Link to this sectionFazit#
YOLOv4 ist ein leistungsstarkes und effizientes Objekterkennungsmodell, das ein Gleichgewicht zwischen Geschwindigkeit und Genauigkeit findet. Die Verwendung einzigartiger Funktionen und Bag-of-Freebies-Techniken während des Trainings ermöglicht es ihm, hervorragende Leistungen bei Echtzeit-Objekterkennungsaufgaben zu erbringen. YOLOv4 kann von jedem mit einer herkömmlichen GPU trainiert und verwendet werden, was es zugänglich und praktisch für eine breite Palette von Anwendungen macht, einschließlich surveillance systems, autonomous vehicles und industrial automation.
Für diejenigen, die Objekterkennung in ihren Projekten implementieren möchten, bleibt YOLOv4 ein starker Kandidat, insbesondere wenn Echtzeitleistung Priorität hat. Während Ultralytics sich derzeit auf die Unterstützung neuerer YOLO-Versionen wie YOLO11 und YOLO26 konzentriert, haben die in YOLOv4 eingeführten architektonischen Innovationen die Entwicklung dieser späteren Modelle beeinflusst.
Link to this sectionZitate und Danksagungen#
Wir möchten den YOLOv4-Autoren für ihre bedeutenden Beiträge auf dem Gebiet 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}
}Das ursprüngliche YOLOv4-Paper findet sich auf arXiv. 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 der breiteren Community zugänglich zu machen.
Link to this sectionFAQ#
Link to this sectionWas ist YOLOv4 und warum sollte ich es für object detection verwenden?#
YOLOv4, was für "You Only Look Once Version 4" steht, ist ein hochmodernes Echtzeit-Objekterkennungsmodell, das 2020 von Alexey Bochkovskiy entwickelt wurde. Es erreicht ein optimales Gleichgewicht zwischen Geschwindigkeit und accuracy, was es sehr geeignet für Echtzeitanwendungen macht. Die Architektur von YOLOv4 integriert mehrere innovative Funktionen wie Weighted-Residual-Connections (WRC), Cross-Stage-Partial-connections (CSP) und Self-adversarial-training (SAT), unter anderem, um modernste Ergebnisse zu erzielen. Wenn du nach einem leistungsstarken Modell suchst, das effizient auf herkömmlichen GPUs läuft, ist YOLOv4 eine exzellente Wahl.
Link to this sectionWie verbessert die Architektur von YOLOv4 dessen Leistung?#
Die Architektur von YOLOv4 enthält mehrere Schlüsselkomponenten: das backbone, den Neck und den Head. Das Backbone, das Modelle wie VGG, ResNet oder CSPDarknet53 sein kann, ist vortrainiert, um Klassen und Bounding Boxes vorherzusagen. Der Neck, der PANet nutzt, verbindet feature maps aus verschiedenen Stufen für eine umfassende Datenextraktion. Schließlich nimmt der Head, der Konfigurationen von YOLOv3 verwendet, die endgültigen Objekterkennungen vor. YOLOv4 setzt auch "Bag of Freebies"-Techniken wie Mosaic-Datenerweiterung und DropBlock-Regularisierung ein, was seine Geschwindigkeit und Genauigkeit weiter optimiert.
Link to this sectionWas sind "Bag of Freebies" im Kontext von YOLOv4?#
"Bag of Freebies" bezieht sich auf Methoden, die die Trainingsgenauigkeit von YOLOv4 verbessern, ohne die Kosten der Inferenz zu erhöhen. Diese Techniken umfassen verschiedene Formen der Datenerweiterung wie photometrische Verzerrungen (Anpassung von Helligkeit, Kontrast usw.) und geometrische Verzerrungen (Skalieren, Zuschneiden, Spiegeln, Drehen). Durch die Erhöhung der Variabilität der Eingabebilder helfen diese Erweiterungen YOLOv4 dabei, besser auf verschiedene Arten von Bildern zu generalisieren, wodurch seine Robustheit und Genauigkeit verbessert werden, ohne seine Echtzeitleistung zu beeinträchtigen.
Link to this sectionWarum gilt YOLOv4 als geeignet für die Echtzeit-Objekterkennung auf herkömmlichen GPUs?#
YOLOv4 ist darauf ausgelegt, sowohl Geschwindigkeit als auch Genauigkeit zu optimieren, was es ideal für Echtzeit-Objekterkennungsaufgaben macht, die eine schnelle und zuverlässige Leistung erfordern. Es arbeitet effizient auf herkömmlichen GPUs und benötigt nur eine für Training und Inferenz. Dies macht es zugänglich und praktisch für verschiedene Anwendungen, die von recommendation systems bis hin zu eigenständigem Prozessmanagement reichen, wodurch der Bedarf an umfangreichen Hardware-Setups reduziert wird und es eine kostengünstige Lösung für die Echtzeit-Objekterkennung darstellt.
Link to this sectionWie kann ich mit YOLOv4 loslegen, 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 das Einrichten von Umgebungsvariablen umfassen. Sobald es installiert ist, kannst du das Modell trainieren, indem du deinen Datensatz vorbereitest, die Modellparameter konfigurierst und die bereitgestellten Nutzungshinweise befolgst. Da Ultralytics YOLOv4 derzeit nicht unterstützt, wird empfohlen, sich direkt an das YOLOv4-GitHub zu wenden, um die aktuellsten und detailliertesten Anleitungen zu erhalten.