YOLO Vision 2026:

YOLOv4: Hochgeschwindigkeits- und präzise Objekterkennung#

Willkommen auf der Dokumentationsseite von Ultralytics für YOLOv4, einen hochmodernen Echtzeit-Objektdetektor, der 2020 von Alexey Bochkovskiy unter https://github.com/AlexeyAB/darknet veröffentlicht wurde. YOLOv4 wurde entwickelt, um die optimale Balance zwischen Geschwindigkeit und Genauigkeit zu bieten, was es zu einer hervorragenden Wahl für viele Anwendungen macht.

YOLOv4-Architekturdiagramm YOLOv4-Architekturdiagramm. Zeigt das komplizierte Netzwerkdesign von YOLOv4, einschließlich der Backbone-, Hals- und Kopfkomponenten sowie deren miteinander verbundene Schichten für eine optimale Echtzeit-Objekterkennung.

Einführung#

YOLOv4 steht für You Only Look Once Version 4. Es ist ein Echtzeit-Objekterkennungsmodell, das entwickelt wurde, um die Einschränkungen vorheriger YOLO-Versionen wie YOLOv3 und anderer Objekterkennungsmodelle zu beheben. Im Gegensatz zu anderen auf Faltungs-Neuronalen Netzen (CNN) basierenden Objektdetektoren ist YOLOv4 nicht nur für Empfehlungssysteme anwendbar, sondern auch für das eigenständige Prozessmanagement und die Reduzierung menschlicher Eingriffe. Sein Betrieb auf herkömmlichen Grafikprozessoren (GPUs) ermöglicht eine Massennutzung zu einem erschwinglichen Preis, und es ist so konzipiert, dass es in Echtzeit auf einer herkömmlichen GPU funktioniert, während nur eine solche GPU für das Training benötigt wird.

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-Aktivierung, Mosaic-Datenaugmentierung, DropBlock-Regularisierung und der CIoU-Verlust. Diese Funktionen werden kombiniert, um branchenführende Ergebnisse zu erzielen.

Ein typischer Objektdetektor besteht aus mehreren Teilen, einschließlich der Eingabe, dem Backbone, dem Hals und dem Kopf. Der Backbone von YOLOv4 ist auf ImageNet vorrainiert und wird verwendet, um Klassen und Bounding-Boxen von Objekten vorherzusagen. Der Backbone kann aus mehreren Modellen stammen, darunter VGG, ResNet, ResNeXt oder DenseNet. Der Halsteil des Detektors wird verwendet, um Feature-Maps aus verschiedenen Stadien zu sammeln, und umfasst normalerweise mehrere Bottom-Up-Pfade und mehrere Top-Down-Pfade. Der Kopfbereich wird verwendet, um die finalen Objekterkennungen und -klassifizierungen durchzuführen.

Bag of 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 Inferenzkosten zu erhöhen. Datenaugmentierung ist eine gängige Bag-of-Freebies-Technik, die bei der Objekterkennung verwendet wird und die Variabilität der Eingabebilder erhöht, um die Robustheit des Modells zu verbessern. Einige Beispiele für Datenaugmentierung sind 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 Bildtypen zu verallgemeinern.

Funktionen 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. Dieses Design ermöglicht es YOLOv4, die Objekterkennung mit einer beeindruckenden Geschwindigkeit durchzuführen, wodurch es sich für Echtzeitanwendungen eignet. YOLOv4 zeichnet sich auch durch seine Genauigkeit aus und erzielt branchenführende Ergebnisse bei Objekterkennungs-Benchmarks wie COCO.

Im Vergleich zu anderen Modellen der YOLO-Familie, wie YOLOv5 und YOLOv7, behält YOLOv4 eine starke Position im Gleichgewicht zwischen Geschwindigkeit und Genauigkeit bei. Während neuere Modelle bestimmte Vorteile bieten mögen, machen die architektonischen Innovationen von YOLOv4 es weiterhin relevant für viele Anwendungen, die Echtzeitleistung erfordern.

Anwendungsbeispiele#

YOLOv4 ist ein auf Darknet basierendes Modell und wird nicht nativ vom Ultralytics Python-Paket unterstützt: Es gibt keine auf ultralytics/assets veröffentlichten yolov4.pt vortrainierten Gewichte und keine ultralytics/cfg/models/v4/ YAMLs. Diese Seite dient als architektonische Referenz. Benutzer, die YOLOv4 ausführen möchten, sollten sich für Installations- und Nutzungsanweisungen direkt an das YOLOv4 GitHub-Repository wenden.

