Skip to content

Baidu's RT-DETR: A Vision Transformer-Based Real-Time Object Detector

Vue d'ensemble

Real-Time Detection Transformer (RT-DETR), developed by Baidu, is a cutting-edge end-to-end object detector that provides real-time performance while maintaining high accuracy. It is based on the idea of DETR (the NMS-free framework), meanwhile introducing conv-based backbone and an efficient hybrid encoder to gain real-time speed. RT-DETR efficiently processes multiscale features by decoupling intra-scale interaction and cross-scale fusion. The model is highly adaptable, supporting flexible adjustment of inference speed using different decoder layers without retraining. RT-DETR excels on accelerated backends like CUDA with TensorRT, outperforming many other real-time object detectors.



Regarde : Transformateur de détection en temps réel (RT-DETR)

Modèle exemple image Vue d'ensemble de Baidu RT-DETR. Le schéma d'architecture du modèle RT-DETR montre les trois dernières étapes de l'épine dorsale {S3, S4, S5} en tant qu'entrée de l'encodeur. Le codeur hybride efficace transforme les caractéristiques multi-échelles en une séquence de caractéristiques d'image par le biais de l'interaction des caractéristiques intrascales (AIFI) et du module de fusion des caractéristiques inter-échelles (CCFM). La sélection de requête consciente de l'IoU est employée pour sélectionner un nombre fixe de caractéristiques d'image qui serviront de requêtes d'objet initiales pour le décodeur. Enfin, le décodeur avec les têtes de prédiction auxiliaires optimise itérativement les requêtes d'objets pour générer des boîtes et des scores de confiance (source).

Caractéristiques principales

  • Efficient Hybrid Encoder: Baidu's RT-DETR uses an efficient hybrid encoder that processes multiscale features by decoupling intra-scale interaction and cross-scale fusion. This unique Vision Transformers-based design reduces computational costs and allows for real-time object detection.
  • SĂ©lection de requĂŞte consciente de l'interface utilisateur : Le site RT-DETR de Baidu amĂ©liore l'initialisation des requĂŞtes d'objets en utilisant une sĂ©lection de requĂŞtes consciente de l'appartenance Ă  un groupe d'utilisateurs. Cela permet au modèle de se concentrer sur les objets les plus pertinents de la scène, amĂ©liorant ainsi la prĂ©cision de la dĂ©tection.
  • Vitesse d'infĂ©rence adaptable : le site RT-DETR de Baidu permet des ajustements flexibles de la vitesse d'infĂ©rence en utilisant diffĂ©rentes couches de dĂ©codeur sans qu'il soit nĂ©cessaire de procĂ©der Ă  une nouvelle formation. Cette adaptabilitĂ© facilite l'application pratique dans divers scĂ©narios de dĂ©tection d'objets en temps rĂ©el.

Modèles pré-entraînés

L'API Ultralytics Python fournit des modèles pré-entraînés PaddlePaddle RT-DETR à différentes échelles :

  • RT-DETR-L : 53.0% AP sur COCO val2017, 114 FPS sur T4 GPU
  • RT-DETR-X : 54.8% AP sur COCO val2017, 74 FPS sur T4 GPU

Exemples d'utilisation

Cet exemple fournit des exemples simples de formation et d'inférence sur RT-DETR . Pour une documentation complète sur ces modes et d'autres , voir les pages Predict, Train, Val et Export docs.

Exemple

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

Tâches et modes pris en charge

Ce tableau présente les types de modèles, les poids spécifiques pré-entraînés, les tâches prises en charge par chaque modèle et les différents modes(Train, Val, Predict, Export) qui sont pris en charge, indiqués par des emojis ✅.

Type de modèle Poids pré-entraînés Tâches prises en charge Inférence Validation Formation Exporter
RT-DETR Grandes rtdetr-l.pt DĂ©tection d'objets âś… âś… âś… âś…
RT-DETR Extra-large rtdetr-x.pt DĂ©tection d'objets âś… âś… âś… âś…

Citations et remerciements

Si tu utilises le site RT-DETR de Baidu dans tes travaux de recherche ou de développement, merci de citer l'article original:

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

We would like to acknowledge Baidu and the PaddlePaddle team for creating and maintaining this valuable resource for the computer vision community. Their contribution to the field with the development of the Vision Transformers-based real-time object detector, RT-DETR, is greatly appreciated.

FAQ

Quel est le modèle de Baidu RT-DETR et comment fonctionne-t-il ?

Baidu's RT-DETR (Real-Time Detection Transformer) est un détecteur d'objets avancé en temps réel basé sur l'architecture Vision Transformer. Il traite efficacement les caractéristiques multi-échelles en découplant l'interaction intra-échelle et la fusion inter-échelle grâce à son encodeur hybride efficace. En employant une sélection de requête consciente de l'interface utilisateur, le modèle se concentre sur les objets les plus pertinents, améliorant ainsi la précision de la détection. Sa vitesse d'inférence adaptable, obtenue en ajustant les couches du décodeur sans réentraînement, permet à RT-DETR de convenir à divers scénarios de détection d'objets en temps réel. Pour en savoir plus sur les caractéristiques de RT-DETR , clique ici.

Comment puis-je utiliser les modèles pré-entraînés de RT-DETR fournis par Ultralytics?

Tu peux tirer parti de Ultralytics Python API pour utiliser des modèles pré-entraînés PaddlePaddle RT-DETR . Par exemple, pour charger un modèle RT-DETR-l pré-entraîné sur COCO val2017 et obtenir un taux de rafraîchissement élevé sur T4 GPU, tu peux utiliser l'exemple suivant :

Exemple

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

Pourquoi devrais-je choisir Baidu's RT-DETR plutôt que d'autres détecteurs d'objets en temps réel ?

Le site RT-DETR de Baidu se distingue par son codeur hybride efficace et sa sélection de requêtes consciente de l'IoU, qui réduisent considérablement les coûts de calcul tout en maintenant une grande précision. Sa capacité unique à ajuster la vitesse d'inférence en utilisant différentes couches de décodeur sans réentraînement ajoute une flexibilité significative. Cela le rend particulièrement avantageux pour les applications nécessitant des performances en temps réel sur des backends accélérés comme CUDA avec TensorRT, surclassant de nombreux autres détecteurs d'objets en temps réel.

Comment RT-DETR permet-il d'adapter la vitesse d'inférence aux différentes applications en temps réel ?

Baidu's RT-DETR allows flexible adjustments of inference speed by using different decoder layers without requiring retraining. This adaptability is crucial for scaling performance across various real-time object detection tasks. Whether you need faster processing for lower precision needs or slower, more accurate detections, RT-DETR can be tailored to meet your specific requirements.

Puis-je utiliser les modèles RT-DETR avec d'autres modes Ultralytics , tels que la formation, la validation et l'exportation ?

Oui, les modèles RT-DETR sont compatibles avec les différents modes de Ultralytics , y compris l'entraînement, la validation, la prédiction et l'exportation. Tu peux te référer à la documentation correspondante pour obtenir des instructions détaillées sur l'utilisation de ces modes : Train, Val, Predict et Export. Cela garantit un flux de travail complet pour le développement et le déploiement de tes solutions de détection d'objets.


📅 Created 11 months ago ✏️ Updated 19 days ago

Commentaires