YOLOv7 vs. YOLOv5#
Beim Erstellen moderner Computer-Vision-Pipelines ist die Auswahl der richtigen Architektur für die Objekterkennung entscheidend, um Genauigkeit, Inferenzgeschwindigkeit und Ressourcennutzung auszubalancieren. Dieser umfassende Vergleich untersucht zwei besonders einflussreiche Modelle im Bereich Computer Vision: YOLOv7 und Ultralytics YOLOv5.
Durch die Analyse ihrer architektonischen Unterschiede, Leistungskennzahlen und idealen Einsatzszenarien möchten wir Entwickler und Forschende dabei unterstützen, das beste Modell für ihre spezifischen Anforderungen auszuwählen.
Hintergrund und Ursprünge der Modelle#
Das Verständnis der Ursprünge dieser Modelle liefert Kontext für ihre Designphilosophien und vorgesehenen Anwendungsfälle.
YOLOv5#
YOLOv5 wurde am 26. Juni 2020 von Glenn Jocher und dem Team von Ultralytics veröffentlicht und revolutionierte das Gebiet durch eine native PyTorch-Implementierung, bei der Benutzerfreundlichkeit im Vordergrund stand, ohne die Leistung zu beeinträchtigen. Dank seines äußerst schlanken Ökosystems und der zuverlässigen Trainingsdynamik wurde es schnell zum Industriestandard. Du kannst den Quellcode im YOLOv5-GitHub-Repository erkunden oder direkt über die Ultralytics Platform auf das Modell zugreifen.
YOLOv7#
Eingeführt von Chien-Yao Wang, Alexey Bochkovskiy und Hong-Yuan Mark Liao vom Institute of Information Science der Academia Sinica in Taiwan am 6. Juli 2022, konzentrierte sich YOLOv7 stark auf architektonische Innovationen wie Extended Efficient Layer Aggregation Networks (E-ELAN) und ein trainierbares „Bag-of-Freebies“, um den Stand der Technik bei der Genauigkeit voranzutreiben. Details findest du in dem offiziellen Arxiv-Papier und dem YOLOv7 GitHub-Repository. Für eine nahtlose Integration schau dir die Ultralytics YOLOv7-Dokumentation an.
Beide Modelle sind vollständig in das Ultralytics-Python-Paket integriert, sodass du einfach zwischen ihnen wechseln kannst, indem du den Modellnamen in deinem Code änderst!
Architektonische Innovationen#
Design von Ultralytics YOLOv5#
YOLOv5 verwendet ein modifiziertes CSPDarknet53-Backbone in Kombination mit einem Path Aggregation Network (PANet) als Neck. Dieses Design ist für eine schnelle Merkmalsextraktion und eine effiziente Speichernutzung optimiert. Im Gegensatz zu älteren Architekturen oder umfangreichen Transformer-Modellen benötigt YOLOv5 während des Trainings deutlich weniger CUDA-Speicher, wodurch größere Batch-Größen auf handelsüblichen GPUs möglich sind. Außerdem unterstützt das Ultralytics-Framework von Haus aus eine große Bandbreite an Aufgaben über herkömmliche Begrenzungsboxen hinaus, darunter Bildsegmentierung und Bildklassifizierung.
Design von YOLOv7#
YOLOv7 führte mehrere strukturelle Neuparametrisierungen und die E-ELAN-Architektur ein, durch die das Netzwerk vielfältigere Merkmale lernen kann, ohne den ursprünglichen Gradientenpfad zu zerstören. Außerdem wird ein zusätzlicher Kopf für die Zwischenüberwachung während des Trainings verwendet. Diese Weiterentwicklungen führen zwar zu einer hohen mittleren durchschnittlichen Präzision (mAP), bringen aber häufig komplexe Tensorstrukturen mit sich, die den Export in Edge-Formate wie ONNX oder TensorRT im Vergleich zu den schlanken, nativen Exporten von Ultralytics-Modellen etwas anspruchsvoller machen können.
Leistungsanalyse#
Beim Vergleich dieser Modelle müssen Entwickler mAPval, Inferenzgeschwindigkeit und die rechnerische Komplexität (FLOPs) gegeneinander abwägen. Die folgende Tabelle zeigt die Leistung beider Architekturen, evaluiert auf dem COCO-Datensatz.
| 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 |
Wichtige Erkenntnisse#
- Genauigkeitsgrenze: YOLOv7x erreicht mit beeindruckenden 53,1 mAPval die höchste Gesamtgenauigkeit und ist damit besonders wettbewerbsfähig für Szenarien, in denen die Maximierung der Erkennungsleistung oberste Priorität hat.
- Geschwindigkeit und Effizienz: Ultralytics YOLOv5n ist ein wahres Effizienzwunder und bietet eine extrem schnelle Inferenzlatenz (1,12 ms auf T4 TensorRT) bei einem winzigen Speicherbedarf von gerade einmal 2,6 Millionen Parametern. Damit ist es eine unübertroffene Wahl für Edge-Einsätze mit besonders starken Einschränkungen.
- Ausgewogene Leistung: Die YOLOv5-Reihe bietet eine außergewöhnliche Modellabstufung. YOLOv5l stellt einen hervorragenden Mittelweg dar: Es liegt bei der Genauigkeit nur knapp hinter YOLOv7l, bietet aber eine äußerst ausgereifte Bereitstellungspipeline.
Der Ökosystemvorteil von Ultralytics#
Die Architektur eines Modells ist nur die halbe Gleichung; sein Ökosystem bestimmt seine Praxistauglichkeit. Hier spielen Ultralytics-Modelle ihre besonderen Stärken aus.
Benutzerfreundlichkeit: Ultralytics bietet eine einheitliche, äußerst intuitive Python-API. Du kannst Modelle mit minimalem Boilerplate-Code trainieren, validieren und bereitstellen, unterstützt durch eine umfassende offizielle Dokumentation. Gut gepflegtes Ökosystem: Die aktive Weiterentwicklung sorgt für kontinuierliche Aktualisierungen, Fehlerbehebungen und eine nahtlose Integration mit modernen Werkzeugen zur Nachverfolgung wie Weights & Biases. Trainingseffizienz: Durch optimierte Datenlader und intelligentes Caching verkürzt YOLOv5 die Trainingszeiten drastisch. Darüber hinaus beschleunigen sofort einsatzbereite, vortrainierte Gewichte das Transferlernen in verschiedenen Bereichen.
Codebeispiel: Vereinfachtes Training#
Mit dem Ultralytics-Paket ist der Start eines Trainingslaufs unabhängig von der gewählten Architektur nahezu identisch.
from ultralytics import YOLO
# Load a pre-trained YOLOv5 model (can easily swap to "yolov7.pt")
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 example dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Export the trained model to ONNX format for deployment
success = model.export(format="onnx")Ideale Anwendungsfälle#
Wann du YOLOv7 wählen solltest#
- Akademisches Benchmarking: Ideal für Forschende, die neue Verfahren mit einer gut dokumentierten Grundlage aus dem Jahr 2022 vergleichen möchten.
- Verarbeitung in der GPU-Cloud mit leistungsstarker Hardware: Für den Einsatz auf leistungsfähiger Serverhardware, wenn die höchstmögliche mAP in dichten Szenen wichtiger ist als ein unkomplizierter Export.
Wann du YOLOv5 wählen solltest#
- Produktiveinsätze: Ideal für kommerzielle Anwendungen, die hohe Stabilität, unkomplizierte Optionen zur Modellbereitstellung und eine umfassende plattformübergreifende Kompatibilität erfordern.
- Edge-Geräte: Die kleineren Varianten (YOLOv5n und YOLOv5s) laufen besonders gut auf Mobiltelefonen und eingebetteten Systemen.
- Anforderungen an mehrere Aufgaben: Wenn sich dein Projekt von der einfachen Erkennung zu Posenschätzung oder Segmentierung weiterentwickeln soll und dabei ein einheitliches Framework verwendet werden soll.
Du suchst nach neueren Generationen? Sieh dir Ultralytics YOLOv8 oder Ultralytics YOLO11 an, um weitere Fortschritte bei der anchorfreien Erkennung und den Fähigkeiten zum Lernen mehrerer Aufgaben zu entdecken.
Die nächste Generation: Ultralytics YOLO26#
YOLOv5 und YOLOv7 nehmen zwar wichtige Plätze in der Geschichte der visuellen KI ein, doch die Landschaft entwickelt sich ständig weiter. Ultralytics YOLO26, veröffentlicht im Januar 2026, repräsentiert die absolute Spitze der Objekterkennungstechnologie und übertrifft frühere Generationen in allen Kennzahlen.
YOLO26 führt mehrere paradigmatische Neuerungen ein:
- End-to-End-Design ohne NMS: Aufbauend auf Konzepten aus früheren Generationen ist YOLO26 von Haus aus end-to-end. Dadurch entfällt die Nachverarbeitung durch die Unterdrückung nichtmaximaler Werte (NMS) vollständig, was Latenzengpässe reduziert und die Bereitstellungslogik deutlich vereinfacht.
- MuSGD-Optimierer: Dieser revolutionäre Optimierer ist von Kimi K2 von Moonshot AI inspiriert und verbindet die Stabilität des standardmäßigen SGD mit dem beschleunigten Momentum von Muon. Dadurch gelangen fortschrittliche Innovationen aus dem LLM-Training direkt in die Computer Vision.
- Verbesserte CPU-Geschwindigkeit: Durch die gezielte Entfernung des Verteilungsverlusts für fokale Bereiche (DFL) erreicht YOLO26 eine um bis zu 43 % schnellere CPU-Inferenz und wird damit zum unangefochtenen Spitzenreiter für die Bereitstellung auf Edge- und stromsparenden IoT-Geräten.
- ProgLoss + STAL: Diese fortschrittlichen Verlustfunktionen führen zu erheblichen Verbesserungen bei der Erkennung kleiner Objekte, was für Luftaufnahmen und Präzisionsrobotik entscheidend ist.
- Aufgabenspezifische Verbesserungen: Dazu gehören ein Verlust für semantische Segmentierung zur Maskengenerierung, die Schätzung der verbleibenden Log-Likelihood (RLE) für die Posennachverfolgung und ein spezialisierter Winkelfehler zur Lösung schwieriger Randprobleme bei orientierten Begrenzungsboxen (OBB).
Fazit#
YOLOv5 und YOLOv7 bieten beide robuste Lösungen für die Objekterkennung in Echtzeit. YOLOv7 bleibt eine starke Wahl für maximale Genauigkeit auf Hardware mit hoher Rechenleistung, während YOLOv5 als besonders entwicklerfreundliches Werkzeug überzeugt und ein außergewöhnliches Gleichgewicht aus Geschwindigkeit, Effizienz und einem erstklassigen Ökosystem bietet.
Für Entwickler, die ihre Pipelines zukunftssicher machen und die ultimative Kombination aus Geschwindigkeit, Einfachheit und Genauigkeit auf dem neuesten Stand der Technik erreichen möchten, empfehlen wir jedoch dringend den Umstieg auf Ultralytics YOLO26. Es vereint die legendäre Benutzerfreundlichkeit der Ultralytics Platform mit bahnbrechenden architektonischen Innovationen.