Zum Inhalt springen

Ultralytics YOLOv5

Übersicht

YOLOv5u stellt einen Fortschritt in der Methodik der Objekterkennung dar. Ausgehend von der grundlegenden Architektur des YOLOv5 Modells, das von Ultralytics entwickelt wurde, integriert YOLOv5u den verankerungsfreien, objektfreien geteilten Kopf, eine Funktion, die zuvor in den YOLOv8 Modelle. Diese Anpassung verfeinert die Architektur des Modells und führt zu einem verbesserten Kompromiss zwischen Genauigkeit und Geschwindigkeit bei Objekterkennungsaufgaben. In Anbetracht der empirischen Ergebnisse und der abgeleiteten Merkmale bietet YOLOv5u eine effiziente Alternative für alle, die robuste Lösungen sowohl für die Forschung als auch für praktische Anwendungen suchen.

Ultralytics YOLOv5

Wesentliche Merkmale

  • Ankerfreier Split Ultralytics Head: Herkömmliche Modelle zur Objekterkennung stützen sich auf vordefinierte Ankerboxen, um die Position von Objekten vorherzusagen. YOLOv5u modernisiert jedoch diesen Ansatz. Durch den Einsatz eines verankerungsfreien geteilten Ultralytics Kopfes wird ein flexiblerer und anpassungsfähigerer Erkennungsmechanismus gewährleistet, der die Leistung in verschiedenen Szenarien verbessert.

  • Optimierter Kompromiss zwischen Genauigkeit und Geschwindigkeit: Geschwindigkeit und Genauigkeit ziehen oft in entgegengesetzte Richtungen. YOLOv5u stellt diesen Kompromiss jedoch in Frage. Es bietet ein ausgewogenes Gleichgewicht, das Echtzeit-Erkennungen ohne Kompromisse bei der Genauigkeit gewährleistet. Diese Funktion ist besonders für Anwendungen von unschätzbarem Wert, die schnelle Reaktionen erfordern, wie z. B. autonome Fahrzeuge, Robotik und Echtzeit-Videoanalyse.

  • Eine Vielzahl von vortrainierten Modellen: YOLOv5u ist sich bewusst, dass unterschiedliche Aufgaben unterschiedliche Toolsets erfordern und bietet daher eine Fülle von vortrainierten Modellen. Ob Sie sich auf Inferenz, Validierung oder Training konzentrieren, es gibt ein maßgeschneidertes Modell, das auf Sie wartet. Diese Vielfalt stellt sicher, dass Sie nicht nur eine Einheitslösung verwenden, sondern ein Modell, das speziell auf Ihre einzigartige Herausforderung abgestimmt ist.

Unterstützte Aufgaben und Modi

Die YOLOv5u-Modelle mit verschiedenen vortrainierten Gewichten eignen sich hervorragend für Objekterkennungsaufgaben. Sie unterstützen eine breite Palette von Modi und eignen sich daher für verschiedene Anwendungen, von der Entwicklung bis zur Bereitstellung.

Modell Typ Vorgefertigte Gewichte Aufgabe Inferenz Validierung Ausbildung Exportieren
YOLOv5u yolov5nu, yolov5su, yolov5mu, yolov5lu, yolov5xu, yolov5n6u, yolov5s6u, yolov5m6u, yolov5l6u, yolov5x6u Objekt-Erkennung

Diese Tabelle gibt einen detaillierten Überblick über die YOLOv5u-Modellvarianten und hebt deren Anwendbarkeit bei Objekterkennungsaufgaben sowie die Unterstützung verschiedener Betriebsmodi wie Inferenz, Validierung, Training und Export hervor. Diese umfassende Unterstützung stellt sicher, dass Benutzer die Fähigkeiten der YOLOv5u-Modelle in einem breiten Spektrum von Objekterkennungsszenarien voll ausschöpfen können.

Leistungsmetriken

Leistung

Siehe Detection Docs für Anwendungsbeispiele mit diesen Modellen, die auf COCO trainiert wurden und 80 vortrainierte Klassen enthalten.

Modell YAML Größe
(Pixel)
mAPval
50-95
Geschwindigkeit
CPU ONNX
(ms)
Geschwindigkeit
A100 TensorRT
(ms)
params
(M)
FLOPs
(B)
yolov5nu.pt yolov5n.yaml 640 34.3 73.6 1.06 2.6 7.7
yolov5su.pt yolov5s.yaml 640 43.0 120.7 1.27 9.1 24.0
yolov5mu.pt yolov5m.yaml 640 49.0 233.9 1.86 25.1 64.2
yolov5lu.pt yolov5l.yaml 640 52.2 408.4 2.50 53.2 135.0
yolov5xu.pt yolov5x.yaml 640 53.2 763.2 3.81 97.2 246.4
yolov5n6u.pt yolov5n6.yaml 1280 42.1 211.0 1.83 4.3 7.8
yolov5s6u.pt yolov5s6.yaml 1280 48.6 422.6 2.34 15.3 24.6
yolov5m6u.pt yolov5m6.yaml 1280 53.6 810.9 4.36 41.2 65.7
yolov5l6u.pt yolov5l6.yaml 1280 55.7 1470.9 5.47 86.1 137.4
yolov5x6u.pt yolov5x6.yaml 1280 56.8 2436.5 8.98 155.4 250.7

Beispiele für die Verwendung

