RTDETRv2 vs YOLOv7 : comparaison détaillée des modèles
Choisir le bon modèle de détection d'objets est une décision essentielle pour tout projet de vision par ordinateur. Cette page fournit une comparaison technique approfondie entre RTDETRv2, un modèle basé sur un transformateur, et YOLOv7, un modèle basé sur CNN très efficace. Nous explorerons leurs différences architecturales, leurs mesures de performance et leurs cas d'utilisation idéaux afin de vous aider à faire un choix éclairé.
RTDETRv2 : Transformer v2 de détection en temps réel
RTDETRv2 (Real-Time Detection Transformer v2) est un détecteur d'objets de pointe de Baidu qui exploite une architecture de transformateur pour atteindre une haute précision tout en maintenant des performances en temps réel. Il s'appuie sur les principes de DETR (DEtection TRansformer) pour offrir un pipeline de détection de bout en bout.
- Auteurs : Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang et Yi Liu
- Organisation : Baidu
- Date : 2023-04-17
- 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 un CNN comme backbone pour une extraction efficace des caractéristiques avec un encodeur-décodeur transformer pour traiter ces caractéristiques. Cette conception permet au modèle de capturer le contexte global dans une image, un avantage clé du mécanisme d'attention dans les transformers. Une caractéristique importante est sa conception sans ancrage, qui simplifie le processus de détection en prédisant directement les emplacements des objets sans s'appuyer sur des boîtes d'ancrage prédéfinies. Cependant, cette approche basée sur un transformer a un inconvénient : elle nécessite généralement beaucoup plus de mémoire CUDA et des temps d'entraînement plus longs que les modèles CNN purs comme YOLOv7.
Points forts et faiblesses
Points forts :
- Haute précision : L’architecture Transformer excelle dans la compréhension des scènes complexes et des relations entre les objets, ce qui conduit souvent à une précision moyenne (mAP) supérieure.
- Représentation Robuste des Caractéristiques : Capture efficacement les caractéristiques locales et globales, ce qui le rend résilient dans les environnements encombrés.
- Pipeline de bout en bout : Simplifie le processus de détection en supprimant le besoin de composants conçus à la main comme la suppression non maximale (NMS) dans certaines configurations.
Faiblesses :
- Coût de calcul élevé : Les modèles de transformateur sont notoirement gourmands en ressources, nécessitant une mémoire GPU importante et des cycles d'entraînement plus longs.
- Complexité : Le fonctionnement interne du décodeur de transformateur peut être moins intuitif que les têtes de détection CNN traditionnelles.
Cas d'utilisation idéaux
RTDETRv2 est particulièrement adapté aux applications où l'obtention de la plus grande précision possible est l'objectif principal et où les ressources de calcul sont facilement disponibles.
- Véhicules autonomes : Pour une perception fiable dans l’IA dans les voitures autonomes.
- Imagerie médicale : Pour une détection précise des anomalies dans l'IA dans le secteur de la santé.
- Imagerie satellite à haute résolution : Pour une analyse détaillée où le contexte est crucial, comme exploré dans l'utilisation de la vision par ordinateur pour analyser l'imagerie satellite.
YOLOv7 : Détection d'objets efficace et précise
YOLOv7, développé par Chien-Yao Wang et al., a été une publication marquante dans la série YOLO, établissant une nouvelle référence pour les détecteurs d'objets en temps réel en optimisant à la fois l'efficacité de l'entraînement et la vitesse d'inférence.
- Auteurs : Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao
- Organisation : Institut des sciences de l'information, Academia Sinica, Taïwan
- Date : 2022-07-06
- Arxiv: https://arxiv.org/abs/2207.02696
- GitHub : https://github.com/WongKinYiu/yolov7
- Docs : https://docs.ultralytics.com/models/yolov7/
Architecture et principales fonctionnalités
YOLOv7 est construit sur une architecture CNN pure, introduisant plusieurs innovations clés pour maximiser les performances. Il utilise un Extended Efficient Layer Aggregation Network (E-ELAN) dans son backbone pour améliorer la capacité d'apprentissage du réseau sans détruire le chemin de gradient original. Une contribution majeure a été le concept de "trainable bag-of-freebies", qui applique des techniques d'optimisation avancées pendant l'entraînement pour améliorer la précision sans augmenter le coût d'inférence. Contrairement à RTDETRv2, YOLOv7 est un détecteur basé sur des ancres, ce qui peut être très efficace mais peut nécessiter un réglage minutieux des configurations d'ancres pour les ensembles de données personnalisés.
Points forts et faiblesses
Points forts :
- Excellent équilibre vitesse-précision : Offre un compromis fantastique entre la vitesse d’inférence et le mAP, ce qui le rend idéal pour l’inférence en temps réel.
- Efficacité de l'entraînement : L'approche "sac de cadeaux" améliore la précision sans ajouter de surcharge de calcul lors du déploiement.
- Éprouvé et établi : En tant que modèle populaire, il possède une large base d'utilisateurs et de nombreuses ressources disponibles.
Faiblesses :
- Polyvalence limitée : Principalement conçu pour la détection d'objets. L'étendre à d'autres tâches telles que la segmentation ou l'estimation de pose nécessite des implémentations distinctes, contrairement aux modèles intégrés tels qu'Ultralytics YOLOv8.
- Écosystème moins moderne : Bien qu’il soit puissant, il n’a pas l’écosystème simplifié et convivial ni la maintenance active des modèles plus récents d’Ultralytics.
Cas d'utilisation idéaux
YOLOv7 excelle dans les scénarios qui exigent une détection à haute vitesse sur du matériel GPU sans trop compromettre la précision.
- Robotique : Pour une perception et une interaction rapides dans les systèmes robotiques.
- Sécurité et surveillance : Traitement efficace des flux vidéo pour des applications telles que les systèmes de prévention du vol.
- Automatisation industrielle : Pour les contrôles visuels à haute vitesse sur les chaînes de production, contribuant à l’amélioration de la fabrication.
Comparaison directe des performances : RTDETRv2 contre YOLOv7
Le tableau ci-dessous fournit une comparaison directe des métriques de performance pour différentes variantes de RTDETRv2 et YOLOv7 sur le jeu de données COCO.
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 |
YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
D'après les données, RTDETRv2-x atteint le mAP le plus élevé, ce qui met en évidence le potentiel de précision de son architecture de transformateur. Cependant, le plus petit modèle RTDETRv2-s est exceptionnellement rapide et efficace en termes de paramètres et de FLOPs. Les modèles YOLOv7 présentent un juste milieu solide, YOLOv7l offrant un équilibre convaincant entre vitesse et précision qui est compétitif avec RTDETRv2-m.
Pourquoi choisir les modèles Ultralytics YOLO ?
Bien que RTDETRv2 et YOLOv7 soient des modèles puissants, les modèles Ultralytics YOLO plus récents comme YOLOv8 et le dernier Ultralytics YOLO11 offrent une solution plus globale et avantageuse pour la plupart des développeurs et des chercheurs.
- Facilité d'utilisation : Les modèles Ultralytics sont conçus avec une API Python simple et une documentation exhaustive, ce qui facilite la formation, la validation et le déploiement des modèles.
- Écosystème bien maintenu : Bénéficiez d'un développement actif, d'une forte communauté open source et d'une intégration transparente avec des outils tels que Ultralytics HUB pour un MLOps de bout en bout.
- Mémoire et efficacité de l’entraînement : Les modèles Ultralytics YOLO sont hautement optimisés pour l’utilisation de la mémoire, nécessitant souvent beaucoup moins de mémoire CUDA pour l’entraînement que les modèles basés sur des transformateurs comme RTDETRv2. Cela les rend plus accessibles et plus rapides à entraîner.
- Polyvalence : Les modèles tels que YOLOv8 et YOLO11 sont des cadres multitâches qui prennent en charge la détection d’objets, la segmentation d’instance, la classification d’images, l’estimation de pose et la détection d’objets orientés (OBB) prêtes à l’emploi.
- Compromis de performance : Les modèles Ultralytics offrent systématiquement un compromis de pointe entre vitesse et précision, ce qui les rend adaptés à un large éventail d’applications, des appareils périphériques aux serveurs cloud.
Conclusion
Le choix entre RTDETRv2 et YOLOv7 dépend fortement des priorités du projet. RTDETRv2 est l'option supérieure lorsque la précision maximale est non négociable et que des ressources de calcul suffisantes sont disponibles, en particulier pour les scènes complexes qui bénéficient de sa compréhension du contexte global. YOLOv7 reste un choix solide pour les applications qui nécessitent un équilibre éprouvé entre vitesse en temps réel et haute précision sur du matériel GPU.
Cependant, pour les développeurs à la recherche d'un framework moderne, polyvalent et convivial, les modèles Ultralytics tels que YOLOv8 et YOLO11 présentent souvent le choix le plus intéressant. Ils offrent un excellent équilibre en termes de performances, une facilité d'utilisation supérieure, des besoins en mémoire réduits et un écosystème complet qui prend en charge une multitude de tâches de vision, rationalisant ainsi le passage de la recherche à la production.
Autres comparaisons de modèles
Pour des informations plus approfondies, explorez ces comparaisons avec d'autres modèles de pointe :