YOLO YOLOX: Ein tiefer Einblick in die ankerfreie Objekterkennung
Die Entwicklung der Echtzeit-Objekterkennung war geprägt von einer Abkehr von komplexen ankerbasierten Systemen hin zu optimierten ankerfreien Architekturen. Zwei wichtige Meilensteine auf diesem Weg sind YOLO, entwickelt von der Alibaba Group, und YOLOX, entwickelt von Megvii. Beide Modelle stellen traditionelle Designparadigmen in Frage und bieten einzigartige Ansätze für die Merkmalsextraktion, die Zuweisung von Labels und die Trainingseffizienz.
Dieser detaillierte Vergleich untersucht ihre architektonischen Innovationen, Leistungskennzahlen und idealen Anwendungsfälle, um Ihnen bei der Entscheidung zu helfen, welches Modell Ihren spezifischen Anforderungen im Bereich Computer Vision entspricht. Beide Modelle sind zwar von historischer Bedeutung, wir werden jedoch auch untersuchen, wie moderne Lösungen wie Ultralytics diese Fortschritte zu einem robusteren, produktionsreifen Ökosystem zusammengefasst haben.
DAMO-YOLO Übersicht
YOLO (Distillation-Enhanced Neural Architecture Search-based YOLO) ist ein leistungsstarker Ansatz, der Neural Architecture Search (NAS) mit fortschrittlichen Trainingstechniken kombiniert. Er wurde entwickelt, um die Grenzen von Geschwindigkeit und Genauigkeit zu erweitern, indem das Design der Backbone- und Neck-Strukturen automatisiert wird.
- Autoren: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang und Xiuyu Sun
- Organisation:Alibaba Group
- Datum: 2022-11-23
- Arxiv:DAMO-YOLO: Ein Bericht über das Design von Echtzeit-Objektdetektion
- GitHub:DAMO-YOLO Repository
Wichtigste Funktionen vonYOLO
- MAE-NAS-Backbone: Im Gegensatz zu manuell entworfenen BackbonesYOLO einen Masked Autoencoder (MAE)-Ansatz innerhalb eines Neural Architecture Search-Frameworks. Dies führt zu einer Struktur, die für die Extraktion räumlicher Merkmale mit minimalem Rechenaufwand hochoptimiert ist.
- Effizientes RepGFPN: Das Modell verwendet ein Reparameterized Generalized Feature Pyramid Network (RepGFPN). Dies verbessert die Merkmalsfusion über verschiedene Skalen hinweg, was für die Erkennung von Objekten unterschiedlicher Größe entscheidend ist, während die Inferenzlatenz durch Reparametrisierung während der Bereitstellung gering gehalten wird.
- ZeroHead: Der Erkennungskopf wurde erheblich vereinfacht („ZeroHead“), wodurch die Anzahl der für die endgültige Begrenzungsrahmenregression und Klassifizierung erforderlichen Parameter reduziert wurde.
- AlignedOTA: Eine dynamische Strategie zur Zuweisung von Labels namens „Aligned One-to-Many Assignment” sorgt dafür, dass positive Samples während des Trainings genauer zugewiesen werden, wodurch Unklarheiten in überfüllten Szenen beseitigt werden.
Verbesserung der Destillation
Eines der charakteristischen MerkmaleYOLO ist seine starke Abhängigkeit von Wissensdestillation. Ein größeres „Lehrer”-Modell leitet das Training des kleineren „Schüler”-Modells. Dies erhöht zwar die Genauigkeit, verkompliziert jedoch die Trainingspipeline im Vergleich zu herkömmlichen „Bag-of-Freebies”-Trainingsmethoden erheblich.
YOLOX Übersicht
YOLOX war eine wegweisende Veröffentlichung, die ankerfreie Mechanismen in die YOLO einführte. Durch die Entkopplung der Vorhersageköpfe und die Entfernung der Ankerboxen vereinfachte es den Designprozess und verbesserte die Leistung, insbesondere für Entwickler, die an die Komplexität der Ankerabstimmung gewöhnt waren.
- Autoren: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li und Jian Sun
- Organisation:Megvii
- Datum: 2021-07-18
- Arxiv:YOLOX: Exceeding YOLO Series in 2021
- GitHub:YOLOX Repository
Wichtigste Funktionen von YOLOX
- Ankerfreies Design: Durch die direkte Vorhersage von Objektzentren anstelle von Versätzen aus vordefinierten Ankerboxen macht YOLOX Clusteranalysen (wie K-Means) überflüssig, um optimale Ankerformen für benutzerdefinierte Datensätze zu ermitteln.
- Entkoppelter Kopf: YOLOX trennt die Klassifizierungs- und Lokalisierungsaufgaben in verschiedene Zweige des Netzwerkkopfes. Diese Trennung löst den Konflikt zwischen den Anforderungen an die Merkmale für die Klassifizierung eines Objekts und der Bestimmung seiner genauen Grenzen.
- SimOTA: Eine vereinfachte Strategie zur optimalen Transportzuweisung, die positive Stichproben dynamisch auf der Grundlage globaler Optimierungskosten zuweist und dabei die Klassifizierungs- und Regressionsqualität ausgleicht.
- Starke Datenvergrößerung: YOLOX nutzt in hohem Maße Mosaic- und MixUp , die entscheidend für seine Fähigkeit waren, in einigen Konfigurationen ohne vortrainierte Backbones effektiv zu trainieren.
Technischer Vergleich: Leistung und Geschwindigkeit
Beim Vergleich dieser beiden Architekturen schneidetYOLO in Bezug auf das Verhältnis zwischen Genauigkeit und LatenzzeitYOLO besser ab als YOLOX, was vor allem darauf zurückzuführen ist, dass es später veröffentlicht wurde und NAS-Technologien enthält. YOLOX bleibt jedoch aufgrund seiner architektonischen Einfachheit und der Lesbarkeit des Codes weiterhin ein Favorit.
| Modell | Größe (Pixel) | mAPval 50-95 | Geschwindigkeit CPU ONNX (ms) | Geschwindigkeit T4 TensorRT10 (ms) | Parameter (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| 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 |
Architektur und Schulungskomplexität
YOLOX wird für seine „saubere“ Implementierung gelobt. Es handelt sich um einen reinen PyTorch , der für Forschungszwecke leicht zu modifizieren ist. Der Trainingsprozess ist unkompliziert und erfordert eine Standard-Hyperparameter-Optimierung.
YOLO hingegen bringt eine erhebliche Komplexität mit sich. Die Abhängigkeit von Neural Architecture Search (NAS) bedeutet, dass das Backbone keine feste Standardstruktur wie ResNet oder CSPDarknet ist. Darüber hinaus erfordert der Destillationsprozess zunächst das Training eines schweren Lehrer-Modells, um das leichte Schüler-Modell zu überwachen. Dies verdoppelt die für das Training erforderlichen Rechenressourcen und macht es für Benutzer mit begrenztem GPU schwierig, die Ergebnisse der Veröffentlichung auf benutzerdefinierten Datensätzen zu replizieren.
Ultralytics von Ultralytics : Mehr als nur Forschungsmodelle
WährendYOLO YOLOX wertvolle akademische Erkenntnisse liefern, erfordert die moderne Unternehmensentwicklung mehr als nur reine Kennzahlen. Entwickler benötigen Stabilität, Benutzerfreundlichkeit und ein vollständiges Ökosystem. Hier zeichnet sich Ultralytics als die überlegene Wahl aus.
Unübertroffene Benutzerfreundlichkeit und Ökosystem
Das Training einesYOLO erfordert oft komplexe Konfigurationsdateien und mehrstufige Destillationspipelines. Im Gegensatz dazu bieten die Ultralytics und Python eine „Zero-to-Hero”-Erfahrung. Unabhängig davon, ob Sie die CLI Python verwenden, dauert der Start eines Trainingslaufs nur wenige Sekunden.
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Train on a dataset with a single command
results = model.train(data="coco8.yaml", epochs=100)
Das Ultralytics wird aktiv gepflegt, um die Kompatibilität mit den neuesten Versionen von PyTorch, CUDA und Apple Metal sicherzustellen. Im Gegensatz zu Forschungsrepositorien, die nach ihrer Veröffentlichung oft brachliegen, werden Ultralytics regelmäßig aktualisiert, Fehler behoben und die Leistung optimiert.
Leistungsausgewogenheit und Vielseitigkeit
YOLO26 steht für höchste Effizienz. Es verfügt über ein NMS Design, eine bahnbrechende Neuerung, die erstmals in YOLOv10. Durch den Wegfall der Nachbearbeitung mit Non-Maximum Suppression (NMS) reduziert YOLO26 die Varianz der Inferenzlatenz und vereinfacht die Bereitstellungslogik, wodurch ein großes Problem von YOLOX undYOLO gelöst wird.
Darüber hinaus ist YOLO26 nicht nur für Server-GPUs, sondern auch für andere Hardware optimiert. Es bietet CPU um bis zu 43 % schnellere CPU und ist damit ideal für Edge-Geräte, Raspberry Pis und mobile Anwendungen, bei denen die Akkulaufzeit und thermische Einschränkungen eine entscheidende Rolle spielen.
Während YOLOX undYOLO in erster Linie ObjektdetektorenYOLO , bietet das Ultralytics native Unterstützung für eine Vielzahl von Aufgaben:
- Instanzsegmentierung
- Posen-Schätzung (Schlüsselpunkte)
- Orientierte Bounding Box (OBB)
- Bildklassifizierung
Anwendungen in der realen Welt
Die Wahl des richtigen Modells hängt stark von den spezifischen Einschränkungen Ihrer Bereitstellungsumgebung ab.
Ideale Anwendungsfälle fürYOLO
- Hochdurchsatz-Server: Die optimierte RepGFPN-Struktur ermöglicht sehr hohe FPS auf dedizierter TensorRT Hardware (wie NVIDIA oder A100) und eignet sich daher für die Verarbeitung umfangreicher Videoarchive.
- Überfüllte Szenen: Die AlignedOTA-Labelzuweisung hilft in Szenarien mit hoher Objektverdeckung, z. B. beim Zählen von Personen in einer dichten Menschenmenge oder bei der Überwachung von Vieh.
Ideale Anwendungsfälle für YOLOX
- Akademische Forschung: Dank seiner sauberen Codebasis eignet es sich hervorragend als Ausgangsbasis für Forscher, die neue Verlustfunktionen oder Backbone-Modifikationen ohne den Overhead von NAS testen möchten.
- Unterstützung älterer Mobilgeräte: Die Varianten YOLOX-Nano und Tiny verwenden tiefenweise trennbare Faltungen, die auf älteren Android über NCNN.
Warum Ultralytics der moderne Standard ist
Für praktisch alle neuen gewerblichen und industriellen Projekte ist YOLO26 die empfohlene Lösung.
- Edge Computing & IoT: Durch die Entfernung von Distribution Focal Loss (DFL) und die neuen Funktionen ProgLoss + STAL ist YOLO26 auf Geräten mit geringer Leistung außergewöhnlich stabil. Es eignet sich hervorragend für Robotik und Drohnen-Navigation, wo CPU kostbar sind.
- Schnelle Entwicklungszyklen: Durch die Integration mit der Ultralytics können Teams Daten kennzeichnen, Modelle trainieren und in Formaten wie ONNX oder CoreML einem einheitlichen Workflow bereitstellen, wodurch die Markteinführungszeit drastisch verkürzt wird.
- Komplexe Aufgaben: Ob Sie nun detect Winkel eines Pakets (OBB) detect oder die Körperhaltung eines Arbeiters (Pose) analysieren müssen – YOLO26 bewältigt diese komplexen Aufgaben in einem einzigen, speichereffizienten Framework, im Gegensatz zuYOLO, das ausschließlich auf Erkennung spezialisiert ist.
Fazit
SowohlYOLO YOLOX spielten eine entscheidende Rolle in der Geschichte der Objekterkennung und bewiesen, dass anchor-freie Designs modernste Ergebnisse erzielen können. Allerdings entwickelt sich dieses Gebiet rasant weiter.
Ultralytics baut auf diesen Erkenntnissen auf und vereint die Stabilität des MuSGD Optimizers (inspiriert durch LLM-Training) mit der Einfachheit einer NMS Architektur. Für Entwickler, die das optimale Gleichgewicht zwischen Genauigkeit, Geschwindigkeit und Benutzerfreundlichkeit suchen, bietet YOLO26 eine zukunftssichere Lösung, die von einer florierenden Community und einer umfassenden Dokumentation unterstützt wird.
Weitere Informationen zum Ultralytics mit anderen Architekturen finden Sie in unseren Vergleichen mit EfficientDet, YOLOv6und RT-DETR.