YOLOX im Vergleich zu YOLOv10#
Die Entwicklung von Echtzeitmodellen für Computer Vision war von bedeutenden Architektursprüngen geprägt. Zwei entscheidende Meilensteine auf diesem Weg sind YOLOX und YOLOv10. YOLOX wurde 2021 veröffentlicht und schloss mit einem äußerst effektiven anchor-freien Design erfolgreich die Lücke zwischen akademischer Forschung und industrieller Anwendung. Drei Jahre später revolutionierte YOLOv10 das Feld, indem es die Notwendigkeit der Unterdrückung nicht maximaler Werte (NMS) bei der Nachbearbeitung beseitigte und so die Grenzen von Effizienz und Geschwindigkeit verschob.
Dieser umfassende technische Vergleich untersucht die Architekturen, Leistungskennzahlen und idealen Anwendungsfälle beider Modelle und bietet Einblicke, die dir bei der Auswahl des passenden Werkzeugs für dein nächstes Objekterkennungsprojekt helfen.
Ursprung und Metadaten der Modelle#
Wenn du die Ursprünge dieser Modelle kennst, kannst du ihre Architekturentscheidungen und vorgesehenen Einsatzumgebungen besser einordnen.
Details zu YOLOX
- Autoren: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li und Jian Sun
- Organisation: Megvii
- Datum: 2021-07-18
- Arxiv: https://arxiv.org/abs/2107.08430
- GitHub: https://github.com/Megvii-BaseDetection/YOLOX
- Dokumentation: https://github.com/Megvii-BaseDetection/YOLOX/tree/main/docs
Details zu YOLOv10
- Autoren: Ao Wang, Hui Chen, Lihao Liu, Kai Chen, Zijia Lin, Jungong Han und Guiguang Ding
- Organisation: Tsinghua-Universität
- Datum: 2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/yolov10
- Dokumentation: https://docs.ultralytics.com/models/yolov10
Architektonische Innovationen#
Die wesentlichen Unterschiede zwischen YOLOX und YOLOv10 liegen darin, wie die Modelle Vorhersagen für Begrenzungsrahmen und die Nachbearbeitung handhaben.
YOLOX: Wegweisendes anchor-freies Design#
YOLOX sorgte für Aufsehen, als das Modell die YOLO-Familie auf eine anchor-freie Architektur umstellte. Statt sich auf vordefinierte Ankerrahmen zu stützen, sagt YOLOX den Mittelpunkt eines Objekts voraus. Dadurch verringerte sich die Zahl der Entwurfsparameter und der für benutzerdefinierte Datensätze erforderlichen heuristischen Abstimmungen erheblich. Außerdem führte das Modell einen entkoppelten Kopf ein, der Klassifizierung und Regression in getrennte Pfade aufteilt. So wurde der Konflikt zwischen der Frage, was ein Objekt ist, und der Bestimmung, wo es sich befindet, gelöst. Das führte zu einer spürbar schnelleren Konvergenz und höheren Präzision.
YOLOv10: Die Revolution ohne NMS#
YOLOX vereinfachte zwar den Erkennungskopf, stützte sich aber weiterhin auf NMS, um überflüssige Begrenzungsrahmenvorhersagen herauszufiltern. YOLOv10 ging diesen grundlegenden Engpass an. Durch konsistente duale Zuweisungen während des Trainings erreicht YOLOv10 eine native End-to-End-Erkennung. Beim Training kommt ein One-to-Many-Kopf zum Einsatz, um reichhaltige Lernsignale sicherzustellen, während bei der Inferenz ein One-to-One-Kopf die endgültigen Vorhersagen direkt ausgibt. Dieses ganzheitliche, auf Effizienz und Genauigkeit ausgerichtete Design macht NMS vollständig überflüssig und verringert die Inferenzlatenz auf eingebetteten Chips deutlich.
Die Unterdrückung nicht maximaler Werte ist auf neuronalen Verarbeitungseinheiten (NPUs) oft nur schwer zu beschleunigen. Durch ihren Wegfall kann YOLOv10 den gesamten Modellgraphen reibungslos auf spezialisierter Hardware ausführen. Das verbessert die Kompatibilität mit Optimierungsframeworks wie OpenVINO und TensorRT erheblich.
Leistungskennzahlen und Vergleich#
Bei der Auswahl von Modellen für den Produktiveinsatz ist es entscheidend, Genauigkeit und Rechenaufwand gegeneinander abzuwägen. Die folgende Tabelle veranschaulicht die Kompromisse zwischen den verschiedenen Größen von YOLOX und YOLOv10.
| Modell | Größe (Pixel) | mAPval 50-95 | Geschwindigkeit CPU ONNX (ms) | Geschwindigkeit T4 TensorRT10 (ms) | Parameter (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
| YOLOv10n | 640 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 160.4 |
Die Daten analysieren#
Die Kennzahlen belegen eindeutig den Generationssprung von YOLOv10. YOLOv10-S erzielt beispielsweise eine mittlere durchschnittliche Präzision von 46,3 % und liegt damit knapp unter YOLOX-m mit 46,9 %. Dafür benötigt YOLOv10-S 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-X den mAP auf 54,4 %. Damit ist es für anspruchsvolle Genauigkeitsaufgaben sehr konkurrenzfähig und zugleich schneller als die ältere YOLOX-x-Architektur.
Die Vorteile des Ultralytics-Ökosystems#
YOLOX ist zwar weiterhin eine solide Open-Source-Implementierung für die Forschung, doch mit YOLOv10 erhältst du sofort Zugang zum gut gepflegten Ultralytics-Ökosystem. Mit einem von Ultralytics unterstützten Modell profitierst du von einer reibungslosen Benutzererfahrung, einer einfachen API und einer umfassenden Dokumentation.
Entwickler profitieren von den geringen Speicheranforderungen des Frameworks: Beim Training benötigen Ultralytics-Modelle in der Regel deutlich weniger CUDA-Speicher als umfangreiche Transformer-basierte Alternativen wie RT-DETR. Dank dieses effizienten Speicherbedarfs kannst du auf handelsüblicher Hardware größere Stapelgrößen verwenden und so die Zeit von der Datenerfassung bis zur Bereitstellung des Modells verkürzen. Darüber hinaus bietet das Framework eine unübertroffene Vielseitigkeit: Mit minimalen Codeänderungen kannst du nahtlos zwischen Objekterkennung, Instanzsegmentierung und Posenschätzung wechseln.
Beispiel für Training und Inferenz#
Mit der einheitlichen API kannst du Ideen unglaublich schnell überprüfen. Das folgende Codebeispiel zeigt, wie einfach du ein YOLOv10-Modell mit dem PyTorch-Backend trainieren und bereitstellen kannst:
from ultralytics import YOLO
# Lade ein vortrainiertes YOLOv10-Nano-Modell
model = YOLO("yolov10n.pt")
# Das Modell mit dem COCO8-Datensatz trainieren
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Inferenz mit einem Beispielbild ausführen
predictions = model.predict("https://ultralytics.com/images/bus.jpg")
# Das Modell für die Bereitstellung auf Edge-Geräten exportieren
model.export(format="engine", quantize=16)Dank integrierter Exportroutinen genügt eine einzige Codezeile, um Modelle in Formate wie TensorRT oder ONNX zu konvertieren. Aufwendige Kompilierungshürden entfallen vollständig.
Ideale Anwendungsfälle und Einsatzszenarien#
Welche dieser Architekturen die richtige ist, hängt vor allem von deinen Hardwarebeschränkungen und den spezifischen Anforderungen deines Anwendungsbereichs ab.
Videoanalyse in Echtzeit#
Für Anwendungen mit extrem niedriger Latenz, etwa autonomes Fahren oder die Verkehrsüberwachung in Echtzeit, ist YOLOv10 die bessere Wahl. Das End-to-End-Design ohne NMS gewährleistet vorhersagbare Ausführungszeiten. Das ist entscheidend für Sicherheitssysteme, die keine schwankende Latenz bei der Nachbearbeitung tolerieren. Auf Geräten wie der NVIDIA-Jetson-Serie erreichen die Modelle problemlos hohe Bildraten.
Akademische Referenzmodelle und Edge-Mikrocontroller#
YOLOX ist nach wie vor nützlich in der akademischen Forschung, wenn ein klares Referenzmodell mit entkoppeltem Kopf benötigt wird, um mit Strategien zur Labelzuweisung zu experimentieren. Außerdem lässt sich das außergewöhnlich kleine YOLOX-Nano mit weniger als einer Million Parametern auf stark beschränkten Edge-Geräten einsetzen, deren Speicher begrenzt ist – vorausgesetzt, die Hardware unterstützt standardmäßige Faltungsoperationen.
Der neue Maßstab: Ultralytics YOLO26#
YOLOv10 machte mit dem Wegfall von NMS zwar einen enormen Sprung, doch das Feld der Computer Vision entwickelt sich rasant weiter. Entwicklern, die heute eine erstklassige Leistung erzielen wollen, empfehlen wir dringend, YOLO26 auszuprobieren.
Als neuer Standard für KI im Bereich Computer Vision baut YOLO26 auf den grundlegenden Ideen seiner Vorgänger auf und hebt sie auf ein neues Niveau. Das Modell bietet die optimale Leistungsbalance und unterstützt nativ Erkennung, Segmentierung, Posenschätzung und orientierte Begrenzungsrahmen.
Darum ist YOLO26 die empfohlene Wahl für moderne Computer-Vision-Pipelines:
- End-to-End-Design ohne NMS: Aufbauend auf den Durchbrüchen von YOLOv10 unterstützt YOLO26 native End-to-End-Inferenz (
nms=False). Das ermöglicht schnellere, vorhersagbare Inferenzzeiten ohne die Engpässe der NMS-Nachbearbeitung. - Bis zu 43 % schnellere CPU-Inferenz: YOLO26 ist speziell für Edge Computing optimiert und bietet herausragende Leistung auf mobilen Prozessoren und Geräten ohne separate GPU.
- MuSGD-Optimierer: Inspiriert vom Training großer Sprachmodelle, insbesondere Kimi K2 von Moonshot AI, verwendet YOLO26 eine Kombination aus SGD und Muon, um äußerst stabiles Training und schnelle Konvergenz zu ermöglichen.
- ProgLoss + STAL: Diese fortschrittlichen Verlustfunktionen verbessern die Erkennung kleiner Objekte deutlich. Das ist für anspruchsvolle Bereiche wie Luftaufnahmen und die Navigation von Drohnen entscheidend.
- Wegfall von DFL: Durch den Wegfall des Distribution Focal Loss vereinfacht YOLO26 den Modellgraphen und erleichtert so den Export auf Edge-Geräte und stromsparende Geräte.
- Aufgabenspezifische Verbesserungen: Ob du Residual Log-Likelihood Estimation (RLE) für die Posenschätzung oder einen speziellen Winkelloss für OBB verwendest – YOLO26 ist für jede wichtige Aufgabe der Computer Vision fein abgestimmt.
Wenn du deine Pipelines mit den effizientesten verfügbaren Werkzeugen für Training und Bereitstellung aufrüsten möchtest, kannst du mit dem Wechsel zur Ultralytics Platform und dem Einsatz von YOLO26 an der Spitze der künstlichen Intelligenz bleiben. Wenn du dich für ältere, aber stabile Architekturen interessierst, kannst du auch YOLO11 oder YOLOv8 nutzen. Beide bieten eine große Community und haben sich in der Praxis bewährt.