RTDETRv2 vs. YOLOX : une comparaison technique pour la détection d'objets en temps réel
Dans le paysage en évolution rapide de la vision par ordinateur, la recherche d'un équilibre optimal entre vitesse et précision continue de stimuler l'innovation. Deux approches distinctes se sont imposées : RTDETRv2, basé sur Transformer, et YOLOX, basé sur CNN sans ancrage. Cette comparaison explore leurs différences architecturales, les mesures de performance et les cas d'utilisation idéaux afin d'aider les développeurs à choisir l'outil le mieux adapté à leurs besoins spécifiques.
Aperçu des modèles
Avant de plonger dans les spécificités 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'adaptation des architectures Transformer aux applications en temps réel. Développé par des chercheurs de Baidu, il s'appuie sur le RT-DETR original en introduisant un "sac de freebies" qui améliore la stabilité et les performances de l'apprentissage sans augmenter la latence de l'inférence. Il vise à résoudre les coûts de calcul élevés généralement associés aux transformateurs de vision (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 (Original RT-DETR), les mises à jour v2 ont suivi.
- Arxiv :RT-DETRv2: Amélioration de la base de référence avec Bag-of-Freebies
- GitHub :DépôtRT-DETRv2
YOLOX
YOLOX a revitalisé la famille YOLO en 2021 en passant à un mécanisme sans ancrage et en incorporant des techniques avancées telles que les têtes découplées et l'attribution d'étiquettes SimOTA. Tout en conservant l'épine dorsale de type Darknet caractéristique de la série YOLO , ses changements architecturaux ont permis de remédier à de nombreuses limitations des détecteurs basés sur l'ancrage, ce qui a donné naissance à un modèle très efficace et flexible qui fonctionne exceptionnellement bien sur les dispositifs de périphérie.
- Auteurs : Zheng Ge, Songtao Liu, Feng Wang, Zeming Li et Jian Sun
- Organisation :Megvii
- Date : 2021-07-18
- Arxiv :YOLOX : Dépassement de 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 donne la priorité à la précision maximalemAP), en exploitant les mécanismes d'attention globale des transformateurs pour mieux comprendre les scènes complexes et les objets occultés. Cependant, cela s'accompagne d'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 ancrage simplifie la tête de détection, réduisant le nombre de paramètres de conception et accélérant le post-traitementNMS. Les modèles YOLOX, en particulier les variantes Nano et Tiny, sont souvent préférés pour les déploiements d'IA en périphérie où les ressources matérielles sont limitées.
Le tableau ci-dessous met en évidence ces différences. Notez que si RTDETRv2 obtient des scores mAP plus élevés, YOLOX-s fournit des vitesses d'inférence plus rapides sur TensorRT, illustrant 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 dans l'architecture
La compréhension des différences structurelles permet de comprendre pourquoi ces modèles ont des performances différentes.
RTDETRv2 : Le codeur-décodeur hybride
RTDETRv2 s'attaque aux goulets d'étranglement informatiques 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 des requêtesIoU: Au lieu de sélectionner des requêtes d'objets statiques, RTDETRv2 sélectionne un nombre fixe de caractéristiques d'images pour servir de requêtes d'objets initiales sur la base de leurs scores de classification, améliorant ainsi l'initialisation.
- Décodeur flexible : Le décodeur prend en charge l'ajustement dynamique des nombres de requêtes pendant l'inférence, ce qui permet aux utilisateurs d'arbitrer entre vitesse et précision sans avoir à se réentraîner.
YOLOX : sans ancrage et découplé
YOLOX s'éloigne du paradigme basé sur les ancres utilisé dans YOLOv4 et YOLOv5.
- Sans ancrage : 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 de réseau. Cette séparation permet souvent une convergence plus rapide et une meilleure précision.
- SimOTA : une stratégie avancée d'attribution d'étiquettes qui considère le processus d'attribution comme un problème de transport optimal, attribuant dynamiquement des échantillons positifs à des vérités de terrain sur la base d'un coût d'optimisation global.
Ancrage et absence d'ancrage
Les détecteurs traditionnels utilisent des boîtes prédéfinies (ancres) pour estimer l'emplacement des objets. YOLOX supprime cette dépendance, simplifie l'architecture et rend le modèle plus robuste aux différentes formes d'objets. RTDETRv2, en tant que transformateur, utilise des requêtes d'objets au lieu d'ancres, apprenant ainsi à s'intéresser aux régions pertinentes de l'image de manière dynamique.
Points forts et faiblesses
RTDETRv2
- Points forts :
- Précision élevée : atteint l'état de l'art en matière de mAP sur les critères de référence COCO .
- Contexte global : Les mécanismes d'attention des transformateurs permettent de saisir efficacement les dépendances à long terme.
- Adaptabilité : La sélection ajustable des requêtes permet une certaine flexibilité au moment de l'inférence.
- Faiblesses :
- Intensif en ressources : Requiert une mémoire GPU importante pour l'apprentissage et l'inférence par rapport aux CNN.
- Formation plus lente : Les transformateurs mettent généralement plus de temps à converger que les architectures basées sur le CNN.
YOLOX
- Points forts :
- Vitesse d'inférence : Extrêmement rapide, surtout pour les variantes les plus petites (Nano, Tiny, S).
- Facilité de déploiement : plus facile à déployer sur les périphériques et les CPUS en raison du nombre réduit de FLOP 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 trouvées dans les cadres plus récents.
L'avantage Ultralytics : Pourquoi choisir YOLO11 ?
Si RTDETRv2 et YOLOX sont des modèles redoutables, le modèle Ultralytics YOLO dirigé par l'outil de pointe YOLO11-offre une solution complète qui dépasse 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 atteint ou dépasse souvent la précision des modèles basés sur les 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 des développeurs. Avec une APIPython et une CLI unifiées, vous pouvez former, valider et déployer des modèles en quelques lignes de code seulement.
- Efficacité de la mémoire : Contrairement à RTDETRv2, qui peut être lourd pour la VRAM du GPU , YOLO11 est très efficace en termes de mémoire à la fois pendant l'apprentissage et l'inférence. Il est donc accessible aux chercheurs et aux développeurs disposant d'un matériel grand public.
- Un écosystème bien entretenu : Les modèles Ultralytics sont soutenus par des mises à jour fréquentes, une communauté dynamique et une documentation complète. Des fonctionnalités comme Ultralytics HUB facilitent la gestion transparente des modèles et la formation en nuage.
- Polyvalence : Au-delà de la simple détection d'objets, YOLO11 supporte nativement la segmentation d'instances, l'estimation de la pose, l'OBB et la classification, alors que YOLOX et RTDETRv2 se concentrent principalement sur la détection.
- Efficacité de la formation : Avec des poids pré-entraînés disponibles pour différentes tâches et des 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 performants.
Exemple de code
Ultralytics rend l'utilisation de ces modèles avancés incroyablement facile. Vous trouverez ci-dessous un exemple d'inférence à l'aide de YOLO11. Ultralytics prend également en charge RT-DETR directement, 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 finalement de vos contraintes spécifiques.
- Choisissez RTDETRv2 si votre application exige la plus grande précision, comme dans la recherche académique ou l'inspection industrielle de haute précision, et si vous avez accès à des ressources GPU puissantes.
- Choisissez YOLOX si vous déployez dans des environnements à 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 s'impose comme le choix le plus judicieux. Il combine les avantages des architectures modernes en termes de précision avec la vitesse et l'efficacité des CNN, le tout 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 :