YOLOv10 vs. YOLOv9: Ein umfassender technischer Vergleich
Die Landschaft der Objekterkennung hat sich rasch weiterentwickelt, wobei die aufeinanderfolgenden Iterationen der YOLO (You Only Look Once) die Grenzen von Geschwindigkeit und Genauigkeit verschoben haben. Zwei der wichtigsten jüngsten Beiträge auf diesem Gebiet sind YOLOv10 und YOLOv9. Obwohl beide Modelle auf dem COCO Spitzenleistungen erzielen, unterscheiden sie sich erheblich in ihrer Designphilosophie und ihren architektonischen Zielen.
YOLOv10 legt den Schwerpunkt auf niedrige Latenzzeiten und End-to-End-Effizienz durch den Verzicht auf Non-Maximum SuppressionNMS), während YOLOv9 sich auf die Maximierung der Informationserhaltung und Genauigkeit durch Programmable Gradient Information (PGI) konzentriert. Dieser Leitfaden bietet einen detaillierten technischen Vergleich, um Entwicklern und Forschern bei der Auswahl des optimalen Modells für ihre Computer-Vision-Anwendungen zu helfen.
YOLOv10: Der End-to-End-Echtzeitdetektor
Herausgegeben im Mai 2024 von Forschern der Tsinghua Universität, YOLOv10 stellt einen Paradigmenwechsel in der YOLO dar. Die wichtigste Neuerung ist die Abschaffung des Nachbearbeitungsschritts Non-Maximum Suppression (NMS ), der traditionell ein Engpass für die Inferenzlatenz war.
Technische Details:
- Autoren: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organisation:Tsinghua Universität
- Datum: 2024-05-23
- Arxiv:Ende-zu-Ende-Objekt-Erkennung in Echtzeit
- GitHub:THU-MIG/yolov10
Architektur und wichtige Innovationen
YOLOv10 erreicht seine Effizienz durch eine Kombination aus konsistenten Doppelzuweisungen und einem ganzheitlichen, auf Effizienz und Genauigkeit ausgerichteten Modelldesign.
- NMS Training: Traditionelle YOLO verlassen sich auf NMS , um doppelte Bounding Boxes herauszufiltern. YOLOv10 verwendet eine duale Zuweisungsstrategie während der Modellschulung. Ein Eins-zu-Viel-Zweig liefert reichhaltige Überwachungssignale für das Lernen, während ein Eins-zu-Eins-Zweig sicherstellt, dass das Modell während der Inferenz eine einzige beste Vorhersage pro Objekt erzeugt. Dadurch kann das Modell ohne NMS eingesetzt werden, was die Inferenzlatenz erheblich reduziert.
- Modell-Optimierung: Die Architektur umfasst leichtgewichtige Klassifizierungsköpfe, räumlich-kanalentkoppeltes Downsampling und ranggesteuertes Blockdesign. Diese Funktionen reduzieren die Rechenredundanz und die Speichernutzung, wodurch das Modell auf Hardware mit begrenzten Ressourcen sehr effizient ist.
Effizienzvorteil
Die Abschaffung von NMS in YOLOv10 ist besonders vorteilhaft für den Edge-Einsatz. Auf Geräten mit knappen CPU kann die Vermeidung der Rechenkosten für das Sortieren und Filtern von Tausenden von Kandidatenboxen zu erheblichen Geschwindigkeitssteigerungen führen.
Erfahren Sie mehr über YOLOv10
YOLOv9: Beherrschung der Informationsspeicherung
Eingeführt im Februar 2024 von Chien-Yao Wang und Hong-Yuan Mark Liao, YOLOv9 zielt auf das Problem des "Informationsengpasses" ab, das tiefen neuronalen Netzen innewohnt. Wenn Daten aufeinanderfolgende Schichten durchlaufen (Merkmalsextraktion), können wichtige Informationen verloren gehen, was zu einer verminderten Genauigkeit führt, insbesondere bei kleinen oder schwer detect erkennenden Objekten.
Technische Details:
- Autoren: Chien-Yao Wang, Hong-Yuan Mark Liao
- Organisation:Institut für Informationswissenschaft, Academia Sinica
- Datum: 2024-02-21
- Arxiv:Mit programmierbaren Gradienteninformationen lernen, was man lernen will
- GitHub:WongKinYiu/yolov9
Architektur und wichtige Innovationen
YOLOv9 führt neue Konzepte ein, um sicherzustellen, dass das Netz so viele Eingabedaten wie möglich speichert und nutzt.
- Programmierbare Gradienteninformation (PGI): PGI bietet einen zusätzlichen Überwachungsrahmen, der zuverlässige Gradienten für die Aktualisierung der Netzwerkgewichte erzeugt. Dadurch wird sichergestellt, dass tiefe Schichten vollständige Eingabeinformationen erhalten, wodurch das Problem des verschwindenden Gradienten entschärft und die Konvergenz verbessert wird.
- Generalized Efficient Layer Aggregation Network (GELAN): Diese neue Architektur ersetzt das konventionelle ELAN, das in früheren Versionen verwendet wurde. GELAN optimiert die Parameternutzung und die Berechnungseffizienz (FLOPs), wodurch YOLOv9 eine höhere Genauigkeit bei einer mit den Vorgängerversionen vergleichbaren Modellgröße erreicht.
Deep Learning Einblicke
Der Fokus von YOLOv9 auf die Informationserhaltung macht es außergewöhnlich stark bei der Erkennung von Objekten in komplexen Szenen, in denen die Merkmalsdetails andernfalls während der Downsampling-Operationen im Backbone verloren gehen könnten.
Leistungsmetriken: Geschwindigkeit vs. Genauigkeit
Bei der Wahl zwischen diesen beiden Modellen geht es oft um einen Kompromiss zwischen der reinen Schlussfolgerungsgeschwindigkeit und der Erkennungsgenauigkeit. Die nachstehende Tabelle zeigt die Leistungsunterschiede zwischen den verschiedenen Modellskalen.
Analyse:
- Latenz: YOLOv10 übertrifft YOLOv9 durchgängig bei der Latenz, insbesondere bei den kleineren Modellgrößen (N und S). Zum Beispiel erreicht YOLOv10n eine Inferenzgeschwindigkeit von 1,56 ms auf TensorRT, deutlich schneller als vergleichbare Modelle.
- Genauigkeit: YOLOv9 zeichnet sich durch eine hohe Genauigkeit aus, die am oberen Ende des Spektrums liegt. Das Modell YOLOv9e erreicht einen bemerkenswerten mAP von 55,6 % und ist damit die erste Wahl für Anwendungen, bei denen es auf Präzision ankommt.
- Wirkungsgrad: YOLOv10 bietet eine hervorragende Genauigkeit pro Parameter. YOLOv10b erreicht 52,7 % mAP mit einer geringeren Latenz als YOLOv9c, was die Effektivität seines ganzheitlichen Designs unter Beweis stellt.
| 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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
Ideale Anwendungsfälle
Das Verständnis der Stärken der einzelnen Modelle hilft bei der Auswahl des richtigen Tools für Ihre spezifischen Projektziele.
Wann sollten Sie YOLOv10 wählen YOLOv10
- Edge AI-Einsatz: Anwendungen, die auf Geräten wie NVIDIA Jetson oder Raspberry Pi ausgeführt werden, profitieren von dem NMS Design, das den CPU reduziert.
- Hochfrequenz-Videoanalyse: Szenarien, die die Verarbeitung von Videoströmen mit hohen FPS erfordern, wie z. B. Verkehrsüberwachung oder Sportanalysen.
- Robotertechnik in Echtzeit: Autonome Systeme, die auf Rückkopplungsschleifen mit geringer Latenz zur Navigation und Hindernisvermeidung angewiesen sind.
Wann sollte man YOLOv9 wählen YOLOv9
- Hochpräzise Inspektion: Industrielle Qualitätskontrolle, bei der das Übersehen eines Fehlers (falsches Negativ) kostspielig ist.
- Erkennung kleiner Objekte: Anwendungen wie die Analyse von Satellitenbildern oder die medizinische Bildgebung, bei denen die Objekte klein und arm an Merkmalen sind.
- Komplexe Szenarien: Umgebungen mit starker Verdeckung oder Unübersichtlichkeit, in denen ein Maximum an Informationen zur Unterscheidung von Objekten erforderlich ist.
Verwendung mit Ultralytics
Einer der wesentlichen Vorteile der Verwendung dieser Modelle ist ihre Integration in das Ultralytics . Sowohl YOLOv10 als auch YOLOv9 können über dieselbe einheitliche Python und BefehlszeilenschnittstelleCLI) verwendet werden, was den Arbeitsablauf von der Schulung bis zur Bereitstellung vereinfacht.
Python
Der folgende Code demonstriert das Laden und Ausführen der Inferenz mit beiden Modellen unter Verwendung der ultralytics Package.
from ultralytics import YOLO
# Load a YOLOv10 model (NMS-free, high speed)
model_v10 = YOLO("yolov10n.pt")
# Load a YOLOv9 model (High accuracy)
model_v9 = YOLO("yolov9c.pt")
# Run inference on an image
# The API remains consistent regardless of the underlying architecture
results_v10 = model_v10("https://ultralytics.com/images/bus.jpg")
results_v9 = model_v9("https://ultralytics.com/images/bus.jpg")
# Print results
for r in results_v10:
print(f"YOLOv10 Detections: {r.boxes.shape[0]}")
for r in results_v9:
print(f"YOLOv9 Detections: {r.boxes.shape[0]}")
Der Ultralytics
Die Wahl von Ultralytics für Ihre Computer-Vision-Projekte bietet mehrere Vorteile, die über die reine Modellarchitektur hinausgehen:
- Benutzerfreundlichkeit: Die benutzerfreundliche API ermöglicht es Ihnen, zwischen YOLOv9, YOLOv10 und anderen Modellen wie YOLO11 durch einfaches Ändern des Dateinamens der Gewichte.
- Ausgewogene Leistung: Die Ultralytics sind für die reale Leistung optimiert und bieten ein ausgewogenes Verhältnis zwischen Geschwindigkeit und Genauigkeit.
- Trainingseffizienz: Das Framework unterstützt Funktionen wie automatische gemischte Präzision (AMP) und GPU , was das Training benutzerdefinierter Modelle auf Ihren eigenen Datensätzen erleichtert.
- Speicherbedarf: Ultralytics weisen im Vergleich zu transformatorbasierten Alternativen in der Regel einen geringeren Speicherbedarf auf, was das Training auf Consumer-GPUs erleichtert.
Fazit
Beide YOLOv10 und YOLOv9 stellen wichtige Meilensteine in der Objekterkennung dar. YOLOv10 ist dank seiner innovativen NMS Architektur der klare Gewinner für Anwendungen, bei denen Geschwindigkeit und Effizienz im Vordergrund stehen. Umgekehrt, YOLOv9 eine robuste Wahl für Szenarien, die höchstmögliche Genauigkeit und Informationserhaltung erfordern.
Für Entwickler, die die neueste und vielseitigste Lösung suchen, empfehlen wir auch YOLO11. YOLO11 baut auf den Stärken seiner Vorgänger auf und bietet ein ausgewogenes Verhältnis von Geschwindigkeit, Genauigkeit und Funktionen für Erkennungs-, Segmentierungs- und Posenschätzungsaufgaben.
Andere Modelle entdecken
- Ultralytics YOLO11 - Das neueste Modell auf dem neuesten Stand der Technik.
- Ultralytics YOLOv8 - Ein vielseitiges und ausgereiftes Modell für verschiedene Bildverarbeitungsaufgaben.
- RT-DETR - Ein Detektor auf Transformatorbasis für hochpräzise Anwendungen.