RTDETRv2 vs. YOLOv5 : Une comparaison technique
Dans le paysage en rapide évolution de la détection d'objets, le choix du bon modèle implique souvent de trouver un compromis entre la complexité architecturale, la vitesse d'inférence et la convivialité pratique. Ce guide fournit une comparaison technique complète entre RTDETRv2, un détecteur en temps réel basé sur un transformateur de Baidu, et YOLOv5, le modèle légendaire basé sur CNN d'Ultralytics, connu pour sa polyvalence et son adoption généralisée.
Analyse des performances : Vitesse vs. Précision
La différence fondamentale entre ces deux modèles réside dans leur philosophie architecturale. RTDETRv2 utilise une approche Vision Transformer (ViT) pour capturer le contexte global, visant une précision maximale sur les benchmarks. En revanche, YOLOv5 utilise une conception de réseau neuronal convolutionnel (CNN) hautement optimisée, privilégiant un équilibre entre vitesse, efficacité et facilité de déploiement sur divers matériels.
Le tableau ci-dessous illustre cette distinction. Bien que RTDETRv2 atteigne des scores mAP élevés sur l'ensemble de données COCO, il exige beaucoup plus de ressources de calcul. YOLOv5, en particulier dans ses variantes plus petites (Nano et Small), offre des vitesses d'inférence considérablement plus rapides—en particulier sur les CPU—et un encombrement mémoire beaucoup plus faible, ce qui en fait le choix pratique pour les applications du monde réel.
| 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 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
Efficacité de la mémoire
YOLOv5 nécessite beaucoup moins de mémoire CUDA pour l'entraînement que les modèles basés sur des transformateurs comme RTDETRv2. Cette barrière à l'entrée plus basse permet aux développeurs d'entraîner des modèles personnalisés sur des GPU grand public standard ou même des environnements basés sur le cloud comme Google Colab sans rencontrer d'erreurs de type Out-Of-Memory (OOM).
RTDETRv2 : Le Challenger Transformer
RTDETRv2 (Real-Time Detection Transformer v2) représente un effort pour apporter les avantages de précision des transformateurs aux scénarios en temps réel. En utilisant une architecture hybride, il tente d’atténuer les coûts de calcul élevés généralement associés aux Vision Transformers.
- Auteurs : Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang et Yi Liu
- Organisation : Baidu
- Date : 2023-04-17
- Arxiv :2304.08069
- GitHub :Dépôt RT-DETR
- Docs :Documentation RTDETRv2
Architecture et points forts
RTDETRv2 combine un backbone CNN pour une extraction efficace des caractéristiques avec un encodeur-décodeur de transformateur. Cette conception permet au modèle d’utiliser des mécanismes d’auto-attention pour comprendre les relations globales entre les objets, ce qui peut être bénéfique dans les scènes complexes avec occlusion ou encombrement. Sa principale force est sa haute précision sur les bancs d’essai universitaires, où il surpasse souvent les modèles basés sur CNN d’échelle similaire dans les mesures de mAP pures.
Faiblesses
Malgré sa précision, RTDETRv2 est confronté à des défis en termes de polyvalence et de facilité d'utilisation. L'architecture de transformateur est intrinsèquement plus lourde, ce qui entraîne des temps d'entraînement plus lents et une consommation de mémoire plus élevée. De plus, son écosystème est principalement axé sur la recherche, manquant des outils, du support de déploiement et des ressources communautaires étendus que l'on trouve dans les frameworks plus matures. Il est également limité principalement à la détection d'objets, alors que les projets modernes nécessitent souvent la segmentation ou la classification au sein du même pipeline.
Ultralytics YOLOv5 : La norme polyvalente
YOLOv5 est largement considéré comme l'un des modèles de vision par ordinateur les plus pratiques et conviviaux disponibles. Construit par Ultralytics, il privilégie une expérience simplifiée de type « entraîner, déployer et terminer », rendant l'IA avancée accessible à tous, des amateurs aux ingénieurs d'entreprise.
- Auteurs : Glenn Jocher
- Organisation :Ultralytics
- Date : 2020-06-26
- GitHub :Dépôt YOLOv5
- Docs :Documentation YOLOv5
Pourquoi YOLOv5 se distingue
YOLOv5 excelle en raison de son approche holistique des machine learning operations (MLOps). Ce n’est pas seulement une architecture de modèle, mais un écosystème complet.
- Facilité d'utilisation : Grâce à une API Python simple et à une interface de ligne de commande, les utilisateurs peuvent commencer à s'entraîner sur des données personnalisées en quelques minutes.
- Équilibre des performances : La famille de modèles (de Nano à X-Large) offre un gradient parfait de vitesse et de précision, permettant aux utilisateurs d'adapter leur choix à un matériel spécifique, tel que le NVIDIA Jetson ou le Raspberry Pi.
- Polyvalence : Contrairement à RTDETRv2, YOLOv5 prend en charge nativement plusieurs tâches, notamment la classification d’images et la segmentation d’instance, ce qui réduit la nécessité de maintenir des bases de code distinctes pour différentes tâches de vision.
- Exportabilité : Ultralytics fournit une prise en charge intégrée de l’exportation vers ONNX, TensorRT, CoreML et TFLite, garantissant que les modèles peuvent être déployés n’importe où, des applications mobiles aux serveurs cloud.
Exemple d'utilisation
YOLOv5 est conçu pour la simplicité. Vous trouverez ci-dessous un exemple de chargement d'un modèle pré-entraîné et d'exécution de l'inférence à l'aide de PyTorch Hub, illustrant l'API intuitive qui fait la réputation d'Ultralytics.
import torch
# Load the YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")
# Define an image URL
img = "https://ultralytics.com/images/zidane.jpg"
# Perform inference
results = model(img)
# Print results to the console
results.print()
# Show the image with bounding boxes
results.show()
Comparaison de l'entraînement et de l'écosystème
L'expérience développeur est souvent aussi critique que la performance brute du modèle. Ici, les différences sont frappantes.
Efficacité de l'entraînement
YOLOv5 utilise des détecteurs basés sur des ancres, dont l'entraînement est efficace en termes de calcul. Le framework Ultralytics inclut des "bag-of-freebies" tels que l'augmentation mosaïque et l'évolution automatique des ancres, qui aident les modèles à converger plus rapidement et à mieux généraliser avec moins de données. Inversement, l'entraînement de RTDETRv2 est plus gourmand en ressources en raison de la complexité quadratique des couches d'attention du transformateur, nécessitant souvent des GPU haut de gamme avec une VRAM substantielle.
Support de l'écosystème
L'écosystème Ultralytics offre un avantage distinct. Les utilisateurs bénéficient de :
- Développement actif : Des mises à jour fréquentes assurent la compatibilité avec les dernières versions de PyTorch et CUDA.
- Soutien communautaire : Une communauté massive sur GitHub et Discord aide à résoudre rapidement les problèmes.
- Outils intégrés : L'intégration transparente avec des outils tels que Ultralytics HUB permet l'entraînement de modèles sans code, la gestion des ensembles de données et le déploiement en un clic.
RTDETRv2, bien qu’il soit techniquement impressionnant, ne dispose pas de ce niveau d’infrastructure environnante, ce qui rend son intégration dans les pipelines de production plus difficile.
Cas d'utilisation idéaux
Le choix du bon modèle dépend de vos contraintes et objectifs spécifiques.
Quand choisir RTDETRv2
- Recherche académique : Si votre objectif est de repousser les limites du mAP sur des ensembles de données comme COCO et que vous avez accès à des GPU phares (par exemple, les A100).
- Contexte complexe : Dans les scénarios où la compréhension de la relation entre des objets distants est plus critique que la vitesse d'inférence ou le coût du matériel.
Quand choisir YOLOv5
- Déploiement Edge : Pour les applications sur les appareils mobiles, les drones ou les systèmes embarqués où la vitesse du CPU et l’efficacité énergétique sont primordiales.
- Production en temps réel : Alimentation des systèmes d’alarme de sécurité ou surveillance du trafic où une faible latence est non négociable.
- Développement rapide : Les startups et les équipes d'entreprise qui ont besoin d'itérer rapidement, de la collecte de données au modèle déployé, trouveront le flux de travail de YOLOv5 nettement plus rapide.
- Exigences multi-tâches : Les projets qui ont besoin à la fois de la détection et de la segmentation peuvent utiliser un seul framework, simplifiant ainsi la pile technologique.
Vous recherchez les dernières technologies ?
Bien que YOLOv5 reste un outil puissant, les développeurs à la recherche des toutes dernières performances et architectures devraient consulter YOLO11. YOLO11 s'appuie sur l'héritage de YOLOv5, offrant une précision encore plus élevée, des vitesses plus rapides et des capacités étendues telles que l'estimation de pose et la détection d'objets orientés (OBB).
Conclusion
RTDETRv2 et YOLOv5 sont tous deux des outils formidables dans l'arsenal de l'ingénieur en vision par ordinateur. RTDETRv2 met en évidence le potentiel des transformateurs pour la détection de haute précision, ce qui en fait un concurrent sérieux pour les applications à forte composante de recherche avec des ressources de calcul importantes.
Cependant, pour la grande majorité des déploiements pratiques et réels, Ultralytics YOLOv5 reste le choix supérieur. Sa facilité d'utilisation, sa maturité de l'écosystème et sa polyvalence inégalées en font la solution de choix pour les développeurs qui ont besoin de résultats fiables et à haute vitesse. Que vous déployiez sur le cloud ou en périphérie, l'efficacité et le support fournis par Ultralytics garantissent un chemin plus fluide du concept à la production.
Explorer d’autres comparaisons de modèles
Pour vous aider à prendre la décision la plus éclairée, découvrez comment ces modèles se comparent à d'autres architectures dans le domaine :