YOLOX vs. YOLOv10: Ein technischer Vergleich
Der Bereich der Objekterkennung hat eine rasante Entwicklung erlebt, die durch den Bedarf an Modellen angetrieben wird, die eine hohe Genauigkeit mit Echtzeit-Inferenzgeschwindigkeit verbinden. YOLOX und YOLOv10 stellen zwei wichtige Meilensteine in dieser Zeitachse dar. YOLOX, das 2021 veröffentlicht wurde, hat die YOLO durch die Einführung einer ankerfreien Architektur wiederbelebt, während YOLOv10, das 2024 veröffentlicht wurde, einen neuen Standard setzt, indem es die Notwendigkeit der Non-Maximum SuppressionNMS) eliminiert und damit die Inferenzlatenz deutlich reduziert.
Diese umfassende Analyse untersucht die architektonischen Innovationen, Leistungskennzahlen und idealen Anwendungsfälle für beide Modelle und hilft Entwicklern und Forschern, das beste Tool für ihre Computer-Vision-Anwendungen auszuwählen.
YOLOX: Der verankerungsfreie Pionier
YOLOX wurde 2021 von Megvii eingeführt und markierte eine Abkehr von den ankerbasierten Designs, die frühere YOLO dominierten. Durch die Einführung eines verankerungsfreien Mechanismus und die Integration fortschrittlicher Techniken wie entkoppelte Köpfe und SimOTA erreichte YOLOX eine wettbewerbsfähige Leistung und schloss die Lücke zwischen Forschungsrahmen und industriellen Anwendungen.
Technische Details:
Autoren: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, and Jian Sun
Organisation:Megvii
Datum: 2021-07-18
Arxiv:https://arxiv.org/abs/2107.08430
GitHub:https://github.com/Megvii-BaseDetection/YOLOX
Docs:https://yolox.readthedocs.io/en/latest/
Architektur und Hauptmerkmale
YOLOX unterscheidet sich von seinen Vorgängern wie YOLOv4 und YOLOv5 ab, indem es mehrere wichtige architektonische Änderungen vornimmt, um die Generalisierung zu verbessern und die Trainingspipeline zu vereinfachen.
- Ankerfreier Mechanismus: Durch den Wegfall der vordefinierten Ankerboxen entfällt bei YOLOX die Notwendigkeit einer manuellen Ankerabstimmung, wodurch das Modell robuster gegenüber unterschiedlichen Objektformen wird und die Anzahl der Entwurfsparameter reduziert wird.
- Entkoppelter Kopf: Im Gegensatz zu gekoppelten Köpfen, die sich Merkmale zur Klassifizierung und Lokalisierung teilen, verwendet YOLOX einen entkoppelten Kopf. Durch diese Trennung kann jede Aufgabe ihre Parameter unabhängig optimieren, was zu einer schnelleren Konvergenz und einer besseren Gesamtgenauigkeit führt.
- SimOTA Etiketten-Zuweisung: YOLOX führte SimOTA (Simplified Optimal Transport Assignment) ein, eine dynamische Strategie für die Label-Zuweisung, die das Zuweisungsproblem als optimale Transportaufgabe behandelt. Diese Methode passt sich effektiv an unterschiedliche Objektgrößen an und verbessert die Stabilität des Trainings.
- Starke Augmentierungen: Die Trainingspipeline enthält MixUp und Mosaic-Datenerweiterungen, die zum Zeitpunkt ihrer Veröffentlichung entscheidend für die Erzielung von Spitzenergebnissen waren.
Stärken und Schwächen
Stärken:
- Hohe Genauigkeit: YOLOX liefert starke mAP auf dem COCO , insbesondere mit seinen größeren Varianten wie YOLOX-x.
- Vereinfachtes Design: Der ankerfreie Ansatz reduziert heuristische Hyperparameter und vereinfacht so die Modellkonfiguration.
- Legacy-Unterstützung: Es handelt sich um ein etabliertes Modell, das in verschiedenen akademischen und industriellen Umgebungen umfassend getestet wurde.
Schwächen:
- Höhere Latenz: Im Vergleich zu modernen Detektoren ist YOLOX auf die Nachbearbeitung NMS angewiesen, die bei Anwendungen mit extrem geringer Latenzzeit einen Engpass darstellen kann.
- Rechenkosten: Um eine ähnliche Genauigkeit zu erreichen, sind im Allgemeinen mehr FLOPs und Parameter erforderlich als bei neueren Modellen.
- Integration: Obwohl quelloffen, fehlt ihm die nahtlose Integration, die im Ultralytics zu finden ist, was möglicherweise einen höheren Aufwand für die Bereitstellungspipelines erfordert.
YOLOv10: Ende-zu-Ende-Detektion in Echtzeit
YOLOv10 wurde im Mai 2024 von Forschern der Tsinghua-Universität veröffentlicht und stellt einen Paradigmenwechsel in der Echtzeit-Objekterkennung dar. Durch den Wegfall der Non-Maximum SuppressionNMS) und die Optimierung der Modellkomponenten auf Effizienz erreicht YOLOv10 eine überragende Geschwindigkeit und Genauigkeit bei deutlich geringerem Rechenaufwand.
Technische Details:
Autoren: Ao Wang, Hui Chen, Lihao Liu, et al.
Organisation: Tsinghua University
Datum: 2024-05-23
Arxiv:https://arxiv.org/abs/2405.14458
GitHub:https://github.com/THU-MIG/yolov10
Docsultralytics
Architektur und Innovation
YOLOv10 konzentriert sich auf ein ganzheitliches, auf Effizienz und Genauigkeit ausgerichtetes Modelldesign, das sowohl die Architektur als auch die Nachbearbeitungspipeline berücksichtigt.
- NMS Ausbildung: Das bahnbrechendste Merkmal ist die Verwendung konsistenter dualer Zuweisungen. Diese Strategie ermöglicht es, das Modell mit umfangreichen Überwachungssignalen zu trainieren und gleichzeitig einen Eins-zu-Eins-Abgleich während der Inferenz zu ermöglichen. Dadurch entfällt die Notwendigkeit von NMS, einem häufigen Latenz-Engpass beim Einsatz.
- Ganzheitliches Modelldesign: YOLOv10 verwendet leichtgewichtige Klassifizierungsköpfe, räumlich-kanalentkoppeltes Downsampling und ranggesteuertes Blockdesign. Diese Optimierungen reduzieren die Rechenredundanz und die Speichernutzung ohne Leistungseinbußen.
- Large-Kernel-Faltung: Die Architektur verwendet selektiv Large-Kernel-Faltungen in der Tiefe, um das rezeptive Feld zu erweitern und die Erkennung kleiner Objekte zu verbessern.
Stärken und Vorteile
Stärken:
- Effizienz auf dem neuesten Stand der Technik: YOLOv10 bietet einen unübertroffenen Kompromiss zwischen Geschwindigkeit und Genauigkeit. Das NMS Design senkt die End-to-End-Latenz erheblich.
- Parameter-Effizienz: Im Vergleich zu früheren Generationen wird eine höhere Genauigkeit mit weniger Parametern erreicht, was sie ideal für Edge AI-Geräte wie den Raspberry Pi macht.
- Ultralytics : Durch die Zugehörigkeit zum Ultralytics wird sichergestellt, dass es einfach zu bedienen und gut dokumentiert ist und verschiedene Exportformate unterstützt wie ONNX und TensorRT.
Erfahren Sie mehr über YOLOv10
Leistungsanalyse
In der folgenden Tabelle wird die Leistung von YOLOX und YOLOv10 auf dem COCO verglichen. Die Metriken zeigen, dass das neuere Modell deutlich effizienter ist.
| 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 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
Analyse: Die Daten belegen eindeutig die Überlegenheit von YOLOv10 bei der Effizienz. So erreicht YOLOv10 beispielsweise eine deutlich höhere mAP von 46,7 % im Vergleich zu YOLOX-s (40,5 %), wobei weniger Parameter verwendet werden (7,2 M gegenüber 9,0 M). YOLOv10 übertrifft YOLOX-x bei der Genauigkeit (54,4 % gegenüber 51,1 %) und ist dabei wesentlich schneller (12,2 ms gegenüber 16,1 ms) und benötigt fast die Hälfte der Parameter (56,9 M gegenüber 99,1 M). Diese Effizienz macht YOLOv10 zu einer weitaus besseren Wahl für Echtzeitsysteme.
Einblick in die Effizienz
Durch den Wegfall der NMS in YOLOv10 sind die Inferenzzeiten stabiler und vorhersehbarer - ein entscheidender Faktor für sicherheitskritische Anwendungen wie autonome Fahrzeuge und Industrierobotik.
Trainingsmethoden und Ökosystem
Während YOLOX fortschrittliche Augmentationstechniken einführte, die heute zum Standard gehören, profitiert YOLOv10 von der ausgereiften und benutzerfreundlichen Ultralytics .
- Benutzerfreundlichkeit: Ultralytics sind für ihre schlanke Python bekannt. Das Training eines YOLOv10 erfordert nur wenige Zeilen Code, während die Verwendung von YOLOX oft komplexere Konfigurationsdateien und Abhängigkeitsmanagement erfordert.
- Gepflegtes Ökosystem: YOLOv10 ist vollständig in das Ultralytics integriert. Dies gewährt den Benutzern Zugang zu Funktionen wie der automatischen Abstimmung von Hyperparametern, der nahtlosen Verwaltung von Datensätzen über Ultralytics Explorer und vielfältigen Einsatzoptionen.
- Speichereffizienz: Ultralytics sorgen dafür, dass Modelle wie YOLOv10 beim Training weniger CUDA verbrauchen als ältere Architekturen oder schwere Transformer-Modelle, wodurch größere Stapelgrößen auf Consumer-GPUs möglich sind.
Code-Beispiel: Verwendung von YOLOv10
Das folgende Beispiel zeigt, wie einfach es für Entwickler ist, ein vortrainiertes YOLOv10 zu laden und mithilfe der Ultralytics Inferenzen auf einem Bild durchzuführen.
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Run inference on a local image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
Ideale Anwendungsfälle
Beide Modelle haben ihre Berechtigung, aber die moderne Architektur des YOLOv10 macht ihn für ein breiteres Spektrum an modernen Anwendungen geeignet.
- Edge AI und IoT: Die geringe Anzahl von Parametern und die hohe Geschwindigkeit von YOLOv10 machen es perfekt für den Einsatz auf Geräten mit begrenzter Rechenleistung, wie NVIDIA Jetson oder Smart-Kameras.
- Hochgeschwindigkeitsfertigung: In der industriellen Inspektion, wo sich Förderbänder schnell bewegen, sorgt die NMS Inferenz von YOLOv10 dafür, dass die Objekterkennung mit den Produktionslinien ohne Engpässe Schritt hält.
- Überwachung und Sicherheit: Bei der gleichzeitigen Analyse mehrerer Videoströme ermöglicht die Rechenleistung von YOLOv10 im Vergleich zu YOLOX eine höhere Dichte an Streams pro Server.
- Forschungsgrundlagen: YOLOX bleibt eine wertvolle Grundlage für Forscher, die die Entwicklung von ankerfreien Detektoren und optimalen Transportzuweisungsmethoden untersuchen.
Fazit
YOLOX spielte eine entscheidende Rolle bei der Verbreitung der ankerlosen Detektion, YOLOv10 als die überlegene Wahl für moderne Entwicklungen hervorhebt. Seine innovative NMS Architektur in Kombination mit dem umfassenden Ultralytics bietet eine leistungsstarke Lösung, die sowohl schneller als auch genauer ist.
Für Entwickler, die ein optimales Gleichgewicht zwischen Leistung, Benutzerfreundlichkeit und langfristigem Support suchen, ist YOLOv10 sehr zu empfehlen. Für diejenigen, die noch mehr Vielseitigkeit bei Aufgaben wie Posenschätzung oder Instanzsegmentierung benötigen, ist das robuste YOLO11 Modell eine hervorragende Alternative innerhalb desselben benutzerfreundlichen Rahmens dar.
Wenn Sie sich für Ultralytics entscheiden, stellen Sie sicher, dass Ihre Projekte auf einem Fundament aus Spitzenforschung, aktiver Unterstützung durch die Gemeinschaft und produktionsreifer Zuverlässigkeit aufgebaut sind.