RTDETRv2 vs. YOLOX : Une comparaison technique pour la détection d’objets en temps réel
Dans le paysage en rapide évolution de la vision par ordinateur, la quête de l'équilibre optimal entre vitesse et précision continue de stimuler l'innovation. Deux approches distinctes se sont imposées comme des leaders : RTDETRv2, basé sur Transformer, et YOLOX, basé sur CNN sans ancrage. Cette comparaison explore leurs différences architecturales, leurs mesures de performance et leurs cas d'utilisation idéaux afin d'aider les développeurs à choisir l'outil adapté à leurs besoins spécifiques.
Aperçus des modèles
Avant de plonger dans les détails techniques, établissons les origines et les philosophies fondamentales de ces deux modèles influents.
RTDETRv2
RTDETRv2 (Real-Time DEtection TRansformer version 2) représente une avancée significative dans l'intégration des architectures Transformer aux applications en temps réel. Développé par des chercheurs chez Baidu, il s'appuie sur le RT-DETR original en introduisant un "Bag-of-Freebies" qui améliore la stabilité et les performances de l'entraînement sans augmenter la latence d'inférence. Il vise à résoudre le coût de calcul élevé généralement associé aux Vision Transformers (ViT) tout en surpassant les détecteurs CNN traditionnels en termes de précision.
- Auteurs : Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang et Yi Liu
- Organisation :Baidu
- Date : 2023-04-17 (RT-DETR original), mises à jour v2 suivies.
- Arxiv:RT-DETRv2 : Base de référence améliorée avec Bag-of-Freebies
- GitHub :Dépôt RT-DETRv2
YOLOX
YOLOX a revitalisé la famille YOLO en 2021 en passant à un mécanisme sans ancrage et en intégrant des techniques avancées comme les têtes découplées et l’attribution d’étiquettes SimOTA. Bien qu’il conserve la caractéristique de backbone de style Darknet de la série YOLO, ses changements architecturaux ont corrigé de nombreuses limites des détecteurs basés sur l’ancrage, ce qui a donné un modèle très efficace et flexible qui fonctionne exceptionnellement bien sur les appareils périphériques.
- Auteurs : Zheng Ge, Songtao Liu, Feng Wang, Zeming Li et Jian Sun
- Organisation :Megvii
- Date : 2021-07-18
- Arxiv:YOLOX : Dépasser la série YOLO en 2021
- GitHub :Dépôt YOLOX
Analyse des performances
Les compromis de performance entre RTDETRv2 et YOLOX sont distincts. RTDETRv2 privilégie la précision maximale (mAP), en tirant parti des mécanismes d'attention globale des transformateurs pour mieux comprendre les scènes complexes et les objets occlus. Cependant, cela entraîne des exigences de calcul plus élevées, en particulier en ce qui concerne l'utilisation de la mémoire du GPU.
À l'inverse, YOLOX est optimisé pour la vitesse et l'efficacité. Sa conception sans ancres simplifie la tête de détection, réduisant le nombre de paramètres de conception et accélérant le post-traitement (NMS). Les modèles YOLOX, en particulier les variantes Nano et Tiny, sont souvent préférés pour les déploiements edge AI où les ressources matérielles sont limitées.
Le tableau ci-dessous met en évidence ces différences. Notez que, bien que RTDETRv2 atteigne des scores mAP plus élevés, YOLOX-s offre des vitesses d'inférence plus rapides sur TensorRT, ce qui illustre sa pertinence pour les applications sensibles à la latence.
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
Plongée en profondeur dans l'architecture
Comprendre les différences structurelles aide à clarifier pourquoi ces modèles fonctionnent différemment.
RTDETRv2 : L’encodeur-décodeur hybride
RTDETRv2 s’attaque aux goulots d’étranglement de calcul des modèles DETR standard en introduisant un encodeur hybride efficace. Ce composant traite les caractéristiques multi-échelles, en découplant l’interaction intra-échelle (au sein de la même couche de caractéristiques) et la fusion inter-échelle (entre les couches).
- Sélection de requêtes basée sur l'IoU : Au lieu de sélectionner des requêtes d'objets statiques, RTDETRv2 sélectionne un nombre fixe de caractéristiques d'image qui serviront de requêtes d'objets initiales en fonction de leurs scores de classification, ce qui améliore l'initialisation.
- Décodeur flexible : Le décodeur prend en charge l’ajustement dynamique du nombre de requêtes pendant l’inférence, ce qui permet aux utilisateurs de faire des compromis entre la vitesse et la précision sans réentraînement.
YOLOX : Sans ancrage et découplé
YOLOX s'éloigne du paradigme basé sur les ancres utilisé dans YOLOv4 et YOLOv5.
- Sans ancres : En prédisant directement les centres et les tailles des objets, YOLOX élimine le besoin de concevoir manuellement des boîtes d'ancrage, réduisant ainsi la complexité du réglage des hyperparamètres.
- Tête découplée : Elle sépare les tâches de classification et de régression en différentes branches de la tête du réseau. Cette séparation conduit souvent à une convergence plus rapide et à une meilleure précision.
- SimOTA : Une stratégie avancée d'attribution de label qui considère le processus d'attribution comme un problème de transport optimal, attribuant dynamiquement des échantillons positifs aux vérités terrain en fonction d'un coût d'optimisation global.
Basé sur l'ancre vs. Sans ancre
Les détecteurs traditionnels utilisent des boîtes prédéfinies (ancres) pour estimer les emplacements des objets. YOLOX supprime cette dépendance, simplifiant ainsi l'architecture et rendant le modèle plus robuste aux formes d'objets variées. RTDETRv2, étant un transformateur, utilise des requêtes d'objet au lieu d'ancres, apprenant à se concentrer dynamiquement sur les régions d'image pertinentes.
Points forts et faiblesses
RTDETRv2
- Points forts :
- Haute précision : atteint un mAP de pointe sur les benchmarks COCO.
- Contexte global : Les mécanismes d'attention du transformateur capturent efficacement les dépendances à longue portée.
- Adaptabilité : La sélection de requêtes ajustable permet une flexibilité au moment de l’inférence.
- Faiblesses :
- Gourmand en ressources : Nécessite une quantité importante de mémoire GPU pour l'entraînement et l'inférence par rapport aux CNN.
- Entraînement plus lent : Les Transformers mettent généralement plus de temps à converger que les architectures basées sur les CNN.
YOLOX
- Points forts :
- Vitesse d’inférence : Extrêmement rapide, en particulier les variantes plus petites (Nano, Tiny, S).
- Facilité de déploiement : Plus facile à déployer sur les appareils périphériques et les CPU en raison du nombre inférieur de FLOPs et de paramètres.
- Simplicité : La conception sans ancrage réduit la complexité de l'ingénierie.
- Faiblesses :
- Précision de crête inférieure : peine à atteindre la précision de premier ordre des grands modèles de transformateurs tels que RTDETRv2-x.
- Évolution des fonctionnalités : Manque certaines des capacités multimodales que l’on trouve dans les frameworks plus récents.
L'avantage Ultralytics : Pourquoi choisir YOLO11 ?
Bien que RTDETRv2 et YOLOX soient des modèles formidables, l'écosystème Ultralytics YOLO — dirigé par le YOLO11 à la pointe de la technologie — offre une solution complète qui surpasse souvent les avantages des modèles individuels.
- Équilibre des performances : YOLO11 est conçu pour offrir un compromis optimal entre vitesse et précision. Il égale ou dépasse souvent la précision des modèles basés sur des transformateurs tout en conservant la vitesse d'inférence caractéristique de la famille YOLO.
- Facilité d'utilisation : Ultralytics donne la priorité à l'expérience développeur. Avec une API Python et une CLI unifiées, vous pouvez entraîner, valider et déployer des modèles en quelques lignes de code.
- Efficacité de la mémoire : Contrairement à RTDETRv2, qui peut être lourd sur la VRAM du GPU, YOLO11 est très économe en mémoire pendant l’entraînement et l’inférence. Cela le rend accessible aux chercheurs et aux développeurs disposant de matériel grand public.
- Écosystème bien maintenu : Les modèles Ultralytics bénéficient de mises à jour fréquentes, d'une communauté dynamique et d'une documentation exhaustive. Des fonctionnalités telles que Ultralytics HUB facilitent la gestion transparente des modèles et l'entraînement dans le cloud.
- Polyvalence : Au-delà de la simple détection d’objets, YOLO11 prend en charge nativement la segmentation d’instance, l’estimation de pose, l’OBB et la classification, tandis que YOLOX et RTDETRv2 sont principalement axés sur la détection.
- Efficacité de l'entraînement : Grâce aux poids pré-entraînés disponibles pour diverses tâches et aux capacités sophistiquées d'apprentissage par transfert, YOLO11 réduit considérablement le temps et l'énergie nécessaires à l'entraînement de modèles à hautes performances.
Exemple de code
Ultralytics facilite incroyablement l'utilisation de ces modèles avancés. Vous trouverez ci-dessous un exemple d'exécution de l'inférence à l'aide de YOLO11, et notamment, Ultralytics prend également directement en charge RT-DETR, ce qui simplifie considérablement son utilisation par rapport au référentiel d'origine.
from ultralytics import RTDETR, YOLO
# Load the Ultralytics YOLO11 model (Recommended)
model_yolo = YOLO("yolo11n.pt")
# Run inference on an image
results_yolo = model_yolo("path/to/image.jpg")
# Load an RT-DETR model via Ultralytics API
model_rtdetr = RTDETR("rtdetr-l.pt")
# Run inference with RT-DETR
results_rtdetr = model_rtdetr("path/to/image.jpg")
Conclusion
Le choix entre RTDETRv2 et YOLOX dépend en fin de compte de vos contraintes spécifiques.
- Choisissez RTDETRv2 si votre application exige la plus haute précision, comme dans la recherche universitaire ou l'inspection industrielle de haute précision, et que vous avez accès à de puissantes ressources GPU.
- Choisissez YOLOX si vous déployez dans des environnements aux ressources limitées comme Raspberry Pi ou des appareils mobiles où chaque milliseconde de latence compte.
Cependant, pour la grande majorité des applications du monde réel, Ultralytics YOLO11 apparaît comme le choix global supérieur. Il combine les avantages de précision des architectures modernes avec la vitesse et l'efficacité des CNN, le tout enveloppé dans un écosystème convivial et prêt pour la production. Que vous construisiez pour la périphérie ou le cloud, YOLO11 fournit les outils et les performances nécessaires pour réussir.
Explorer d’autres comparaisons
Pour éclairer davantage votre décision, envisagez d'explorer d'autres comparaisons de modèles :