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: Introduced the use of three different scales for detection, leveraging three different sizes of detection kernels: 13x13, 26x26, and 52x52. This significantly improved detection accuracy for objects of different sizes. Additionally, YOLOv3 added features such as multi-label predictions for each bounding box and a better feature extractor network.

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

All three models support a comprehensive set of modes, ensuring versatility in various stages of model deployment and development. These modes include Inference, Validation, Training, and Export, providing users with a complete toolkit for effective object detection.

Modell TypUnterstützte AufgabenInferenzValidierungAusbildungexportieren
YOLOv3Objekt-Erkennung
YOLOv3-UltralyticsObjekt-Erkennung
YOLOv3uObjekt-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 pretrained *.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 is the third iteration of the YOLO (You Only Look Once) object detection algorithm developed by Joseph Redmon, known for its balance of accuracy and speed, utilizing three different scales (13x13, 26x26, and 52x52) for detections. YOLOv3-Ultralytics is Ultralytics' adaptation of YOLOv3 that adds support for more pre-trained models and facilitates easier model customization. YOLOv3u is an upgraded variant of YOLOv3-Ultralytics, integrating the anchor-free, objectness-free split head from YOLOv8, improving detection robustness and accuracy for various object sizes. For more details on the variants, refer to the YOLOv3 series.

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

📅 Created 11 months ago ✏️ Updated 28 days ago

Kommentare