Hier ist ein kurzer Überblick über die typischen Schritte, die du unternehmen könntest, um YOLOv4 zu verwenden:

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

  2. 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.

  3. 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 das Training und die Inferenz innerhalb des Ultralytics-Frameworks siehe YOLO11 oder YOLO26.

Fazit#

YOLOv4 ist ein leistungsstarkes und effizientes Objekterkennungsmodell, das ein Gleichgewicht zwischen Geschwindigkeit und Genauigkeit herstellt. Die Verwendung einzigartiger Funktionen und Bag-of-Freebies-Techniken während des Trainings ermöglicht es ihm, bei Echtzeit-Objekterkennungsaufgaben hervorragende Leistungen zu erbringen. YOLOv4 kann von jedem mit einer herkömmlichen GPU trainiert und verwendet werden, wodurch es zugänglich und praktisch für eine Vielzahl von Anwendungen ist, einschließlich Überwachungssystemen, autonomen Fahrzeugen und industrieller Automatisierung.

Für diejenigen, die Objekterkennung in ihren Projekten implementieren möchten, bleibt YOLOv4 ein starker Konkurrent, insbesondere wenn Echtzeitleistung Priorität hat. Während sich Ultralytics 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.

Zitate und Danksagungen#

Wir möchten den YOLOv4-Autoren für ihre bedeutenden Beiträge auf dem Gebiet der Echtzeit-Objekterkennung danken:

Zitat
@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 originale YOLOv4-Paper ist auf arXiv zu finden. Die Autoren haben ihre Arbeit öffentlich zugänglich gemacht, und auf die Codebasis kann auf GitHub zugegriffen werden. Wir schätzen ihre Bemühungen, das Fachgebiet voranzutreiben und ihre Arbeit der breiteren Community zugänglich zu machen.

FAQ#

  • 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 eine optimale Balance zwischen Geschwindigkeit und Genauigkeit, wodurch es sich hervorragend für Echtzeitleistungsanwendungen eignet. 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 branchenführende Ergebnisse zu erzielen. Wenn du nach einem Hochleistungsmodell suchst, das effizient auf herkömmlichen GPUs arbeitet, ist YOLOv4 eine ausgezeichnete Wahl.

  • Die Architektur von YOLOv4 umfasst mehrere Schlüsselkomponenten: den Backbone, den Hals und den Kopf. Der Backbone, bei dem es sich um Modelle wie VGG, ResNet oder CSPDarknet53 handeln kann, ist vortrainiert, um Klassen und Bounding-Boxen vorherzusagen. Der Hals, der PANet verwendet, verbindet Feature-Maps aus verschiedenen Phasen für eine umfassende Datenextraktion. Schließlich führt der Kopf, der Konfigurationen von YOLOv3 verwendet, die finalen Objekterkennungen durch. YOLOv4 setzt auch „Bag of Freebies“-Techniken wie Mosaic-Datenaugmentierung und DropBlock-Regularisierung ein, wodurch seine Geschwindigkeit und Genauigkeit weiter optimiert werden.

  • "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.

  • YOLOv4 wurde entwickelt, um sowohl Geschwindigkeit als auch Genauigkeit zu optimieren, wodurch es ideal für Echtzeit-Objekterkennungsaufgaben ist, die eine schnelle und zuverlässige Leistung erfordern. Es arbeitet effizient auf herkömmlichen GPUs und benötigt nur eine einzige für das Training und die Inferenz. Dies macht es zugänglich und praktisch für verschiedene Anwendungen, die von Empfehlungssystemen bis hin zum eigenständigen Prozessmanagement reichen, wodurch der Bedarf an umfangreichen Hardware-Setups reduziert und es zu einer kostengünstigen Lösung für die Echtzeit-Objekterkennung wird.

  • Um mit YOLOv4 zu beginnen, solltest du das offizielle YOLOv4 GitHub-Repository besuchen. Befolge die in der README-Datei bereitgestellten Installationsanweisungen, die typischerweise das Klonen des Repositorys, die Installation von Abhängigkeiten und das Einrichten von Umgebungsvariablen umfassen. Nach der Installation kannst du das Modell trainieren, indem du deinen Datensatz vorbereitest, die Modellparameter konfigurierst und den bereitgestellten Anweisungen zur Verwendung folgst. 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.

Kommentare