EfficientDet vs. YOLOv5: Ein detaillierter technischer Vergleich
Die Landschaft der Objekterkennung hat sich schnell weiterentwickelt, angetrieben von der ständigen Notwendigkeit, ein Gleichgewicht zwischen Genauigkeit und Recheneffizienz herzustellen. Zwei Architekturen, die diesen Bereich maßgeblich beeinflusst haben, sind EfficientDet, entwickelt vom Google Brain Team, und YOLOv5das von Ultralytics entwickelt wurde. Obwohl beide Modelle darauf abzielen, Objekte in Bildern effizient detect , gehen sie das Problem mit grundlegend unterschiedlichen Designphilosophien und Architekturstrategien an.
Dieser Leitfaden bietet einen detaillierten technischen Vergleich, der Entwicklern, Forschern und Ingenieuren hilft, das richtige Tool für ihre speziellen Computer-Vision-Anwendungen auszuwählen.
EfficientDet: Skalierbar und effizient
Das Ende 2019 veröffentlichte EfficientDet entstand aus dem Forschungsziel, die Genauigkeit und Effizienz gleichzeitig zu optimieren. Es führte das Konzept des "Compound Scaling" in die Objekterkennung ein, eine Methode, die die Auflösung, Tiefe und Breite des Backbone-Netzwerks gleichmäßig skaliert.
- Autoren: Mingxing Tan, Ruoming Pang, und Quoc V. Le
- Organisation:Google Brain
- Datum: November 20, 2019
- Arxiv:EfficientDet: Skalierbare und effiziente Objektdetektion
Highlights der Architektur
EfficientDet baut auf dem EfficientNet-Backbone auf und führt ein neuartiges Feature-Fusion-Netzwerk namens BiFPN (Bidirectional Feature Pyramid Network) ein. Im Gegensatz zu traditionellen Feature Pyramid Networks (FPN), die den Informationsfluss auf eine Top-Down-Methode beschränken, ermöglicht BiFPN einen komplexen, bidirektionalen Informationsfluss zwischen verschiedenen Auflösungsebenen.
Das Modell nutzt auch die Verbundskalierung, die es dem Benutzer ermöglicht, je nach Ressourcenbeschränkung aus einer Familie von Modellen (D0 bis D7) zu wählen. Dadurch wird sichergestellt, dass Sie die Modellgröße linear erhöhen können, wenn Sie mehr Rechenleistung zur Verfügung haben, um eine bessere Genauigkeit zu erzielen.
Stärken und Schwächen
Die Hauptstärke von EfficientDet liegt in seiner theoretischen Effizienz. Es erreicht hohe mAP Werte bei bemerkenswert niedrigen FLOPs (Floating Point Operations). Dies macht es zu einem interessanten Kandidaten für die akademische Forschung, bei der die Parametereffizienz eine wichtige Kennzahl ist.
EfficientDet leidet jedoch unter einem praktischen Nachteil: der Latenzzeit bei der Inferenz. Die komplexen Verbindungen im BiFPN und die starke Verwendung von tiefenmäßig trennbaren Faltungen sind zwar mathematisch effizient, aber im Vergleich zu Standard-Faltungen auf GPU oft nicht vollständig optimiert. Folglich kann EfficientDet trotz geringerer FLOPs auf GPUs langsamer laufen als Modelle mit höheren theoretischen Rechenkosten.
Erfahren Sie mehr über EfficientDet
Ultralytics YOLOv5: Leistung und Benutzerfreundlichkeit in der realen Welt
Ultralytics YOLOv5 stellte einen Paradigmenwechsel dar, als es im Jahr 2020 veröffentlicht wurde. Im Gegensatz zu seinen Vorgängern war es das erste YOLO , das nativ in PyTorchimplementiert, wodurch es für ein großes Ökosystem von Entwicklern zugänglich wurde. Neben der reinen Leistung stand die "Einsatzfreundlichkeit" im Vordergrund.
- Autor: Glenn Jocher
- Organisation:Ultralytics
- Datum: Juni 26, 2020
- GitHub:yolov5
Highlights der Architektur
YOLOv5 verwendet ein CSPDarknet-Backbone, das den Gradientenfluss optimiert und den Rechenaufwand reduziert. Es leistet Pionierarbeit bei der Verwendung von Mosaic Augmentation während des Trainings - einer Technik, bei der vier Bilder zusammengefügt werden - und verbessert so die Fähigkeit des Modells, kleine Objekte detect , und reduziert die Notwendigkeit großer Mini-Batch-Größen.
Die Architektur ist auf Geschwindigkeit ausgelegt. Durch die Verwendung von Standard-Faltungen und einer optimierten Kopfstruktur maximiert YOLOv5 die Parallelverarbeitungsfähigkeiten moderner GPUs, was zu einer außergewöhnlich niedrigen Latenzzeit bei der Auswertung führt.
Der Vorteil des Ultralytics
Einer der wichtigsten Vorteile von YOLOv5 ist das umgebende Ökosystem. Ultralytics bietet einen nahtlosen Arbeitsablauf mit automatischer Ankergenerierung, Hyperparameterentwicklung und nativer Exportunterstützung für ONNX, TensorRT, CoreML und TFLite. Dieser Ansatz, bei dem die Batterien bereits enthalten sind, verkürzt die Zeit vom Konzept bis zur Produktion drastisch.
Stärken und Schwächen
YOLOv5 zeichnet sich durch Echtzeit-Inferenz und Benutzerfreundlichkeit aus. Die einfache API und die robuste Dokumentation ermöglichen es Entwicklern, benutzerdefinierte Modelle in wenigen Minuten auf ihren eigenen Daten zu trainieren. YOLOv5 bietet ein ausgewogenes Verhältnis zwischen Geschwindigkeit und Genauigkeit, das für Edge-KI- und Cloud-Bereitstellungen optimal ist. Während neuere Modelle wie YOLO11 es inzwischen an Genauigkeit übertroffen haben, bleibt YOLOv5 ein zuverlässiges Arbeitspferd, das dem Industriestandard entspricht.
Leistungsmetriken: Geschwindigkeit vs. Genauigkeit
Die folgende Tabelle vergleicht die Leistung von EfficientDet und YOLOv5 auf dem COCO val2017-Datensatz. Die wichtigste Erkenntnis ist die Unterscheidung zwischen theoretischen Kosten (FLOPs) und tatsächlicher Geschwindigkeit (Latenz).
| Modell | Größe (Pixel) | mAPval 50-95 | Geschwindigkeit CPU ONNX (ms) | Geschwindigkeit T4 TensorRT10 (ms) | Parameter (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| EfficientDet-d0 | 640 | 34.6 | 10.2 | 3.92 | 3.9 | 2.54 |
| EfficientDet-d1 | 640 | 40.5 | 13.5 | 7.31 | 6.6 | 6.1 |
| EfficientDet-d2 | 640 | 43.0 | 17.7 | 10.92 | 8.1 | 11.0 |
| EfficientDet-d3 | 640 | 47.5 | 28.0 | 19.59 | 12.0 | 24.9 |
| EfficientDet-d4 | 640 | 49.7 | 42.8 | 33.55 | 20.7 | 55.2 |
| EfficientDet-d5 | 640 | 51.5 | 72.5 | 67.86 | 33.7 | 130.0 |
| EfficientDet-d6 | 640 | 52.6 | 92.8 | 89.29 | 51.9 | 226.0 |
| EfficientDet-d7 | 640 | 53.7 | 122.0 | 128.07 | 51.9 | 325.0 |
| 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 abgebildet, YOLOv5 dominiert bei GPU. Zum Beispiel, YOLOv5s (37,4 mAP) läuft bei 1,92 ms auf einer GPU, während EfficientDet-d0 (34,6 mAP) nimmt 3,92 ms-Herstellung von YOLOv5 in etwa 2x schneller und gleichzeitig eine höhere Genauigkeit aufweisen. Diese Diskrepanz wird bei größeren Modellen noch größer; YOLOv5l (49,0 mAP) ist fast 5x schneller als die vergleichbare EfficientDet-d4 (49,7 mAP).
Umgekehrt glänzt EfficientDet in CPU, wo sich niedrige FLOPs oft besser in Leistung umsetzen lassen, wie dieCPU für die kleineren D0-Varianten zeigen.
Ideale Anwendungsfälle
Die Wahl zwischen diesen Modellen hängt von Ihren spezifischen Anforderungen ab:
Wann sollten Sie sich für EfficientDet entscheiden?
- Akademisches Benchmarking: Wenn das Hauptziel darin besteht, die Effizienz von Parametern oder architektonischen Skalierungsgesetzen zu demonstrieren.
- Strenge CPU : Wenn der Einsatz streng auf ältere CPU beschränkt ist, bei der FLOPs der absolute Engpass sind, bieten die kleinsten EfficientDet-Varianten (D0-D1) eine wettbewerbsfähige Leistung.
- Forschung: Zur Untersuchung von Merkmalspyramidennetzvarianten wie BiFPN.
Wann sollte man Ultralytics YOLOv5 wählenYOLOv5
- Echtzeit-Anwendungen: Unverzichtbar für autonome Fahrzeuge, Robotik und Videoüberwachung, wo niedrige Latenzzeiten nicht verhandelbar sind.
- Produktionsbereitstellung: Das gut gewartete Ökosystem und der einfache Export zu Engines wie TensorRT und OpenVINO machen YOLOv5 für kommerzielle Produkte überlegen.
- Trainingseffizienz: YOLOv5 trainieren in der Regel schneller und benötigen weniger Speicher als komplexe Architekturen wie EfficientDet oder Transformer-basierte Modelle, was die Cloud-Rechenkosten reduziert.
- Vielseitigkeit: Über einfache Bounding Boxes hinaus ermöglicht das Ultralytics einen nahtlosen Übergang zu Segmentierungs- und Klassifizierungsaufgaben.
Code-Beispiel: Die Einfachheit von Ultralytics
Eines der wichtigsten Merkmale der Ultralytics ist die Benutzerfreundlichkeit. Während die Implementierung von EfficientDet oft komplexe TensorFlow oder spezielle Repository-Klone erfordert, kann YOLOv5 mit nur wenigen Zeilen Python über PyTorch Hub geladen und ausgeführt werden.
import torch
# Load the YOLOv5s model from the official Ultralytics repository
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)
# Define an image (URL or local path)
img = "https://ultralytics.com/images/zidane.jpg"
# Perform inference
results = model(img)
# Display results
results.print() # Print predictions to console
results.show() # Show image with bounding boxes
Schlussfolgerung und Zukunftsaussichten
Während EfficientDet einen bedeutenden Meilenstein in der Computer Vision darstellte, indem es den Wert von Verbundskalierung und effizienter Merkmalsfusion bewies, YOLOv5 die Branche revolutioniert, indem es hochleistungsfähige Objekterkennung zugänglich, schnell und einsatzbereit machte.
Entwicklern, die heute ein neues Projekt beginnen, empfehlen wir, sich die neuesten Entwicklungen in der Ultralytics anzusehen. YOLO11 baut auf dem starken Fundament von YOLOv5 auf und bietet:
- Noch höhere Genauigkeit und Geschwindigkeit.
- Native Unterstützung für Pose-Schätzung, Instanz-Segmentierungund OBB.
- Ein vereinheitlichtes python
ultralyticsdie den gesamten Lebenszyklus von MLOps vereinfacht.
Weitere Informationen darüber, wie Ultralytics mit anderen Architekturen verglichen werden, finden Sie in unseren Vergleichen mit YOLOv8 und RT-DETR.