YOLOX vs RTDETRv2 : une comparaison technique pour la détection d'objets
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 mais distinctes : YOLOX, un modèle basé sur un CNN haute performance, connu pour sa vitesse et son efficacité, et RTDETRv2, un modèle basé sur un transformateur qui repousse les limites de la précision. Comprendre leurs différences architecturales, leurs mesures de performance et leurs cas d'utilisation idéaux vous aidera à sélectionner le meilleur modèle pour votre projet spécifique de vision par ordinateur.
YOLOX : Détection haute performance sans ancres
YOLOX est apparu comme une évolution significative de la série YOLO, introduisant une conception sans ancres pour simplifier le pipeline de détection et améliorer les performances. Il vise à combler le fossé entre la recherche académique et les applications industrielles en offrant une famille de modèles qui évoluent des modèles légers aux modèles haute performance.
- Auteurs : Zheng Ge, Songtao Liu, Feng Wang, Zeming Li et Jian Sun
- Organisation : Megvii
- Date : 2021-07-18
- Arxiv : https://arxiv.org/abs/2107.08430
- GitHub : https://github.com/Megvii-BaseDetection/YOLOX
- Documentation : https://yolox.readthedocs.io/en/latest/
Architecture et principales fonctionnalités
Les principales innovations de YOLOX résident dans sa conception sans ancrage, qui élimine le besoin de boîtes d'ancrage prédéfinies, réduisant ainsi la complexité de la conception. Les principales caractéristiques architecturales comprennent :
- Tête découplée : Contrairement aux modèles YOLO traditionnels qui effectuent la classification et la régression dans une seule tête, YOLOX utilise une tête découplée. Cette séparation améliore la vitesse de convergence et la précision.
- Attribution de label SimOTA : YOLOX utilise une stratégie avancée d’attribution de label appelée SimOTA (Simplified Optimal Transport Assignment). Elle traite l’attribution de label comme un problème de transport optimal, ce qui donne des attributions plus précises et plus robustes, en particulier en cas de chevauchement d’objets.
- Forte augmentation des données : Le modèle exploite de puissantes techniques d’augmentation des données comme MixUp et Mosaic pour améliorer ses capacités de généralisation.
Points forts et faiblesses
Points forts :
- Excellent compromis vitesse-précision : Les modèles YOLOX, en particulier les variantes plus petites, offrent des vitesses d’inférence exceptionnelles, ce qui les rend adaptés aux applications en temps réel.
- Scalabilité : Offre une gamme de modèles allant de YOLOX-Nano pour les appareils périphériques à YOLOX-X pour les tâches de haute précision.
- Conception simplifiée : L’approche sans point d’ancrage réduit le nombre d’hyperparamètres qui doivent être réglés.
Faiblesses :
- Spécifique à une tâche : YOLOX est principalement conçu pour la détection d'objets et ne possède pas la polyvalence intégrée pour d'autres tâches telles que la segmentation ou l'estimation de pose que l'on trouve dans les frameworks plus modernes.
- Écosystème et maintenance : Bien qu'il soit open source, il ne bénéficie pas du même niveau de développement continu, d'outils intégrés (comme Ultralytics HUB) ou de soutien communautaire étendu que l'écosystème Ultralytics.
Cas d'utilisation idéaux
YOLOX excelle dans les scénarios où les performances en temps réel et l'efficacité sont essentielles, en particulier sur les appareils dotés d'une puissance de calcul limitée.
- IA en périphérie (Edge AI) : Les modèles légers YOLOX-Nano et YOLOX-Tiny sont parfaits pour le déploiement sur des plateformes telles que Raspberry Pi ou NVIDIA Jetson.
- Robotique : Une perception rapide est essentielle pour la navigation et la manipulation d’objets en robotique.
- Inspection industrielle : Les contrôles visuels automatisés sur les chaînes de production à cadence rapide bénéficient d'une détection à haute vitesse pour améliorer la fabrication.
RTDETRv2 : Transformateur de détection en temps réel de haute précision
RTDETRv2 (Real-Time Detection Transformer version 2) représente un passage des conceptions centrées sur les CNN aux architectures basées sur les transformateurs pour la détection d'objets. Il vise à offrir la haute précision des Vision Transformers tout en conservant des vitesses en temps réel.
- Auteurs : Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang et Yi Liu
- Organisation : Baidu
- Date : 2023-04-17 (RT-DETR original), avec des améliorations RTDETRv2 en 2024
- Arxiv: https://arxiv.org/abs/2304.08069
- 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 utilise une architecture hybride qui combine une base CNN pour une extraction efficace des caractéristiques avec un encodeur-décodeur de transformateur pour modéliser les relations globales au sein d'une image.
- Décodeur basé sur un transformateur : Le cœur de RTDETRv2 est son décodeur de transformateur, qui utilise des mécanismes d'auto-attention pour comprendre le contexte global de l'image, ce qui lui permet d'exceller dans la détection d'objets dans des scènes complexes et encombrées.
- Sans ancres avec détection basée sur les requêtes : Comme d’autres modèles DETR, il utilise un ensemble de requêtes d’objet apprenables pour sonder les objets, évitant ainsi les complexités des boîtes d’ancrage et de la suppression non maximale (NMS) dans certaines configurations.
Points forts et faiblesses
Points forts :
- Précision à la pointe de la technologie : L'architecture de transformateur permet à RTDETRv2 d'atteindre des scores mAP très élevés, surpassant souvent ses homologues basés sur CNN en termes de précision.
- Robustesse dans les Scènes Complexes : Sa capacité à capturer le contexte global le rend très efficace pour les images avec de nombreux objets qui se chevauchent ou de petite taille.
Faiblesses :
- Coût de calcul élevé : Les modèles de transformateur sont gourmands en calcul, nécessitant plus de FLOPs et beaucoup plus de mémoire GPU pour l'entraînement que les CNN efficaces comme Ultralytics YOLOv8.
- Inférence plus lente sur le CPU : Bien qu’optimisée pour l’inférence GPU, sa vitesse peut être un goulot d’étranglement sur le CPU ou les appareils périphériques aux ressources limitées par rapport aux modèles comme YOLOX ou Ultralytics YOLO11.
- Complexité de l'entraînement : L'entraînement de modèles basés sur des transformateurs peut être plus complexe et plus long, nécessitant souvent des calendriers d'entraînement plus longs et plus de ressources.
Cas d'utilisation idéaux
RTDETRv2 est le choix préféré pour les applications où une précision maximale est non négociable et où des ressources de calcul suffisantes sont disponibles.
- Véhicules autonomes : Essentiel pour une perception fiable dans les voitures autonomes où la précision peut être une question de sécurité.
- Imagerie médicale : La détection précise des anomalies dans les scanners médicaux est une application idéale.
- Analyse d'imagerie satellite: Analyse détaillée d'images satellite à haute résolution pour des applications telles que la surveillance environnementale ou la planification urbaine.
Comparaison des performances : Vitesse contre précision
Le tableau suivant fournit une comparaison directe de différents modèles YOLOX et RTDETRv2, mettant en évidence les compromis entre la précision (mAP), la vitesse et la taille du modèle. Les modèles YOLOX démontrent généralement une inférence plus rapide, en particulier lorsqu'ils sont optimisés avec TensorRT, tandis que les modèles RTDETRv2 atteignent des scores mAP plus élevés.
Modèle | Taille (pixels) |
mAPval 50-95 |
Vitesse CPU ONNX (ms) |
Vitesse T4 TensorRT10 (ms) |
paramètres (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
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 |
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 |
Conclusion : Quel modèle devriez-vous choisir ?
YOLOX et RTDETRv2 sont tous deux de puissants détecteurs d'objets, mais ils répondent à des besoins différents. YOLOX est le choix idéal pour les applications exigeant une vitesse et une efficacité élevées, ce qui le rend idéal pour les systèmes en temps réel et les déploiements en périphérie. En revanche, RTDETRv2 est l'option supérieure lorsque l'objectif principal est d'atteindre la plus grande précision possible, à condition que des ressources de calcul suffisantes soient disponibles.
Pourquoi choisir les modèles Ultralytics YOLO ?
Bien que YOLOX et RTDETRv2 offrent de solides capacités, les modèles Ultralytics YOLO comme YOLOv8 et les derniers YOLO11 offrent souvent un ensemble global plus convaincant pour les développeurs et les chercheurs.
- Facilité d'utilisation : Ultralytics offre une API Python simplifiée, une documentation complète et de nombreux guides qui simplifient l'ensemble du cycle de vie du développement.
- Écosystème bien maintenu : Bénéficiez d'un développement actif, d'une forte communauté, de mises à jour fréquentes et d'une intégration transparente avec Ultralytics HUB pour un MLOps de bout en bout.
- Compromis de performance : Les modèles Ultralytics sont conçus pour offrir un excellent compromis entre vitesse et précision, ce qui les rend parfaitement adaptés à un large éventail de scénarios réels.
- Efficacité de la mémoire : Les modèles Ultralytics YOLO sont conçus pour être efficaces en termes de mémoire pendant l’entraînement et l’inférence. Ils nécessitent généralement moins de mémoire CUDA que les modèles basés sur les transformeurs comme RTDETRv2, qui sont connus pour leurs fortes demandes en ressources.
- Polyvalence : Les modèles Ultralytics prennent en charge plusieurs tâches prêtes à l'emploi, notamment la segmentation, l'estimation de pose, la classification et le suivi, le tout dans un framework unique et unifié.
- Efficacité de l'entraînement : Bénéficiez de temps d'entraînement plus rapides et d'une utilisation efficace des ressources avec des poids pré-entraînés facilement disponibles sur des ensembles de données tels que COCO.
Explorer d’autres comparaisons
Pour éclairer davantage votre décision, envisagez d'explorer d'autres comparaisons de modèles :