YOLOv7 vs. YOLOv5: Ein detaillierter technischer Vergleich
Bei der Auswahl eines Objekterkennungsmodells wägen Entwickler oft die Kompromisse zwischen Geschwindigkeit, Genauigkeit und Benutzerfreundlichkeit ab. Ultralytics YOLOv5 und YOLOv7 sind zwei zentrale Modelle in der Computer Vision-Landschaft, jedes mit unterschiedlichen Stärken. Diese Seite bietet einen detaillierten technischen Vergleich, um Ihnen bei der Entscheidung zu helfen, welches Modell am besten zu den Anforderungen Ihres Projekts passt, wobei die architektonischen Unterschiede, Leistungsbenchmarks und idealen Anwendungen hervorgehoben werden.
Während YOLOv7 bei seiner Veröffentlichung die Grenzen der Genauigkeit verschoben hat, hat sich Ultralytics YOLOv5 als Maßstab für Effizienz, schnelle Bereitstellung und Zugänglichkeit etabliert, unterstützt durch ein robustes und gut gepflegtes Ökosystem.
YOLOv7: Fokus auf hohe Genauigkeit
YOLOv7, entwickelt von Chien-Yao Wang, Alexey Bochkovskiy und Hong-Yuan Mark Liao, wurde am 6. Juli 2022 veröffentlicht. Es führte mehrere architektonische Optimierungen und Trainingsstrategien ein, die als „trainierbare Bag-of-Freebies“ bekannt sind, mit dem Ziel, einen neuen State-of-the-Art in der Genauigkeit für Echtzeit-Objektdetektoren zu setzen und gleichzeitig eine hohe Geschwindigkeit beizubehalten.
Autoren: Chien-Yao Wang, Alexey Bochkovskiy und Hong-Yuan Mark Liao
Organisation: Institute of Information Science, Academia Sinica, Taiwan
Datum: 2022-07-06
Arxiv: https://arxiv.org/abs/2207.02696
GitHub: https://github.com/WongKinYiu/yolov7
Dokumentation: https://docs.ultralytics.com/models/yolov7/
Architektur und Hauptmerkmale von YOLOv7
Die Architektur von YOLOv7 basiert auf mehreren Schlüssel-Innovationen, die entwickelt wurden, um das Feature-Learning zu verbessern und das Modell für eine schnellere Inferenz nach dem Training zu optimieren.
- Extended Efficient Layer Aggregation Network (E-ELAN): Dieses Modul im Backbone verbessert die Lernfähigkeit des Netzwerks, indem es Gradientenpfade effizienter verwaltet, wodurch es vielfältigere Merkmale erlernen kann.
- Modellskalierung: Implementiert eine Compound-Skalierungsmethode für Konkatenierungsbasierte Modelle, die die Tiefe und Breite des Modells an verschiedene Rechenbudgets anpasst.
- Trainable Bag-of-Freebies: Nutzt fortgeschrittene Trainingstechniken, wie z.B. Auxiliary Heads und optimierte Label-Zuweisung, um die Genauigkeit zu steigern, ohne die Inferenzkosten zu erhöhen. Diese Auxiliary Heads werden nur während des Trainings verwendet, um das Feature-Learning zu verstärken, und werden für die Inferenz entfernt.
Stärken von YOLOv7
- Hohe Genauigkeit: Erzielt hohe mAP-Werte auf Benchmarks wie COCO und übertrifft oft zeitgemäße Modelle in Bezug auf die Genauigkeit.
- Effiziente Trainingstechniken: Beinhaltet neuartige Trainingsstrategien, die die Leistung maximieren, ohne den Rechenaufwand während der Inferenz zu erhöhen.
Schwächen von YOLOv7
- Komplexität: Die Architektur und der Trainingsprozess mit Funktionen wie zusätzlichen Headern können komplexer zu verstehen und zu modifizieren sein als der optimierte Ansatz von Ultralytics YOLOv5.
- Ökosystem und Support: Es fehlt die umfangreiche Dokumentation, die Tutorials und das integrierte Ökosystem, die von Ultralytics bereitgestellt werden. Dies kann die Bereitstellung und Fehlerbehebung für Entwickler erschweren.
- Ressourcenintensiv: Größere YOLOv7-Modelle erfordern erhebliche Rechenressourcen für das Training, was ihre Zugänglichkeit für Benutzer mit begrenzter Hardware einschränken könnte.
Anwendungsfälle für YOLOv7
- High-Performance Detektion: Geeignet für Anwendungen, bei denen das Erreichen der absolut höchsten Genauigkeit entscheidend ist, wie z. B. bei fortschrittlicher Überwachung oder autonomen Fahrzeugen.
- Forschung und Benchmarking: Wird häufig in der akademischen Forschung verwendet, um modernste Objekterkennungstechniken zu erforschen und Leistungsgrenzen zu verschieben.
Ultralytics YOLOv5: Geschwindigkeit und Einfachheit
Ultralytics YOLOv5, verfasst von Glenn Jocher, wurde am 26. Juni 2020 veröffentlicht. Es entwickelte sich aufgrund seiner außergewöhnlichen Balance aus Geschwindigkeit, Genauigkeit und vor allem Benutzerfreundlichkeit schnell zu einem der beliebtesten Objekterkennungsmodelle. Es basiert auf PyTorch und ist für schnelles Training, robuste Bereitstellung und Zugänglichkeit konzipiert.
Autoren: Glenn Jocher
Organisation: Ultralytics
Datum: 2020-06-26
Arxiv: Keine
GitHub: https://github.com/ultralytics/yolov5
Docs: https://docs.ultralytics.com/models/yolov5/
Architektur und Hauptmerkmale von YOLOv5
YOLOv5 zeichnet sich durch eine einfache, aber leistungsstarke Architektur aus, die sowohl für das Training als auch für die Inferenz hochoptimiert ist.
- CSP-basierte Architektur: Verwendet ein Cross Stage Partial (CSP) Netzwerk sowohl im Backbone als auch im Neck (PANet), um den Feature-Fluss zu optimieren und rechnerische Engpässe zu reduzieren.
- Skalierbare Modellfamilie: Bietet eine Reihe von Modellen von Nano (YOLOv5n) bis Extra-Large (YOLOv5x), sodass Benutzer das perfekte Gleichgewicht zwischen Geschwindigkeit und Genauigkeit für ihre spezifischen Anforderungen wählen können, von schlanken Edge-Geräten bis hin zu hochleistungsfähigen Cloud-Servern.
- Entwicklerorientierte Erfahrung: Von Grund auf auf Einfachheit ausgelegt. Es bietet eine automatische Ankergenerierung, integrierte Experimentverfolgung und eine optimierte Trainingspipeline, die sowohl für Anfänger als auch für Experten einfach zu bedienen ist.
Stärken von Ultralytics YOLOv5
- Benutzerfreundlichkeit: YOLOv5 ist bekannt für seine unkomplizierte Benutzererfahrung. Mit einem einfachen
pip install ultralytics
Befehl, ein benutzerfreundliches CLI, und umfangreich Dokumentation, der Einstieg ist unglaublich schnell. - Gut gepflegtes Ökosystem: Profitiert von kontinuierlicher Entwicklung durch Ultralytics, einer starken Open-Source-Community und nahtloser Integration mit Tools wie Ultralytics HUB für Training und Deployment ohne Code.
- Performance Balance: Erzielt einen ausgezeichneten Kompromiss zwischen Geschwindigkeit und Genauigkeit. Seine kleineren Modelle, wie YOLOv5n, sind unglaublich schnell und ideal für Echtzeit-Inferenz auf CPU- und Edge-Geräten.
- Trainingseffizienz: Der Trainingsprozess ist hocheffizient, mit schnelleren Konvergenzzeiten und geringeren Speicheranforderungen im Vergleich zu vielen anderen Modellen. Vortrainierte Gewichte sind leicht verfügbar und benutzerdefiniertes Training ist einfach.
- Vielseitigkeit: Bietet native Unterstützung für mehrere Aufgaben, einschließlich Objekterkennung, Instanzsegmentierung und Bildklassifizierung.
Schwächen von Ultralytics YOLOv5
- Höchste Genauigkeit: Obwohl die größten YOLOv5-Modelle sehr konkurrenzfähig sind, erreichen sie möglicherweise nicht die höchste mAP der größten YOLOv7-Varianten bei bestimmten Benchmarks, da YOLOv7 speziell darauf ausgelegt wurde, diese Metrik zu maximieren.
Anwendungsfälle für Ultralytics YOLOv5
- Echtzeit-Anwendungen: Ideal für Anwendungen, die schnelle Inferenz erfordern, wie z. B. Robotik, Drohnen-Vision und Live-Videoanalyse.
- Edge-Deployment: Aufgrund des effizienten Designs und der geringen Modellgrößen gut geeignet für den Einsatz auf ressourcenbeschränkten Edge-Geräten wie dem NVIDIA Jetson.
- Schnelle Prototypenerstellung: Eine ausgezeichnete Wahl für die schnelle Entwicklung und Bereitstellung von Objekterkennungslösungen, dank der Benutzerfreundlichkeit und der umfassenden Unterstützung.
Performance und Benchmarks: YOLOv7 vs. YOLOv5
Der Hauptunterschied in der Leistung liegt in ihren Designprioritäten. YOLOv7 zielt auf die höchste Genauigkeit ab, während YOLOv5 eine ausgewogenere und praktischere Auswahl an Optionen bietet.
Modell | Größe (Pixel) |
mAPval 50-95 |
Geschwindigkeit CPU ONNX (ms) |
Geschwindigkeit T4 TensorRT10 (ms) |
Parameter (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
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 |
Wie die Tabelle zeigt, erzielen YOLOv7-Modelle beeindruckende mAP-Werte mit wettbewerbsfähigen GPU-Geschwindigkeiten. Ultralytics YOLOv5 bietet jedoch eine größere Auswahl an Optionen für verschiedene Einsatzszenarien. Die Modelle YOLOv5n und YOLOv5s sind sowohl auf der CPU als auch auf der GPU deutlich schneller, was sie zur klaren Wahl für Anwendungen mit niedriger Latenz und Edge-Anwendungen macht.
Fazit: Welches Modell sollten Sie wählen?
Die Wahl zwischen YOLOv7 und YOLOv5 hängt stark von den Prioritäten Ihres Projekts ab.
-
Wählen Sie YOLOv7, wenn Ihr Hauptziel darin besteht, die höchstmögliche Erkennungsgenauigkeit zu erzielen, und Sie über die Rechenressourcen und das technische Fachwissen verfügen, um seine komplexere Architektur und Trainingspipeline zu verwalten. Es ist ein ausgezeichnetes Modell für Forschung und spezialisierte Anwendungen, bei denen Leistung von größter Bedeutung ist.
-
Wählen Sie Ultralytics YOLOv5, wenn Sie Wert auf schnelle Entwicklung, Benutzerfreundlichkeit und Deployment-Flexibilität legen. Sein optimierter Workflow, die umfangreiche Dokumentation und die starke Leistungsbalance machen es zur idealen Wahl für die meisten kommerziellen und praktischen Anwendungen. Egal, ob Sie Anfänger oder erfahrener Praktiker sind, das robuste Ökosystem von YOLOv5 beschleunigt den Weg vom Konzept zur Produktion.
Für die meisten Entwickler machen die praktischen Vorteile und der umfassende Support von Ultralytics YOLOv5 es zu einer überzeugenderen Wahl. Seine Nachfolger, wie Ultralytics YOLOv8, setzen dieses Erbe fort, indem sie eine noch bessere Leistung und mehr Funktionen innerhalb desselben benutzerfreundlichen Frameworks bieten.
Andere Modelle entdecken
Für diejenigen, die an den neuesten Fortschritten interessiert sind, lohnt es sich, neuere Modelle im Ultralytics-Ökosystem zu erkunden.
- Ultralytics YOLOv8: Der Nachfolger von YOLOv5, der verbesserte Genauigkeit, Geschwindigkeit und eine einheitliche API für Erkennung, Segmentierung, Pose-Schätzung und Tracking bietet. Sehen Sie einen direkten Vergleich zwischen YOLOv8 und YOLOv7.
- Ultralytics YOLOv10: Ein hochmodernes Modell, das sich auf NMS-freie End-to-End-Erkennung zur Reduzierung der Latenz und Verbesserung der Effizienz konzentriert.
- Ultralytics YOLO11: Das neueste hochmoderne Modell von Ultralytics, das Geschwindigkeit, Effizienz und Benutzerfreundlichkeit mit einem ankerfreien Design betont.