Zum Inhalt springen

YOLOv10 vs. YOLOX: Ein technischer Vergleich

In der sich schnell entwickelnden Landschaft der Computer Vision ist die Auswahl des richtigen Objekterkennungsmodells entscheidend für die Balance zwischen Leistung, Effizienz und einfacher Implementierung. Dieser technische Vergleich befasst sich mit den Unterschieden zwischen YOLOv10dem neuesten Echtzeit-End-to-End-Detektor der Tsinghua-Universität, und YOLOX, einem hoch angesehenen ankerlosen Modell von Megvii.

Während YOLOX im Jahr 2021 bedeutende Innovationen in Bezug auf verankerungsfreie Erkennungsmechanismen eingeführt hat, stellt YOLOv10 im Jahr 2024 den neuesten Stand der Technik dar und bietet NMS Inferenz und eine engere Integration mit dem Ultralytics .

YOLOv10: Ende-zu-Ende-Detektion in Echtzeit

YOLOv10 zielt darauf ab, die Lücke zwischen Post-Processing-Effizienz und Modellarchitektur zu schließen. Durch die Einführung einer konsistenten dualen Zuweisungsstrategie für NMS Training entfällt die Notwendigkeit der Non-Maximum Suppression (NMS) während der Inferenz, was die Latenzzeit erheblich reduziert.

Technische Details:

Architektur und Stärken

YOLOv10 baut auf den Stärken früherer YOLO auf, optimiert jedoch die Architektur hinsichtlich Effizienz und Genauigkeit. Es verwendet ein ganzheitliches Modelldesign, das leichtgewichtige Klassifizierungsköpfe und räumlich-kanalentkoppeltes Downsampling umfasst.

  • NMS Inferenz: Die Abschaffung von NMS ist ein entscheidender Vorteil für Echtzeit-Inferenzanwendungen, denn sie sorgt für vorhersehbare Latenzzeiten und geringeren CPU auf Edge-Geräten.
  • Gleichgewicht zwischen Effizienz und Genauigkeit: YOLOv10 erreicht den neuesten Stand der Technik mit einer geringeren Anzahl von Parametern und FLOPs im Vergleich zu seinen Vorgängern und Mitbewerbern.
  • Ultralytics : Die volle Unterstützung der ultralytics Paket profitieren die Nutzer von einer einheitlichen Python API, nahtloser Export in Formate wie TensorRT und OpenVINOund eine umfangreiche Dokumentation.

Ökosystem-Vorteil

Die Integration von YOLOv10 in das Ultralytics bietet sofortigen Zugang zu fortgeschrittenen Funktionen wie automatische Kommentierung, Cloud-Schulung und eine solide Community für den Support.

Schwächen

  • Neuere Architektur: Das Ökosystem der Tutorials von Drittanbietern, die 2024 veröffentlicht werden, wächst schnell, erreicht aber möglicherweise noch nicht das Volumen der älteren Modelle.

Erfahren Sie mehr über YOLOv10

YOLOX: Der verankerungsfreie Pionier

Im Jahr 2021 wurde YOLOX auf einen ankerlosen Mechanismus und entkoppelte Köpfe umgestellt und weicht damit von den ankerbasierten Ansätzen von YOLOv4 und YOLOv5 ab. Es verwendet SimOTA (Simplified Optimal Transport Assignment) für die Label-Zuweisung, was einen bedeutenden Fortschritt bei den dynamischen Label-Zuweisungsstrategien darstellt.

Technische Details:

Architektur und Stärken

YOLOX bleibt aufgrund seines sauberen, verankerungsfreien Designs eine wichtige Grundlage in der Forschungsgemeinschaft.

  • Anker-freier Mechanismus: Durch die Abschaffung vordefinierter Ankerboxen reduziert YOLOX die Komplexität des Designs und die Anzahl der Hyperparameter, die abgestimmt werden müssen.
  • Entkoppelter Kopf: Die Trennung von Klassifizierungs- und Lokalisierungsaufgaben verbesserte die Konvergenzgeschwindigkeit und -genauigkeit im Vergleich zu älteren Designs mit gekoppelten Köpfen.
  • Starke Ausgangsbasis: Sie dient als verlässlicher Maßstab für die akademische Forschung über Erkennungsköpfe und Zuordnungsstrategien.

Schwächen

  • Inferenzgeschwindigkeit: Obwohl YOLOX für seine Zeit sehr effizient war, bleibt es im Allgemeinen hinter neueren Modellen wie YOLOv10 und YOLO11 zurück, vor allem wenn man die NMS mit einbezieht.
  • Fragmentierter Arbeitsablauf: Im Gegensatz zu Ultralytics benötigt YOLOX oft eine eigene Codebasis und eine eigene Umgebung, da es keine einheitliche Schnittstelle für Training, Validierung und Bereitstellung wie bei modernen Frameworks gibt.
  • Ressourcenintensität: Höhere FLOPs und Parameterzahlen für ähnliche Genauigkeitsstufen im Vergleich zu modernen effizienten Architekturen.

