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 verschiedene Größen von Erkennungskernen.
-
YOLOv3-Ultralytics: Dies ist Ultralytics' Implementierung des YOLOv3-Modells. Es reproduziert die ursprüngliche YOLOv3-Architektur und bietet zusätzliche Funktionalitäten, wie z. B. Unterstützung für mehr vortrainierte Modelle und einfachere Anpassungsoptionen.
-
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.
Wesentliche Merkmale
-
YOLOv3: Einführung von drei verschiedenen Maßstäben für die Erkennung, wobei drei verschiedene Größen von Erkennungskernen verwendet werden: 13x13, 26x26, und 52x52. Dadurch wurde die Erkennungsgenauigkeit für Objekte unterschiedlicher Größe erheblich verbessert. Außerdem wurden in YOLOv3 Funktionen wie Multi-Label-Vorhersagen für jede Bounding Box und ein besseres Merkmalsextraktionsnetzwerk hinzugefügt.
-
YOLOv3-Ultralytics: Ultralytics Die Implementierung von YOLOv3 bietet die gleiche Leistung wie das ursprüngliche Modell, bietet aber zusätzliche Unterstützung für mehr vortrainierte Modelle, zusätzliche Trainingsmethoden und einfachere Anpassungsoptionen. Dies macht es vielseitiger und benutzerfreundlicher für praktische Anwendungen.
-
YOLOv3u: Dieses aktualisierte Modell enthält den verankerungsfreien, objektfreien geteilten Kopf 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. Dies macht YOLOv3u robuster und genauer für Objekterkennungsaufgaben.
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 Modellbereitstellung und -entwicklung gewährleisten. Diese Modi umfassen Inferenz, Validierung, Training und Export und bieten den Benutzern ein komplettes Toolkit für eine effektive Objekterkennung.
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 hebt ihre Vielseitigkeit und Eignung für verschiedene Aufgaben und Betriebsmodi in Objektdetektions-Workflows hervor.
Beispiele für die Verwendung
Dieses Beispiel zeigt einfache YOLOv3-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 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 zur Verfügung, um die Modelle direkt auszuführen:
Zitate und Danksagungen
Wenn Sie YOLOv3 in Ihrer Forschung verwenden, zitieren Sie bitte die Originaldokumente YOLO und das YOLOv3-Repository Ultralytics :
Vielen Dank an Joseph Redmon und Ali Farhadi für die Entwicklung des ursprünglichen YOLOv3.
FAQ
Was sind die Unterschiede zwischen YOLOv3, YOLOv3-Ultralytics, und YOLOv3u?
YOLOv3 ist die dritte Iteration des von Joseph Redmon entwickelten YOLO (You Only Look Once) Objekterkennungsalgorithmus, der für seine Ausgewogenheit von Genauigkeit und Geschwindigkeit bekannt ist und drei verschiedene Maßstäbe (13x13, 26x26 und 52x52) für die Erkennung verwendet. YOLOv3-Ultralytics ist Ultralytics' eine Anpassung von YOLOv3, die mehr vortrainierte Modelle unterstützt und eine einfachere Modellanpassung ermöglicht. YOLOv3u ist eine verbesserte Variante von YOLOv3-Ultralytics, die den verankerungsfreien, objektfreien Split Head von YOLOv8 integriert und die Robustheit und Genauigkeit der Erkennung für verschiedene Objektgrößen verbessert. Weitere Einzelheiten zu den Varianten finden Sie in der YOLOv3-Serie.
Wie kann ich ein YOLOv3-Modell mit Ultralytics trainieren?
Das Training eines YOLOv3-Modells mit Ultralytics ist einfach. Sie können das Modell entweder mit Python oder CLI trainieren:
Beispiel
Umfassendere Schulungsoptionen und Richtlinien finden Sie in unserer Dokumentation zum Schulungsmodus.
Was macht YOLOv3u genauer bei der Objekterkennung?
YOLOv3u verbessert YOLOv3 und YOLOv3-Ultralytics durch die Integration des verankerungsfreien, objektfreien Teilkopfes, der in den Modellen YOLOv8 verwendet wird. Durch dieses Upgrade entfällt die Notwendigkeit von vordefinierten Ankerboxen und Objektivitätsbewertungen, wodurch die Fähigkeit zur präzisen Erkennung von Objekten unterschiedlicher Größe und Form verbessert wird. Dies macht YOLOv3u zu einer besseren Wahl für komplexe und vielfältige Objekterkennungsaufgaben. Weitere Informationen finden Sie im Abschnitt "Warum YOLOv3u ".
Wie kann ich YOLOv3-Modelle für Inferenzen verwenden?
Sie können Inferenzen unter Verwendung von YOLOv3-Modellen entweder durch Python Skripte oder CLI Befehle durchführen:
Beispiel
Weitere Einzelheiten zur Ausführung von YOLO Modellen finden Sie in der Dokumentation zum Inferenzmodus.
Welche Aufgaben werden von YOLOv3 und seinen Varianten unterstützt?
YOLOv3, YOLOv3-Ultralytics und YOLOv3u unterstützen in erster Linie Aufgaben der Objekterkennung. Diese Modelle können für verschiedene Phasen der Modellbereitstellung und -entwicklung verwendet werden, z. B. für Inferenz, Validierung, Training und Export. Eine umfassende Liste der unterstützten Aufgaben und weitere Details finden Sie in unserer Dokumentation zu Objekterkennungsaufgaben.
Wo kann ich Ressourcen finden, um YOLOv3 in meiner Forschung zu zitieren?
Wenn Sie YOLOv3 in Ihrer Forschung verwenden, zitieren Sie bitte die Originaldokumente YOLO und das YOLOv3-Repository Ultralytics . Beispiel BibTeX-Zitat:
Weitere Informationen zu Zitaten finden Sie im Abschnitt Zitate und Danksagungen.