Skip to content

Baidu's RT-DETR: un détecteur d'objets en temps réel basé sur un transformateur de vision

Vue d'ensemble

Real-Time Detection Transformer (RT-DETR), développé par Baidu, est un détecteur d'objets de bout en bout à la pointe de la technologie qui offre des performances en temps réel tout en conservant une grande précision. Il tire parti de la puissance des transformateurs de vision (ViT) pour traiter efficacement les caractéristiques multi-échelles en découplant l'interaction intra-échelle et la fusion inter-échelle. RT-DETR est très adaptable, prenant en charge l'ajustement flexible de la vitesse d'inférence en utilisant différentes couches de décodeur sans ré-entraînement. Le modèle excelle sur les backends accélérés comme CUDA avec TensorRT, surpassant de nombreux autres détecteurs d'objets en temps réel.

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

  • Encodeur hybride efficace : Le site RT-DETR de Baidu utilise un encodeur hybride efficace qui traite les caractĂ©ristiques multi-Ă©chelles en dĂ©couplant l'interaction intra-Ă©chelle et la fusion inter-Ă©chelle. Cette conception unique basĂ©e sur les transformateurs de vision rĂ©duit les coĂ»ts de calcul et permet la dĂ©tection d'objets en temps rĂ©el.
  • 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 RT-DETRR. 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}
}

Nous tenons à remercier Baidu et son équipe pour avoir créé et maintenu cette ressource précieuse pour la communauté de la vision par ordinateur. PaddlePaddle pour avoir créé et maintenu cette ressource précieuse pour la communauté de la vision par ordinateur. Leur contribution au développement du détecteur d'objets en temps réel basé sur Vision Transformers, RT-DETR, est très appréciée.

Mots-clés : RT-DETR Transformer, ViT, Vision Transformers, Baidu RT-DETR, PaddlePaddle, Paddle Paddle RT-DETR, détection d'objets en temps réel, détection d'objets basée sur Vision Transformers, modèles pré-entraînés PaddlePaddle RT-DETR , utilisation de Baidu RT-DETR , Ultralytics Python API



Créé le 2023-11-12, Mis à jour le 2024-01-16
Auteurs : glenn-jocher (7)

Commentaires