Zum Inhalt springen

YOLOv7 vs. YOLOv6.0: Ein umfassender technischer Vergleich

In der sich schnell entwickelnden Landschaft der Computer Vision ist die Auswahl des richtigen Objekterkennungsmodells entscheidend für den Projekterfolg. Zwei wichtige Rahmenwerke, die das Feld geprägt haben, sind YOLOv7 und YOLOv6.0. Beide basieren auf YOLO (You Only Look Once), unterscheiden sich jedoch erheblich in ihrer Architekturphilosophie und ihren Optimierungszielen.

Dieser Leitfaden bietet eine eingehende technische Analyse dieser beiden Modelle und vergleicht ihre Architekturen, Leistungskennzahlen und idealen Einsatzszenarien. Wir untersuchen auch, wie moderne Alternativen wie Ultralytics YOLO11 die besten Funktionen dieser Vorgängermodelle in ein einheitliches, benutzerfreundliches Ökosystem integrieren.

YOLOv7: Die Architektur der Genauigkeit

YOLOv7, das im Juli 2022 veröffentlicht wurde, stellte eine bedeutende Verschiebung innerhalb der YOLO-Familie dar, wobei architektonische Innovationen priorisiert wurden, um die Genauigkeit zu maximieren, ohne die Echtzeit-Inferenzfähigkeiten zu beeinträchtigen. Es wurde entwickelt, um die Grenzen der COCO-Datensatzes zu erweitern.

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
Docs:https://docs.ultralytics.com/models/yolov7/

Wichtige architektonische Merkmale

YOLOv7 führte "trainable bag-of-freebies" ein, eine Reihe von Optimierungsmethoden, die die Genauigkeit erhöhen, ohne die Inferenzkosten zu erhöhen.

  • E-ELAN (Extended-Efficient Layer Aggregation Networks): Diese Architektur verbessert die Lernfähigkeit des Netzes durch Kontrolle der kürzesten und längsten Gradientenpfade. Sie ermöglicht es dem Modell, durch die Erweiterung der Kardinalität der Berechnungsblöcke mehr verschiedene Merkmale zu lernen.
  • Modell-Skalierung: YOLOv7 verwendet zusammengesetzte Skalierungstechniken, bei denen Tiefe und Breite gleichzeitig verändert werden, um eine optimale Leistung bei verschiedenen Modellgrößen (von Tiny bis E6E) zu gewährleisten.
  • Training mit einem Hilfskopf: Das Modell verwendet während des Trainings einen Hilfskopf, um eine tiefe Überwachung zu bieten, die dann während der Inferenz entfernt wird. Dadurch wird die Konvergenz des Deep-Learning-Modells verbessert.

Stärken und Schwächen

YOLOv7 ist bekannt für seine hohe durchschnittliche Genauigkeit (mAP), insbesondere bei kleinen und verdeckten Objekten. Es eignet sich hervorragend für die Forschung und für Szenarien, in denen Präzision von größter Bedeutung ist. Seine komplexe Architektur, die sich stark auf verkettungsbasierte Schichten stützt, kann jedoch zu einem höheren Speicherverbrauch während des Trainings im Vergleich zu schlanken industriellen Modellen führen.

Erfahren Sie mehr über YOLOv7

YOLOv6.0: Entwickelt für industrielle Geschwindigkeit

YOLOv6-3.0, entwickelt von der Abteilung für visuelles Rechnen bei Meituan, konzentriert sich stark auf praktische industrielle Anwendungen. Es wurde Anfang 2023 veröffentlicht und priorisiert Inferenzgeschwindigkeit und Hardwareeffizienz, was es zu einem starken Kandidaten für Edge Computing macht.

Autoren: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu, und Xiangxiang Chu
Organisation: Meituan
Datum: 2023-01-13
Arxiv:https://arxiv.org/abs/2301.05586
GitHub:https://github.com/meituan/YOLOv6
Docs:https://docs.ultralytics.com/models/yolov6/

Wichtige architektonische Merkmale

YOLOv6.0 zeichnet sich durch sein Hardware-bewusstes Design aus, das speziell für GPU und CPU optimiert ist.

  • RepVGG-Grundgerüst: Das Modell verwendet Reparameterisierungsblöcke (RepVGG). Während des Trainings hat das Modell eine Mehrzweigtopologie für besseres Lernen, die mathematisch zu einer Einzweigstruktur für Inferenzen verschmolzen wird. Dies führt zu einer schnelleren Ausführung auf Hardware wie dem NVIDIA Jetson.
  • Entkoppelter Kopf: Im Gegensatz zu früheren YOLO , bei denen die Merkmale für Klassifizierung und Lokalisierung gemeinsam genutzt wurden, verwendet YOLOv6 einen entkoppelten Kopf. Diese Trennung verbessert die Konvergenzgeschwindigkeit und die Erkennungsgenauigkeit.
  • Quantisierungsfreundlich: Die Architektur ist so konzipiert, dass sie für die Modellquantisierung (z. B. INT8) geeignet ist, was für den Einsatz auf Geräten mit eingeschränkten Ressourcen unerlässlich ist.

Stärken und Schwächen

YOLOv6.0 zeichnet sich durch seinen hohen Durchsatz aus. Für industrielle Automatisierungslinien oder die Robotik, wo Millisekunden zählen, ist sein optimierter Inferenzgraph ein bedeutender Vorteil. Der Schwerpunkt liegt jedoch in erster Linie auf der Erkennung, und es fehlt die native Multitasking-Vielseitigkeit, die in späteren Versionen wie YOLO11 zu finden ist.

Erfahren Sie mehr über YOLOv6.0

Leistungsvergleich

