Zum Inhalt springen

Baidu's RT-DETR: Ein Vision-Transformer-basierter Echtzeit-Objektdetektor

├ťbersicht

Der von Baidu entwickelte Real-Time Detection Transformer (RT-DETR) ist ein hochmoderner End-to-End-Objektdetektor, der Echtzeitleistung bei hoher Genauigkeit bietet. Er basiert auf der DETR-Idee (dem NMS-freien Framework) und f├╝hrt ein Conv-basiertes Backbone und einen effizienten hybriden Encoder ein, 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 die flexible Anpassung der Inferenzgeschwindigkeit mit verschiedenen Decoderschichten ohne erneutes Training. RT-DETR ist auf beschleunigten Backends wie CUDA mit TensorRT besonders leistungsf├Ąhig und ├╝bertrifft viele andere Echtzeit-Objektdetektoren.



Pass auf: Real-Time Detection Transformer (RT-DETR)

Modell Beispielbild ├ťberblick ├╝ber Baidu's RT-DETR. Das Architekturdiagramm des RT-DETR Modells zeigt die letzten drei Stufen des Backbones {S3, S4, S5} als Eingabe f├╝r den Encoder. Der effiziente hybride Encoder wandelt die Multiskalenmerkmale durch die Interaktion zwischen den Skalen (AIFI) und das Cross-Scale-Feature-Fusion-Modul (CCFM) in eine Folge von Bildmerkmalen um. 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).

Hauptmerkmale

  • Effizienter Hybrid-Encoder: Baidus 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 der Objektabfrage durch eine IoU-bewusste 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 die flexible Anpassung 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.

Vorgefertigte 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

Verwendungsbeispiele

Dieses Beispiel zeigt einfache RT-DETR Trainings- und Schlussfolgerungsbeispiele. Die vollst├Ąndige Dokumentation zu diesen und anderen Modi findest du 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 Vortrainierte Gewichte Unterst├╝tzte Aufgaben Inferenz Validierung Ausbildung exportieren
RT-DETR Gro├č rtdetr-l.pt Objekt-Erkennung Ôťů Ôťů Ôťů Ôťů
RT-DETR Extra-Large rtdetr-x.pt Objekt-Erkennung Ôťů Ôťů Ôťů Ôťů

Zitate und Danksagungen

Wenn du Baidu's RT-DETR in deiner Forschungs- oder Entwicklungsarbeit verwendest, zitiere bitte die Originalarbeit:

@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}
}

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 ist sehr zu sch├Ątzen.

FAQ

Was ist das RT-DETR Modell von Baidu und wie funktioniert es?

Der 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 die IoU-bewusste Abfrageauswahl konzentriert sich das Modell auf die relevantesten Objekte und verbessert so die Erkennungsgenauigkeit. Dank der anpassbaren Inferenzgeschwindigkeit, die durch die Anpassung der Decoderschichten ohne erneutes Training erreicht wird, eignet sich RT-DETR f├╝r verschiedene Szenarien der Objekterkennung in Echtzeit. Mehr ├╝ber die Funktionen von RT-DETR erf├Ąhrst du hier.

Wie kann ich die vortrainierten RT-DETR Modelle verwenden, die von Ultralytics bereitgestellt werden?

Du kannst die Ultralytics Python API nutzen, um bereits trainierte PaddlePaddle RT-DETR Modelle zu verwenden. Um zum Beispiel ein RT-DETR-l Modell zu laden, das mit COCO val2017 trainiert wurde, und hohe FPS auf T4 GPU zu erreichen, kannst du 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?

Baidus RT-DETR zeichnet sich durch einen effizienten hybriden Encoder und eine IoU-bewusste Abfrageauswahl aus, die die Rechenkosten drastisch senken und gleichzeitig eine hohe Genauigkeit gew├Ąhrleisten. Seine einzigartige F├Ąhigkeit, die Inferenzgeschwindigkeit durch die Verwendung verschiedener Decoderschichten ohne erneutes Training anzupassen, verleiht ihm gro├če Flexibilit├Ąt. Das macht ihn besonders vorteilhaft f├╝r Anwendungen, die eine Echtzeitleistung auf beschleunigten Backends wie CUDA mit TensorRT erfordern, und ├╝bertrifft damit viele andere Echtzeit-Objektdetektoren.

Wie unterst├╝tzt RT-DETR die Anpassung der Inferenzgeschwindigkeit f├╝r verschiedene Echtzeitanwendungen?

Baidus RT-DETR 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. Egal, ob du eine schnellere Verarbeitung f├╝r geringere Genauigkeitsanforderungen oder eine langsamere, genauere Erkennung brauchst, RT-DETR kann auf deine spezifischen Anforderungen zugeschnitten werden.

Kann ich RT-DETR Modelle mit anderen Ultralytics Modi verwenden, z. B. Training, Validierung und Export?

Ja, RT-DETR Modelle sind mit verschiedenen Ultralytics Modi kompatibel, darunter Training, Validierung, Vorhersage und Export. Detaillierte Anweisungen zur Verwendung dieser Modi findest du in der jeweiligen Dokumentation: Trainieren, Validieren, Vorhersagen und Exportieren. So wird ein umfassender Arbeitsablauf f├╝r die Entwicklung und den Einsatz deiner Objekterkennungsl├Âsungen gew├Ąhrleistet.



Erstellt am 2023-11-12, Aktualisiert am 2024-07-04
Autoren: glenn-jocher (15), RizwanMunawar (1)

Kommentare