Zum Inhalt springen

YOLOv3 und YOLOv3u

Überblick

Dieses Dokument bietet einen Überblick über drei eng verwandte Objekterkennungsmodelle, nämlich YOLOv3, YOLOv3-Ultralytics und YOLOv3u.

  1. YOLOv3: Dies ist die dritte Version des You Only Look Once (YOLO) Objekterkennungsalgorithmus. YOLOv3 wurde ursprünglich von Joseph Redmon entwickelt und verbesserte seine Vorgänger durch die Einführung von Funktionen wie Multiscale-Vorhersagen und drei verschiedenen Größen von Erkennungskerneln.

  2. YOLOv3u: Dies ist eine aktualisierte Version von YOLOv3-Ultralytics, die den ankerfreien, objektfreien Split-Head verwendet, der in YOLOv8-Modellen eingesetzt wird. YOLOv3u behält die gleiche Backbone- und Neck-Architektur wie YOLOv3 bei, jedoch mit dem aktualisierten Detection Head von YOLOv8.

Ultralytics YOLOv3

Hauptmerkmale

  • YOLOv3: Führte die Verwendung von drei verschiedenen Skalen für die Erkennung ein und nutzte drei verschiedene Größen von Erkennungskerneln: 13x13, 26x26 und 52x52. Dies verbesserte die Erkennungsgenauigkeit für Objekte unterschiedlicher Größe erheblich. Zusätzlich fügte YOLOv3 Funktionen wie Multi-Label-Vorhersagen für jede Bounding Box und ein besseres Feature-Extractor-Netzwerk hinzu.

  • YOLOv3u: Dieses aktualisierte Modell enthält den Anchor-freien, Objectness-freien Split Head von YOLOv8. Durch den Wegfall der Notwendigkeit für vordefinierte Anchor Boxes und Objectness Scores kann dieses Erkennungs-Head-Design 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

YOLOv3 wurde speziell entwickelt für Objekterkennung durchzuführen Aufgaben. Ultralytics unterstützt drei Varianten von YOLOv3: yolov3u, yolov3-tinyu und yolov3-sppu. Der u im Namen bedeutet, dass diese den ankerfreien Head von YOLOv8 verwenden, im Gegensatz zu ihrer ursprünglichen Architektur, die ankerbasiert ist. Diese Modelle sind bekannt für ihre Effektivität in verschiedenen realen Szenarien und gleichen Genauigkeit und Geschwindigkeit aus. Jede Variante bietet einzigartige Funktionen und Optimierungen, wodurch sie für eine Reihe von Anwendungen geeignet sind.

Alle drei Modelle unterstützen ein umfassendes Set von Modi, wodurch Vielseitigkeit in verschiedenen Phasen des Modelldeployments und der Entwicklung gewährleistet wird. Diese Modi umfassen Inference, Validierung, Training und Export und bieten Benutzern ein komplettes Toolkit für effektive Objekterkennung.

Modelltyp Vorab trainierte Gewichtungen Unterstützte Aufgaben Inferenz Validierung Training Export
YOLOv3(u) yolov3u.pt Objekterkennung
YOLOv3-Tiny(u) yolov3-tinyu.pt Objekterkennung
YOLOv3u-SPP(u) yolov3-sppu.pt Objekterkennung

Diese Tabelle bietet einen schnellen Überblick über die Fähigkeiten jeder YOLOv3-Variante und hebt ihre Vielseitigkeit und Eignung für verschiedene Aufgaben und Betriebsmodi in Objekterkennungsworkflows hervor.

Anwendungsbeispiele

Dieses Beispiel bietet einfache YOLOv3-Trainings- und Inferenzbeispiele. Die vollständige Dokumentation zu diesen und anderen Modi finden Sie auf den Dokumentationsseiten Predict, Train, Val und Export.

Beispiel

