YOLOv5 vs. YOLOv10: Entwicklung der Echtzeit-Objekterkennung
Die Landschaft der Objekterkennung wurde maßgeblich von der You Only Look OnceYOLO)-Serie geprägt. Seit ihrer Einführung hat YOLO ein Gleichgewicht zwischen Geschwindigkeit und Genauigkeit hergestellt und wurde zur bevorzugten Architektur für Computer-Vision-Entwickler. In diesem Vergleich werden zwei Schlüsselmomente in dieser Geschichte untersucht: Ultralytics YOLOv5, der Industriestandard für Zuverlässigkeit und Vielseitigkeit, und YOLOv10, eine neue akademische Version der Tsinghua-Universität, die eine NMS Erkennung für verbesserte Effizienz einführt.
Modell-Übersicht
Ultralytics YOLOv5
Herausgegeben im Juni 2020 von Glenn Jocher und Ultralytics, YOLOv5 hat die Art und Weise, wie KI-Modelle eingesetzt werden, grundlegend verändert. Der Schwerpunkt lag auf der Benutzerfreundlichkeit, dem Export in verschiedene FormateCoreML, ONNX, TFLite) und der robusten Leistung auf Edge-Hardware. Es ist nach wie vor eines der beliebtesten und am weitesten verbreiteten Bildverarbeitungsmodelle weltweit, was auf die Philosophie "Es funktioniert einfach" und die umfangreiche Unterstützung der Community zurückzuführen ist.
Hauptautoren: Glenn Jocher
Organisation:Ultralytics
Veröffentlichungsdatum: 2020-06-26
GitHub:yolov5
YOLOv10
YOLOv10 wurde im Mai 2024 von Forschern der Tsinghua-Universität veröffentlicht und zielt darauf ab, die Engpässe bei der Nachbearbeitung zu beseitigen, die in früheren Versionen auftraten. Durch die Einführung konsistenter dualer Zuweisungen für NMS Training wird die Inferenzpipeline optimiert, wodurch Latenzzeiten und Rechenaufwand reduziert werden.
Hauptautoren: Ao Wang, Hui Chen, et al.
Organisation: Tsinghua University
Veröffentlichungsdatum: 2024-05-23
arXiv:YOLOv10: End-to-End-Objekt-Erkennung in Echtzeit
Erfahren Sie mehr über YOLOv10
Neueste Innovation
Beim Vergleich dieser starken Architekturen sollten Entwickler, die neue Projekte starten, auch die YOLO11. Es baut auf den Stärken beider Architekturen auf und bietet modernste Genauigkeit, verbesserte Merkmalsextraktion und native Unterstützung für verschiedene Aufgaben wie Posenschätzung und orientierte Objekterkennung.
Architektur und technische Innovation
Die architektonischen Unterschiede zwischen YOLOv5 und YOLOv10 verdeutlichen den Übergang von einer ausgereiften, auf Ankern basierenden Zuverlässigkeit zu einer hochmodernen, ankerlosen Effizienz.
YOLOv5: Der Anker-basierte Standard
YOLOv5 verwendet ein CSPNet (Cross Stage Partial Network) Backbone, das die Modelltiefe und -breite ausgleicht, um die FLOPS zu minimieren und gleichzeitig die Genauigkeit zu erhalten. Es stützt sich auf Ankerboxen - vordefinierteFormen, die dem Modell helfen, die Objektabmessungen vorherzusagen.
- Backbone: CSP-Darknet53 mit Schwerpunkt auf Gradientenfluss.
- Kopf: Gekoppelter Kopf mit ankerbasierter Vorhersage.
- Nachbearbeitung: Erfordert Non-Maximum Suppression (NMS), um doppelte Erkennungen zu filtern.
YOLOv10: NMS Effizienz
YOLOv10 führt ein ganzheitliches, auf Effizienz und Genauigkeit ausgerichtetes Design ein. Sein herausragendes Merkmal ist die NMS Trainingsstrategie mit konsistenten dualen Zuweisungen. Dadurch kann das Modell während der Inferenz genau eine Bounding Box pro Objekt vorhersagen, wodurch der latenzverursachende NMS vollständig entfällt.
- Backbone: Verbessert mit Large-Kernel-Faltungen und partieller Selbstbeobachtung.
- Kopf: Vereinheitlichter Kopf, der Eins-zu-Viel- und Eins-zu-Eins-Etikettenzuweisungen kombiniert.
- Optimierung: Ranggesteuertes Blockdesign zur Reduzierung der Redundanz.
Leistungsanalyse
Die folgende Tabelle vergleicht die Leistungsmetriken für den COCO . Während YOLOv5 insbesondere bei der CPU für seine Nano-Variante wettbewerbsfähig bleibt, zeigt YOLOv10 eine überlegene Effizienz in Bezug auf Parameter und GenauigkeitmAP).
| Modell | Größe (Pixel) | mAPval 50-95 | Geschwindigkeit CPU ONNX (ms) | Geschwindigkeit T4 TensorRT10 (ms) | Parameter (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Metrische Aufschlüsselung
- Genauigkeit (mAP): YOLOv10 zeigt einen deutlichen Sprung in der durchschnittlichen Genauigkeit. So erreicht YOLOv10n beispielsweise 39,5 mAP im Vergleich zu 28,0 mAP von YOLOv5n und ist damit wesentlich besser in der Lage, schwierige Objekte zu erkennen.
- Effizienz: YOLOv10 erreicht diese Ergebnisse mit weniger Parametern (2,3 Mio. gegenüber 2,6 Mio. beim Nano-Modell), was die Vorteile seines optimierten Architekturdesigns verdeutlicht.
- Inferenzgeschwindigkeit: YOLOv5n bleibt unglaublich schnell auf CPUs(73,6 ms), was für Geräte GPU GPU-Edge wie ältere Raspberry Pi-Geräte entscheidend ist. Auf GPU TensorRT) bleibt YOLOv10 jedoch trotz seiner höheren Genauigkeit konkurrenzfähig schnell.
Stärken und Schwächen
Ultralytics YOLOv5
- Unübertroffenes Ökosystem: Dank jahrelanger Entwicklung verfügt es über eine der größten aktiven Gemeinschaften. Probleme werden schnell gelöst, und Ressourcen sind reichlich vorhanden.
- Vielseitigkeit: Neben der Erkennung unterstützt die Software auch die Segmentierung und Klassifizierung von Bildern.
- Benutzerfreundlichkeit: Die API ist auf Einfachheit ausgelegt. Das Laden eines Modells aus PyTorch Hub erfordert eine einzige Codezeile.
- Einsatz: Die umfassende Unterstützung von Exportformaten stellt sicher, dass die Software auf allen Geräten - vom Mobiltelefon bis zum Cloud-Server - läuft.
YOLOv10
- Geringe Latenzzeit: Durch den Wegfall von NMS wird die Nachbearbeitungszeit erheblich reduziert, was für Echtzeitanwendungen, bei denen jede Millisekunde zählt, von entscheidender Bedeutung ist.
- Parameter-Effizienz: Sie liefert eine höhere Genauigkeit pro Parameter, was sie zu einem guten Kandidaten für Geräte mit begrenztem Speicherplatz macht.
- Schwerpunkt: Es ist zwar leistungsfähig, aber in erster Linie auf die Objekterkennung spezialisiert und verfügt nicht über die systemeigene Multi-Task-Breite (wie z. B. Posenschätzung), die in der Ultralytics YOLO (v8, 11) zu finden ist.
Speicheranforderungen
Beide Modelle sind so konzipiert, dass sie leichtgewichtig sind. Im Gegensatz zu großen Transformer-Modellen, die während des Trainings große Mengen an CUDA verbrauchen, sind dieYOLO Ultralytics für Speichereffizienz optimiert, sodass sie auf Consumer-GPUs mit bescheidenem VRAM trainiert werden können.
Anwendungsfälle in der Praxis
Wann sollten Sie YOLOv5 wählen YOLOv5
YOLOv5 ist die pragmatische Wahl für Produktionssysteme, die Stabilität und breite Plattformunterstützung erfordern.
- Industrielle Automatisierung: Weit verbreitet in der Fertigung zur Qualitätskontrolle, wo Zuverlässigkeit an erster Stelle steht.
- Mobile Apps: Die bewährte Kompatibilität mit iOS CoreML) und Android TFLite) macht es ideal für die Integration von Apps auf Geräten.
- Schnelles Prototyping: Die schiere Menge an Tutorials und Dokumentation ermöglicht es Entwicklern, innerhalb weniger Stunden vom Konzept zum POC zu gelangen.
Wann sollten Sie YOLOv10 wählen YOLOv10
YOLOv10 eignet sich hervorragend für Szenarien, die ein Höchstmaß an Genauigkeit und Effizienz erfordern.
- Hochgeschwindigkeits-Robotik: Die NMS Architektur reduziert die Latenzvarianz, die für die Regelkreise autonomer Roboter entscheidend ist.
- Akademische Forschung: Forscher, die ein Benchmarking mit den neuesten End-to-End-Erkennungsparadigmen durchführen wollen, werden die neuartige und effektive Architektur von YOLOv10 zu schätzen wissen.
- Fernüberwachungen: Hohe mAP mit geringer Parameteranzahl eignet sich für Sicherheitssysteme mit begrenzter Bandbreite oder Speicherplatz.
Schulung und Benutzerfreundlichkeit
Ultralytics legt großen Wert auf eine optimierte Entwicklererfahrung. Ob Sie das klassische YOLOv5 oder das moderne ultralytics Paket für neuere Modelle ist das Verfahren intuitiv.
Verwendung von YOLOv5
YOLOv5 ist bekanntlich einfach über PyTorch Hub zu laden, um sofortige Inferenzen zu ermöglichen.
import torch
# Load YOLOv5s from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")
# Perform inference on an image
img = "https://ultralytics.com/images/zidane.jpg"
results = model(img)
# Display results
results.show()
Verwendung von YOLOv10
YOLOv10 kann mit Hilfe des ultralytics Python und profitiert von der gleichen leistungsstarken API.
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Train the model on COCO data
model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference
model.predict("https://ultralytics.com/images/bus.jpg", save=True)
Fazit
Beide Architekturen stellen Meilensteine in der Computer Vision dar. YOLOv5 bleibt das zuverlässige Arbeitspferd der Branche - robust, vielseitig und von einem umfangreichen Ökosystem unterstützt. Es ist die sichere "erste Wahl" für verschiedene Einsatzanforderungen. YOLOv10 verschiebt die Grenzen der Effizienz mit seinem NMS Design und bietet ein überzeugendes Upgrade für Benutzer, die sich speziell auf Erkennungsaufgaben konzentrieren und die Genauigkeit auf eingeschränkter Hardware maximieren müssen.
Für Entwickler, die das Beste aus beiden Welten suchen - die Kombination der Ökosystemreife von Ultralytics mit modernster Genauigkeit und Geschwindigkeit -, empfehlen wir die Erkundung von YOLO11. Es vereint diese Fortschritte in einem einzigen, leistungsstarken Framework, das für jede Bildverarbeitungsaufgabe bereit ist.
Weitere Vergleiche finden Sie unter YOLOv5 vs. YOLOv8 oder YOLOv10 vs. YOLO11.