Zum Inhalt springen

YOLOX vs. YOLOv10: Vergleich zwischen ankerfreier und NMS Echtzeit-Objekterkennung

Die Entwicklung von Echtzeit-Computervisionsmodellen war von bedeutenden architektonischen Sprüngen geprägt. Zwei entscheidende Meilensteine auf diesem Weg sind YOLOX und YOLOv10. YOLOX wurde 2021 veröffentlicht und schaffte durch die Einführung eines hochwirksamen ankerfreien Designs erfolgreich den Brückenschlag zwischen akademischer Forschung und industrieller Anwendung. Drei Jahre später YOLOv10 das Feld, indem es die Notwendigkeit der Nicht-Maximal-Unterdrückung (NMS) während der Nachbearbeitung beseitigte und damit die Grenzen von Effizienz und Geschwindigkeit verschob.

Dieser umfassende technische Vergleich untersucht die Architekturen, Leistungskennzahlen und idealen Anwendungsfälle für beide Modelle und liefert Erkenntnisse, die Ihnen bei der Auswahl des richtigen Tools für Ihr nächstes Objekterkennungsprojekt helfen.

Modellursprünge und Metadaten

Das Verständnis der Ursprünge dieser Modelle liefert den Kontext für ihre architektonischen Entscheidungen und die vorgesehenen Einsatzumgebungen.

YOLOX-Details
Autoren: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li und Jian Sun
Organisation: Megvii
Datum: 18.07.2021
Arxiv: https://arxiv.org/abs/2107.08430
GitHub: https://github.com/Megvii-BaseDetection/YOLOX
Dokumente: https://yolox.readthedocs.io/en/latest/

Erfahren Sie mehr über YOLOX

YOLOv10
Autoren: Ao Wang, Hui Chen, Lihao Liu, Kai Chen, Zijia Lin, Jungong Han und Guiguang Ding
Organisation: Tsinghua-Universität
Datum: 23.05.2024
Arxiv: https://arxiv.org/abs/2405.14458
GitHub: https://github.com/THU-MIG/yolov10
Dokumente: ultralytics

Erfahren Sie mehr über YOLOv10

Architektonische Innovationen

Die wesentlichen Unterschiede zwischen YOLOX und YOLOv10 in der Art und Weise, wie sie mit Bounding-Box-Vorhersagen und der Nachbearbeitung umgehen.

YOLOX: Wegweisendes Design ohne Verankerung

YOLOX sorgte für Aufsehen, indem es die YOLO auf eine ankerfreie Architektur umstellte. Durch die Vorhersage des Zentrums eines Objekts anstelle der Verwendung vordefinierter Ankerboxen reduzierte YOLOX die Anzahl der für benutzerdefinierte Datensätze erforderlichen Designparameter und heuristischen Anpassungen drastisch. Darüber hinaus führte es einen entkoppelten Kopf ein, der Klassifizierungs- und Regressionsaufgaben in unterschiedliche Pfade aufteilt. Dieser Ansatz löste den Konflikt zwischen der Identifizierung eines Objekts und der Bestimmung seines Standorts, was zu einer deutlichen Steigerung der Konvergenzgeschwindigkeit und -genauigkeit führte.

YOLOv10: Die NMS-freie Revolution

YOLOX vereinfachte zwar den Erkennungskopf, war jedoch weiterhin auf NMS angewiesen, NMS redundante Bounding-Box-Vorhersagen herauszufiltern. YOLOv10 diesen grundlegenden Engpass YOLOv10 . Durch die Verwendung konsistenter doppelter Zuweisungen während des Trainings YOLOv10 eine native End-to-End-Erkennung. Es verwendet während des Trainings einen One-to-Many-Kopf, um reichhaltige Überwachungssignale sicherzustellen, während es während der Inferenz einen One-to-One-Kopf verwendet, um die endgültigen Vorhersagen direkt auszugeben. Dieses ganzheitliche, auf Effizienz und Genauigkeit ausgerichtete Design macht NMS überflüssig und reduziert die Inferenzlatenz auf eingebetteten Chips erheblich.

