YOLOv5 vs. RTDETRv2 : Équilibrer la vitesse en temps réel et la précision du transformateur
Dans le paysage en évolution rapide de la vision par ordinateur, le choix du bon modèle de détection d'objets est essentiel pour la réussite d'un projet. Cette comparaison technique complète examine deux approches distinctes : YOLOv5, le légendaire détecteur basé sur CNN, connu pour sa polyvalence et sa vitesse, et RTDETRv2, un modèle moderne basé sur un transformateur, axé sur la haute précision.
Bien que RTDETRv2 exploite les Vision Transformers (ViT) pour capturer le contexte global, Ultralytics YOLOv5 reste un choix de premier ordre pour les développeurs nécessitant une solution robuste, prête à être déployée et avec une faible surcharge de ressources.
Spécifications et origines du modèle
Avant de plonger dans les métriques de performance, il est essentiel de comprendre le contexte et la philosophie architecturale de chaque modèle.
| Fonctionnalité | Ultralytics YOLOv5 | RTDETRv2 |
|---|---|---|
| Architecture | Basé sur CNN (basé sur l'ancrage) | Hybride (Backbone CNN + Transformateur) |
| Objectif principal | Vitesse en temps réel, polyvalence, facilité d'utilisation | Haute précision, contexte global |
| Auteurs | Glenn Jocher | Wenyu Lv, Yian Zhao, et al. |
| Organisation | Ultralytics | Baidu |
| Date de sortie | 2020-06-26 | 2023-04-17 |
| Tâches | Détecter, segmenter, classifier | Détection |
Architecture et philosophie de conception
La différence fondamentale entre ces modèles réside dans la façon dont ils traitent les données visuelles.
Ultralytics YOLOv5
YOLOv5 utilise une architecture de Convolutional Neural Network (CNN) hautement optimisée. Il utilise un backbone CSPDarknet modifié et un neck Path Aggregation Network (PANet) pour extraire les feature maps.
- Basé sur des ancres : S'appuie sur des boîtes d'ancrage prédéfinies pour prédire les emplacements des objets, ce qui simplifie le processus d'apprentissage pour les formes d'objets courantes.
- Efficacité : Conçu pour une vitesse d'inférence maximale sur une grande variété de matériel, des appareils edge comme le NVIDIA Jetson aux CPU standard.
- Polyvalence : Prend en charge plusieurs tâches, notamment la segmentation d’instance et la classification d’images au sein d’un framework unifié unique.
RTDETRv2
RTDETRv2 (Real-Time Detection Transformer v2) représente un passage aux architectures de transformateur.
- Conception hybride : Combine un backbone CNN avec un encodeur-décodeur de transformateur, utilisant des mécanismes d’auto-attention pour traiter les relations entre les objets.
- Contexte global : Le composant transformateur permet au modèle de « voir » l'image entière en une seule fois, améliorant ainsi les performances dans les scènes complexes avec occlusion.
- Coût de calcul : Cette architecture sophistiquée exige généralement beaucoup plus de mémoire GPU et de puissance de calcul (FLOPs) que les solutions purement basées sur CNN.
Analyse des performances
Le tableau ci-dessous fournit une comparaison directe des principales mesures de performance. Bien que RTDETRv2 affiche une précision impressionnante (mAP) sur l'ensemble de données COCO, YOLOv5 démontre des vitesses d'inférence supérieures, en particulier sur le matériel CPU où les transformateurs ont souvent du mal.
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Interprétation des données
Bien que RTDETRv2 atteigne des chiffres de mAP plus élevés, notez les colonnes Vitesse et FLOPs. YOLOv5n fonctionne à 73,6 ms sur un CPU, ce qui le rend possible pour les applications en temps réel sur du matériel non accéléré. Les modèles RTDETRv2 sont significativement plus lourds, nécessitant des GPU puissants pour maintenir des fréquences d'images en temps réel.
Efficacité de l'entraînement et utilisation de la mémoire
Un avantage crucial de YOLOv5 est son efficacité d’entraînement. Les modèles basés sur Transformer comme RTDETRv2 sont connus pour leur forte consommation de VRAM et leurs taux de convergence lents.
- Une empreinte mémoire réduite : YOLOv5 peut être entraîné sur des GPU grand public dotés d'une mémoire CUDA modeste, ce qui démocratise l'accès au développement de l'IA.
- Convergence plus rapide : Les utilisateurs peuvent souvent obtenir des résultats utilisables en moins d’époques, ce qui permet d’économiser du temps et des coûts de calcul cloud précieux.
Principaux atouts d'Ultralytics YOLOv5
Pour la plupart des développeurs et des applications commerciales, YOLOv5 offre un ensemble d'avantages plus équilibré et plus pratique :
- Facilité d’utilisation inégalée : L’API Python Ultralytics est la norme de l’industrie en matière de simplicité. Le chargement d’un modèle, l’exécution de l’inférence et la formation sur des données personnalisées peuvent être effectués en quelques lignes de code.
- Écosystème riche : Soutenu par une vaste communauté open source, YOLOv5 s'intègre de manière transparente avec Ultralytics HUB pour la formation sans code, les outils MLOps pour le track, et divers formats d'exportation comme ONNX et TensorRT.
- Flexibilité de déploiement : Des applications mobiles iOS et Android aux serveurs Raspberry Pi et cloud, l'architecture légère de YOLOv5 lui permet de fonctionner là où les modèles Transformer plus lourds ne le peuvent pas.
- Polyvalence des tâches : Contrairement à RTDETRv2, qui est principalement un détecteur d’objets, YOLOv5 prend en charge la classification et la segmentation, réduisant ainsi la nécessité de maintenir plusieurs bases de code pour différentes tâches de vision.
Parcours de mise à niveau
Si vous avez besoin d'une précision encore plus élevée que YOLOv5 tout en conservant les avantages de cet écosystème, considérez le nouveau YOLO11. Il intègre des améliorations architecturales modernes pour rivaliser avec, voire dépasser, la précision des transformers avec l'efficacité que vous attendez de YOLO.
Comparaison de code : Facilité d’utilisation
L'exemple suivant montre la simplicité d'utilisation de YOLOv5 avec le package Ultralytics.
from ultralytics import YOLO
# Load a pre-trained YOLOv5 model
model = YOLO("yolov5s.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Display results
for result in results:
result.show() # show to screen
result.save(filename="result.jpg") # save to disk
Cas d'utilisation idéaux
Quand choisir Ultralytics YOLOv5
- Informatique en périphérie : Déploiement sur des appareils alimentés par batterie ou à ressources limitées (drones, téléphones mobiles, IoT).
- Analyse vidéo en temps réel : Traitement simultané de plusieurs flux vidéo pour la gestion du trafic ou la sécurité.
- Prototypage rapide : Lorsque vous devez passer de l’ensemble de données au modèle déployé en quelques heures, et non en quelques jours.
- Exigences multi-tâches : Projets nécessitant à la fois la détection d'objets et la segmentation d'image.
Quand choisir RTDETRv2
- Recherche académique : Analyse comparative par rapport à l'état de l'art absolu sur des ensembles de données statiques où la vitesse est secondaire.
- Disponibilité de GPU haut de gamme : Environnements où des GPU dédiés de qualité serveur (comme les NVIDIA A100) sont disponibles pour l’entraînement et l’inférence.
- Scènes statiques complexes : Scénarios avec une occlusion dense où le mécanisme d'auto-attention offre un avantage critique en termes de précision.
Conclusion
Alors que RTDETRv2 met en évidence le potentiel des transformateurs dans la vision par ordinateur avec des chiffres de précision impressionnants, il entraîne des coûts importants en termes de ressources matérielles et de complexité de l'entraînement. Pour la grande majorité des applications du monde réel, Ultralytics YOLOv5 reste le choix supérieur. Son mélange parfait de vitesse, de précision et de faible utilisation de la mémoire—combiné à un écosystème de soutien et à une documentation étendue—garantit que les développeurs peuvent créer des solutions d'IA évolutives, efficaces et performantes.
Pour ceux qui recherchent les toutes dernières performances sans sacrifier la convivialité du framework Ultralytics, nous recommandons vivement d'explorer YOLO11, qui comble le fossé entre l'efficacité des CNN et la précision au niveau des transformateurs.