Zum Inhalt springen

YOLOv10 vs. YOLOv5: Architektur und Leistung im Detail

In der sich schnell entwickelnden Landschaft der Computer Vision ist die Wahl des richtigen Objekterkennungsmodells entscheidend für den Projekterfolg. Dieser Vergleich erforscht die technischen Unterschiede zwischen YOLOv10einer neuen akademischen Version, die sich auf NMS Training konzentriert, und YOLOv5, dem legendären Modell von Ultralytics , das für seine Robustheit und seine branchenweite Verbreitung bekannt ist. Obwohl beide Modelle aus der You Only Look Once-Linie stammen, sind sie auf unterschiedliche technische Prioritäten und Einsatzumgebungen ausgerichtet.

Modellübersichten

YOLOv10: Der Effizienzspezialist

YOLOv10 , das im Mai 2024 von Forschern der Tsinghua-Universität veröffentlicht wurde, führt architektonische Mechanismen ein, die darauf abzielen, die Notwendigkeit der Non-Maximum Suppression (NMS) während der Inferenz zu eliminieren. Durch die Verwendung konsistenter dualer Zuweisungen während des Trainings zielt YOLOv10 darauf ab, die Ende-zu-Ende-Latenz zu reduzieren, was es zu einem starken Kandidaten für Edge-Anwendungen macht, bei denen jede Millisekunde der Inferenzlatenz zählt.

Erfahren Sie mehr über YOLOv10

Ultralytics YOLOv5: Der Industriestandard

Seit seiner Veröffentlichung im Jahr 2020 durch Ultralyticshat YOLOv5 die Benutzerfreundlichkeit in der KI-Gemeinschaft definiert. Es legt Wert auf ein ausgewogenes Verhältnis von Geschwindigkeit, Genauigkeit und technischem Nutzen. Über die reinen Metriken hinaus bietet YOLOv5 ein ausgereiftes Ökosystem, das sich nahtlos in Tools für den mobilen Einsatz, in Plattformen zur Verfolgung von Experimenten und in Workflows zur Verwaltung von Datensätzen integrieren lässt. Seine Vielseitigkeit geht über die Erkennung hinaus und umfasst auch Bildklassifizierung und Instanzsegmentierung.

  • Autor: Glenn Jocher
  • Organisation: Ultralytics
  • Datum: 2020-06-26
  • GitHub:yolov5

Erfahren Sie mehr über YOLOv5

Architektonische Unterschiede

Die Hauptdivergenz liegt in der Art und Weise, wie die Vorhersagen verarbeitet werden. YOLOv5 verwendet eine hoch optimierte ankerbasierte Architektur, die sich auf NMS stützt, um überlappende Bounding Boxes zu filtern. Diese Methode ist erprobt und robust gegenüber verschiedenen Datensätzen.

Im Gegensatz dazu verwendet YOLOv10 eine konsistente duale Zuweisungsstrategie. Dadurch kann das Modell während der Inferenz eine einzige beste Box für jedes Objekt vorhersagen, wodurch der NMS theoretisch vollständig entfällt. Diese Verringerung des Post-Processing-Overheads ist der Hauptgrund für die Berühmtheit von YOLOv10, da es eine geringere Latenzzeit auf Edge-Geräten wie dem NVIDIA Jetson Orin Nano bietet. Darüber hinaus beinhaltet YOLOv10 ganzheitliche Effizienzdesigns in seinem Backbone und Kopf, um Parameter (params) und Gleitkommaoperationen (FLOPs) zu minimieren.

Speicher-Effizienz

Ein Markenzeichen von Ultralytics wie YOLOv5 (und dem neueren YOLO11) ist ihr optimierter Speicherplatzbedarf. Im Gegensatz zu einigen transformatorbasierten Detektoren, die riesige Mengen an CUDA verbrauchen, sind Ultralytics so konzipiert, dass sie effizient auf verbraucherfreundlicher Hardware trainiert werden können, wodurch der Zugang zu modernster KI demokratisiert wird.

Leistungsmetriken

Die nachstehende Tabelle verdeutlicht die Leistungsabwägungen. YOLOv10 erreicht im Allgemeinen eine höhere durchschnittliche Genauigkeit (Mean Average Precision,mAP) mit weniger Parametern im Vergleich zur älteren YOLOv5 . Dennoch bleibt YOLOv5 auf bestimmten Hardwarekonfigurationen konkurrenzfähig in Bezug auf die reine Inferenzgeschwindigkeit, insbesondere bei Verwendung optimierter Exportformate wie TensorRT oder ONNX.

ModellGröße
(Pixel)
mAPval
50-95
Geschwindigkeit
CPU ONNX
(ms)
Geschwindigkeit
T4 TensorRT10
(ms)
Parameter
(M)
FLOPs
(B)
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

Stärken und Schwächen

YOLOv10

Stärken:

  • NMS: Durch den Wegfall der Nicht-Maximum-Unterdrückung wird die Bereitstellungspipeline vereinfacht und die Inferenzlatenz stabilisiert.
  • Parameter-Effizienz: Erzielt eine hohe Genauigkeit mit kleineren Modellgewichten, was für Geräte mit Speicherplatzbeschränkung von Vorteil ist.
  • Modernste Genauigkeit: Übertrifft ältere YOLO in reinen mAP beim COCO .

