YOLOv5 vs PP-YOLOE+: Ein detaillierter technischer Vergleich
Die Wahl des richtigen Objekterkennungsmodells ist eine wichtige Entscheidung, bei der ein Gleichgewicht zwischen Genauigkeit, Geschwindigkeit und einfacher Implementierung gefunden werden muss. Diese Seite bietet einen detaillierten technischen Vergleich zwischen zwei prominenten Modellen: Ultralytics YOLOv5, einem weit verbreiteten Industriestandard, der für seine Vielseitigkeit und Leistung bekannt ist, und PP-YOLOE+, einem hochgenauen Modell aus dem PaddlePaddle-Ökosystem von Baidu. Wir werden ihre architektonischen Unterschiede, Leistungsbenchmarks und idealen Anwendungsfälle untersuchen, um Ihnen zu helfen, eine fundierte Wahl für Ihre Computer-Vision-Projekte zu treffen.
Ultralytics YOLOv5: Der etablierte Industriestandard
Ultralytics YOLOv5 hat sich seit seiner Veröffentlichung zu einem Maßstab in der Computer-Vision-Community entwickelt. Es wird für seine außergewöhnliche Balance zwischen Geschwindigkeit und Genauigkeit geschätzt, was es zu einer äußerst praktischen Wahl für eine Vielzahl von realen Anwendungen macht. Seine Entwicklung in PyTorch und das umfassende Ökosystem, das es umgibt, haben es zu einem Favoriten unter Entwicklern und Forschern gemacht.
Autor: Glenn Jocher
Organisation: Ultralytics
Datum: 2020-06-26
GitHub: https://github.com/ultralytics/yolov5
Dokumentation: https://docs.ultralytics.com/models/yolov5/
Architektur und Hauptmerkmale
Die Architektur von YOLOv5 ist ein Beweis für effizientes Design, das vollständig in PyTorch entwickelt wurde, um maximale Flexibilität und Benutzerfreundlichkeit zu gewährleisten.
- Backbone: Es verwendet ein CSPDarknet53-Backbone, eine Variante von Darknet, die Cross Stage Partial (CSP)-Module integriert, um die Berechnungen zu reduzieren und gleichzeitig hohe Merkmalsextraktionsfähigkeiten beizubehalten.
- Neck: Ein Path Aggregation Network (PANet) wird zur Merkmalsaggregation eingesetzt, wodurch Merkmale von verschiedenen Backbone-Ebenen effektiv kombiniert werden, um die Erkennung in verschiedenen Maßstäben zu verbessern.
- Head: YOLOv5 verwendet einen ankerbasierten Erkennungs-Head, der Begrenzungsrahmen basierend auf einem Satz vordefinierter Ankerboxen vorhersagt. Dieser Ansatz ist stark auf Geschwindigkeit optimiert.
- Skalierbarkeit: Es ist in verschiedenen Größen (n, s, m, l, x) erhältlich, sodass Benutzer ein Modell auswählen können, das ihren spezifischen Anforderungen entspricht, von leichten Modellen für Edge-Geräte bis hin zu größeren Modellen für maximale Genauigkeit.
Stärken und Schwächen
Stärken:
- Außergewöhnliches Leistungsverhältnis: YOLOv5 bietet einen fantastischen Kompromiss zwischen Inferenzgeschwindigkeit und Erkennungsgenauigkeit und eignet sich daher für viele Echtzeit-Inferenz-Szenarien.
- Benutzerfreundlichkeit: Bekannt für seine optimierte Benutzererfahrung, einfache Python- und CLI-Schnittstellen und umfangreiche Dokumentation.
- Gut gepflegtes Ökosystem: Profitiert vom integrierten Ultralytics-Ökosystem, einschließlich aktiver Entwicklung, einer großen und unterstützenden Community, häufigen Updates und Tools wie Ultralytics HUB für No-Code-Training.
- Trainingseffizienz: Bietet effiziente Trainingsprozesse, leicht verfügbare vortrainierte Gewichte und im Allgemeinen geringere Speicheranforderungen im Vergleich zu vielen Alternativen.
- Vielseitigkeit: Unterstützt mehrere Aufgaben, einschließlich Objekterkennung, Instanzsegmentierung und Bildklassifizierung.
Schwächen:
- Obwohl sehr genau, können neuere Modelle seine mAP-Werte auf Benchmarks wie COCO übertreffen.
- Seine Abhängigkeit von Ankerboxen erfordert möglicherweise eine stärkere Hyperparameter-Optimierung für Datensätze mit unkonventionellen Objektformen im Vergleich zu ankerfreien Methoden.
Anwendungsfälle
Die Geschwindigkeit und Vielseitigkeit von YOLOv5 machen es ideal für:
- Echtzeit-Objektverfolgung: Perfekt für Überwachung, Robotik und autonome Systeme, wie in unserer Anleitung zur Instanzsegmentierung und -verfolgung beschrieben.
- Edge-Geräte-Deployment: Effiziente Modelle (YOLOv5n, YOLOv5s) laufen effektiv auf ressourcenbeschränkten Geräten wie Raspberry Pi und NVIDIA Jetson.
- Industrielle Automatisierung: Wird in der Qualitätskontrolle, der Fehlererkennung und der Recycling-Automatisierung eingesetzt.
PP-YOLOE+: Hohe Genauigkeit im PaddlePaddle-Ökosystem
PP-YOLOE+, entwickelt von Baidu, ist ein Anchor-freier, Single-Stage-Objektdetektor, der innerhalb des PaddlePaddle Deep-Learning-Frameworks aufgebaut ist. Es baut auf dem PP-YOLOE-Modell auf und führt Verbesserungen ein, die darauf abzielen, die Grenzen der Genauigkeit zu erweitern und gleichzeitig die Effizienz zu erhalten.
Autoren: PaddlePaddle Autoren
Organisation: Baidu
Datum: 2022-04-02
Arxiv: https://arxiv.org/abs/2203.16250
GitHub: https://github.com/PaddlePaddle/PaddleDetection/
Dokumente: https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.8.1/configs/ppyoloe/README.md
Architektur und Hauptmerkmale
PP-YOLOE+ beinhaltet mehrere moderne Designentscheidungen, um die Leistung zu maximieren.
- Anchor-Free Design: Es macht vordefinierte Anchor-Boxen überflüssig, was die Pipeline vereinfachen und das Hyperparameter-Tuning reduzieren kann. In unserem Glossar können Sie mehr über Anchor-Free Detektoren erfahren.
- Backbone: Nutzt ein effizientes Backbone wie CSPRepResNet, das für eine leistungsstarke Merkmalsdarstellung entwickelt wurde.
- Neck: Verwendet ein Path Aggregation Network (PAN), das im Prinzip YOLOv5 ähnlich ist, für eine robuste Merkmalsfusion.
- Head: Verfügt über einen entkoppelten Head (ET-Head), der die Klassifizierungs- und Regressionsaufgaben trennt, was oft zu einer verbesserten Genauigkeit führt.
- Loss-Funktion: Verwendet fortschrittliche Techniken wie Task Alignment Learning (TAL) und VariFocal Loss, um die Übereinstimmung zwischen Klassifikationsergebnissen und Lokalisierungsgenauigkeit zu verbessern.
Stärken und Schwächen
Stärken:
- Hohes Genauigkeitspotenzial, insbesondere bei größeren Modellvarianten, die oft die Bestenlisten anführen.
- Der ankerfreie Ansatz kann die Hyperparameter-Abstimmung in einigen Fällen vereinfachen.
- Effiziente Inferenzgeschwindigkeiten, insbesondere bei Optimierung mit TensorRT.
- Gut integriert in das PaddlePaddle-Ökosystem.
Schwächen:
- Primär optimiert für das PaddlePaddle-Framework, was die Benutzerfreundlichkeit für die Mehrheit der Entwickler einschränken kann, die PyTorch bevorzugen.
- Die Community und die verfügbaren Ressourcen sind kleiner im Vergleich zu dem umfangreichen Ökosystem rund um Ultralytics YOLO-Modelle.
- Es wird weniger Wert auf Benutzerfreundlichkeit und einfache Bereitstellung gelegt, was oft mehr Boilerplate-Code und frameworkspezifisches Wissen erfordert.
Anwendungsfälle
PP-YOLOE+ ist geeignet für:
- Industrielle Qualitätsprüfung: Hohe Genauigkeit ist vorteilhaft für die Erkennung subtiler Fehler in der KI in der Fertigung.
- Smart Retail: Anwendungen wie Bestandsverwaltung und Kundenanalytik können von seiner Präzision profitieren.
- PaddlePaddle-zentrierte Projekte: Es ist die ideale Wahl für Entwickler, die bereits in das PaddlePaddle-Framework investiert haben oder es standardmäßig verwenden.
Erfahren Sie mehr über PP-YOLOE+
Performance und Benchmarks: YOLOv5 vs. PP-YOLOE+
Beim Vergleich der Leistung hängt die Wahl stark von der Zielhardware und dem Hauptziel (Geschwindigkeit vs. Genauigkeit) ab.
- Genauigkeit (mAP): PP-YOLOE+-Modelle erzielen im Allgemeinen höhere mAPval-Werte auf dem COCO-Datensatz im Vergleich zu ihren YOLOv5-Pendants ähnlicher Größe. Für Anwendungen, bei denen jeder Bruchteil eines Prozentpunkts an Genauigkeit zählt, ist PP-YOLOE+ ein starker Anwärter.
- Inferenzgeschwindigkeit: Ultralytics YOLOv5 demonstriert eine überlegene Geschwindigkeit, insbesondere auf CPUs. Das YOLOv5n-Modell ist außergewöhnlich schnell und eignet sich daher perfekt für Echtzeitanwendungen auf einer Vielzahl von Hardware. Während PP-YOLOE+ auf GPUs mit TensorRT schnell ist, behält YOLOv5 einen starken Vorteil in Bezug auf die Leistung pro Watt, insbesondere auf Edge-Geräten.
- Effizienz (Parameter und FLOPs): YOLOv5 Modelle sind als leichtgewichtig konzipiert. Zum Beispiel hat YOLOv5n deutlich weniger Parameter und FLOPs als PP-YOLOE+s, was die Bereitstellung in ressourcenbeschränkten Umgebungen erleichtert.
Modell | Größe (Pixel) |
mAPval 50-95 |
Geschwindigkeit CPU ONNX (ms) |
Geschwindigkeit T4 TensorRT10 (ms) |
Parameter (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
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 |
PP-YOLOE+t | 640 | 39.9 | - | 2.84 | 4.85 | 19.15 |
PP-YOLOE+s | 640 | 43.7 | - | 2.62 | 7.93 | 17.36 |
PP-YOLOE+m | 640 | 49.8 | - | 5.56 | 23.43 | 49.91 |
PP-YOLOE+l | 640 | 52.9 | - | 8.36 | 52.2 | 110.07 |
PP-YOLOE+x | 640 | 54.7 | - | 14.3 | 98.42 | 206.59 |
Training, Benutzerfreundlichkeit und Ökosystem
Neben der reinen Leistung ist die Entwicklererfahrung ein entscheidender Faktor. Hier glänzt Ultralytics YOLOv5 wirklich.
-
YOLOv5: Das Ultralytics-Ökosystem ist auf die Produktivität von Entwicklern ausgelegt. Da es PyTorch-nativ ist, lässt es sich nahtlos in den beliebtesten Deep-Learning-Workflow integrieren. Die Benutzerfreundlichkeit ist unübertroffen, mit einer einfachen, gut dokumentierten API, die das Trainieren, Validieren und Inferenzieren mit nur wenigen Codezeilen ermöglicht. Das Gut gepflegte Ökosystem bietet einen enormen Vorteil mit ständigen Updates, einer riesigen Community für Support und Integrationen mit Tools wie Weights & Biases und ClearML. Darüber hinaus ist die Trainingseffizienz ein zentraler Fokus, mit Modellen, die schnell trainieren und weniger Speicher benötigen.
-
PP-YOLOE+: Das Training ist auf das PaddlePaddle-Framework beschränkt. Obwohl leistungsstark, stellt dies eine Barriere für Entwickler dar, die mit seinem Ökosystem nicht vertraut sind. Die Dokumentation und der Community-Support sind zwar gut, aber nicht so umfangreich oder zugänglich wie die für YOLOv5. Die Integration in eine PyTorch-basierte Pipeline erfordert zusätzliche Schritte und potenzielle Konvertierungen, was die Komplexität des MLOps-Lebenszyklus erhöht.
Fazit: Welches Modell sollten Sie wählen?
Sowohl YOLOv5 als auch PP-YOLOE+ sind ausgezeichnete Modelle, die jedoch unterschiedlichen Bedürfnissen dienen.
Ultralytics YOLOv5 ist die empfohlene Wahl für die überwiegende Mehrheit der Projekte. Seine herausragende Balance aus Geschwindigkeit und Genauigkeit, kombiniert mit einem beispiellosen entwicklerfreundlichen Ökosystem, macht es zur praktischsten und effizientesten Option. Egal, ob Sie ein Anfänger sind, der eine neue Idee prototypisiert, oder ein Experte, der ein robustes System auf Edge-Hardware bereitstellt, die Benutzerfreundlichkeit, Vielseitigkeit und der starke Community-Support von YOLOv5 werden Ihren Entwicklungszyklus beschleunigen und den Erfolg sicherstellen.
PP-YOLOE+ ist ein spezialisiertes Tool, das sich in Szenarien auszeichnet, in denen das Erreichen des absolut höchsten mAP das Hauptziel ist und das Entwicklungsteam bereits mit dem PaddlePaddle-Framework vertraut ist. Es ist ein leistungsstarkes Modell für die Forschung und für Anwendungen, bei denen die Genauigkeit nicht beeinträchtigt werden darf, vorausgesetzt, Sie sind bereit, innerhalb seines spezifischen Ökosystems zu arbeiten.
Andere Modelle entdecken
Ultralytics verschiebt weiterhin die Grenzen des Machbaren in der Objekterkennung. Für diejenigen, die noch mehr Leistung und Funktionen suchen, empfehlen wir, neuere Modelle wie YOLOv8 und das hochmoderne YOLO11 zu erkunden. Diese Modelle bauen auf dem Fundament von YOLOv5 auf und bieten eine verbesserte Genauigkeit, mehr unterstützte Aufgaben und eine noch höhere Effizienz. Weitere Vergleiche finden Sie auf unserer Hauptseite Vergleichsseite.