Confrontation technique : DAMO-YOLO vs RTDETRv2 pour la détection d'objets en temps réel
Le paysage en évolution rapide de la vision par ordinateur a produit une gamme impressionnante d'architectures conçues pour équilibrer vitesse, précision et efficacité computationnelle. Deux modèles remarquables qui ont apporté des approches uniques pour relever ces défis sont DAMO-YOLO et RTDETRv2. Bien que les deux modèles visent à fournir des solutions de pointe pour l'inférence en temps réel, ils diffèrent fondamentalement dans leurs philosophies architecturales.
Ce guide complet plonge en profondeur dans les spécifications techniques, les innovations architecturales et les cas d'utilisation pratiques des deux modèles, tout en explorant comment des solutions modernes comme la Ultralytics Platform et le modèle de pointe YOLO26 ont redéfini les normes de l'industrie en matière de déploiement et de facilité d'utilisation.
Présentation des modèles
Comprendre DAMO-YOLO
Développé par des chercheurs d'Alibaba Group, DAMO-YOLO introduit une méthode de détection d'objets rapide et précise s'appuyant fortement sur la Neural Architecture Search (NAS). Il remplace les backbones traditionnels conçus manuellement par des structures générées par NAS, conçues pour une faible latence. De plus, il intègre un RepGFPN (Reparameterized Generalized Feature Pyramid Network) efficace et une conception ZeroHead pour rationaliser l'agrégation des caractéristiques et les prédictions de bounding box.
Détails clés du modèle :
- Auteurs : Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang et Xiuyu Sun
- Organisation : Alibaba Group
- Date : 23-11-2022
- Arxiv : 2211.15444v2
- GitHub : tinyvision/DAMO-YOLO
- Docs : Documentation DAMO-YOLO
Comprendre RTDETRv2
Le RTDETRv2 de Baidu représente un bond significatif pour les Real-Time Detection Transformers. Contrairement aux réseaux de neurones convolutifs (CNN) traditionnels qui s'appuient sur des anchor boxes et le Non-Maximum Suppression (NMS), RTDETRv2 utilise des mécanismes d'auto-attention pour visualiser l'image entière de manière contextuelle. Il génère directement les bounding boxes, en contournant entièrement l'étape de post-traitement NMS. Ce modèle introduit une stratégie d'entraînement « bag of freebies » pour améliorer 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 des ressources computationnelles plus élevées, leur capacité à traiter le contexte global les rend incroyablement efficaces pour la compréhension de scènes complexes, ce qui constitue une force majeure de RTDETRv2.
Comparaison des performances
Lors de l'évaluation de ces modèles pour un déploiement en conditions réelles, des paramètres tels que la Mean Average Precision (mAP), la vitesse d'inférence et l'empreinte mémoire sont critiques. Les modèles basés sur des transformers comme RTDETRv2 exigent généralement une mémoire CUDA plus importante pendant l'entraînement et l'inférence par rapport aux CNN légers comme DAMO-YOLO.
Vous trouverez ci-dessous 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) | params (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
Où DAMO-YOLO excelle : Grâce à son backbone optimisé par NAS et à son nombre de paramètres exceptionnellement bas dans ses variantes plus petites (comme DAMO-YOLOt), il est très adapté au déploiement sur du matériel très contraint. Si tu construis des solutions pour des appareils embarqués utilisant des runtimes comme ONNX ou des moteurs TensorRT spécialisés pour l'edge computing, DAMO-YOLO fournit un framework très réactif.
Où RTDETRv2 excelle : RTDETRv2 excelle dans les scénarios où des GPU de classe serveur sont disponibles et où le contexte global de l'image est primordial. Son architecture transformer lui permet de résoudre naturellement les bounding boxes qui se chevauchent sans NMS, ce qui en fait un choix robuste pour la gestion de foule dense ou le suivi d'objets complexe où les relations spatiales entre des objets distants sont critiques.
L'avantage Ultralytics : présentation de YOLO26
Bien que DAMO-YOLO et RTDETRv2 représentent des avancées académiques significatives, la transition de ces modèles vers des applications évolutives et prêtes pour la production peut être difficile. Les développeurs sont souvent confrontés à des bases de code fragmentées, à un manque de support pour l'apprentissage multi-tâches et à des pipelines de déploiement complexes.
C'est là que l'écosystème Ultralytics se distingue véritablement. En privilégiant la facilité d'utilisation, une API Python bien entretenue et une polyvalence inégalée, Ultralytics garantit que tu passes moins de temps à déboguer et plus de temps à construire.
Le modèle Ultralytics YOLO26 récemment publié pousse ces avantages encore plus loin, offrant des percées qui surpassent à la fois DAMO-YOLO et RTDETRv2 :
- Conception de bout en bout sans NMS : Pionnier à l'origine dans YOLOv10, YOLO26 est nativement de bout en bout. Cela élimine complètement le post-traitement NMS, rendant le déploiement plus rapide et radicalement plus simple que les CNN traditionnels, tout en égalant les avantages de sortie directe de RTDETRv2.
- Jusqu'à 43 % plus rapide pour l'inférence CPU : Hautement optimisé pour les appareils d'edge AI sans GPU discrets, ce qui en fait un choix bien 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 Muon apporte des innovations d'entraînement des Large Language Models (LLM) dans la vision par ordinateur, résultant en un entraînement remarquablement stable et une convergence plus rapide.
- ProgLoss + STAL : Ces fonctions de perte avancées offrent des améliorations notables dans la reconnaissance de petits objets, un domaine où les modèles ont traditionnellement des difficultés. C'est critique pour l'imagerie aérienne et les applications de drones.
- Suppression de DFL : La Distribution Focal Loss a été supprimée pour garantir des formats d'exportation simplifiés et une meilleure compatibilité avec les appareils edge à faible consommation.
- Polyvalence inégalée : Contrairement aux modèles concurrents limités strictement à la détection, YOLO26 inclut des améliorations spécifiques aux tâches dans tous les domaines, telles qu'une perte d'angle spécialisée pour les Oriented Bounding Boxes (OBB), une perte de segmentation sémantique pour une précision parfaite au niveau du pixel, et l'estimation de vraisemblance résiduelle (RLE) pour l'estimation de pose.
L'entraînement de modèles basés sur des transformers comme RTDETRv2 nécessite d'immenses allocations de mémoire CUDA, nécessitant souvent des configurations multi-GPU coûteuses. Les modèles Ultralytics YOLO maintiennent des besoins en mémoire remarquablement inférieurs lors de l'entraînement et de l'inférence, démocratisant le développement de l'IA pour les chercheurs comme pour les passionnés.
Exemple de code : L'API Ultralytics unifiée
L'un des plus grands avantages de l'écosystème Ultralytics est son API unifiée. Tu peux charger, entraîner et valider de manière transparente une variété de modèles — y compris une implémentation PyTorch de RTDETR et les modèles YOLO de pointe — sans changer ton workflow.
from ultralytics import RTDETR, YOLO
# Load an RTDETRv2 model
model_rtdetr = RTDETR("rtdetr-l.pt")
# Load the cutting-edge YOLO26 model
model_yolo = YOLO("yolo26n.pt")
# Run inference on an image with a simple, unified interface
results_rtdetr = model_rtdetr("https://ultralytics.com/images/bus.jpg")
results_yolo = model_yolo("https://ultralytics.com/images/bus.jpg")
# Display the detected objects
results_yolo[0].show()Cette simplicité s'étend à l'entraînement sur dataset personnalisé et à l'exportation. En utilisant le package Python Ultralytics, les développeurs peuvent facilement pousser leurs poids entraînés vers des plateformes de déploiement comme CoreML ou OpenVINO avec une seule commande.
Conclusion et exploration plus poussée
DAMO-YOLO et RTDETRv2 ont indéniablement repoussé les limites de ce qui est possible en matière de détection d'objets en temps réel. DAMO-YOLO fournit des structures de réseau auto-recherchées et hautement optimisées pour une efficacité brute, tandis que RTDETRv2 prouve que les transformers peuvent rivaliser dans l'espace temps réel en éliminant les goulots d'étranglement traditionnels comme le NMS.
Cependant, pour les développeurs recherchant l'équilibre ultime entre performance, documentation complète et préparation à la production, les modèles Ultralytics YOLO restent la référence. Avec l'introduction de YOLO26, les utilisateurs accèdent à une détection de bout en bout semblable à un transformer, à une efficacité d'entraînement inspirée des LLM et à des vitesses CPU inégalées — le tout enveloppé dans un écosystème intuitif et robuste.
Si tu évalues des modèles pour ton prochain projet, tu pourrais également trouver utile de lire nos comparaisons entre EfficientDet vs RTDETR, d'explorer la génération précédente YOLO11, ou de consulter les références académiques comme YOLOX. Commence à construire dès aujourd'hui en explorant le guide de démarrage rapide Ultralytics.