DAMO-YOLO et RTDETRv2#
L’évolution rapide de la vision par ordinateur a produit un éventail impressionnant d’architectures conçues pour trouver un équilibre entre vitesse, précision et efficacité de calcul. DAMO-YOLO et RTDETRv2 se distinguent par leurs approches uniques pour relever ces défis. Bien que les deux modèles visent à fournir des solutions de pointe pour l’inférence en temps réel, leurs philosophies architecturales diffèrent fondamentalement.
Ce guide complet examine en détail les spécifications techniques, les innovations architecturales et les cas d’usage pratiques des deux modèles. Il montre également comment des solutions modernes comme la plateforme Ultralytics et le modèle de pointe YOLO26 ont redéfini les standards du secteur en matière de déploiement et de facilité d’utilisation.
Présentation des modèles#
Comprendre DAMO-YOLO#
Développé par des chercheurs du groupe Alibaba, DAMO-YOLO propose une méthode de détection d’objets rapide et précise, qui s’appuie largement sur la recherche d’architecture neuronale (NAS). Il remplace les backbones conçus manuellement par des structures générées par NAS et conçues pour réduire la latence. Il intègre également un RepGFPN efficace (réseau pyramidal de caractéristiques généralisé reparamétré) et une conception ZeroHead pour rationaliser l’agrégation des caractéristiques et les prédictions de boîtes englobantes.
Détails clés du modèle :
- Auteurs : Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang et Xiuyu Sun
- Organisation : groupe Alibaba
- Date : 2022-11-23
- Arxiv : 2211.15444v2
- GitHub : tinyvision/DAMO-YOLO
- Documentation : Documentation de DAMO-YOLO
Comprendre RTDETRv2#
Le RTDETRv2 de Baidu représente une avancée majeure pour les Transformers de détection en temps réel. Contrairement aux réseaux neuronaux convolutifs traditionnels (CNN), qui reposent sur des boîtes d’ancrage et la suppression non maximale (NMS), RTDETRv2 utilise des mécanismes d’auto-attention pour analyser l’image dans son ensemble et en tenir compte dans son contexte. Il produit directement des boîtes englobantes, en contournant totalement l’étape de post-traitement NMS. Ce modèle introduit une stratégie d’entraînement « bag of freebies » qui améliore la précision de base sans augmenter la latence d’inférence.
Détails clés du modèle :
- Auteurs : Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang et Yi Liu
- Organisation : Baidu
- Date : 2024-07-24
- Arxiv : 2407.17140
- GitHub : Dépôt RT-DETR
- Documentation : Documentation RTDETRv2
Bien que les Transformers nécessitent davantage de ressources de calcul, leur capacité à traiter le contexte global les rend très efficaces pour comprendre des scènes complexes, ce qui constitue un atout majeur de RTDETRv2.
Comparaison des performances#
Pour évaluer ces modèles en vue d’un déploiement dans des conditions réelles, des paramètres comme la précision moyenne (mAP), la vitesse d’inférence et l’empreinte mémoire sont essentiels. Les modèles basés sur Transformer comme RTDETRv2 nécessitent généralement davantage de mémoire CUDA à l’entraînement et à l’inférence que les CNN légers comme DAMO-YOLO.
Voici une comparaison détaillée de leurs métriques de performance.
| Modèle | taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| RTDETRv2-s | 640 | 48.1 | - | 5.03 | 20 | 60 |
| RTDETRv2-m | 640 | 51.9 | - | 7.51 | 36 | 100 |
| RTDETRv2-l | 640 | 53.4 | - | 9.76 | 42 | 136 |
| RTDETRv2-x | 640 | 54.3 | - | 15.03 | 76 | 259 |
Cas d’utilisation idéaux#
Points forts de DAMO-YOLO : Grâce à son backbone optimisé par NAS et au nombre de paramètres particulièrement faible de ses variantes plus petites (comme DAMO-YOLOt), ce modèle convient parfaitement au déploiement sur du matériel aux ressources très limitées. Si tu développes des solutions pour des appareils embarqués utilisant des environnements d’exécution comme ONNX ou des moteurs TensorRT spécialisés pour le calcul en périphérie, DAMO-YOLO fournit un cadre très réactif.
Points forts de RTDETRv2 : RTDETRv2 excelle dans les situations où des GPU de qualité serveur sont disponibles et où le contexte global de l’image est primordial. Son architecture Transformer lui permet de résoudre naturellement les chevauchements entre boîtes englobantes sans NMS, ce qui en fait un choix robuste pour la gestion des foules ou le suivi d’objets complexes, où les relations spatiales entre objets éloignés sont essentielles.
L’avantage Ultralytics : présentation de YOLO26#
Bien que DAMO-YOLO et RTDETRv2 représentent des avancées universitaires importantes, leur intégration dans des applications évolutives et prêtes pour la production peut s’avérer difficile. Les développeurs sont souvent confrontés à des bases de code fragmentées, à l’absence de prise en charge de l’apprentissage multitâche et à des pipelines de déploiement complexes.
C’est là que l’écosystème Ultralytics se démarque véritablement. En privilégiant la facilité d’utilisation, une API Python bien entretenue et une polyvalence inégalée, Ultralytics permet aux développeurs de passer moins de temps à déboguer et plus de temps à créer.
Le modèle Ultralytics YOLO26, récemment lancé, pousse ces avantages encore plus loin grâce à des avancées qui surpassent celles de DAMO-YOLO et RTDETRv2 :
- Conception de bout en bout sans NMS : Initiée à l’origine dans YOLOv10, YOLO26 propose une tête de bout en bout facultative (
nms=False). Cela élimine le post-traitement NMS, accélère le déploiement et le simplifie considérablement par rapport aux CNN traditionnels, tout en offrant les avantages de sortie directe de RTDETRv2. - Inférence CPU jusqu’à 43 % plus rapide : YOLO26n s’exécute jusqu’à 43 % plus vite que YOLO11n sur CPU ONNX et est fortement optimisé pour les appareils d’IA en périphérie sans GPU dédié, ce qui en fait un choix nettement supérieur pour les applications IoT par rapport aux Transformers gourmands en mémoire.
- Optimiseur MuSGD : Inspiré par Kimi K2 de Moonshot AI, cet hybride de SGD et de Muon transpose à la vision par ordinateur les innovations en matière d’entraînement des grands modèles de langage (LLM), pour un entraînement remarquablement stable et une convergence plus rapide.
- ProgLoss + STAL : Ces fonctions de perte avancées améliorent considérablement la reconnaissance des petits objets, un domaine où les modèles éprouvent traditionnellement des difficultés. C’est essentiel pour l’imagerie aérienne et les applications de drones.
- Suppression de DFL : La perte focale de distribution a été supprimée afin de simplifier les formats d’exportation et d’améliorer la compatibilité avec les appareils de périphérie à faible consommation.
- Polyvalence inégalée : Contrairement aux modèles concurrents strictement limités à la détection, YOLO26 intègre des améliorations spécifiques à chaque tâche, notamment une fonction de perte d’angle spécialisée pour les boîtes englobantes orientées (OBB), une fonction de perte de segmentation sémantique pour une précision au pixel près et l’estimation résiduelle de log-vraisemblance (RLE) pour l’estimation de pose.
L’entraînement de modèles basés sur des Transformers comme RTDETRv2 nécessite d’allouer énormément de mémoire CUDA, ce qui impose souvent des configurations multi-GPU coûteuses. Les modèles Ultralytics YOLO requièrent beaucoup moins de mémoire, aussi bien pendant l’entraînement que pendant l’inférence, démocratisant ainsi le développement de l’IA pour les chercheurs comme pour les passionnés.
Exemple de code : l’API unifiée Ultralytics#
L’un des principaux avantages de l’écosystème Ultralytics est son API unifiée. Tu peux charger, entraîner et valider facilement différents modèles, notamment une implémentation PyTorch de RT-DETR et des modèles YOLO de pointe, sans changer de workflow.
from ultralytics import RTDETR, YOLO
# Charger un modèle RT-DETR
model_rtdetr = RTDETR("rtdetr-l.pt")
# Charger le modèle YOLO26 de pointe
model_yolo = YOLO("yolo26n.pt")
# Effectuer l’inférence sur une image avec une interface simple et unifiée
results_rtdetr = model_rtdetr("https://ultralytics.com/images/bus.jpg")
results_yolo = model_yolo("https://ultralytics.com/images/bus.jpg")
# Affiche les objets détectés
results_yolo[0].show()Cette simplicité s’étend à l’entraînement sur un jeu de données personnalisé et à l’exportation. Grâce au package Python Ultralytics, les développeurs peuvent facilement envoyer leurs poids entraînés vers des plateformes de déploiement comme CoreML ou OpenVINO avec une seule commande.
Conclusion et pistes à explorer#
DAMO-YOLO et RTDETRv2 ont indéniablement repoussé les limites de la détection d’objets en temps réel. DAMO-YOLO propose des structures de réseau optimisées automatiquement pour une efficacité brute, tandis que RTDETRv2 montre que les Transformers peuvent rivaliser dans le domaine du temps réel en éliminant les goulots d’étranglement traditionnels comme NMS.
Cependant, pour les développeurs qui recherchent l’équilibre idéal entre performances, documentation complète et préparation à la production, les modèles Ultralytics YOLO restent la référence absolue. Avec YOLO26, les utilisateurs bénéficient d’une détection de bout en bout facultative, similaire à celle des Transformers, d’un entraînement efficace inspiré des LLM et de vitesses CPU inégalées, le tout dans un écosystème intuitif et robuste.
Si tu évalues des modèles pour ton prochain projet, tu trouveras peut-être aussi utile de lire nos comparatifs EfficientDet vs RT-DETR, d’explorer la génération précédente YOLO11 ou de consulter des références universitaires comme YOLOX. Commence à développer dès aujourd’hui en consultant le guide de démarrage rapide Ultralytics.