Ultralytics YOLO27:

YOLOv4: Schnelle und präzise Objekterkennung#

Willkommen auf der Ultralytics-Dokumentationsseite zu YOLOv4, einem hochmodernen Echtzeit-Objekterkennungsmodell, das 2020 von Alexey Bochkovskiy veröffentlicht wurde unter https://github.com/AlexeyAB/darknet. YOLOv4 wurde entwickelt, um ein optimales Gleichgewicht zwischen Geschwindigkeit und Genauigkeit zu bieten, und ist damit eine ausgezeichnete Wahl für viele Anwendungen.

Architekturdiagramm von YOLOv4 Architekturdiagramm von YOLOv4. Das Diagramm zeigt den komplexen Netzwerkaufbau von YOLOv4 einschließlich der Komponenten Backbone, Neck und Head sowie ihrer miteinander verbundenen Schichten für eine optimale Echtzeit-Objekterkennung.

Einleitung#

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 überwinden. Im Gegensatz zu anderen auf Faltungsneuronalen Netzen (CNN) basierenden Objekterkennungsmodellen eignet sich YOLOv4 nicht nur für Empfehlungssysteme, sondern auch für die eigenständige Prozesssteuerung und die Reduzierung menschlicher Eingriffe. Der Betrieb auf herkömmlichen Grafikprozessoren (GPUs) ermöglicht eine breite Nutzung zu erschwinglichen Kosten. Außerdem ist das Modell für den Echtzeitbetrieb auf einer herkömmlichen GPU ausgelegt und benötigt für das Training nur eine solche GPU.

Architektur#

YOLOv4 nutzt mehrere innovative Funktionen, die gemeinsam seine Leistung optimieren. Dazu gehören Weighted-Residual-Connections (WRC), Cross-Stage-Partial-Connections (CSP), Cross-Mini-Batch-Normalisierung (CmBN), Self-Adversarial-Training (SAT), die Mish-Aktivierungsfunktion, Mosaic-Datenerweiterung, DropBlock-Regularisierung und der CIoU-Verlust. Diese Funktionen werden kombiniert, um hochmoderne Ergebnisse zu erzielen.

Ein typischer Objektdetektor besteht aus mehreren Teilen, darunter Eingabe, Backbone, Neck und Head. Der Backbone von YOLOv4 wird auf ImageNet vortrainiert und dient zur Vorhersage von Klassen und Begrenzungsrahmen für Objekte. Der Backbone kann aus verschiedenen Modellen stammen, darunter VGG, ResNet, ResNeXt oder DenseNet. Der Neck des Detektors sammelt Merkmalskarten aus verschiedenen Stufen und umfasst in der Regel mehrere Pfade von unten nach oben sowie mehrere Pfade von oben nach unten. Der Head erstellt die abschließenden Objekterkennungen und Klassifizierungen.

Bag of Freebies#

YOLOv4 nutzt außerdem sogenannte „Bag of Freebies“. Dabei handelt es sich um Methoden, die die Genauigkeit des Modells während des Trainings verbessern, ohne die Inferenzkosten zu erhöhen. Datenerweiterung ist eine gängige Bag-of-Freebies-Technik für die Objekterkennung. Sie erhöht die Variabilität der Eingabebilder und verbessert dadurch die Robustheit des Modells. Beispiele für Datenerweiterung sind photometrische Verzerrungen (Anpassung von Helligkeit, Kontrast, Farbton, Sättigung und Rauschen eines Bildes) sowie geometrische Verzerrungen (zufällige Skalierung, Beschneidung, Spiegelung und Drehung). Diese Techniken helfen dem Modell, besser auf verschiedene Bildtypen zu generalisieren.

Funktionen und Leistung#

