Zum Inhalt springen

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.

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

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

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

Ultralytics YOLOv3

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:

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

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

Zitate und Danksagungen

Wenn du YOLOv3 in deiner Forschung verwendest, zitiere bitte die Originalarbeiten YOLO und das Ultralytics YOLOv3 Repository:

@article{redmon2018yolov3,
  title={YOLOv3: An Incremental Improvement},
  author={Redmon, Joseph and Farhadi, Ali},
  journal={arXiv preprint arXiv:1804.02767},
  year={2018}
}

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 Anpassung der Modelle 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 findest du in der YOLOv3-Serie.

Wie kann ich ein YOLOv3-Modell mit Ultralytics trainieren?

Das Training eines YOLOv3-Modells mit Ultralytics ist ganz einfach. Du kannst das Modell entweder mit Python oder CLI trainieren:

Beispiel

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3n model
model = YOLO("yolov3n.pt")

# 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 YOLOv3n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov3n.pt data=coco8.yaml epochs=100 imgsz=640

Ausf├╝hrlichere Schulungsoptionen und Richtlinien findest du in unserer Dokumentation zum Schulungsmodus.

Was macht YOLOv3u bei der Objekterkennung genauer?

YOLOv3u verbessert YOLOv3 und YOLOv3-Ultralytics , indem es den verankerungsfreien, objektfreien Spaltkopf integriert, der in den YOLOv8 Modellen verwendet wird. Durch dieses Upgrade entf├Ąllt die Notwendigkeit vordefinierter Ankerboxen und Objekthaftigkeitswerte, wodurch Objekte unterschiedlicher Gr├Â├če und Form noch pr├Ąziser erkannt werden k├Ânnen. Das macht YOLOv3u zu einer besseren Wahl f├╝r komplexe und vielf├Ąltige Objekterkennungsaufgaben. Weitere Informationen findest du im Abschnitt "Warum YOLOv3u ".

Wie kann ich YOLOv3-Modelle f├╝r Schlussfolgerungen verwenden?

Du kannst Inferenzen mit YOLOv3-Modellen entweder ├╝ber Python Skripte oder CLI Befehle durchf├╝hren:

Beispiel

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3n model
model = YOLO("yolov3n.pt")

# Run inference with the YOLOv3n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
# Load a COCO-pretrained YOLOv3n model and run inference on the 'bus.jpg' image
yolo predict model=yolov3n.pt source=path/to/bus.jpg

Weitere Informationen zur Ausf├╝hrung von YOLO Modellen findest du 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 ausf├╝hrliche Liste der unterst├╝tzten Aufgaben und weitere Details findest du in unserer Dokumentation zu den Objekterkennungsaufgaben.

Wo kann ich Ressourcen finden, um YOLOv3 in meiner Forschung zu zitieren?

Wenn du YOLOv3 in deiner Forschung verwendest, zitiere bitte die Originalarbeiten YOLO und das Ultralytics YOLOv3 Repository. Beispiel BibTeX-Zitat:

@article{redmon2018yolov3,
  title={YOLOv3: An Incremental Improvement},
  author={Redmon, Joseph and Farhadi, Ali},
  journal={arXiv preprint arXiv:1804.02767},
  year={2018}
}

Weitere Details zu den Zitaten findest du im Abschnitt " Zitate und Danksagungen ".



Erstellt am 2023-11-12, Aktualisiert am 2024-07-04
Autoren: glenn-jocher (9)

Kommentare