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)
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")
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:
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")
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.