YOLOv6-3.0 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 modèles puissants mais architecturalement distincts : YOLOv6-3.0, un détecteur basé sur un CNN hautement optimisé, et RTDETRv2, un modèle de pointe en temps réel basé sur un transformateur. Alors que YOLOv6-3.0 est conçu pour les applications industrielles à haute vitesse, RTDETRv2 exploite un Vision Transformer (ViT) pour atteindre une précision exceptionnelle.
Cette page fournit une analyse approfondie de leurs architectures, de leurs mesures de performance et de leurs cas d'utilisation idéaux afin de vous aider à déterminer la meilleure solution pour votre projet.
YOLOv6-3.0
Auteurs : Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu et Xiangxiang Chu
Organisation : Meituan
Date : 2023-01-13
Arxiv : https://arxiv.org/abs/2301.05586
GitHub : https://github.com/meituan/YOLOv6
Docs : https://docs.ultralytics.com/models/yolov6/
YOLOv6-3.0 est un framework de détection d'objets à une seule étape développé par Meituan, spécialement conçu pour les applications industrielles où la vitesse d'inférence est une priorité absolue. Il s'appuie sur l'architecture YOLO classique avec plusieurs optimisations clés.
Architecture et principales fonctionnalités
YOLOv6-3.0 introduit une conception de réseau neuronal tenant compte du matériel afin de maximiser l'efficacité. Son architecture comprend un backbone de reparamétrisation efficace et un neck redessiné pour équilibrer la précision et la vitesse. Le modèle intègre également une stratégie d'entraînement optimisée, y compris l'auto-distillation, afin d'améliorer les performances sans augmenter la surcharge d'inférence. Il s'agit d'un détecteur d'objets à une étape classique, ce qui le rend intrinsèquement rapide et simple à déployer.
Points forts
- Vitesse d'inférence élevée : Optimisé pour des performances rapides, ce qui le rend particulièrement adapté à l'inférence en temps réel dans les environnements industriels.
- Bon compromis précision-vitesse : Offre une précision compétitive, en particulier avec ses variantes plus grandes, tout en maintenant un débit élevé.
- Quantification et prise en charge mobile : Fournit une prise en charge solide de la quantification de modèle et comprend des variantes YOLOv6Lite adaptées au déploiement mobile ou basé sur le CPU.
Faiblesses
- Polyvalence limitée : Principalement axé sur la détection d'objets, il ne prend pas en charge nativement d'autres tâches telles que la segmentation, la classification et l'estimation de pose que l'on retrouve dans des frameworks plus complets comme Ultralytics YOLO.
- Écosystème et maintenance : Bien qu'il soit open source, son écosystème n'est ni aussi étendu ni aussi activement maintenu que la plateforme Ultralytics, ce qui pourrait signifier moins de mises à jour et un soutien communautaire moindre.
Cas d'utilisation idéaux
YOLOv6-3.0 excelle dans les scénarios où la vitesse est primordiale :
- Automatisation industrielle : Parfaite pour le contrôle qualité et la surveillance des processus dans le secteur de la fabrication.
- Systèmes en temps réel : Idéal pour les applications avec des exigences de latence strictes, telles que la robotique et la vidéosurveillance.
- Edge Computing : Sa conception efficace et ses variantes mobiles en font un choix judicieux pour un déploiement sur des appareils aux ressources limitées comme le NVIDIA Jetson.
RTDETRv2
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
RTDETRv2 (Real-Time Detection Transformer v2) est un détecteur d'objets de pointe qui adapte l'architecture de transformateur pour des performances en temps réel. Il s'appuie sur le framework DETR original pour fournir une haute précision en capturant efficacement le contexte global de l'image.
Architecture et principales fonctionnalités
RTDETRv2 utilise une structure d'encodeur-décodeur de transformateur, ce qui lui permet de modéliser les dépendances à longue portée entre les objets d'une scène. Cette conscience du contexte global conduit souvent à une précision supérieure, en particulier dans les images complexes avec de nombreux objets qui se chevauchent. En tant que détecteur sans ancrage, il simplifie le pipeline de détection en éliminant le besoin de conception de boîtes d'ancrage et de suppression non maximale (NMS) dans le décodeur.
Points forts
- Haute précision : L'architecture de transformateur permet une compréhension approfondie du contexte de l'image, ce qui se traduit par une précision de détection à la pointe de la technologie.
- Extraction de caractéristiques robuste : Excelle dans la capture à la fois du contexte global et des détails précis, ce qui le rend robuste dans les scènes encombrées.
- Compatible temps réel : optimisé pour une inférence rapide, en particulier lorsqu’il est accéléré avec des outils comme TensorRT, ce qui le rend viable pour les applications en temps réel.
Faiblesses
- Coût de calcul élevé : Les transformateurs sont notoirement gourmands en ressources. Les modèles RTDETRv2 ont généralement plus de paramètres et de FLOPs que leurs homologues CNN.
- Exigences d'entraînement importantes : L'entraînement des modèles basés sur les transformateurs nécessite généralement beaucoup plus de données, des temps d'entraînement plus longs et une mémoire CUDA beaucoup plus élevée, ce qui le rend moins accessible aux utilisateurs disposant de matériel limité. En revanche, les modèles Ultralytics YOLO sont conçus pour un entraînement efficace sur les GPU standard.
Cas d'utilisation idéaux
RTDETRv2 est particulièrement adapté aux applications où la précision maximale est l'objectif principal :
- Conduite autonome : Une perception de haute précision est essentielle pour la sécurité des voitures autonomes.
- Robotique avancée : Permet aux robots de naviguer et d’interagir avec des environnements complexes et dynamiques.
- Surveillance de haute précision : utile dans les systèmes de sécurité où une détection précise des objets petits ou occlus est nécessaire.
Comparaison des performances : YOLOv6-3.0 vs RTDETRv2
Le tableau ci-dessous fournit une comparaison des performances 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) |
---|---|---|---|---|---|---|
YOLOv6-3.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
YOLOv6-3.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
YOLOv6-3.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
YOLOv6-3.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
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 |
D'après les métriques, RTDETRv2-x atteint le mAP le plus élevé, ce qui démontre les avantages de précision de son architecture de transformateur. Cependant, cela se fait au détriment de la vitesse et de la taille du modèle. En revanche, les modèles YOLOv6-3.0 offrent des temps d'inférence nettement plus rapides avec moins de paramètres. Par exemple, YOLOv6-3.0s est près de deux fois plus rapide que RTDETRv2-s tout en offrant un mAP compétitif de 45,0. Le choix dépend clairement de la priorité du projet : précision maximale (RTDETRv2) ou vitesse et efficacité optimales (YOLOv6-3.0).
Méthodologies d'entraînement
YOLOv6-3.0 est entraîné à l'aide de pratiques standard de deep learning courantes pour les CNN, y compris des techniques telles que l'auto-distillation pour améliorer les performances. Son processus d'entraînement est généralement efficace et moins gourmand en ressources.
RTDETRv2, étant un modèle basé sur un transformateur, a un régime d'entraînement plus exigeant. Ces modèles nécessitent souvent des ensembles de données plus importants, des calendriers d'entraînement plus longs et beaucoup plus de mémoire GPU pour converger efficacement. Cette barrière à l'entrée plus élevée peut les rendre moins pratiques pour les équipes sans accès à des ressources informatiques de haute performance.
Conclusion
YOLOv6-3.0 et RTDETRv2 sont tous deux très performants dans leurs niches respectives. YOLOv6-3.0 est un excellent choix pour les applications industrielles où la vitesse et l'efficacité sont essentielles. RTDETRv2 repousse les limites de la précision, ce qui le rend idéal pour les tâches à enjeux élevés où la précision est primordiale.
Cependant, pour la plupart des développeurs et des chercheurs, les modèles Ultralytics YOLO tels que YOLOv8, YOLOv10 et le dernier YOLO11 offrent un ensemble global plus convaincant. Les modèles Ultralytics offrent un équilibre exceptionnel entre vitesse et précision, sont très efficaces à entraîner et prennent en charge un large éventail de tâches au-delà de la détection d'objets, y compris la segmentation, l'estimation de pose et la classification.
De plus, ils sont soutenus par un écosystème robuste et activement maintenu, comprenant une documentation complète, une API python simple et une intégration avec Ultralytics HUB pour une formation et un déploiement simplifiés. Cette combinaison de performances, de polyvalence et de facilité d'utilisation fait des modèles Ultralytics YOLO le choix recommandé pour un large éventail de projets de vision par ordinateur.
Explorer d'autres modèles
Si vous souhaitez d'autres comparaisons, vous pouvez explorer d'autres modèles dans la documentation Ultralytics :
- YOLOv8 vs YOLOv6-3.0
- YOLOv8 vs RT-DETR
- YOLOv7 contre YOLOv6-3.0
- YOLOv5 vs YOLOv6-3.0
- EfficientDet vs YOLOv6-3.0