Zum Inhalt springen

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)

Modell Beispielbild Ü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")
# Load a COCO-pretrained RT-DETR-l model and train it on the COCO8 example dataset for 100 epochs
yolo train model=rtdetr-l.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained RT-DETR-l model and run inference on the 'bus.jpg' image
yolo predict model=rtdetr-l.pt source=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:

Zitate und Danksagungen

Wenn Sie Baidu's RT-DETR in Ihrer Forschungs- oder Entwicklungsarbeit verwenden, zitieren Sie bitte das Originalpapier:

@misc{lv2023detrs,
      title={DETRs Beat YOLOs on Real-time Object Detection},
      author={Wenyu Lv and Shangliang Xu and Yian Zhao and Guanzhong Wang and Jinman Wei and Cheng Cui and Yuning Du and Qingqing Dang and Yi Liu},
      year={2023},
      eprint={2304.08069},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

Für RTDETRv2 können Sie das Papier 2024 zitieren:

@misc{lv2024rtdetrv2,
      title={RTDETRv2: All-in-One Detection Transformer Beats YOLO and DINO},
      author={Wenyu Lv and Yian Zhao and Qinyao Chang and Kui Huang and Guanzhong Wang and Yi Liu},
      year={2024},
      eprint={2407.17140},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

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")
# Load a COCO-pretrained RT-DETR-l model and train it on the COCO8 example dataset for 100 epochs
yolo train model=rtdetr-l.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained RT-DETR-l model and run inference on the 'bus.jpg' image
yolo predict model=rtdetr-l.pt source=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.

📅 Erstellt vor 1 Jahr ✏️ Aktualisiert vor 7 Tagen

Kommentare