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 est basé sur l'idée de DETR (le cadre sans NMS), tout en introduisant une colonne vertébrale basée sur conv et un encodeur hybride efficace pour gagner en vitesse en temps réel. RT-DETR traite efficacement les caractéristiques multi-échelles en découplant l'interaction intra-échelle et la fusion inter-échelle. Le modèle est très adaptable et permet un ajustement flexible de la vitesse d'inférence en utilisant différentes couches de décodeur sans réentraînement. RT-DETR excelle sur les backends accélérés tels que CUDA avec TensorRT, surpassant de nombreux autres détecteurs d'objets en temps réel.



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

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

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.

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 ?

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 nécessiter de réentraînement. Cette adaptabilité est cruciale pour la mise à l'échelle des performances à travers diverses tâches de détection d'objets en temps réel. Que tu aies besoin d'un traitement plus rapide pour des besoins de moindre précision ou de détections plus lentes et plus précises, RT-DETR peut être adapté pour répondre à tes besoins spécifiques.

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.



Créé le 2023-11-12, Mis à jour le 2024-07-04
Auteurs : glenn-jocher (15), RizwanMunawar (1)

Commentaires