RT-DETR : Détection d’objets de bout en bout en temps réel avec encodeur hybride

RT-DETR (Real-Time DEtection TRansformer) est un détecteur d’objets qui repense le paradigme des architectures de type DETR pour le temps réel. Il repose sur deux innovations majeures : un encodeur hybride efficace et une stratégie de sélection de requêtes guidée par l’IoU (Intersection over Union). Ces éléments permettent de concilier une grande précision avec une latence d’inférence très faible, tout en supprimant les étapes de post-traitement habituelles comme la suppression des non-maxima (NMS).

Composants clés de l’architecture

L’encdoeur hybride combine des opérations convolutives légères et des mécanismes d’attention multi-échelle. Il extrait des caractéristiques à plusieurs niveaux tout en maintenant une complexité calculatoire réduite. La sélection de requêtes basée sur l’IoU, quant à elle, évalue la qualité des prédictions candidates dès la phase d’initialisation, ce qui accélère la convergence et améliore la précision finale.

Mise en route rapide

Le projet est disponible avec des implémentations pour PyTorch et PaddlePaddle. Pour utiliser la version PyTorch :

git clone https://gitcode.com/gh_mirrors/rt/RT-DETR
cd RT-DETR
pip install -r rtdetr_pytorch/requirements.txt

Performances sur COCO

Modèle Résolution AP AP50 Paramètres FPS
RT-DETR-R18 640×640 46.5 63.8 20M 217
RT-DETR-R50 640×640 53.1 71.3 42M 108
RT-DETR-R101 640×640 54.3 72.7 76M 74

Cas d’usage

  • Vidéosurveillance : détection de piétons et de véhicules en flux continu.
  • Conduite autonome : identification rapide des obstacles sur la route.
  • Contrôle qualité industriel : inspection automatique des défauts.
  • Commerce intelligent : analyse des comportements en magasin.

Entraînement

Entraînement sur un seul GPU :

CUDA_VISIBLE_DEVICES=0 python tools/train.py --config configs/rtdetr/rtdetr_r50vd_6x_coco.yml

Entraînement distribué sur quatre GPU :

CUDA_VISIBLE_DEVICES=0,1,2,3 torchrun --nproc_per_node=4 tools/train.py --config configs/rtdetr/rtdetr_r50vd_6x_coco.yml

RT-DETRv2 : améliorations supplémentaires

La version v2 intègre des techniques d’optimisation qui augmentent la précision sans pénaliser la vitesse. Par exemple, RT-DETRv2-S atteint 48.1 mAP, soit un gain de 1.6 point par rapport à RT-DETR-R18, avec une latence identique.

Déploiement

Plusieurs runtimes sont supportés pour la mise en production :

  • ONNX Runtime : references/deploy/rtdetrv2_onnxruntime.py
  • TensorRT : references/deploy/rtdetrv2_tensorrt.py
  • OpenVINO : references/deploy/rtdetrv2_openvino.py

La version RT-DETRv4, récemment publiée, exploite des fondations pré-entraînées à grande échelle pour améliorer encore les performances des modèles légers et complets, sans augmenter la latence d’inférence.

Étiquettes: RT-DETR detection-temps-reel encodeur-hybride IoU-aware PyTorch

Publié le 28 août à 00h37