Die Auswirkungen der Entfernung von NMS

Die Nicht-Maximalunterdrückung ist oft eine komplexe Operation, die auf Neural Processing Units (NPUs) beschleunigt werden muss. Durch deren Entfernung YOLOv10 die nahtlose Ausführung des gesamten Modellgraphen auf spezialisierter Hardware, wodurch die Kompatibilität mit Optimierungsframeworks wie OpenVINO und TensorRT.

Leistungskennzahlen und Vergleich

Bei der Bewertung von Modellen für die Produktion ist es entscheidend, Genauigkeit und Rechenaufwand gegeneinander abzuwägen. Die folgende Tabelle veranschaulicht die Kompromisse zwischen verschiedenen Skalierungen von YOLOX und YOLOv10.

ModellGröße
(Pixel)
mAPval
50-95
Geschwindigkeit
CPU ONNX
(ms)
Geschwindigkeit
T4 TensorRT10
(ms)
Parameter
(M)
FLOPs
(B)
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
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

Analyse der Daten

Die Kennzahlen zeigen deutlich den Generationssprung YOLOv10. So erreicht YOLOv10 beispielsweise eine durchschnittliche Genauigkeit von 46,7 % im Vergleich zu 46,9 % bei YOLOX-m, benötigt dafür jedoch weniger als ein Drittel der Parameter (7,2 Mio. gegenüber 25,3 Mio.) und deutlich weniger FLOPs. Darüber hinaus steigert das Spitzenmodell YOLOv10 die mAP 54,4 % und ist damit für anspruchsvolle Genauigkeitsaufgaben äußerst wettbewerbsfähig, während es gleichzeitig schneller bleibt als die ältere YOLOX-x-Architektur.

Der Vorteil des Ultralytics-Ökosystems

Während YOLOX weiterhin eine robuste Open-Source-Forschungsimplementierung bleibt, YOLOv10 die Einführung von YOLOv10 sofortigen Zugriff auf das gut gepflegte Ökosystem von Ultralytics. Die Wahl eines Ultralytics Modells gewährleistet eine optimierte Benutzererfahrung, die sich durch eine einfache API und eine umfangreiche Dokumentation auszeichnet.

Entwickler profitieren stark von den Speicheranforderungen des Frameworks. Das Training Ultralytics verbraucht in der Regel weit weniger CUDA als leistungsintensive, auf Transformatoren basierende Alternativen wie RT-DETR. Dieser effiziente Trainings-Footprint ermöglicht größere Batch-Größen auf handelsüblicher Hardware und beschleunigt so den Zeitaufwand von der Datenerfassung bis zur Modellbereitstellung. Darüber hinaus bietet das Framework eine unübertroffene Vielseitigkeit, sodass Benutzer mit minimalen Codeänderungen nahtlos zwischen Objekterkennung, Instanzsegmentierung und Posenschätzung wechseln können.

Beispiel für Training und Inferenz

Die einheitliche API macht die Validierung von Ideen unglaublich schnell. Der folgende Ausschnitt zeigt, wie einfach Sie ein YOLOv10 mit PyTorch trainieren und bereitstellen können. PyTorch Backend trainieren und einsetzen können:

from ultralytics import YOLO

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

# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on a sample image
predictions = model.predict("https://ultralytics.com/images/bus.jpg")

# Export the model for edge deployment
model.export(format="engine", half=True)

Durch die Nutzung integrierter Exportroutinen, die Konvertierung von Modellen in Formate wie TensorRT oder ONNX erfordert nur eine einzige Zeile Code, wodurch komplexe Kompilierungshürden vollständig umgangen werden.

Ideale Anwendungsfälle und Einsatzszenarien

Die Wahl zwischen diesen Architekturen hängt weitgehend von Ihren Hardwarebeschränkungen und spezifischen Domänenanforderungen ab.

Echtzeit-Videoanalyse

