YOLOv5 vs. YOLOv10#
Der Bereich der Echtzeit-Computer-Vision ist in den vergangenen Jahren exponentiell gewachsen, und verschiedene Architekturen haben die Grenzen des Machbaren auf moderner Hardware verschoben. Der Vergleich von YOLOv5 und YOLOv10 als Architekturen auf dem neuesten Stand der Technik zeigt einen bedeutenden Entwicklungsschritt im Bereich der Objekterkennung. Diese ausführliche technische Analyse untersucht ihre Architekturparadigmen und Leistungskompromisse und zeigt, wie Entwicklerinnen und Entwickler diese Tools in Produktionsumgebungen einsetzen können.
Architekturanalyse#
Um diese Modelle in der Praxis effizient bereitzustellen, ist es entscheidend, ihre strukturellen Unterschiede zu verstehen.
Ultralytics YOLOv5: Der Branchenstandard#
YOLOv5 wurde von Ultralytics eingeführt und ist seit Langem für sein unübertroffenes Gleichgewicht aus Geschwindigkeit, Genauigkeit und Zugänglichkeit bekannt.
- Autor: Glenn Jocher
- Organisation: Ultralytics
- Datum: 2020-06-26
- GitHub: YOLOv5-Repository
- Dokumentation: YOLOv5-Dokumentation
YOLOv5 basiert auf einem anchorbasierten Erkennungsverfahren in Verbindung mit einem stark optimierten CSPDarknet-Backbone. Diese Architektur stützt sich weitgehend auf Standardoperationen, die von nahezu allen Inferenz-Engines unterstützt werden, wodurch sie äußerst vielseitig ist. Ihre größte Stärke liegt im Ultralytics Python SDK, das eine optimierte Nutzererfahrung, eine einfache API und eine umfassende Dokumentation bietet. Außerdem bedeutet der geringere Speicherbedarf von YOLOv5 im Vergleich zu Transformer-basierten Modellen, dass das Modell auf handelsüblichen GPUs schnell trainiert werden kann, ohne dass ein hoher VRAM-Bedarf entsteht.
YOLOv10: Ein neues Paradigma#
YOLOv10 wurde von Forschenden der Tsinghua-Universität entwickelt und sollte bestimmte Latenzengpässe früherer Architekturen beheben.
- Autoren: Ao Wang, Hui Chen, Lihao Liu u. a.
- Organisation: Tsinghua-Universität
- Datum: 2024-05-23
- ArXiv: 2405.14458
- GitHub: YOLOv10-Repository
- Dokumentation: YOLOv10-Dokumentation
Das entscheidende Merkmal von YOLOv10 ist sein von Grund auf NMS-freies Design (Unterdrückung nicht maximaler Werte). Durch konsistente duale Zuordnungen während des Trainings entfällt bei der Inferenz die Nachverarbeitung mit NMS. Diese theoretische Latenzreduzierung ist besonders vorteilhaft für Implementierungen auf leistungsstarker Hardware mit der beschleunigten NVIDIA TensorRT-Inferenz, kann jedoch strukturelle Komplexität für Edge-Geräte mit sich bringen.
YOLOv10 bietet zwar interessante architektonische Neuerungen, doch Ultralytics-Modelle wie YOLOv5 und das neuere YOLO26 werden nativ auf der Ultralytics Platform unterstützt. Sie bieten eine höhere Trainingseffizienz, eine automatische Weiterentwicklung der Hyperparameter und von Haus aus umfangreiche Exportoptionen.
Leistungsanalyse#
Beim Vergleich dieser Modelle hängt der optimale Einsatzzweck vom Verhältnis zwischen Genauigkeit (mAP) und Rechenaufwand (Latenz und Parameterzahl) ab. Unten findest du den technischen Leistungsvergleich auf dem COCO-Datensatz.
| Modell | Größe (Pixel) | mAPval 50-95 | Geschwindigkeit CPU ONNX (ms) | Geschwindigkeit T4 TensorRT10 (ms) | Parameter (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
| 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 |
YOLOv10 erzielt bei vergleichbarer Modellgröße eindeutig einen höheren Wert für mAP50-95 und nutzt dabei sein modernes, auf Effizienz und Genauigkeit ausgerichtetes Modelldesign. YOLOv5 bietet jedoch weiterhin eine äußerst konkurrenzfähige Latenz, insbesondere in den Größen Nano und Small, und eignet sich damit hervorragend für ressourcenbeschränkte eingebettete Umgebungen wie die NVIDIA Jetson-Produktfamilie oder herkömmliche CPUs mit OpenVINO.
Trainingsmethoden und Ökosystem#
Der Wert eines Modells hängt stark vom dazugehörigen Ökosystem ab. Ultralytics bietet ein hervorragend gepflegtes Ökosystem, das eine äußerst breite Palette von Aufgaben unterstützt. Während sich YOLOv10 strikt auf die 2D-Objekterkennung konzentriert, unterstützt Ultralytics nativ auch Instanzsegmentierung, Bildklassifizierung, Posenschätzung und orientierte Begrenzungsrahmen (OBB).
Außerdem benötigen Ultralytics-Modelle beim Training deutlich weniger zusätzlichen Speicher als konkurrierende Transformer-basierte Methoden. So bleibt der Entwicklungszyklus schnell und kosteneffizient.
Nahtlose Codeausführung#
Das Training, die Validierung und der Export von Modellen erfolgen über eine einzige API. Du kannst zwischen Modellen wechseln, indem du einfach eine Zeichenfolge änderst.
from ultralytics import YOLO
# Ein vortrainiertes YOLOv5-Modell für erste Tests laden
model_v5 = YOLO("yolov5su.pt") # YOLOv5u: ankerfreie YOLOv5-Gewichte für das ultralytics-Paket
# Ein YOLOv10-Modell zum Vergleich laden
model_v10 = YOLO("yolov10s.pt")
# Das Modell effizient mit dem COCO8-Datensatz trainieren
results = model_v5.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
device="0", # Nutzt automatisch die CUDA-Beschleunigung von PyTorch
batch=16,
)
# Für die Inferenz auf der CPU zur Bereitstellung nach ONNX exportieren
model_v5.export(format="onnx", simplify=True)Anwendungsfälle und Empfehlungen#
Die Wahl zwischen YOLOv5 und YOLOv10 hängt von deinen konkreten Projektanforderungen, den Einschränkungen bei der Bereitstellung und deinen Präferenzen beim Ökosystem ab.
Wann du YOLOv5 wählen solltest#
YOLOv5 eignet sich besonders für:
- Bewährte Produktionssysteme: Bestehende Bereitstellungen, bei denen die lange Stabilitätsbilanz, die umfassende Dokumentation und die große Unterstützung durch die Community von YOLOv5 geschätzt werden.
- Training mit begrenzten Ressourcen: Umgebungen mit begrenzten GPU-Ressourcen, in denen die effiziente Trainingspipeline und der geringere Speicherbedarf von YOLOv5 von Vorteil sind.
- Umfangreiche Unterstützung von Exportformaten: Projekte, die eine Bereitstellung in vielen Formaten erfordern, darunter ONNX, TensorRT, CoreML und LiteRT.
Wann du YOLOv10 wählen solltest#
YOLOv10 empfiehlt sich für:
- Echtzeiterkennung ohne NMS: Anwendungen, die von einer durchgängigen Erkennung ohne Non-Maximum Suppression profitieren und dadurch die Komplexität der Bereitstellung verringern.
- Ausgewogenes Verhältnis von Geschwindigkeit und Genauigkeit: Projekte, die über verschiedene Modellgrößen hinweg ein ausgewogenes Verhältnis zwischen Inferenzgeschwindigkeit und Erkennungsgenauigkeit erfordern.
- Anwendungen mit gleichbleibender Latenz: Bereitstellungsszenarien, in denen vorhersehbare Inferenzzeiten entscheidend sind, etwa in der Robotik oder bei autonomen Systemen.
Wann du Ultralytics (YOLO26) wählen solltest#
Für die meisten neuen Projekte bietet Ultralytics YOLO26 die beste Kombination aus Leistung und Entwicklererfahrung:
- NMS-freie Bereitstellung auf Edge-Geräten: Anwendungen, die eine gleichbleibende Inferenz mit geringer Latenz ohne die Komplexität der Nachbearbeitung durch Non-Maximum Suppression erfordern.
- Umgebungen ohne GPU: Geräte ohne dedizierte GPU-Beschleunigung, auf denen die bis zu 43 % schnellere CPU-Inferenz von YOLO26 einen entscheidenden Vorteil bietet.
- Erkennung kleiner Objekte: Anspruchsvolle Szenarien wie Luftbilder von Drohnen oder die Analyse von IoT-Sensoren, bei denen ProgLoss und STAL die Genauigkeit bei sehr kleinen Objekten deutlich steigern.
Die Zukunft: Ultralytics YOLO26#
YOLOv5 hat den Zugang zu leistungsfähigen Modellen revolutioniert und YOLOv10 hat die Grenzen NMS-freier Architekturen erweitert. Doch die Technik entwickelt sich weiter. Für neue Projekte empfehlen wir ausdrücklich das hochmoderne Ultralytics YOLO26, das im Januar 2026 veröffentlicht wurde.
YOLO26 vereint die Zuverlässigkeit des Ultralytics-Ökosystems mit bahnbrechenden Neuerungen:
- Durchgängig NMS-freies Design: YOLO26 integriert das NMS-freie Paradigma direkt als optionale Eins-zu-eins-Ausgabe (
nms=False) in das Ultralytics-Framework, was die Bereitstellung vereinfacht und die Latenz senkt. - Bis zu 43 % schnellere CPU-Inferenz: Dank des Wegfalls von Distribution Focal Loss (DFL) ist YOLO26 auf Edge-Geräten ohne GPU deutlich schneller.
- MuSGD-Optimierer: Inspiriert von Innovationen beim Training großer Sprachmodelle (LLMs) von Moonshot AI, bietet der MuSGD-Optimierer beispiellose Stabilität und schnelle Konvergenz.
- ProgLoss + STAL: Diese neuen Verlustfunktionen verbessern die Erkennung kleiner Objekte erheblich – ein entscheidender Vorteil für Bereiche wie Drohnenbildgebung und Robotik.
Du kannst YOLO26 direkt über die Ultralytics Platform verwalten, trainieren und bereitstellen.
Fazit#
Die Wahl zwischen YOLOv5 und YOLOv10 hängt oft von den konkreten Projektanforderungen ab. YOLOv10 bietet einen hervorragenden mAP-Wert für Forschende und Anwendungen, die den vollen Durchsatz einer GPU nutzen. YOLOv5 bleibt dagegen ein zuverlässiges und äußerst kompatibles Arbeitstier für herkömmliche Bereitstellungen.
Die Computer-Vision-Branche entwickelt sich jedoch ständig weiter. Um die bestmögliche Kombination aus Leistung, Vielseitigkeit und Benutzerfreundlichkeit zu nutzen, sollten Entwickler Ultralytics YOLO26 in Betracht ziehen. Es verbindet die Geschwindigkeit NMS-freier Inferenz mit dem robusten, gut dokumentierten Ultralytics-Ökosystem und macht deine KI-Lösungen für die Bildverarbeitung zukunftssicher. Für spezielle Anwendungsfälle können Entwickler auch YOLO11 wegen seiner allgemeinen Robustheit oder RT-DETR für Transformer-basierte Präzision nutzen.