RTDETRv2 vs. YOLOv5: une comparaison technique
Dans le paysage en évolution rapide de la détection d'objets, le choix du bon modèle implique souvent un compromis entre la complexité architecturale, la vitesse d'inférence et la facilité d'utilisation 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 YOLOv5le modèle légendaire d'Ultralytics basé sur le CNN, 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 de transformateur de vision (ViT) pour capturer le contexte global, en visant une précision maximale sur les bancs d'essai. En revanche, YOLOv5 utilise un réseau neuronal convolutif (CNN) hautement optimisé, privilégiant un équilibre entre la vitesse, l'efficacité et la 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éesCOCO , il nécessite beaucoup plus de ressources informatiques. YOLOv5, en particulier dans ses variantes plus petites (Nano et Small), offre des vitesses d'inférence beaucoup plus rapides - en particulier sur les CPU - et une empreinte mémoire beaucoup plus faible, ce qui en fait un 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 faible barrière à l'entrée permet aux développeurs d'entraîner des modèles personnalisés sur des GPU grand public standard ou même dans des environnements basés sur le cloud comme Google Colab, sans rencontrer d'erreurs de mémoire saturée (Out-Of-Memory).
RTDETRv2 : Le Transformer Challenger
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 transformateurs de vision.
- 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ôtRT-DETR
- Docs :Documentation RTDETRv2
Architecture et atouts
RTDETRv2 combine une épine dorsale CNN pour une extraction efficace des caractéristiques avec un transformateur encodeur-décodeur. 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 utile dans des scènes complexes avec occlusion ou encombrement. Son principal atout est sa grande précision sur les bancs d'essai universitaires, où il surpasse souvent les modèles basés sur le CNN d'échelle similaire en termes de métriques mAP pures.
Faiblesses
Malgré sa précision, RTDETRv2 est confronté à des problèmes de polyvalence et de facilité d'utilisation. L'architecture du transformateur est intrinsèquement plus lourde, ce qui ralentit les temps d'apprentissage et augmente la consommation de mémoire. En outre, son écosystème est principalement axé sur la recherche et ne dispose pas de l'outillage, du support de déploiement et des ressources communautaires que l'on trouve dans les cadres plus matures. Il est également limité à la détection d'objets, alors que les projets modernes nécessitent souvent une segmentation ou une classification dans le 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 les plus conviviaux qui soient. Développé par Ultralytics, il donne la priorité à une expérience rationalisée "former, 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ôtYOLOv5
- Docs :DocumentationYOLOv5
Pourquoi YOLOv5 se démarque
YOLOv5 excelle par son approche holistique des opérations d'apprentissage automatique (MLOps). Il ne s'agit pas seulement d'une architecture de modèle, mais d'un écosystème complet.
- Facilité d'utilisation : Grâce à une API Python simple et à une interface en 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 de manière native plusieurs tâches, notamment la classification d'images et la segmentation d'instances, ce qui réduit la nécessité de maintenir des bases de code distinctes pour les différentes tâches de vision.
- Exportabilité : Ultralytics offre un support intégré pour l'exportation vers ONNXTensorRT, CoreML et TFLite, ce qui garantit que les modèles peuvent être déployés n'importe où, des applications mobiles aux serveurs en nuage.
Exemple d'utilisation
YOLOv5 est conçu pour être simple. Vous trouverez ci-dessous un exemple de chargement d'un modèle pré-entraîné et d'exécution d'une inférence à l'aide de PyTorch Hub, démontrant 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 la formation et de l'écosystème
L'expérience du développeur est souvent aussi importante que les performances brutes du modèle. Ici, les différences sont flagrantes.
Efficacité de la formation
YOLOv5 utilise des détecteurs basés sur les ancres, dont l'apprentissage est efficace en termes de calcul. Le cadre Ultralytics comprend des "sacs de gratuité" tels que l'augmentation de la mosaïque et l'évolution de l'ancrage automatique, qui aident les modèles à converger plus rapidement et à mieux se généraliser avec moins de données. À l'inverse, l'entraînement de RTDETRv2 est plus gourmand en ressources en raison de la complexité quadratique des couches d'attention du transformateur, ce qui nécessite souvent des GPU haut de gamme dotés d'une VRAM importante.
Soutien à l'écosystème
L'écosystèmeUltralytics offre un avantage certain. Les utilisateurs bénéficient de :
- Développement actif : Des mises à jour fréquentes garantissent la compatibilité avec les dernières versions de PyTorch et de CUDA.
- Soutien de la communauté : Une communauté massive sur GitHub et Discord aide à résoudre les problèmes rapidement.
- Outils intégrés : L'intégration transparente avec des outils comme Ultralytics HUB permet de former des modèles sans code, de gérer des ensembles de données et de les déployer en un seul clic.
RTDETRv2, bien que 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 de vos objectifs spécifiques.
Quand choisir RTDETRv2
- Recherche universitaire : Si votre objectif est d'atteindre des chiffres mAP de pointe sur des ensembles de données tels que COCO et que vous avez accès à des GPU de pointe (par exemple, A100).
- Contexte complexe : Dans les scénarios où la compréhension de la relation entre des objets distants est plus importante que la vitesse d'inférence ou le coût du matériel.
Quand choisir YOLOv5
- Déploiement en périphérie : 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 de surveillance du trafic où une faible latence n'est pas 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 nécessitent à la fois une détection et une segmentation peuvent utiliser un cadre unique, ce qui simplifie la pile technologique.
À la recherche des dernières technologies ?
Si YOLOv5 reste un outil puissant, les développeurs à la recherche des dernières nouveautés en matière de performances et d'architecture devraient se tourner vers 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 la pose et la détection d'objets orientés (OBB).
Conclusion
RTDETRv2 et YOLOv5 sont tous deux de formidables outils 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 de taille pour les applications de recherche intensive disposant d'importantes ressources de calcul.
Cependant, pour la grande majorité des déploiements pratiques dans le monde réel, Ultralytics YOLOv5 reste le meilleur choix. Sa facilité d'utilisation inégalée, la maturité de son écosystème et sa polyvalence en font la solution de choix pour les développeurs qui ont besoin de résultats fiables et rapides. Qu'il s'agisse d'un déploiement dans le nuage ou à la périphérie, l'efficacité et l'assistance fournies par Ultralytics garantissent un passage sans heurts de la conception à la production.
Explorer d’autres comparaisons de modèles
Pour vous aider à prendre une décision en toute connaissance de cause, découvrez comment ces modèles se comparent à d'autres architectures sur le terrain :