PyTorch vorab trainierte *.pt Modelle sowie Konfigurations- *.yaml Dateien können an die YOLO() Klasse übergeben werden, um eine Modellinstanz in python zu erstellen:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3u model
model = YOLO("yolov3u.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 YOLOv3u model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

Es stehen CLI-Befehle zur Verfügung, um die Modelle direkt auszuführen:

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

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

Zitate und Danksagungen

Wenn Sie YOLOv3 in Ihrer Forschung verwenden, zitieren Sie bitte die Original-YOLO-Paper 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 YOLO (You Only Look Once) Objekterkennungsalgorithmus, der von Joseph Redmon entwickelt wurde und für sein Gleichgewicht zwischen Genauigkeit und Geschwindigkeit bekannt ist. Er verwendet drei verschiedene Skalen (13x13, 26x26 und 52x52) für Erkennungen. YOLOv3-Ultralytics ist Ultralytics' Anpassung von YOLOv3, die Unterstützung für weitere vortrainierte Modelle hinzufügt und eine einfachere Modellanpassung ermöglicht. YOLOv3u ist eine verbesserte Variante von YOLOv3-Ultralytics, die den ankerfreien, objektfreien Split Head von YOLOv8 integriert und die Erkennungsrobustheit und -genauigkeit für verschiedene Objektgrößen verbessert. Weitere Informationen zu den Varianten finden Sie in der YOLOv3-Serie.

Wie kann ich ein YOLOv3-Modell mit Ultralytics trainieren?

Das Trainieren eines YOLOv3-Modells mit Ultralytics ist unkompliziert. Sie können das Modell entweder mit Python oder über die CLI trainieren:

Beispiel

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3u model
model = YOLO("yolov3u.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 YOLOv3u model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov3u.pt data=coco8.yaml epochs=100 imgsz=640

Für umfassendere Trainingsoptionen und Richtlinien besuchen Sie unsere Train Modus Dokumentation.

Was macht YOLOv3u für Objekterkennungsaufgaben genauer?

YOLOv3u verbessert YOLOv3 und YOLOv3-Ultralytics durch die Integration des ankerfreien, objektfreien Split Heads, der in YOLOv8-Modellen verwendet wird. Dieses Upgrade macht vordefinierte Ankerboxen und Objektivitätspunkte überflüssig und verbessert die Fähigkeit, Objekte unterschiedlicher Größen und Formen präziser zu erkennen. Dies macht YOLOv3u zu einer besseren Wahl für komplexe und vielfältige Objekterkennungsaufgaben. Weitere Informationen finden Sie im Abschnitt Key Features.

Wie kann ich YOLOv3-Modelle für die Inferenz verwenden?

Sie können Inferenz mit YOLOv3-Modellen entweder über python-Skripte oder CLI-Befehle durchführen:

Beispiel

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3u model
model = YOLO("yolov3u.pt")

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

Weitere Informationen zum Ausführen von YOLO-Modellen finden Sie in der Inference-Modus-Dokumentation.

Welche Aufgaben werden von YOLOv3 und seinen Varianten unterstützt?

YOLOv3, YOLOv3-Tiny und YOLOv3-SPP unterstützen primär Objekterkennungsaufgaben. Diese Modelle können für verschiedene Phasen der Modellbereitstellung und -entwicklung verwendet werden, wie z. B. Inferenz, Validierung, Training und Export. Für eine umfassende Liste der unterstützten Aufgaben und detailliertere Informationen besuchen Sie unsere Objekterkennungsaufgaben-Dokumentation.

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

Wenn Sie YOLOv3 in Ihrer Forschung verwenden, zitieren Sie bitte die Original-YOLO-Paper und das Ultralytics YOLOv3 Repository. Beispiel für eine BibTeX-Zitation:

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

Weitere Informationen zu Zitierdetails finden Sie im Abschnitt Zitate und Danksagungen.



📅 Vor 1 Jahr erstellt ✏️ Vor 5 Monaten aktualisiert

Kommentare