Dieses Beispiel enthält einfache YOLOv5 Trainings- und Inferenzbeispiele. Eine vollständige Dokumentation zu diesen und anderen Modi finden Sie auf den Seiten Predict, Train, Val und Export docs.

Beispiel

PyTorch vorgebildet *.pt Modelle sowie die Konfiguration *.yaml Dateien können an den YOLO() Klasse, um eine Modellinstanz in python zu erstellen:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv5n model
model = YOLO("yolov5n.pt")

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the YOLOv5n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

CLI Befehle zur Verfügung, um die Modelle direkt auszuführen:

# Load a COCO-pretrained YOLOv5n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov5n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLOv5n model and run inference on the 'bus.jpg' image
yolo predict model=yolov5n.pt source=path/to/bus.jpg

Zitate und Danksagungen

Ultralytics YOLOv5 Veröffentlichung

Ultralytics hat aufgrund der raschen Entwicklung der Modelle keine formelle Forschungsarbeit für YOLOv5 veröffentlicht. Wir konzentrieren uns darauf, die Technologie weiterzuentwickeln und ihre Nutzung zu erleichtern, anstatt eine statische Dokumentation zu erstellen. Die aktuellsten Informationen über die Architektur, die Funktionen und die Verwendung von YOLO finden Sie in unserem GitHub-Repository und in der Dokumentation.

Wenn Sie YOLOv5 oder YOLOv5u in Ihrer Forschung verwenden, zitieren Sie bitte das Repository Ultralytics YOLOv5 wie folgt:

@software{yolov5,
  title = {Ultralytics YOLOv5},
  author = {Glenn Jocher},
  year = {2020},
  version = {7.0},
  license = {AGPL-3.0},
  url = {https://github.com/ultralytics/yolov5},
  doi = {10.5281/zenodo.3908559},
  orcid = {0000-0001-5950-6979}
}

Bitte beachten Sie, dass die Modelle YOLOv5 unter AGPL-3.0 und Enterprise-Lizenzen angeboten werden.

FAQ

Was ist Ultralytics YOLOv5u und wie unterscheidet es sich von YOLOv5?

Ultralytics YOLOv5u ist eine erweiterte Version von YOLOv5 und integriert den verankerungsfreien, objektfreien Split Head, der den Kompromiss zwischen Genauigkeit und Geschwindigkeit für Echtzeit-Objekterkennungsaufgaben verbessert. Im Gegensatz zum traditionellen YOLOv5 verwendet YOLOv5u einen verankerungsfreien Erkennungsmechanismus, der es flexibler und anpassungsfähiger in verschiedenen Szenarien macht. Ausführlichere Informationen zu den Funktionen finden Sie in der Übersicht unterYOLOv5 .

Wie verbessert der verankerungsfreie Ultralytics Kopf die Leistung der Objekterkennung in YOLOv5u?

Der verankerungsfreie Ultralytics Kopf in YOLOv5u verbessert die Leistung der Objekterkennung, indem er die Abhängigkeit von vordefinierten Ankerboxen eliminiert. Dies führt zu einem flexibleren und anpassungsfähigeren Erkennungsmechanismus, der verschiedene Objektgrößen und -formen mit größerer Effizienz handhaben kann. Diese Verbesserung trägt direkt zu einem ausgewogenen Kompromiss zwischen Genauigkeit und Geschwindigkeit bei, wodurch sich YOLOv5u für Echtzeitanwendungen eignet. Erfahren Sie mehr über seine Architektur im Abschnitt Hauptmerkmale.

Kann ich vortrainierte YOLOv5u-Modelle für verschiedene Aufgaben und Modi verwenden?

Ja, Sie können vortrainierte YOLOv5u-Modelle für verschiedene Aufgaben wie die Objekterkennung verwenden. Diese Modelle unterstützen mehrere Modi, einschließlich Inferenz, Validierung, Training und Export. Diese Flexibilität ermöglicht es Benutzern, die Fähigkeiten von YOLOv5u-Modellen für verschiedene betriebliche Anforderungen zu nutzen. Eine detaillierte Übersicht finden Sie im Abschnitt Unterstützte Aufgaben und Modi.

Wie sehen die Leistungskennzahlen der YOLOv5u-Modelle auf den verschiedenen Plattformen aus?

Die Leistungskennzahlen der YOLOv5u-Modelle variieren je nach verwendeter Plattform und Hardware. Beispielsweise erreicht das YOLOv5nu-Modell einen 34,3 mAP auf dem COCO-Datensatz mit einer Geschwindigkeit von 73,6 ms auf CPU (ONNX) und 1,06 ms auf A100 TensorRT. Detaillierte Leistungskennzahlen für verschiedene YOLOv5u-Modelle finden Sie im Abschnitt Leistungskennzahlen, der einen umfassenden Vergleich über verschiedene Geräte hinweg bietet.

Wie kann ich ein YOLOv5u-Modell mit der Ultralytics Python API trainieren?

Sie können ein YOLOv5u-Modell trainieren, indem Sie ein bereits trainiertes Modell laden und den Trainingsbefehl mit Ihrem Datensatz ausführen. Hier ist ein kurzes Beispiel:

Beispiel

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv5n model
model = YOLO("yolov5n.pt")

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Load a COCO-pretrained YOLOv5n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov5n.pt data=coco8.yaml epochs=100 imgsz=640

Ausführlichere Anweisungen finden Sie im Abschnitt Verwendungsbeispiele.

📅 Erstellt vor 1 Jahr ✏️ Aktualisiert vor 14 Tagen

Kommentare