EfficientDet vs.YOLO: Ein tiefer Einblick in die Entwicklung der Objekterkennung
In der dynamischen Welt der Computervision treibt das Streben nach einem optimalen Gleichgewicht zwischen Genauigkeit und Latenzzeit ständige Innovationen voran. Zwei Architekturen, die ihre jeweiligen Epochen geprägt haben, sind EfficientDet Google und YOLO von Alibaba. Während EfficientDet einen prinzipiellen Ansatz für die Modellskalierung einführte,YOLO die Grenzen der Echtzeitleistung mithilfe von Neural Architecture Search (NAS).
Dieser Leitfaden bietet einen umfassenden technischen Vergleich dieser beiden Modelle und analysiert ihre architektonischen Besonderheiten, Leistungskennzahlen und Eignung für moderne Bereitstellungen. Für Entwickler, die nach modernsten Lösungen suchen, untersuchen wir auch, wie neuere Frameworks wie Ultralytics auf diesen Grundlagen aufbauen, um überragende Benutzerfreundlichkeit und Leistung zu bieten.
EfficientDet Übersicht
EfficientDet wurde Ende 2019 veröffentlicht und markierte einen Paradigmenwechsel in der Skalierung von Objekterkennungsmodellen. Vor seiner Veröffentlichung erfolgte die Skalierung oft willkürlich. Das Team von Google führte eine kombinierte Skalierungsmethode ein, die Auflösung, Tiefe und Breite einheitlich skaliert und zu einer Familie von Modellen (D0-D7) führte, die verschiedenen Ressourcenbeschränkungen gerecht werden.
Autoren: Mingxing Tan, Ruoming Pang und Quoc V. Le
Organisation:Google
Datum: 20. November 2019
Arxiv:EfficientDet Paper
GitHub:google
Wesentliche Architekturmerkmale
- BiFPN (Weighted Bi-directional Feature Pyramid Network): Im Gegensatz zu herkömmlichen FPNs ermöglicht BiFPN eine Top-Down- und Bottom-Up-Fusion von Merkmalen auf mehreren Ebenen. Es führt lernbare Gewichte für verschiedene Eingabemerkmale ein, da nicht alle Merkmale gleichermaßen zur Ausgabe beitragen.
- Verbundskalierung: Ein einheitlicher Koeffizient $\phi$ steuert die Breite, Tiefe und Auflösung des Netzwerks und sorgt dafür, dass Backbone, Merkmalsnetzwerk und Vorhersageköpfe harmonisch skaliert werden.
- EfficientNet-Backbone: Die Verwendung von EfficientNet als Backbone ermöglicht eine hohe Parametereffizienz durch den Einsatz von MBConv-Schichten (Mobile Inverted Bottleneck Convolution).
Erfahren Sie mehr über EfficientDet
DAMO-YOLO Übersicht
YOLO wurde 2022 von der Alibaba Group entwickelt und wurde speziell für industrielle Anwendungen konzipiert, bei denen Latenzzeiten eine entscheidende Rolle spielen. Es entfernt sich vom manuellen Architekturdesign und nutzt NAS, um effiziente Strukturen zu finden, die auf leistungsstarke Inferenz zugeschnitten sind.
Autoren: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang und Xiuyu Sun
Organisation:Alibaba Group
Datum: 23. November 2022
Arxiv:YOLO
GitHub:YOLO
Wesentliche architektonische Innovationen
- MAE-NAS-Backbone: Unter Verwendung einer Methode namens „Method-Aware Efficiency Neural Architecture Search“YOLO Backbones, die speziell für die Inferenzgeschwindigkeit optimiert sind und sich deutlich von dem manuell entworfenen CSPNet unterscheiden, das in YOLOv5 oder YOLOv8
- RepGFPN: Ein effizientes verallgemeinertes FPN, das Reparametrisierung (im Stil von RepVGG) zum Zusammenführen von Merkmalen verwendet, wodurch die Latenz während der Inferenz reduziert und gleichzeitig eine hohe Ausdruckskraft der Merkmale während des Trainings beibehalten wird.
- ZeroHead: Ein leichter Detektionskopf, der die Rechenlast im Vergleich zu den entkoppelten Köpfen früherer Modelle erheblich reduziert.
- AlignedOTA: Eine verbesserte Strategie zur Zuweisung von Labels, die die Fehlausrichtung zwischen Klassifizierungs- und Regressionsaufgaben während des Trainings behebt.
Erfahren Sie mehr über DAMO-YOLO
Leistungsvergleich
Die folgende Tabelle vergleicht die Leistung von EfficientDet undYOLO verschiedenen Modellgrößen. Während EfficientDet eine große Bandbreite an Größen bietet (bis zu D7 für hochauflösende Aufgaben),YOLO auf den „Sweet Spot“ der Echtzeit-Latenz (T/S/M/L).
| 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 |
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
Analyse
- Latenz vs. Genauigkeit: YOLO eine überragende Effizienz auf GPU . Zum Beispiel:
DAMO-YOLOserreicht 46,0 mAP mit nur 3,45 ms Latenz auf einer T4 GPU. Im Gegensatz dazuEfficientDet-d3erreicht einen etwas höheren 47,5 mAP aber zu einem Preis von 19,59 ms—fast 5,5-mal langsamer. - Architekturalterung: EfficientDet stützt sich stark auf tiefenweise trennbare Faltungen. Diese Operationen sind zwar parametereffizient, jedoch oft speichergebunden auf modernen GPUs, was zu einer geringeren Auslastung im Vergleich zu den dichten Faltungen führt, die in der NAS-StrukturYOLO optimiert sind.
- Rechenanforderungen: EfficientDet-d7 erfordert enorme Rechenressourcen (325 GFLOPs) für marginale Genauigkeitsgewinne (53,7 mAP), was den Einsatz auf Edge-Geräten erschwert.
Training und Ökosystem
Die Benutzererfahrung unterscheidet sich zwischen diesen beiden Modellgenerationen erheblich.
Effizientes Ökosystem
EfficientDet ist tief im Google -Ökosystem und TensorFlow verwurzelt. Obwohl es leistungsstark ist, stehen Nutzer oft vor folgenden Herausforderungen:
- Komplexität der Abhängigkeiten: Der Wechsel zwischen den Versionen TensorFlow .x und 2.x kann eine Herausforderung darstellen.
- Einschränkungen bei statischen Graphen: Der Export von Modellen nach ONNX TensorRT erfordert TensorRT komplexe Konvertierungsskripte, die möglicherweise nicht alle BiFPN-Operationen nativ unterstützen.
YOLO
YOLO PyTorch, das für Forschungszwecke generell flexibler ist. Allerdings:
- Spezialisierung: Es handelt sich in erster Linie um ein Forschungsarchiv. Es eignet sich zwar hervorragend für bestimmte Erkennungsaufgaben, verfügt jedoch nicht über die breite „Out-of-the-Box”-Funktionalität für andere Aufgaben wie Segmentierung oder Posenschätzung.
- Distillationsabhängigkeit: Um Spitzenleistungen zu erzielen, nutztYOLO Distillationen aus größeren Modellen, was die Trainingspipeline komplexer macht.
Ökosystemfragen
Berücksichtigen Sie bei der Auswahl eines Modells für die Produktion nicht nur den mAP die Einfachheit des Trainings mit benutzerdefinierten Daten. Ein Modell, dessen Integration Wochen dauert, kostet oft mehr Entwicklungszeit, als der marginale Genauigkeitsgewinn wert ist.
Ultralytics von Ultralytics : Geben Sie YOLO26 ein
Während EfficientDet undYOLO Meilensteine in der BildverarbeitungYOLO , hat sich das Gebiet weiterentwickelt. Ultralytics repräsentiert die nächste Generation der Bildverarbeitungs-KI und kombiniert die architektonische Effizienz von NAS-basierten Modellen mit der Benutzerfreundlichkeit des Ultralytics .
Warum auf YOLO26 upgraden?
YOLO26 behebt die Schwachstellen früherer Architekturen mit mehreren bahnbrechenden Funktionen:
- End-to-End-Design NMS: Im Gegensatz zu EfficientDet undYOLO, die eine Nachbearbeitung mit Non-Maximum Suppression (NMS) erfordern, ist YOLO26 von Haus aus End-to-End. Dadurch wird ein großer Engpass in den Bereitstellungspipelines beseitigt, die Latenzschwankungen reduziert und der Export in Formate wie CoreML TensorRT vereinfacht.
- MuSGD-Optimierer: Inspiriert von der Stabilität des LLM-Trainings sorgt der neue MuSGD-Optimierer (eine Mischung aus SGD Muon) für eine schnellere Konvergenz und stabilere Trainingsläufe, selbst bei kleineren Datensätzen.
- ProgLoss + STAL: Neue Verlustfunktionen (ProgLoss und Soft-Target Assignment Loss) sorgen für erhebliche Verbesserungen bei der Erkennung kleiner Objekte, einer traditionellen Schwäche von ankerfreien Modellen.
- CPU Edge-Optimierung: Durch die Entfernung von DFL (Distribution Focal Loss) und architektonische Optimierungen erreicht YOLO26 CPU um bis zu 43 % schnellere CPU und ist damit die beste Wahl für Raspberry Pi und mobile Anwendungen.
Vergleichszusammenfassung
| Merkmal | EfficientDet | DAMO-YOLO | Ultralytics YOLO26 |
|---|---|---|---|
| Architektur | BiFPN + Verbundskalierung | NAS + RepGFPN | End-to-End NMS |
| Nachbearbeitung | NMS | NMS | Keine (End-to-End) |
| Aufgabenunterstützung | Erkennung | Erkennung | detect, segment, Pose, obb, classify |
| Plattform | TensorFlow | PyTorch | Ultralytics Plattform |
| Bereitstellung | Komplex | Moderat | Ein-Klick (10+ Formate) |
Benutzerfreundlichkeit und Schulung
Eines der charakteristischen Merkmale der Ultralytics ist die einheitliche API. Unabhängig davon, ob Sie einen Objekterkenner, ein OBB -Modell (Oriented Bounding Box) oder ein Pose-Estimation -Modell trainieren, bleibt der Code konsistent und einfach.
So einfach können Sie ein hochmodernes YOLO26-Modell mit Ihren benutzerdefinierten Daten trainieren:
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Train on the COCO8 dataset
# The MuSGD optimizer and ProgLoss are handled automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model
metrics = model.val()
print(f"mAP50-95: {metrics.box.map}")
Anwendungsfälle in der Praxis
Wann sollte EfficientDet verwendet werden?
EfficientDet bleibt in folgenden Szenarien relevant:
- Legacy Google Pipelines: Systeme, die tief in ältere Google Vision APIs oder die TPU -Infrastruktur integriert sind.
- Akademisches Benchmarking: Als Standardgrundlage für die Forschung zur Verbundskalierung.
Wann sollteYOLO verwendet werden?
YOLO durch:
- Strenge GPU : Industrielle Fertigungslinien, bei denen Millisekunden zählen und die Hardware auf NVIDIA festgelegt ist.
- Videoanalyse: Verarbeitung von Videostreams mit hoher Bildfrequenz, bei denen der Durchsatz (Batchgröße 1) die wichtigste Kennzahl ist.
Wann sollte YOLO26 verwendet werden?
YOLO26 ist die empfohlene Lösung für:
- Edge-KI: Einsatz in Mobiltelefonen, Drohnen oder IoT-Geräten, bei denen die NMS Inferenz die App-Logik vereinfacht und CPU entscheidend ist.
- Multitasking-Anwendungen: Projekte, die neben der Erkennung innerhalb einer einzigen Codebasis auch Instanzsegmentierung oder Posenschätzung erfordern.
- Schnelle Entwicklung: Teams, die innerhalb von Stunden statt Wochen von der Datenerfassung auf der Ultralytics zur Bereitstellung übergehen müssen.
Fazit
Während EfficientDet uns die Bedeutung der Skalierung gelehrt hat undYOLO die Leistungsfähigkeit von NASYOLO , vereint Ultralytics diese Erkenntnisse zu einem produktionsreifen Kraftpaket. Mit seinem NMS Design, seiner Vielseitigkeit bei verschiedenen Aufgaben und seinem gut gepflegten Ökosystem bietet YOLO26 modernen Entwicklern den robustesten Weg zum Erfolg im Bereich Computer Vision.
Für eine weitere Untersuchung der Modellarchitekturen sollten Sie Vergleiche mit YOLOv10 oder RT-DETR, die ebenfalls transformatorbasierte Innovationen untersuchen.