Die folgende Tabelle veranschaulicht die Kompromisse zwischen den beiden Modellen. YOLOv6.0 bietet im Allgemeinen eine höhere Geschwindigkeit bei ähnlichen Genauigkeitsstufen, während YOLOv7 an die Grenzen der Erkennungsgenauigkeit stößt.

ModellGröße
(Pixel)
mAPval
50-95
Geschwindigkeit
CPU ONNX
(ms)
Geschwindigkeit
T4 TensorRT10
(ms)
Parameter
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
YOLOv6.0n64037.5-1.174.711.4
YOLOv6.0s64045.0-2.6618.545.3
YOLOv6.0m64050.0-5.2834.985.8
YOLOv6.0l64052.8-8.9559.6150.7

Analyse der Ergebnisse

  • Geschwindigkeit vs. Genauigkeit: YOLOv6.0n zeichnet sich durch extreme Geschwindigkeit aus und erreicht auf T4-GPUs eine Inferenzzeit von 1,17 ms, was es ideal für Hochgeschwindigkeits-Videoanalysen macht.
  • Spitzengenauigkeit: YOLOv7x erreicht eine höhere mAP (53,1 %) im Vergleich zu YOLOv6.0l (52,8 %), was seine Stärke bei der Erkennung schwieriger Beispiele unterstreicht.
  • Effizienz bei der Berechnung: YOLOv6 verwendet weniger FLOPs für vergleichbare Leistungsniveaus und bestätigt damit seine "EfficientRep"-Designphilosophie.

Überlegungen zum Einsatz

Während Benchmarks eine Grundlage bieten, hängt die Leistung in der Praxis stark von der eingesetzten Hardware ab. Die Neuparametrisierung von YOLOv6 eignet sich hervorragend für GPUs, während die auf Verkettung basierende Architektur von YOLOv7 zwar robust, aber speicherintensiv sein kann.

Der Ultralytics : Jenseits des Vergleichs

Während YOLOv7 und YOLOv6.0 bedeutende Errungenschaften in der Geschichte der Computer Vision darstellen, entwickelt sich das Feld schnell weiter. Für Entwickler, die eine nachhaltige, zukunftssichere Lösung suchen, Ultralytics YOLO11 ein umfassendes Ökosystem, das die Beschränkungen der einzelnen Modellarchitekturen überwindet.

Warum Ultralytics YOLO11 wählen?

  1. Unerreichte Benutzerfreundlichkeit: Im Gegensatz zu vielen Open-Source-Modellen, die ein komplexes Klonen von Repositorys und die Einrichtung von Umgebungen erfordern, sind Ultralytics über eine einfache Pip-Installation zugänglich. Das Python ist intuitiv und ermöglicht das Training und die Inferenz in nur wenigen Codezeilen.
  2. Ausgewogene Leistung: YOLO11 baut auf den architektonischen Erkenntnissen von YOLOv6 und YOLOv7 auf und verwendet eine verfeinerte Architektur, die den neuesten Stand der Technik bei gleichzeitiger Beibehaltung der für Echtzeitanwendungen erforderlichen Inferenzgeschwindigkeit erreicht.
  3. Vielseitigkeit: Einer der größten Vorteile des Ultralytics ist die Unterstützung für mehrere Aufgaben. Während sich YOLOv6 und YOLOv7 in erster Linie auf die Erkennung konzentrieren, unterstützt YOLO11 von Haus aus Instanzsegmentierung, Posenschätzung, Klassifizierung und orientierte Objekterkennung (OBB).
  4. Trainingseffizienz: Ultralytics sind für eine schnellere Konvergenz und eine geringere Speichernutzung beim Training optimiert. Diese effiziente Ressourcenverwaltung ermöglicht das Training auf Consumer-GPUs ohne den massiven CUDA , der oft mit älteren Transformer- oder Verkettungsarchitekturen verbunden ist.
  5. Gepflegtes Ökosystem: Mit häufigen Aktualisierungen, umfangreicher Dokumentation und einer lebendigen Gemeinschaft stellt Ultralytics sicher, dass Ihre Projekte mit den neuesten PyTorch und Exportformaten wie ONNX, TensorRT und CoreML.

Beispiel für die Umsetzung

Der Einsatz eines hochmodernen Modells mit Ultralytics ist ganz einfach. Hier sehen Sie, wie einfach Sie die Objekterkennung implementieren können:

from ultralytics import YOLO

# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Process results
for result in results:
    result.save(filename="output.jpg")  # save to disk

Fazit

Sowohl YOLOv7 als auch YOLOv6.0 bedienen spezifische Nischen: YOLOv7 für hochpräzise Forschungsaufgaben und YOLOv6.0 für die industrielle Geschwindigkeitsoptimierung. Für die Mehrheit der Entwickler und Forscher ist jedoch die Ultralytics YOLO11 Ökosystem die ausgewogenste, vielseitigste und wartungsfreundlichste Lösung. Durch die Kombination von hoher Leistung mit einer außergewöhnlichen Benutzerfreundlichkeit und breiter Aufgabenunterstützung ermöglicht Ultralytics den Benutzern, sich auf die Lösung realer Probleme zu konzentrieren, anstatt sich mit Modellarchitekturen herumzuschlagen.

Andere Modelle entdecken

Wenn Sie an weiteren Optionen im Bereich der Computer Vision interessiert sind, sollten Sie diese Vergleiche in Betracht ziehen:

  • YOLOv7 vs. RT-DETR: Vergleich von CNN-basierten Detektoren mit Transformer-basierten Architekturen.
  • YOLOv6 vs. YOLOv8: Ein Blick darauf, wie die vorherige Generation von Ultralytics-Modellen im Vergleich zu Industriestandards abschneidet.
  • YOLOv7 vs. YOLOX: Analyse von ankerfreien vs. ankerbasierten Detektionsstrategien.

Kommentare