Für Anwendungen, die eine extrem niedrige Latenz erfordern, wie autonomes Fahren oder Echtzeit-Verkehrsüberwachung, YOLOv10 die beste Wahl. Sein durchgängiges NMS Design gewährleistet deterministische Ausführungszeiten, was für Sicherheitssysteme, bei denen variable Latenzen bei der Nachbearbeitung nicht toleriert werden können, von entscheidender Bedeutung ist. Die Modelle erreichen auf Geräten wie der NVIDIA problemlos hohe Bildraten.

Akademische Grundlagen und Edge-Mikrocontroller

YOLOX ist nach wie vor in akademischen Umgebungen von Wert, in denen Forscher eine saubere, entkoppelte Basislinie für Experimente mit Strategien zur Labelzuweisung benötigen. Darüber hinaus kann das außergewöhnlich kleine YOLOX-Nano (unter 1 Million Parameter) auf stark eingeschränkte Edge-Mikrocontroller mit einem Speicher von nur wenigen Kilobyte komprimiert werden, vorausgesetzt, die Hardware unterstützt Standard-Faltungsoperationen.

Der ultimative Standard: Ultralytics

Während YOLOv10 durch den Wegfall NMS einen enormen Sprung nach vorne YOLOv10 , schreitet die Entwicklung im Bereich der Bildverarbeitung rasant voran. Entwicklern, die heute die absolut beste Leistung ihrer Klasse erzielen möchten, empfehlen wir dringend, sich mit YOLO26 zu befassen.

YOLO26 wurde als neuester Standard im Bereich der Bildverarbeitungs-KI veröffentlicht und baut auf den grundlegenden Ideen seiner Vorgänger auf, die es noch weiter verbessert. Es bietet die ultimative Leistungsbalance und unterstützt nativ Erkennung, Segmentierung, Pose und orientierte Begrenzungsrahmen.

Hier sind die Gründe, warum YOLO26 die empfohlene Wahl für moderne Computer-Vision-Pipelines ist:

  • End-to-End-Design NMS: Aufbauend auf den Durchbrüchen von YOLOv10 ist YOLO26 von Haus aus End-to-End-fähig und garantiert schnellere, deterministische Inferenzzeiten ohne Nachbearbeitungsengpässe.
  • Bis zu 43 % schnellere CPU : Es ist speziell für Edge-Computing optimiert und gewährleistet eine außergewöhnliche Leistung auf mobilen Prozessoren und Geräten ohne diskrete GPUs.
  • MuSGD-Optimierer: Inspiriert durch das Training großer Sprachmodelle (insbesondere Moonshot AI's Kimi K2) nutzt YOLO26 eine Mischung aus SGD Muon für ein unglaublich stabiles Training und eine schnelle Konvergenz.
  • ProgLoss + STAL: Diese fortschrittlichen Verlustfunktionen sorgen für deutliche Verbesserungen bei der Erkennung kleiner Objekte, was für anspruchsvolle Bereiche wie Luftbildaufnahmen und Drohnennavigation von entscheidender Bedeutung ist.
  • DFL-Entfernung: Durch die Entfernung von Distribution Focal Loss vereinfacht YOLO26 den Modellgraphen für einen reibungslosen Export auf Edge- und Low-Power-Geräte.
  • Aufgabenspezifische Verbesserungen: Unabhängig davon, ob Sie die Residual Log-Likelihood Estimation (RLE) für die Posenschätzung oder einen speziellen Winkelverlust für OBB verwenden, ist YOLO26 für alle wichtigen Bildverarbeitungsaufgaben optimiert.

Entwickler, die bereit sind, ihre Pipelines mit den effizientesten verfügbaren Schulungs- und Bereitstellungstools zu aktualisieren, können durch den Umstieg auf die Ultralytics und die Nutzung von YOLO26 sicherstellen, dass sie auf dem neuesten Stand der künstlichen Intelligenz bleiben. Benutzer, die an älteren, aber stabilen Architekturen interessiert sind, können auch YOLO11 oder YOLOv8 an, die umfangreiche Community-Unterstützung und bewährte Robustheit bieten.


Kommentare