YOLOv4 wurde für eine optimale Geschwindigkeit und Genauigkeit bei der Objekterkennung entwickelt. Die Architektur von YOLOv4 umfasst CSPDarknet53 als Backbone, PANet als Neck und YOLOv3 als Erkennungs-Head. Dieses Design ermöglicht YOLOv4 eine beeindruckend schnelle Objekterkennung und macht das Modell für Echtzeitanwendungen geeignet. Auch bei der Genauigkeit überzeugt YOLOv4 und erzielt hochmoderne Ergebnisse in Benchmarks zur Objekterkennung wie COCO.

Im Vergleich zu anderen Modellen der YOLO-Familie wie YOLOv5 und YOLOv7 behauptet YOLOv4 eine starke Position beim Gleichgewicht zwischen Geschwindigkeit und Genauigkeit. Auch wenn neuere Modelle bestimmte Vorteile bieten, bleiben die architektonischen Innovationen von YOLOv4 für viele Anwendungen mit Echtzeitanforderungen relevant.

Verwendungsbeispiele#

YOLOv4 ist ein Darknet-basiertes Modell und wird vom Ultralytics-Python-Paket nicht nativ unterstützt: Auf ultralytics/assets wurden keine vortrainierten Gewichte yolov4.pt veröffentlicht, und es gibt keine ultralytics/cfg/models/v4/-YAML-Dateien. Diese Seite dient als architektonische Referenz. Wenn du YOLOv4 ausführen möchtest, solltest du dich für Installations- und Nutzungshinweise direkt an das YOLOv4-GitHub-Repository wenden.

Hier findest du einen kurzen Überblick über die typischen Schritte zur Nutzung von YOLOv4:

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

  2. Befolge die Anweisungen in der README-Datei zur Installation. Dazu gehören in der Regel das Klonen des Repositorys, die Installation der erforderlichen Abhängigkeiten und die Einrichtung aller benötigten Umgebungsvariablen.

  3. Sobald die Installation abgeschlossen ist, kannst du das Modell gemäß den im Repository enthaltenen Nutzungshinweisen trainieren und verwenden. Dazu gehören in der Regel die Vorbereitung deines Datensatzes, die Konfiguration der Modellparameter, das Training des Modells und anschließend die Verwendung des trainierten Modells zur Objekterkennung.

Beachte, dass die konkreten Schritte je nach Anwendungsfall und aktuellem Stand des YOLOv4-Repositorys variieren können. Daher wird dringend empfohlen, dich direkt an die Anweisungen im YOLOv4-GitHub-Repository zu halten.

Informationen zu Training und Inferenz im Ultralytics-Framework findest du unter YOLO11 oder YOLO26.

Fazit#

YOLOv4 ist ein leistungsstarkes und effizientes Objekterkennungsmodell, das ein ausgewogenes Verhältnis zwischen Geschwindigkeit und Genauigkeit bietet. Durch den Einsatz einzigartiger Funktionen und Bag-of-Freebies-Techniken während des Trainings erzielt es hervorragende Ergebnisse bei Echtzeit-Objekterkennungsaufgaben. YOLOv4 kann von jeder Person mit einer herkömmlichen GPU trainiert und verwendet werden und ist dadurch für eine Vielzahl von Anwendungen zugänglich und praktisch, darunter Überwachungssysteme, autonome Fahrzeuge und industrielle Automatisierung.

Für alle, die Objekterkennung in ihren Projekten einsetzen möchten, bleibt YOLOv4 eine überzeugende Option, insbesondere wenn Echtzeitleistung Priorität hat. Während Ultralytics derzeit den Schwerpunkt auf die Unterstützung neuerer YOLO-Versionen wie YOLO11 und YOLO26 legt, haben die in YOLOv4 eingeführten architektonischen Innovationen die Entwicklung dieser späteren Modelle beeinflusst.

Zitate und Danksagungen#

