DAMO-YOLO vs. RTDETRv2 : Une comparaison technique
Choisir le bon modèle de détection d'objets est une décision cruciale qui équilibre la précision, la vitesse et le coût de calcul. Cette comparaison se penche sur deux architectures puissantes : DAMO-YOLO, un détecteur à haute vitesse d'Alibaba Group, et RTDETRv2, un modèle de transformateur en temps réel de haute précision de Baidu. Nous allons explorer leurs différences architecturales, leurs benchmarks de performance et leurs cas d'utilisation idéaux pour vous aider à sélectionner le meilleur modèle pour votre projet de vision par ordinateur.
DAMO-YOLO : Détection rapide et précise
DAMO-YOLO est un modèle de détection d'objets développé par Alibaba Group, conçu pour atteindre un équilibre supérieur entre la vitesse et la précision. Il intègre plusieurs nouvelles techniques pour améliorer les performances des détecteurs de type YOLO.
- Auteurs : Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang et Xiuyu Sun
- Organisation : Alibaba Group
- Date : 2022-11-23
- Arxiv : https://arxiv.org/abs/2211.15444v2
- GitHub : https://github.com/tinyvision/DAMO-YOLO
- Documentation : https://github.com/tinyvision/DAMO-YOLO/blob/master/README.md
Architecture et principales fonctionnalités
DAMO-YOLO s'appuie sur le paradigme classique de détecteur d'objets en une étape avec plusieurs innovations clés :
- Backbone alimenté par NAS : Il utilise la recherche d’architecture neuronale (NAS) pour générer un réseau de backbone optimisé. Cela permet au modèle de trouver une architecture très efficace, adaptée au matériel spécifique et aux objectifs de performance.
- Neck RepGFPN efficace : Le modèle utilise une version efficace du Generalized Feature Pyramid Network (GFPN) pour la fusion des caractéristiques. Cette structure de neck combine efficacement les caractéristiques de différentes échelles tout en restant léger en termes de calcul.
- ZeroHead : Une innovation clé est le ZeroHead, qui découple les têtes de classification et de régression afin de réduire la surcharge de calcul et d'améliorer les performances. Ce choix de conception simplifie l'architecture de la tête sans sacrifier la précision.
- Attribution de label AlignedOTA : DAMO-YOLO utilise AlignedOTA (Optimal Transport Assignment) pour attribuer des labels aux prédictions pendant l'entraînement. Cette stratégie avancée garantit que les points d'ancrage les plus appropriés sont sélectionnés pour chaque objet de vérité terrain, ce qui améliore la convergence de l'entraînement et la précision.
Points forts et faiblesses
Points forts :
- Vitesse d'inférence exceptionnelle : Les modèles DAMO-YOLO, en particulier les variantes plus petites, offrent une très faible latence sur le matériel GPU, ce qui les rend idéaux pour l'inférence en temps réel.
- Haute efficacité : Le modèle offre un excellent compromis entre vitesse et précision avec un nombre relativement faible de paramètres et de FLOPs.
- Architecture Scalable : Il est disponible en plusieurs tailles (Tiny, Small, Medium, Large), permettant aux développeurs de choisir le modèle adapté à leurs contraintes de ressources spécifiques.
Faiblesses :
- Limitations de la précision : Bien que rapide, sa précision maximale peut ne pas correspondre à celle des modèles plus complexes basés sur des transformateurs dans des scénarios difficiles avec de nombreux objets petits ou occlus.
- Écosystème et facilité d'utilisation : L'écosystème autour de DAMO-YOLO est moins développé que celui des frameworks plus courants, ce qui peut nécessiter plus d'efforts pour l'intégration et le déploiement.
RTDETRv2 : Transformateur de détection en temps réel de haute précision
RTDETRv2 (Real-Time Detection Transformer v2) est un modèle de détection d'objets de pointe de Baidu qui exploite la puissance des transformers pour offrir une haute précision tout en maintenant des performances en temps réel. Il s'agit d'une évolution du RT-DETR original, intégrant un "bag-of-freebies" pour améliorer encore ses capacités.
- Auteurs : Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang et Yi Liu
- Organisation : Baidu
- Date : 2023-04-17 (RT-DETR original), 2024-07-24 (améliorations de RTDETRv2)
- Arxiv : https://arxiv.org/abs/2304.08069 (Original), https://arxiv.org/abs/2407.17140 (v2)
- GitHub : https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch
- Docs : https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch#readme
Architecture et principales fonctionnalités
RTDETRv2 est basé sur le framework DETR (DEtection TRansformer), qui réimagine la détection d'objets comme un problème de prédiction directe d'ensemble.
- Conception hybride CNN-Transformateur : Il utilise un backbone CNN conventionnel (comme ResNet) pour extraire les cartes de caractéristiques initiales, qui sont ensuite introduites dans un encodeur-décodeur transformateur.
- Modélisation du contexte global : Le mécanisme d'auto-attention du transformateur permet au modèle de capturer les relations globales entre les différentes parties d'une image. Cela le rend particulièrement performant pour détecter les objets dans des scènes complexes et encombrées.
- Détection de bout en bout : Comme les autres modèles basés sur DETR, RTDETRv2 est de bout en bout et élimine le besoin de composants conçus à la main comme la suppression non maximale (NMS), simplifiant ainsi le pipeline de détection.
- Approche sans ancres : Le modèle est sans ancres, ce qui évite les complexités associées à la conception et au réglage des boîtes d’ancrage.
Points forts et faiblesses
Points forts :
- Précision à la pointe de la technologie : RTDETRv2 atteint des scores mAP très élevés, surpassant souvent d'autres détecteurs en temps réel, en particulier dans les scénarios avec des distributions d'objets denses.
- Robustesse dans les Scènes Complexes : Le mécanisme d'attention globale le rend très efficace pour distinguer les objets qui se chevauchent et pour comprendre le contexte plus large de la scène.
- Pipeline simplifié : La conception de bout en bout sans NMS rend l’étape de post-traitement plus propre et plus simple.
Faiblesses :
- Coût de calcul plus élevé : Les architectures basées sur Transformer sont généralement plus exigeantes en termes de paramètres, de FLOP et d'utilisation de la mémoire que les modèles CNN purs.
- Inférence plus lente : Bien qu'il soit optimisé pour une utilisation en temps réel, sa vitesse d'inférence est généralement plus lente que celle des modèles les plus rapides basés sur YOLO.
- Complexité de l'entraînement : L'entraînement des transformateurs peut être plus gourmand en ressources et nécessiter des calendriers d'entraînement plus longs et plus de mémoire que les CNN.
Comparaison des performances et de l’entraînement
Bancs d'essai de performance
Voici une comparaison détaillée des performances entre les variantes DAMO-YOLO et RTDETRv2 sur l’ensemble de données COCO val.
Modèle | Taille (pixels) |
mAPval 50-95 |
Vitesse CPU ONNX (ms) |
Vitesse T4 TensorRT (ms) |
paramètres (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
DAMO-YOLO-t | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
DAMO-YOLO-s | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
DAMO-YOLO-m | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
DAMO-YOLO-l | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
RTDETRv2-s | 640 | 48.1 | - | 5.03 | 20.0 | 60.0 |
RTDETRv2-m | 640 | 51.9 | - | 7.51 | 36.0 | 100.0 |
RTDETRv2-l | 640 | 53.4 | - | 9.76 | 42.0 | 136.0 |
RTDETRv2-x | 640 | 54.3 | - | 15.03 | 76.0 | 259.0 |
D'après le tableau, nous pouvons tirer plusieurs conclusions :
- Précision : RTDETRv2 atteint systématiquement un mAP plus élevé pour des tailles de modèles comparables, sa plus grande variante atteignant un impressionnant 54,3 mAP.
- Vitesse : DAMO-YOLO détient un avantage certain en termes de vitesse d’inférence, son petit modèle étant plus de deux fois plus rapide que le plus petit modèle RTDETRv2 sur un GPU T4.
- Efficacité : Les modèles DAMO-YOLO sont plus efficaces en termes de paramètres et de FLOPs. Par exemple, DAMO-YOLO-m atteint 49,2 mAP avec 28,2 millions de paramètres, tandis que RTDETRv2-s nécessite 20,0 millions de paramètres pour atteindre un mAP similaire de 48,1 %, mais est plus lent.
Cas d'utilisation idéaux
-
DAMO-YOLO est particulièrement adapté aux applications où la vitesse est primordiale, telles que :
- Vidéosurveillance en temps réel : Traitement des flux vidéo à fréquence d'images élevée pour des applications telles que les systèmes d'alarme de sécurité.
- Déploiements d'IA en périphérie (Edge AI) : Exécution sur des appareils aux ressources limitées tels que NVIDIA Jetson ou Raspberry Pi.
- Robotique : Permet une perception rapide pour les robots qui nécessitent une prise de décision rapide, comme indiqué dans le rôle de l’IA dans la robotique.
-
RTDETRv2 excelle dans les scénarios où la précision est la priorité absolue:
- Conduite autonome : Détection fiable des piétons, des véhicules et des obstacles dans des environnements urbains complexes.
- Sécurité à enjeux élevés : Identification des menaces dans les espaces publics bondés où la précision est essentielle.
- Analyse de vente au détail : Comptage et suivi précis d’un grand nombre de produits sur les étagères ou de clients dans un magasin.
L'avantage Ultralytics : YOLOv8 et YOLO11
Bien que DAMO-YOLO et RTDETRv2 soient tous deux des modèles puissants, l'écosystème Ultralytics YOLO, comprenant des modèles tels que YOLOv8 et le dernier Ultralytics YOLO11, offre une alternative intéressante qui offre souvent un ensemble global supérieur pour les développeurs et les chercheurs.
Les principaux avantages de l'utilisation des modèles Ultralytics sont les suivants :
- Facilité d'utilisation : Une API Python simplifiée, une documentation exhaustive et une utilisation de la CLI directe rendent l'entraînement, la validation et le déploiement incroyablement faciles.
- Écosystème bien maintenu : Ultralytics assure un développement actif, un fort soutien de la communauté via GitHub, des mises à jour fréquentes et une intégration transparente avec Ultralytics HUB pour un MLOps de bout en bout.
- Compromis de performance : Les modèles Ultralytics sont hautement optimisés pour offrir un excellent compromis entre vitesse et précision, ce qui les rend adaptés à un large éventail d’applications, des appareils périphériques aux serveurs cloud.
- Efficacité de la mémoire : Les modèles Ultralytics YOLO sont conçus pour être efficaces en termes de mémoire, nécessitant généralement moins de mémoire CUDA pour l’entraînement et l’inférence par rapport aux modèles basés sur les transformeurs comme RTDETRv2, qui sont connus pour être gourmands en ressources.
- Polyvalence : Les modèles tels que YOLOv8 et YOLO11 sont des cadres multitâches qui prennent en charge nativement la détection d’objets, la segmentation d’instance, la classification d’images, l’estimation de pose et les boîtes englobantes orientées (OBB), offrant une solution unifiée dont DAMO-YOLO et RTDETRv2 sont dépourvus.
- Efficacité de l'entraînement : Bénéficiez de temps d'entraînement rapides, d'une convergence efficace et de poids pré-entraînés facilement disponibles sur des ensembles de données populaires tels que COCO.
Conclusion
DAMO-YOLO et RTDETRv2 sont tous deux des modèles de détection d'objets exceptionnels qui repoussent les limites de la vitesse et de la précision, respectivement. DAMO-YOLO est le choix idéal pour les applications exigeant la latence la plus faible possible sur le matériel GPU. En revanche, RTDETRv2 est le modèle préféré lorsque l'obtention de la plus haute précision est non négociable, en particulier dans les environnements visuels complexes.
Cependant, pour la majorité des développeurs et des chercheurs, les modèles Ultralytics comme YOLO11 présentent la solution la plus pratique et la plus efficace. Ils offrent un équilibre supérieur entre vitesse et précision, une facilité d'utilisation inégalée, une polyvalence multitâche et sont soutenus par un écosystème robuste et activement maintenu. Cette combinaison fait des modèles Ultralytics YOLO le choix recommandé pour la construction d'applications de vision par ordinateur performantes et réelles.
Explorer d'autres modèles
Les utilisateurs intéressés par DAMO-YOLO et RTDETRv2 peuvent également trouver ces comparaisons pertinentes :
- YOLOv8 vs. DAMO-YOLO
- YOLO11 vs. DAMO-YOLO
- YOLOv8 vs. RT-DETR
- YOLO11 vs. RT-DETR
- EfficientDet contre. DAMO-YOLO
- YOLOX vs. DAMO-YOLO
- YOLOv7 vs. RT-DETR