YOLOv3, YOLOv3-Ultralytics, und YOLOv3u
Übersicht
Dieses Dokument gibt einen Überblick über drei eng verwandte Modelle zur Objekterkennung, nämlich YOLOv3, YOLOv3-Ultralytics und YOLOv3u.
-
YOLOv3: Dies ist die dritte Version des Objekterkennungsalgorithmus You Only Look Once (YOLO). Ursprünglich von Joseph Redmon entwickelt, verbesserte YOLOv3 seine Vorgänger durch die Einführung von Funktionen wie Multiskalenvorhersagen und drei verschiedenen Größen von Erkennungskernen.
-
YOLOv3-Ultralytics: Dies ist Ultralytics' Implementierung des YOLOv3-Modells. Sie reproduziert die ursprüngliche YOLOv3-Architektur und bietet zusätzliche Funktionen, wie z.B. die Unterstützung für mehr vortrainierte Modelle und einfachere Anpassungsmöglichkeiten.
-
YOLOv3u: Dies ist eine aktualisierte Version von YOLOv3-Ultralytics , die den verankerungsfreien, objektfreien Spaltkopf enthält, der in YOLOv8 Modellen verwendet wird. YOLOv3u hat die gleiche Backbone- und Neck-Architektur wie YOLOv3, aber mit dem aktualisierten Detektionskopf von YOLOv8.
Hauptmerkmale
-
YOLOv3: Es wurden drei verschiedene Maßstäbe für die Erkennung eingeführt, die drei verschiedene Größen von Erkennungskernen nutzen: 13x13, 26x26 und 52x52. Dadurch wurde die Erkennungsgenauigkeit für Objekte unterschiedlicher Größe deutlich verbessert. Außerdem wurden in YOLOv3 Funktionen wie Multi-Label-Vorhersagen für jede Bounding Box und ein verbessertes Merkmalsextraktionsnetzwerk hinzugefügt.
-
YOLOv3-Ultralytics: Ultralytics Die YOLOv3-Implementierung bietet die gleiche Leistung wie das ursprüngliche Modell, unterstützt aber mehr vortrainierte Modelle, zusätzliche Trainingsmethoden und einfachere Anpassungsmöglichkeiten. Das macht es vielseitiger und benutzerfreundlicher für praktische Anwendungen.
-
YOLOv3u: Dieses aktualisierte Modell enthält den verankerungsfreien, objektfreien Erkennungskopf von YOLOv8. Durch den Wegfall von vordefinierten Ankerboxen und Objektivitätsbewertungen kann dieses Erkennungskopfdesign die Fähigkeit des Modells verbessern, Objekte unterschiedlicher Größe und Form zu erkennen. Das macht YOLOv3u robuster und genauer für die Objekterkennung.
Unterstützte Aufgaben und Modi
Die YOLOv3-Serie, einschließlich YOLOv3, YOLOv3-Ultralytics und YOLOv3u, wurde speziell für Aufgaben der Objekterkennung entwickelt. Diese Modelle sind für ihre Effektivität in verschiedenen realen Szenarien bekannt und bieten ein ausgewogenes Verhältnis zwischen Genauigkeit und Geschwindigkeit. Jede Variante bietet einzigartige Funktionen und Optimierungen, die sie für eine Reihe von Anwendungen geeignet machen.
Alle drei Modelle unterstützen eine umfassende Reihe von Modi, die Vielseitigkeit in verschiedenen Phasen der Modellentwicklung und -einführung gewährleisten. Zu diesen Modi gehören Inferenz, Validierung, Training und Export, die den Nutzern ein komplettes Toolkit für eine effektive Objekterkennung an die Hand geben.
Modell Typ | Unterstützte Aufgaben | Inferenz | Validierung | Ausbildung | exportieren |
---|---|---|---|---|---|
YOLOv3 | Objekt-Erkennung | ✅ | ✅ | ✅ | ✅ |
YOLOv3-Ultralytics | Objekt-Erkennung | ✅ | ✅ | ✅ | ✅ |
YOLOv3u | Objekt-Erkennung | ✅ | ✅ | ✅ | ✅ |
Diese Tabelle gibt einen Überblick über die Fähigkeiten der einzelnen YOLOv3-Varianten und zeigt ihre Vielseitigkeit und Eignung für verschiedene Aufgaben und Betriebsarten in Objektdetektions-Workflows auf.
Verwendungsbeispiele
Dieses Beispiel zeigt einfache YOLOv3-Trainings- und Inferenzbeispiele. Die vollständige Dokumentation zu diesen und anderen Modi findest du auf den Seiten Predict, Train, Val und Export docs.
Beispiel
PyTorch vorgebildet *.pt
Modelle als auch 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 YOLOv3n model
model = YOLO('yolov3n.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 YOLOv3n model on the 'bus.jpg' image
results = model('path/to/bus.jpg')
CLI Befehle sind verfügbar, um die Modelle direkt auszuführen:
Zitate und Danksagungen
Wenn du YOLOv3 in deiner Forschung verwendest, zitiere bitte die Originalarbeiten YOLO und das Ultralytics YOLOv3 Repository:
Vielen Dank an Joseph Redmon und Ali Farhadi für die Entwicklung des ursprünglichen YOLOv3.