YOLOv5 vs. RTDETRv2 : Équilibrer la vitesse en temps réel et la précision des transformateurs
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 du projet. Cette comparaison technique complète examine deux approches distinctes : YOLOv5le légendaire détecteur basé sur le CNN, connu pour sa polyvalence et sa rapidité, et RTDETRv2, un modèle moderne basé sur un transformateur et axé sur une grande précision.
RTDETRv2 s'appuie sur les transformateurs de vision (ViT) pour saisir le contexte global, Ultralytics YOLOv5 reste un choix de premier ordre pour les développeurs qui ont besoin d'une solution robuste, prête à être déployée, avec une faible consommation de ressources.
Spécifications et origines des modèles
Avant de se pencher sur les mesures 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 (dorsale CNN + transformateur) |
| Objectif principal | Vitesse en temps réel, polyvalence, facilité d'utilisation | Précision élevée, 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, classer | Détection |
Philosophie de l'architecture et du design
La différence fondamentale entre ces modèles réside dans la manière dont ils traitent les données visuelles.
Ultralytics YOLOv5
YOLOv5 utilise une architecture de réseau neuronal convolutionnel (CNN) hautement optimisée. Il utilise un réseau de base CSPDarknet modifié et un réseau d'agrégation de chemins (PANet) pour extraire des cartes de caractéristiques.
- Basé sur les ancres : S'appuie sur des boîtes d'ancrage prédéfinies pour prédire l'emplacement 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, depuis les appareils de pointe comme le NVIDIA Jetson jusqu'aux CPU standard.
- Polyvalence : Prise en charge de tâches multiples, notamment la segmentation d'instances et la classification d'images, dans un cadre unifié unique.
RTDETRv2
RTDETRv2 (Real-Time Detection Transformer v2) représente une évolution vers des architectures de transformateurs.
- Conception hybride : Combine une épine dorsale CNN avec un transformateur codeur-décodeur, en 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'ensemble de l'image à la fois, ce qui améliore 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 le CNN.
Analyse des performances
Le tableau ci-dessous fournit une comparaison directe des principales mesures de performance. Alors que RTDETRv2 fait preuve d'une précision impressionnantemAP) sur l'ensemble de donnéesCOCO , YOLOv5 démontre des vitesses d'inférence supérieures, en particulier sur le matériel CPU où les transformateurs ont souvent des difficultés.
| 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 nombres de mAP plus élevés, remarquez les colonnes Vitesse et FLOPs. YOLOv5n s'exécute en 73,6 ms sur un CPU, ce qui permet de l'utiliser pour des applications en temps réel sur du matériel non accéléré. Les modèles RTDETRv2 sont nettement plus lourds et nécessitent des GPU puissants pour maintenir des taux de rafraîchissement en temps réel.
Efficacité de la formation et utilisation de la mémoire
L'un des principaux avantages de YOLOv5 est son efficacité en matière de formation. Les modèles basés sur des transformateurs tels que RTDETRv2 sont connus pour leur consommation élevée 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 exploitables en moins d'époques, ce qui leur permet de gagner un temps précieux et de réduire les coûts de calcul dans le nuage.
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'APIPython d' Ultralytics est la norme de l'industrie en matière de simplicité. Le chargement d'un modèle, l'exécution d'une inférence et l'entraînement sur des données personnalisées peuvent être réalisés avec seulement quelques lignes de code.
- Un écosystème riche : Soutenu par une importante communauté open-source, YOLOv5 s'intègre parfaitement à Ultralytics HUB pour une formation sans code, aux outils MLOps pour le suivi, et à divers formats d'exportation tels que ONNX et TensorRT.
- Flexibilité de déploiement : Des applications mobiles iOS et Android aux Raspberry Pi et aux serveurs en nuage, l'architecture légère de YOLOv5 lui permet de fonctionner là où les modèles de transformateurs 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, ce qui réduit la nécessité de maintenir plusieurs bases de code pour différentes tâches de vision.
Voie de mise à niveau
Si vous avez besoin d'une précision encore plus grande que celle de YOLOv5 tout en conservant les avantages de l'écosystème, envisagez le nouveau produit YOLO11. Il intègre des améliorations architecturales modernes pour rivaliser ou surpasser la précision du transformateur avec l'efficacité que vous attendez de YOLO.
Comparaison des codes : facilité d'utilisation
L'exemple suivant illustre la simplicité d'utilisation de YOLOv5 avec le logiciel 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 périphérique : 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 d'un ensemble de données à un 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'images.
Quand choisir RTDETRv2
- Recherche universitaire : Comparaison avec l'état de l'art absolu sur des ensembles de données statiques où la vitesse est secondaire.
- Disponibilité des GPU haut de gamme : Environnements dans lesquels 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 occlusion dense où le mécanisme d'auto-attention fournit un avantage critique en termes de précision.
Conclusion
Bien que RTDETRv2 illustre le potentiel des transformateurs dans la vision par ordinateur avec des chiffres de précision impressionnants, il s'accompagne de coûts importants en termes de ressources matérielles et de complexité de la formation. Pour la grande majorité des applications du monde réel, Ultralytics YOLOv5 reste le meilleur choix. Sa combinaison parfaite de vitesse, de précision et de faible utilisation de la mémoire, associée à un écosystème de soutien et à une documentationcomplète , garantit queles développeurs peuvent créer des solutions d'IA évolutives, efficaces et efficientes.
Pour ceux qui recherchent les dernières performances sans sacrifier la facilité d'utilisation du framework Ultralytics , nous recommandons vivement d'explorer YOLO11qui comble le fossé entre l'efficacité du CNN et la précision du transformateur.