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 codeur 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 hautement adaptable, permettant 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.
Regarder : Transformateur de détection en temps réel (RT-DETR)
Vue d'ensemble de Baidu RT-DETR. Le diagramme 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 du codeur. Le codeur hybride efficace transforme les caractéristiques multi-échelles en une séquence de caractéristiques d'image grâce à l'interaction des caractéristiques intrascales (AIFI) et au 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êtes tenant compte de l'unité d'exploitation : 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'unité d'exploitation. 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 à l'adresse 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 pré-entraînés spécifiques, 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 | Exportation |
---|---|---|---|---|---|---|
RT-DETR Grandes dimensions | rtdetr-l.pt | DĂ©tection d'objets | âś… | âś… | âś… | âś… |
RT-DETR Extra-large | rtdetr-x.pt | DĂ©tection d'objets | âś… | âś… | âś… | âś… |
Citations et remerciements
Si vous utilisez le site RT-DETR de Baidu dans vos travaux de recherche ou de développement, veuillez citer l'article original:
Nous tenons à remercier Baidu et son équipe pour la création et la maintenance de 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 RT-DETR de Baidu 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 codeur hybride efficace. En employant une sélection de requêtes 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 , cliquez ici.
Comment puis-je utiliser les modèles pré-entraînés de RT-DETR fournis par Ultralytics?
Vous pouvez 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, vous pouvez 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 tenant compte de l'unité d'information, 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 à 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 capacité d'adaptation est cruciale pour la mise à l'échelle des performances dans le cadre de diverses tâches de détection d'objets en temps réel. Que vous ayez besoin d'un traitement plus rapide pour des besoins de faible précision ou de détections plus lentes et plus précises, RT-DETR peut être adapté pour répondre à vos besoins spécifiques.
Puis-je utiliser les modèles RT-DETR avec d'autres modes Ultralytics , tels que l'entraînement, la validation et l'exportation ?
Oui, les modèles RT-DETR sont compatibles avec les différents modes de Ultralytics , notamment l'entraînement, la validation, la prédiction et l'exportation. Vous pouvez vous 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 vos solutions de détection d'objets.