Ultralytics YOLOv10 . YOLOv5: Entwicklung der Echtzeit-Objekterkennung
Die Auswahl des richtigen Objekterkennungsmodells erfordert einen Kompromiss zwischen Architektureffizienz, Einsatzbeschränkungen und Community-Support. Dieser umfassende Vergleich untersucht die technischen Unterschiede zwischen YOLOv10, einem akademischen Durchbruch in der End-to-End-Erkennung, und YOLOv5, dem legendären Industriestandard, der die Benutzerfreundlichkeit in der Bildverarbeitung neu definiert hat.
Beide Modelle stellen bedeutende Fortschritte in der YOLO dar. Während YOLOv5 den Goldstandard für Benutzererfahrung und Zuverlässigkeit YOLOv5 , YOLOv10 die Grenzen der Latenz, indem es die Nicht-Maximalunterdrückung (NMS) aus der Inferenz-Pipeline entfernt. Für Entwickler, die auf der Suche nach der absolut neuesten Geschwindigkeit und End-to-End-Architektur sind, baut das neu veröffentlichte Ultralytics auf diesen Grundlagen auf und bietet eine überlegene Optimierung für Edge-Geräte.
Vergleich von Leistungsmetriken
Die folgende Tabelle zeigt die Leistungsunterschiede zwischen den beiden Architekturen. YOLOv10 bietet YOLOv10 eine höhere Genauigkeit (mAP) und eliminiert NMS , während YOLOv5 aufgrund seiner breiten Einsatzunterstützung und Ausgereiftheit eine äußerst wettbewerbsfähige Wahl YOLOv5 .
| Modell | Größe (Pixel) | mAPval 50-95 | Geschwindigkeit CPU ONNX (ms) | Geschwindigkeit T4 TensorRT10 (ms) | Parameter (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
YOLOv10: Der End-to-End-Innovator
YOLOv10 einen Paradigmenwechsel YOLOv10 , indem es die Notwendigkeit einer Nicht-Maximalunterdrückung (NMS) während der Nachbearbeitung beseitigt. Dies ermöglicht eine echte End-to-End-Bereitstellung und reduziert die Latenz und Komplexität der Inferenz.
Wesentliche Architekturmerkmale
- NMS Training: Nutzt konsistente doppelte Zuweisungen für NMS Training, wodurch das Modell direkt eindeutige Begrenzungsrahmen vorhersagen kann.
- Ganzheitliches Effizienzdesign: Optimiert verschiedene Komponenten (wie das Rückgrat und den Hals), um Rechenredundanzen zu reduzieren.
- Räumlich-kanalunabhängiges Downsampling: Verbessert die Informationserhaltung bei der Verkleinerung von Merkmalskarten.
- Ranggeführtes Blockdesign: Passt Blockstufen an, um Redundanzen auf der Grundlage einer intrinsischen Ranganalyse zu reduzieren.
Autoren: Ao Wang, Hui Chen, Lihao Liu, et al.
Organisation:Tsinghua-Universität
Datum: 23.05.2024
Links:Arxiv | GitHub
End-to-End-Latenz
Durch den Wegfall NMS reduziert YOLOv10 die Inferenzschwankungen YOLOv10 . In YOLO skaliert NMS mit der Anzahl der erkannten Objekte, was in überfüllten Szenen zu Latenzspitzen führen kann. Die konsistente Ausgabegeschwindigkeit YOLOv10 macht es ideal für Echtzeitsysteme mit strengen Zeitvorgaben.
Erfahren Sie mehr über YOLOv10
YOLOv5: Der Industriestandard
YOLOv5 wurde Ultralytics von Ultralytics veröffentlicht Ultralytics YOLOv5 das Feld nicht nur durch seine Architektur, sondern auch durch seine Zugänglichkeit. Es legte Wert auf eine nahtlose „Out-of-the-Box”-Erfahrung, robuste Exportierbarkeit und ein umfangreiches Support-Ökosystem.
Wichtige Stärken
- Ausgereiftes Ökosystem: Umfangreiche Dokumentation, Tutorials und Community-Support erleichtern die Fehlerbehebung.
- Breite Kompatibilität: Die Exportunterstützung für TFLite, CoreML, ONNX und TensorRT die Bereitstellung auf praktisch jeder Hardware, von iOS bis hin zu Edge-TPUs.
- Vielseitigkeit: Native Unterstützung für Instanzsegmentierung und Bildklassifizierung neben der Erkennung.
- Trainingsstabilität: Bekannt für seine Robustheit gegenüber Hyperparametervariationen und zuverlässige Konvergenz bei verschiedenen benutzerdefinierten Datensätzen.
Autor: Glenn Jocher
Organisation:Ultralytics
Datum: 26.06.2020
Links:GitHub | Docs
Detaillierter Vergleich
Architektur und Training
YOLOv10 Transformer-ähnliche Optimierungen und fortschrittliche kanalweise Unterscheidbarkeit, um mit weniger Parametern eine hohe Genauigkeit zu erzielen. Seine Strategie der „konsistenten doppelten Zuordnung” ermöglicht es ihm, während des Trainings eine Eins-zu-Eins-Zuordnung zu lernen, wodurch die NMS entfällt.
YOLOv5 ein klassisches CSPDarknet-Backbone mit PANet-Neck, das für ein ausgewogenes Verhältnis zwischen Geschwindigkeit und Genauigkeit optimiert ist. Es nutzt eine ankerbasierte Erkennung, die eine sorgfältige Abstimmung der Ankerboxen erfordert, um eine optimale Leistung bei einzigartigen Datensätzen zu erzielen. Die automatische Anker-Evolution-Funktion übernimmt dies jedoch für die meisten Benutzer automatisch.
Anwendungsfälle und reale Anwendungen
Ideale Szenarien für YOLOv10:
- Hohe Personendichte: Hier verlangsamt NMS aufgrund vieler überlappender Boxen NMS die Verarbeitung.
- Robotik mit geringer Latenz: Wo eine konsistente Inferenzzeit für Regelkreise entscheidend ist.
- Akademische Forschung: Zur Untersuchung von End-to-End-Erkennungsmechanismen und Strategien zur Zuweisung von Labels.
Ideale Szenarien für YOLOv5:
- Mobile Bereitstellung: Bewährte Pipelines für Android iOS mit TFLite CoreML.
- Industrieinspektion: Wo langfristige Stabilität und Reproduzierbarkeit wichtiger sind als modernste mAP.
- Anfängerprojekte: Der einfachste Einstieg für Schüler, die sich mit Computer Vision beschäftigen.
Benutzerfreundlichkeit und Ökosystem
YOLOv5 durch seine Integration in das Ultralytics . Benutzer können Trainingsläufe mit Comet visualisieren, track und Modelle nahtlos bereitstellen. Die Ultralytics vereinfacht dies zusätzlich durch eine No-Code-Schnittstelle für die Verwaltung von Datensätzen und das Training von Modellen.
YOLOv10 zwar in dasPython integriert, was eine vertraute Syntax ermöglicht, aber es handelt sich in erster Linie um einen akademischen Beitrag. Daher wird es möglicherweise nicht so häufig aktualisiert oder so intensiv gewartet wie Ultralytics wie YOLO11 oder das hochmoderne YOLO26.
Codebeispiele
Beide Modelle nutzen die einheitliche Ultralytics , sodass für Benchmarking-Zwecke mühelos zwischen ihnen gewechselt werden kann.
from ultralytics import YOLO
# Load a pretrained YOLOv10 model
model_v10 = YOLO("yolov10n.pt")
# Train YOLOv10 on a custom dataset
model_v10.train(data="coco8.yaml", epochs=100, imgsz=640)
# Load a pretrained YOLOv5 model (via the v8/v11/26 compatible loader)
model_v5 = YOLO("yolov5nu.pt")
# Train YOLOv5 using the modern Ultralytics engine
model_v5.train(data="coco8.yaml", epochs=100, imgsz=640)
Fazit: Für welches Produkt sollten Sie sich entscheiden?
Wenn Ihre Priorität auf modernster Genauigkeit und Konsistenz der Latenz liegt, insbesondere in überfüllten Szenen, YOLOv10 eine ausgezeichnete Wahl. Seine architektonischen Innovationen geben einen Einblick in die Zukunft der NMS Erkennung.
Wenn Sie jedoch eine praxiserprobte Lösung mit umfassenden Bereitstellungsanleitungen, breiter Hardwareunterstützung und maximaler Stabilität benötigen, YOLOv5 nach wie vor eine leistungsstarke Lösung.
Entwicklern, die das Beste aus beiden Welten wollen –durchgängige NMS Inferenz, überragende Genauigkeit und die volle Unterstützung des Ultralytics – empfehlen wir dringend, sich mit YOLO26. YOLO26 übernimmt das von YOLOv10 eingeführte NMS Design, erweitert es YOLOv10 um den MuSGD-Optimierer und optimierte Verlustfunktionen für CPU bis zu 43 % schnellere CPU .
Weitere Modelle entdecken
- YOLO11: Die vorherige SOTA-Generation, die sich durch hervorragende Vielseitigkeit bei verschiedenen Aufgaben auszeichnet.
- RT-DETR: Ein transformatorbasierter Echtzeitdetektor, der auch NMS entfernt.
- YOLO26: Das neueste und fortschrittlichste Modell von Ultralytics mit End-to-End-Verarbeitung und Edge-Optimierung.