Zum Inhalt springen

Baidus RT-DETR: Ein Vision Transformer-basierter Echtzeit-Objektdetektor

Überblick

Real-Time Detection Transformer (RT-DETR), entwickelt von Baidu, ist ein hochmoderner End-to-End-Objektdetektor, der Echtzeitleistung bei gleichzeitig hoher Genauigkeit bietet. Er basiert auf der Idee von DETR (dem NMS-freien Framework) und führt gleichzeitig einen konv-basierten Backbone und einen effizienten Hybrid-Encoder ein, um Echtzeitgeschwindigkeit zu erzielen. RT-DETR verarbeitet Multiscale-Features effizient, indem es die Intra-Scale-Interaktion und die Cross-Scale-Fusion entkoppelt. Das Modell ist hochgradig anpassbar und unterstützt die flexible Anpassung der Inferenzgeschwindigkeit mithilfe verschiedener Decoder-Schichten, ohne dass ein erneutes Training erforderlich ist. RT-DETR zeichnet sich auf beschleunigten Backends wie CUDA mit TensorRT aus und übertrifft viele andere Echtzeit-Objektdetektoren.



Ansehen: Real-Time Detection Transformer (RT-DETR)

Beispielbild des Modells Überblick über Baidus 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 Hybrid-Encoder wandelt multiskalige Features durch Intrascale Feature Interaction (AIFI) und Cross-Scale Feature-Fusion Module (CCFM) in eine Sequenz von Bild-Features um. Die IoU-basierte Query-Auswahl wird verwendet, um eine feste Anzahl von Bild-Features auszuwählen, die als anfängliche Objekt-Queries für den Decoder dienen. Schließlich optimiert der Decoder mit zusätzlichen Vorhersageköpfen iterativ Objekt-Queries, um Boxen und Konfidenzwerte zu generieren (Quelle), oder Auto-Modus mit angegebener Auslastungsfraktion (

Hauptmerkmale

  • Effizienter Hybrid-Encoder: RT-DETR von Baidu verwendet einen effizienten Hybrid-Encoder, der Multiskalen-Features durch Entkopplung von Intra-Scale-Interaktion und Cross-Scale-Fusion verarbeitet. Dieses einzigartige, auf Vision Transformers basierende Design reduziert die Rechenkosten und ermöglicht die Objekterkennung in Echtzeit.
  • IoU-gesteuerte Abfrageauswahl: RT-DETR von Baidu verbessert die Initialisierung von Objekt-Queries durch die Verwendung von IoU-gesteuerter Abfrageauswahl. Dies ermöglicht es dem Modell, sich auf die relevantesten Objekte in der Szene zu konzentrieren, wodurch die Erkennungsgenauigkeit verbessert wird.
  • Anpassbare Inferenzgeschwindigkeit: RT-DETR von Baidu 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: Basierend auf DETR macht RT-DETR die Non-Maximum Suppression-Nachbearbeitung überflüssig, was die Detektionspipeline vereinfacht und potenziell die Effizienz verbessert.
  • Anchor-Free Detection: Als ein Anchor-Free Detektor vereinfacht RT-DETR den Erkennungsprozess und kann die Generalisierung über verschiedene Datensätze hinweg verbessern.

Vorab trainierte 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

Zusätzlich hat Baidu im Juli 2024 RTDETRv2 veröffentlicht, welches die ursprüngliche Architektur mit verbesserten Leistungskennzahlen weiter optimiert.

Anwendungsbeispiele

Dieses Beispiel bietet einfache RT-DETR-Trainings- und Inferenzbeispiele. Die vollständige Dokumentation zu diesen und anderen Modi finden Sie auf den Dokumentationsseiten Vorhersagen, Trainieren, Validieren und Exportieren.

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 zeigt die Modelltypen, die spezifischen vortrainierten Gewichte, die von jedem Modell unterstützten Aufgaben und die verschiedenen Modi (Trainieren, Validieren, Vorhersagen, Exportieren), die unterstützt werden, angegeben durch ✅-Emojis.

Modelltyp Vortrainierte Gewichte Unterstützte Aufgaben Inferenz Validierung Training Export
RT-DETR Large rtdetr-l.pt Objekterkennung
RT-DETR Extra-Large rtdetr-x.pt Objekterkennung

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 Baidus 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 Paper von 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 Baidu und das PaddlePaddle-Team für die Erstellung und Pflege dieser wertvollen Ressource für die Computer-Vision-Community anerkennen. Ihr Beitrag zu diesem Bereich mit der Entwicklung des auf Vision Transformers basierenden Echtzeit-Objektdetektors RT-DETR wird sehr geschätzt.

FAQ

Was ist Baidus RT-DETR-Modell und wie funktioniert es?

Baidus RT-DETR (Real-Time Detection Transformer) ist ein fortschrittlicher Echtzeit-Objektdetektor, der auf der Vision Transformer-Architektur basiert. Er verarbeitet Multiscale-Features effizient, indem er die Intra-Scale-Interaktion und die Cross-Scale-Fusion durch seinen effizienten Hybrid-Encoder entkoppelt. Durch den Einsatz von IoU-Aware Query Selection konzentriert sich das Modell auf die relevantesten Objekte, was die Erkennungsgenauigkeit erhöht. Seine anpassbare Inferenzgeschwindigkeit, die durch die Anpassung der Decoder-Schichten ohne Retraining erreicht wird, macht RT-DETR für verschiedene Echtzeit-Objekterkennungsszenarien geeignet. Erfahren Sie mehr über die RT-DETR-Funktionen im RT-DETR Arxiv Paper.

Wie kann ich die von Ultralytics bereitgestellten vortrainierten RT-DETR-Modelle verwenden?

Sie können die Ultralytics Python API nutzen, um vortrainierte PaddlePaddle RT-DETR-Modelle zu verwenden. Um beispielsweise ein RT-DETR-l-Modell zu laden, das auf COCO val2017 vortrainiert wurde und hohe FPS auf einer T4-GPU erzielt, 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 Baidus RT-DETR gegenüber anderen Echtzeit-Objektdetektoren wählen?

RT-DETR von Baidu zeichnet sich durch seinen effizienten Hybrid-Encoder und die IoU-basierte Abfrageauswahl aus, die die Rechenkosten drastisch reduzieren und gleichzeitig eine hohe Genauigkeit gewährleisten. Seine einzigartige Fähigkeit, die Inferenzgeschwindigkeit durch die Verwendung verschiedener Decoder-Schichten ohne erneutes Training anzupassen, bietet eine erhebliche Flexibilität. Dies macht es besonders vorteilhaft für Anwendungen, die eine Echtzeit-Performance auf beschleunigten Backends wie CUDA mit TensorRT erfordern und viele andere Echtzeit-Objektdetektoren übertreffen. Die Transformer-Architektur bietet zudem ein besseres globales Kontextverständnis im Vergleich zu herkömmlichen CNN-basierten Detektoren.

Wie unterstützt RT-DETR eine anpassbare Inferenzgeschwindigkeit für verschiedene Echtzeitanwendungen?

RT-DETR von Baidu ermöglicht flexible Anpassungen der Inferenzgeschwindigkeit durch die Verwendung verschiedener Decoder-Schichten, ohne dass ein erneutes Training erforderlich ist. Diese Anpassungsfähigkeit ist entscheidend für die Skalierung der Leistung bei verschiedenen Echtzeit-Objekterkennungsaufgaben. Ob Sie eine schnellere Verarbeitung für geringere Präzision benötigen oder langsamere, genauere Erkennungen, RT-DETR kann an Ihre spezifischen Anforderungen angepasst 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 verwenden, z. B. Training, Validierung und Export?

Ja, RT-DETR-Modelle sind mit verschiedenen Ultralytics-Modi kompatibel, einschließlich Training, Validierung, Vorhersage und Export. Detaillierte Anweisungen zur Verwendung dieser Modi finden Sie in der entsprechenden Dokumentation: Train, Val, Predict und Export. Dies gewährleistet einen umfassenden Workflow für die Entwicklung und Bereitstellung Ihrer Objekterkennungslösungen. Das Ultralytics-Framework bietet eine konsistente API für verschiedene Modellarchitekturen, wodurch die Arbeit mit RT-DETR-Modellen vereinfacht wird.



📅 Erstellt vor 1 Jahr ✏️ Aktualisiert vor 4 Monaten

Kommentare