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 von mehr vortrainierten Modellen 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 beh├Ąlt die gleiche Backbone- und Neck-Architektur bei wie YOLOv3, aber mit dem aktualisierten Erkennungskopf 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.



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

Kommentare