Erfahren Sie mehr über YOLOX

Leistungsanalyse

Der nachstehende Vergleich verdeutlicht die erheblichen Fortschritte bei Effizienz und Genauigkeit, die in den drei Jahren, in denen diese Modelle getrennt wurden, erzielt wurden. Die Metriken konzentrieren sich auf die Modellgröße (Parameter), die Rechenkosten (FLOPs) und die GenauigkeitmAP) auf dem COCO .

ModellGröße
(Pixel)
mAPval
50-95
Geschwindigkeit
CPU ONNX
(ms)
Geschwindigkeit
T4 TensorRT10
(ms)
Parameter
(M)
FLOPs
(B)
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9

Kritische Beobachtungen

  1. Genauigkeit vs. Größe: YOLOv10 liefert durchweg höhere mAP mit weniger Parametern. So erreicht YOLOv10s beispielsweise 46,7 mAP mit nur 7,2 Mio. Parametern, während YOLOXs 40,5 mAP mit 9,0 Mio. Parametern erreicht. Dies beweist die überlegene architektonische Effizienz von YOLOv10.
  2. Effizienz der Berechnungen: Die Anzahl der FLOPs der YOLOv10 ist deutlich geringer. YOLOv10x arbeitet mit 160,4 B FLOPs im Vergleich zu den massiven 281,9 B FLOPs von YOLOXx und übertrifft es dennoch in der Genauigkeit (54,4 gegenüber 51,1 mAP).
  3. Inferenzgeschwindigkeit: Durch den Wegfall von NMS und die optimierte Architektur erreicht YOLOv10 eine geringere Latenzzeit. Die T4 TensorRT Benchmarks zeigen, dass YOLOv10x mit 12,2ms deutlich schneller ist als YOLOXx mit 16,1ms.

Ideale Anwendungsfälle

YOLOv10: Der moderne Standard

YOLOv10 ist die bevorzugte Wahl für die meisten neuen Entwicklungsprojekte, vor allem für solche, die es erfordern:

  • Edge AI-Einsatz: Sein geringer Speicherbedarf und seine hohe Effizienz machen ihn perfekt für Geräte wie den Raspberry Pi oder NVIDIA Jetson.
  • Echtzeit-Anwendungen: Systeme, die eine sofortige Rückmeldung erfordern, wie z. B. autonomes Fahren, Robotik und Videoanalyse, profitieren von der niedrigen Latenzzeit NMS.
  • Schnelle Entwicklung: Das Ultralytics ermöglicht eine schnelle Datensatzverwaltung, Ausbildung und Einsatz über das ultralytics Package.

YOLOX: Vermächtnis und Forschung

YOLOX bleibt relevant für:

  • Akademische Forschung: Forscher, die sich mit der Entwicklung ankerfreier Detektoren oder spezieller Label-Zuweisungsstrategien wie SimOTA befassen, verwenden YOLOX häufig als Basis.
  • Bestehende Systeme: Bestehende Produktionspipelines, die bereits für YOLOX optimiert sind, können weiterhin verwendet werden, wenn die Kosten für ein Upgrade die Leistungssteigerung übersteigen.

Verwendung von YOLOv10 mit Ultralytics

Einer der wichtigsten Vorteile von YOLOv10 ist seine Benutzerfreundlichkeit. DiePython Ultralytics vereinfacht den gesamten Arbeitsablauf, vom Laden vortrainierter Gewichte bis hin zum Training mit benutzerdefinierten Daten.

Nachfolgend finden Sie ein Beispiel für die Durchführung von Vorhersagen und das Training eines YOLOv10 :

from ultralytics import YOLO

# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")

# Run inference on an image
results = model.predict("path/to/image.jpg")

# Train the model on a custom dataset (COCO format)
model.train(data="coco8.yaml", epochs=100, imgsz=640)

Effizienz der Ausbildung

DieYOLO Ultralytics sind für ihre Trainingseffizienz bekannt und benötigen oft weniger CUDA als ältere Architekturen oder Transformator-basierte Modelle. Dies ermöglicht das Training größerer Stapel auf Standard-GPUs.

Fazit

YOLOX spielte eine entscheidende Rolle bei der Verbreitung der ankerlosen Detektion, YOLOv10 den nächsten Sprung nach vorn in der Computer-Vision-Technologie dar. Mit seiner NMS Architektur, dem überragenden Verhältnis zwischen Genauigkeit und Rechenleistung und der nahtlosen Integration in das robuste Ultralytics bietet YOLOv10 ein überzeugendes Paket für Entwickler und Forscher gleichermaßen.

Für diejenigen, die eine hochmoderne Objekterkennung einsetzen möchten, bietet YOLOv10 die notwendige Geschwindigkeit und Präzision. Entwickler, die an noch umfassenderen Fähigkeiten interessiert sind, wie z.B. Pose Estimation oder orientierte Bounding Boxes, könnten auch das vielseitige YOLO11 oder das weit verbreitete YOLOv8.


Kommentare