Schwächen:

  • Begrenzte Vielseitigkeit: Hauptsächlich auf die Objekterkennung ausgerichtet, ohne native Unterstützung für komplexe Aufgaben wie Posenschätzung oder Oriented Bounding Box (OBB) -Erkennung, die in neueren Ultralytics zu finden sind.
  • Sich entwickelndes Ökosystem: Da es sich um ein forschungsorientiertes Modell handelt, fehlen ihm möglicherweise die umfangreichen Community-Plugins, die praxiserprobten Integrationen und die Unternehmensunterstützung, die für die Ultralytics Modelle Ultralytics verfügbar sind.

YOLOv5

Stärken:

  • Unerreichte Vielseitigkeit: Unterstützt Erkennung, Segmentierung und Klassifizierung sofort nach dem Auspacken.
  • Robustes Ökosystem: Unterstützt von Ultralyticsunterstützt, lässt es sich mühelos mit Tools wie Ultralytics HUB, Roboflow und Comet ML integrieren.
  • Bereit für den Einsatz: Für den Export nach CoreML, TFLite, TensorRT und OpenVINO gibt es eine ausführliche Dokumentation, die eine reibungslose Produktionseinführung gewährleistet.
  • Trainingseffizienz: Bekannt für stabile Trainingsdynamik und geringen Speicherverbrauch, was es für Entwickler mit GPU zugänglich macht.

Schwächen:

  • Überalterte Architektur: Sie ist zwar immer noch leistungsstark, aber ihr reines mAP wurde von neueren Iterationen wie YOLOv8 und YOLO11.
  • Anker-Abhängigkeit: Verlässt sich auf Ankerboxen, die bei Datensätzen mit extremen Objektseitenverhältnissen eine manuelle Abstimmung erfordern können.

Ideale Anwendungsfälle

Die Wahl zwischen diesen beiden Optionen hängt oft von den spezifischen Einschränkungen Ihrer Einsatzumgebung ab.

  • Wählen Sie YOLOv10 , wenn: Sie ein spezielles Objekterkennungssystem für ein eingebettetes Gerät entwickeln, bei dem der Wegfall des NMS einen entscheidenden Geschwindigkeitsvorteil bietet, oder wenn Sie die absolut höchste mAP bei geringem Modellplatzbedarf benötigen.
  • Wählen Sie YOLOv5 , wenn: Sie ein zuverlässiges Multi-Tasking-Modell für eine Produktionspipeline benötigen. Seine Fähigkeit zur Instanzsegmentierung und -klassifizierung macht es zu einem "Schweizer Taschenmesser" für Vision AI. Wenn Ihr Team auf Standard-MLOps-Workflows angewiesen ist, reduziert die nahtlose Integration von YOLOv5 in das Ultralytics die Entwicklungszeit erheblich.

Benutzererfahrung und Ökosystem

Eines der wichtigsten Merkmale der Ultralytics ist die Konzentration auf die Erfahrung der Entwickler. YOLOv5 setzte den Standard für "es funktioniert einfach", und diese Philosophie wird fortgesetzt. Benutzer können ein YOLOv5 mit nur wenigen Codezeilen auf benutzerdefinierten Daten trainieren und dabei vortrainierte Gewichte nutzen, um die Konvergenz zu beschleunigen.

Im Gegensatz dazu liefert YOLOv10 zwar hervorragende akademische Ergebnisse, aber die Integration in komplexe Produktionspipelines erfordert möglicherweise mehr kundenspezifische Entwicklung. Ultralytics unterhält eine lebendige Open-Source-Gemeinschaft, die sicherstellt, dass Fehler schnell behoben und Funktionen auf der Grundlage des Feedbacks von Benutzern aus der Praxis hinzugefügt werden.

Code-Vergleich

Die Ausführung dieser Modelle ist unkompliziert. Nachfolgend finden Sie Beispiele für das Laden und die Vorhersage mit jedem Modell unter Verwendung von Python.

Verwendung von YOLOv10:

from ultralytics import YOLO

# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")

# Perform inference on an image
results = model("path/to/image.jpg")
results[0].show()

Verwendung von YOLOv5 (über PyTorch Hub):

import torch

# Load YOLOv5s from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")

# Perform inference
results = model("path/to/image.jpg")
results.show()

Fazit

Beide Modelle stellen bedeutende Errungenschaften in der Computer Vision dar. YOLOv10 stößt mit seinem NMS Design an die Grenzen der Latenzoptimierung, was ihn zu einer interessanten Wahl für spezialisierte Hochgeschwindigkeits-Erkennungsaufgaben macht.

Für die meisten Entwickler und Unternehmen ist jedoch das Ultralytics -hier durch die dauerhafte Zuverlässigkeit von YOLOv5 und die hochmoderne Leistung von YOLO11repräsentiert - eine umfassendere Lösung. Die Kombination aus Benutzerfreundlichkeit, umfassender Dokumentation und Multitasking-Fähigkeiten sorgt dafür, dass Sie weniger Zeit mit der Fehlersuche und mehr Zeit mit der Bereitstellung von Werten verbringen.

Für diejenigen, die von YOLOv5 aufrüsten und dabei die Vorteile des Ökosystems beibehalten möchten, empfehlen wir dringend, sich mit YOLO11zu entdecken, das modernste Leistung, verankerungsfreie Erkennung und Unterstützung für das gesamte Spektrum von Bildverarbeitungsaufgaben einschließlich OBB und Pose Estimation bietet.

Weiterführende Informationen


Kommentare