Baidu's RT-DETR: Ein Vision-Transformer-basierter Echtzeit-Objektdetektor
Übersicht
Real-Time Detection TransformerRT-DETR), entwickelt von Baidu, ist ein hochmoderner End-to-End-Objektdetektor, der Echtzeitleistung bei hoher Genauigkeit bietet. Er basiert auf der Idee von DETR (dem NMS-freien Framework), wobei ein Conv-basiertes Backbone und ein effizienter hybrider Encoder eingeführt wurden, um die Echtzeitgeschwindigkeit zu erhöhen. RT-DETR verarbeitet multiskalige Merkmale effizient, indem es die skaleninterne Interaktion und die skalenübergreifende Fusion entkoppelt. Das Modell ist hochgradig anpassungsfähig und unterstützt eine flexible Anpassung der Inferenzgeschwindigkeit unter Verwendung verschiedener Decoderschichten ohne erneutes Training. RT-DETR zeichnet sich auf beschleunigten Backends wie CUDA mit TensorRT aus und übertrifft viele andere Echtzeit-Objektdetektoren.
Beobachten: Echtzeit-Detektions-Transformator (RT-DETR)
Überblick über Baidu's RT-DETR. Das Architekturdiagramm des Modells RT-DETR zeigt die letzten drei Stufen des Backbone {S3, S4, S5} als Eingabe für den Encoder. Der effiziente hybride Kodierer wandelt multiskalige Merkmale in eine Sequenz von Bildmerkmalen um, und zwar durch die Interaktion von Merkmalen innerhalb der Skala (AIFI) und das Modul für die skalenübergreifende Fusion von Merkmalen (CCFM). Die IoU-bewusste Abfrageauswahl wird eingesetzt, um eine feste Anzahl von Bildmerkmalen auszuwählen, die als anfängliche Objektabfrage für den Decoder dienen. Schließlich optimiert der Decoder mit Hilfsvorhersageköpfen iterativ die Objektabfragen, um Boxen und Konfidenzwerte zu erzeugen (Quelle).
Wesentliche Merkmale
- Effizienter Hybrid-Encoder: Baidu's RT-DETR verwendet einen effizienten Hybrid-Encoder, der multiskalige Merkmale durch Entkopplung von skaleninterner Interaktion und skalenübergreifender Fusion verarbeitet. Dieses einzigartige, auf Vision Transformers basierende Design reduziert die Rechenkosten und ermöglicht die Objekterkennung in Echtzeit.
- IoU-bewusste Abfrageauswahl: Baidu's RT-DETR verbessert die Initialisierung von Objektabfragen durch die Verwendung einer IoU-bewussten Abfrageauswahl. Dadurch kann sich das Modell auf die relevantesten Objekte in der Szene konzentrieren, was die Erkennungsgenauigkeit erhöht.
- Anpassbare Inferenzgeschwindigkeit: Baidu's RT-DETR unterstützt flexible Anpassungen der Inferenzgeschwindigkeit durch die Verwendung verschiedener Decoderschichten, ohne dass ein erneutes Training erforderlich ist. Diese Anpassungsfähigkeit erleichtert die praktische Anwendung in verschiedenen Echtzeit-Objekterkennungsszenarien.
- NMS-freies Framework: Auf der Grundlage von DETR macht RT-DETR die Nachbearbeitung der nichtmaximalen Unterdrückung überflüssig, was die Erkennungspipeline vereinfacht und die Effizienz potenziell verbessert.
- Anker-freie Erkennung: Als ankerfreier Detektor vereinfacht RT-DETR den Erkennungsprozess und kann die Verallgemeinerung über verschiedene Datensätze hinweg verbessern.
Vortrainierte Modelle
Die Ultralytics Python API bietet vortrainierte PaddlePaddle RT-DETR Modelle mit verschiedenen Skalen:
- RT-DETR-L: 53,0% AP auf COCO val2017, 114 FPS auf T4 GPU
- RT-DETR-X: 54,8% AP auf COCO val2017, 74 FPS auf T4 GPU
Darüber hinaus hat Baidu im Juli 2024 RTDETRv2 veröffentlicht, das die ursprüngliche Architektur mit verbesserten Leistungskennzahlen weiter verbessert.
Beispiele für die Verwendung
Dieses Beispiel enthält einfache RT-DETR Trainings- und Inferenzbeispiele. Die vollständige Dokumentation zu diesen und anderen Modi finden Sie auf den Seiten Predict, Train, Val und Export docs.
Beispiel
from ultralytics import RTDETR
# Load a COCO-pretrained RT-DETR-l model
model = RTDETR("rtdetr-l.pt")
# Display model information (optional)
model.info()
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the RT-DETR-l model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
Unterstützte Aufgaben und Modi
Diese Tabelle enthält die Modelltypen, die spezifischen vortrainierten Gewichte, die von jedem Modell unterstützten Aufgaben und die verschiedenen unterstützten Modi(Train, Val, Predict, Export), die durch ✅ Emojis gekennzeichnet sind.
Modell Typ | Vorgefertigte Gewichte | Unterstützte Aufgaben | Inferenz | Validierung | Ausbildung | Exportieren |
---|---|---|---|---|---|---|
RT-DETR Groß | rtdetr-l.pt | Objekt-Erkennung | ✅ | ✅ | ✅ | ✅ |
RT-DETR Extra-groß | rtdetr-x.pt | Objekt-Erkennung | ✅ | ✅ | ✅ | ✅ |
Ideale Anwendungsfälle
RT-DETR eignet sich besonders gut für Anwendungen, die sowohl hohe Genauigkeit als auch Echtzeitleistung erfordern:
- Autonomes Fahren: Für zuverlässige Umgebungswahrnehmung in selbstfahrenden Systemen, bei denen sowohl Geschwindigkeit als auch Genauigkeit entscheidend sind. Erfahren Sie mehr über KI in selbstfahrenden Autos.
- Fortgeschrittene Robotik: Befähigung von Robotern zur Durchführung komplexer Aufgaben, die eine genaue Objekterkennung und Interaktion in dynamischen Umgebungen erfordern. Erforschen Sie die Rolle der KI in der Robotik.
- Medizinische Bildgebung: Für Anwendungen im Gesundheitswesen, wo die Präzision der Objekterkennung für die Diagnose entscheidend sein kann. Entdecken Sie KI im Gesundheitswesen.
- Überwachungssysteme: Für Sicherheitsanwendungen, die eine Echtzeitüberwachung mit hoher Erkennungsgenauigkeit erfordern. Erfahren Sie mehr über Sicherheitsalarmsysteme.
- Analyse von Satellitenbildern: Für die detaillierte Analyse von hochauflösenden Bildern, bei denen das Verständnis des globalen Kontextes wichtig ist. Lesen Sie mehr über Computer Vision in der Satellitenbildanalyse.
Zitate und Danksagungen
Wenn Sie Baidu's RT-DETR in Ihrer Forschungs- oder Entwicklungsarbeit verwenden, zitieren Sie bitte das Originalpapier:
Für RTDETRv2 können Sie das Papier 2024 zitieren:
Wir möchten uns bei Baidu und dem PaddlePaddle Team für die Erstellung und Pflege dieser wertvollen Ressource für die Computer Vision Community. Ihr Beitrag zur Entwicklung des auf Vision Transformers basierenden Echtzeit-Objektdetektors, RT-DETR, wird sehr geschätzt.
FAQ
Was ist das RT-DETR Modell von Baidu und wie funktioniert es?
RT-DETR (Real-Time Detection Transformer) von Baidu ist ein fortschrittlicher Echtzeit-Objektdetektor, der auf der Vision-Transformer-Architektur aufbaut. Er verarbeitet multiskalige Merkmale effizient, indem er die skaleninterne Interaktion und die skalenübergreifende Fusion durch seinen effizienten Hybrid-Encoder entkoppelt. Durch den Einsatz einer IoU-bewussten Abfrageauswahl konzentriert sich das Modell auf die relevantesten Objekte und verbessert so die Erkennungsgenauigkeit. Die anpassungsfähige Inferenzgeschwindigkeit, die durch die Anpassung von Decoderschichten ohne erneutes Training erreicht wird, macht RT-DETR für verschiedene Echtzeit-Objekterkennungsszenarien geeignet. Erfahren Sie mehr über die Funktionen von RT-DETR im RT-DETR Arxiv Paper.
Wie kann ich die vortrainierten Modelle von RT-DETR verwenden, die von Ultralytics bereitgestellt werden?
Sie können die Ultralytics Python API nutzen, um bereits trainierte PaddlePaddle RT-DETR Modelle zu verwenden. Um beispielsweise ein RT-DETR-l Modell zu laden, das mit COCO val2017 trainiert wurde, und hohe FPS auf T4 GPU zu erzielen, können Sie das folgende Beispiel verwenden:
Beispiel
from ultralytics import RTDETR
# Load a COCO-pretrained RT-DETR-l model
model = RTDETR("rtdetr-l.pt")
# Display model information (optional)
model.info()
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the RT-DETR-l model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
Warum sollte ich RT-DETR von Baidu anderen Echtzeit-Objektdetektoren vorziehen?
Das RT-DETR von Baidu zeichnet sich durch seinen effizienten hybriden Encoder und die IoU-bewusste Abfrageauswahl aus, die die Rechenkosten drastisch reduzieren und gleichzeitig eine hohe Genauigkeit gewährleisten. Seine einzigartige Fähigkeit, die Inferenzgeschwindigkeit durch die Verwendung verschiedener Decoderschichten ohne erneutes Training anzupassen, sorgt für erhebliche Flexibilität. Dies macht es besonders vorteilhaft für Anwendungen, die Echtzeitleistung auf beschleunigten Backends wie CUDA mit TensorRT erfordern, und übertrifft viele andere Echtzeit-Objektdetektoren. Die Transformer-Architektur bietet auch ein besseres globales Kontextverständnis im Vergleich zu traditionellen CNN-basierten Detektoren.
Wie unterstützt RT-DETR eine anpassbare Inferenzgeschwindigkeit für verschiedene Echtzeitanwendungen?
RT-DETR von Baidu ermöglicht eine flexible Anpassung der Inferenzgeschwindigkeit durch die Verwendung verschiedener Decoderschichten, ohne dass ein erneutes Training erforderlich ist. Diese Anpassungsfähigkeit ist entscheidend für die Skalierung der Leistung bei verschiedenen Echtzeit-Objekterkennungsaufgaben. Ganz gleich, ob Sie eine schnellere Verarbeitung für geringere Genauigkeitsanforderungen oder langsamere, genauere Erkennungen benötigen, RT-DETR kann auf Ihre spezifischen Anforderungen zugeschnitten werden. Diese Funktion ist besonders wertvoll, wenn Modelle auf Geräten mit unterschiedlichen Rechenkapazitäten eingesetzt werden.
Kann ich RT-DETR Modelle mit anderen Ultralytics Modi, wie Training, Validierung und Export, verwenden?
Ja, RT-DETR sind mit verschiedenen Ultralytics kompatibel, einschließlich Training, Validierung, Vorhersage und Export. Detaillierte Anweisungen zur Verwendung dieser Modi finden Sie in der jeweiligen Dokumentation: Trainieren, Validieren, Vorhersagen und Exportieren. Dies gewährleistet einen umfassenden Arbeitsablauf für die Entwicklung und Bereitstellung Ihrer Objekterkennungslösungen. Das Ultralytics bietet eine einheitliche API für verschiedene Modellarchitekturen, die die Arbeit mit RT-DETR erleichtert.