Wir möchten den Autoren von YOLOv4 für ihre bedeutenden Beiträge zur 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 ursprüngliche YOLOv4-Paper ist auf arXiv verfügbar. Die Autoren haben ihre Arbeit öffentlich zugänglich gemacht, und der Quellcode kann auf GitHub eingesehen werden. Wir schätzen ihre Bemühungen, das Fachgebiet voranzubringen und ihre Arbeit der breiteren Community zugänglich zu machen.

FAQ#

  • YOLOv4, kurz für „You Only Look Once, Version 4“, ist ein hochmodernes Echtzeit-Objekterkennungsmodell, das 2020 von Alexey Bochkovskiy entwickelt wurde. Es erreicht ein optimales Gleichgewicht zwischen Geschwindigkeit und Genauigkeit und eignet sich dadurch besonders für Echtzeitanwendungen. Die Architektur von YOLOv4 umfasst mehrere innovative Funktionen wie Weighted-Residual-Connections (WRC), Cross-Stage-Partial-Connections (CSP) und Self-Adversarial-Training (SAT), um hochmoderne Ergebnisse zu erzielen. Wenn du ein leistungsstarkes Modell suchst, das effizient auf herkömmlichen GPUs läuft, ist YOLOv4 eine ausgezeichnete Wahl.

  • Die Architektur von YOLOv4 umfasst mehrere zentrale Komponenten: den Backbone, den Neck und den Head. Der Backbone, bei dem es sich beispielsweise um VGG, ResNet oder CSPDarknet53 handeln kann, wird vortrainiert, um Klassen und Begrenzungsrahmen vorherzusagen. Der Neck verbindet mithilfe von PANet Merkmalskarten aus verschiedenen Stufen und ermöglicht so eine umfassende Merkmalsextraktion. Der Head verwendet schließlich Konfigurationen von YOLOv3, um die abschließenden Objekterkennungen zu erstellen. YOLOv4 nutzt außerdem Bag-of-Freebies-Techniken wie Mosaic-Datenerweiterung und DropBlock-Regularisierung, wodurch Geschwindigkeit und Genauigkeit weiter optimiert werden.

  • „Bag of Freebies“ bezeichnet Methoden, die die Trainingsgenauigkeit von YOLOv4 verbessern, ohne die Inferenzkosten zu erhöhen. Zu diesen Techniken gehören verschiedene Formen der Datenerweiterung wie photometrische Verzerrungen (Anpassung von Helligkeit, Kontrast usw.) und geometrische Verzerrungen (Skalierung, Beschneidung, Spiegelung und Drehung). Indem diese Erweiterungen die Variabilität der Eingabebilder erhöhen, helfen sie YOLOv4, besser auf verschiedene Bildtypen zu generalisieren. Dadurch verbessern sie Robustheit und Genauigkeit, ohne die Echtzeitleistung zu beeinträchtigen.

  • YOLOv4 wurde entwickelt, um sowohl Geschwindigkeit als auch Genauigkeit zu optimieren, und eignet sich daher ideal für Objekterkennungsaufgaben in Echtzeit, die eine schnelle und zuverlässige Leistung erfordern. Das Modell läuft effizient auf herkömmlichen GPUs und benötigt für Training und Inferenz jeweils nur eine GPU. Dadurch ist es für verschiedene Anwendungen zugänglich und praktisch – von Empfehlungssystemen bis hin zur eigenständigen Prozesssteuerung. Gleichzeitig verringert sich der Bedarf an umfangreichen Hardwarekonfigurationen, wodurch eine kostengünstige Lösung für die Echtzeit-Objekterkennung entsteht.

  • Um mit YOLOv4 zu beginnen, solltest du das offizielle YOLOv4-GitHub-Repository besuchen. Befolge die Installationsanweisungen in der README-Datei. Dazu gehören in der Regel das Klonen des Repositorys, die Installation von Abhängigkeiten und die Einrichtung von Umgebungsvariablen. Nach der Installation 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, dich für aktuelle und ausführliche Anleitungen direkt an das YOLOv4-GitHub-Repository zu wenden.

Kommentare