YOLOv9 vs. RTDETRv2 : Une comparaison technique pour la détection d'objets
Le choix de la bonne architecture de détection d'objets est une décision cruciale dans le développement de la vision par ordinateur, qui exige souvent des développeurs qu'ils évaluent les compromis entre la précision, la latence de l'inférence et la surcharge de calcul. Cette analyse fournit une comparaison technique complète entre YOLOv9une architecture basée sur le CNN et optimisée pour l'efficacité, et RTDETRv2, un modèle basé sur un transformateur et conçu pour une détection de haute fidélité.
YOLOv9: Redéfinir l'efficacité du CNN
YOLOv9 représente une évolution significative dans la série You Only Look OnceYOLO), en se concentrant sur la résolution du problème du goulot d'étranglement de l'information inhérent aux réseaux neuronaux profonds. En introduisant de nouveaux concepts architecturaux, il atteint des performances de pointe tout en conservant l'empreinte légère caractéristique de la famille YOLO .
- Auteurs : Chien-Yao Wang, Hong-Yuan Mark Liao
- Organisation :Institut des sciences de l'information, Academia Sinica, Taiwan
- Date : 2024-02-21
- Arxiv :arXiv:2402.13616
- GitHub :WongKinYiu/yolov9
- Docs :DocumentationUltralytics YOLOv9
Architecture de base
YOLOv9 introduit deux innovations majeures : L'information de gradient programmable (PGI) et le réseau d'agrégation de couches efficace généralisé (GELAN). PGI résout le problème de la perte d'information des données lorsqu'elles se propagent dans les couches profondes, en garantissant que des informations fiables sur le gradient sont préservées pour les mises à jour du modèle. Le GELAN optimise l'utilisation des paramètres, ce qui permet au modèle d'atteindre une plus grande précision avec moins d'opérations en virgule flottante (FLOP) par rapport aux architectures convolutives traditionnelles.
Intégration de l'écosystème Ultralytics
YOLOv9 est entièrement intégré dans l'écosystème Ultralytics , offrant aux développeurs un accès transparent aux outils de formation, de validation et de déploiement. Cette intégration garantit que les utilisateurs peuvent tirer parti de la même API simple que celle utilisée pour YOLO11 et YOLOv8ce qui réduit considérablement la barrière à l'entrée pour les tâches avancées de vision par ordinateur.
RTDETRv2 : Le Transformer Challenger
RTDETRv2 s'appuie sur le succès du transformateur de détection en temps réelRT-DETR, en affinant la base pour améliorer la gestion de l'échelle dynamique et la stabilité de l'entraînement. En tant que modèle basé sur un transformateur, il exploite les mécanismes d'auto-attention pour capturer le contexte global, ce qui peut être avantageux pour distinguer des objets dans des scènes complexes.
- Auteurs : Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang et Yi Liu
- Organisation :Baidu
- Date : 2024-07-24
- Arxiv :arXiv:2407.17140
- GitHub :DépôtRT-DETR sur GitHub
Architecture de base
Contrairement aux CNN qui traitent les images dans des zones locales, RTDETRv2 utilise une colonne vertébrale de transformateurs pour traiter les caractéristiques de l'image. Cette approche permet au modèle de comprendre les relations entre des parties éloignées d'une image, ce qui peut améliorer la précision dans des environnements encombrés. Cependant, ce mécanisme d'attention globale s'accompagne généralement de coûts de mémoire et de calcul plus élevés, en particulier lors de la formation.
Comparaison des performances
Les données suivantes mettent en évidence les mesures de performance de différentes tailles de modèles sur l'ensemble de donnéesCOCO . La comparaison se concentre sur la précision moyennemAP, la vitesse d'inférence et la complexité de calcul.
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
| 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 |
Analyse des indicateurs
- Précision maximale : Le modèle YOLOv9e atteint une mAP remarquable de 55,6 %, dépassant le plus grand modèle RTDETRv2-x (54,3 % mAP. Cela démontre que les innovations architecturales de YOLOv9 comblent efficacement l'écart entre les CNN et les Transformers, et les surpassent même en termes de précision de haut niveau.
- Efficacité : YOLOv9 fournit systématiquement des performances plus élevées par paramètre. Par exemple, YOLOv9c atteint 53,0 % de mAP avec seulement 25,3 millions de paramètres et 102,1 milliards de FLOP, alors que RTDETRv2-l nécessite 42 millions de paramètres et 136 milliards de FLOP pour atteindre 53,4 % mAP. Grâce à cette efficacité, YOLOv9 est nettement plus léger à stocker et plus rapide à exécuter.
- Vitesse d'inférence : dans les applications en temps réel, la vitesse est essentielle. Les variantes plus petites de YOLOv9 , telles que YOLOv9t, offrent une latence extrêmement faible (2,3 ms sur TensorRT), ce qui les rend idéales pour les déploiements d'IA en périphérie où les modèles RTDETRv2 peuvent être trop lourds.
Efficacité de la formation et écosystème
L'un des facteurs les plus importants pour les développeurs est la facilité de formation et les ressources nécessaires pour affiner les modèles sur des ensembles de données personnalisés.
Exigences en matière de mémoire
Les modèles basés sur les transformateurs tels que RTDETRv2 sont connus pour leur forte consommation de mémoire pendant l'apprentissage en raison de la complexité quadratique des mécanismes d'auto-attention. Cela nécessite souvent des GPU d'entreprise haut de gamme dotés d'une VRAM massive. En revanche, YOLOv9 conserve l'efficacité de la mémoire des CNN, ce qui permet d'effectuer l'apprentissage sur du matériel grand public. Cette faible barrière à l'entrée démocratise l'accès à la détection d'objets de pointe.
L'avantage Ultralytics
Le choix d'un modèle au sein de l'écosystèmeUltralytics offre des avantages distincts au-delà des mesures de performance brutes :
- Facilité d'utilisation : L'APIPython d'Ultralytics résume les boucles d'entraînement complexes en quelques lignes de code.
- Un écosystème bien entretenu : Des mises à jour fréquentes assurent la compatibilité avec les dernières versions de PyTorch , les formats d'exportationONNX, TensorRT, CoreML) et les pilotes matériels.
- Polyvalence : Alors que RTDETRv2 est avant tout un détecteur d'objets, le cadre Ultralytics prend en charge un large éventail de tâches, notamment la segmentation d'instances, l'estimation de la pose et la détection de boîtes de délimitation orientées (OBB) dans l'ensemble de ses familles de modèles.
Exemple de code
L'entraînement de YOLOv9 est simple en utilisant le package Ultralytics . L'extrait de code suivant montre comment charger un modèle pré-entraîné et l'entraîner sur un ensemble de données personnalisé :
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Train the model on a custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
Capacité d'exportation
Les modèles Ultralytics peuvent être facilement exportés dans différents formats pour être déployés. Par exemple, l'exportation vers ONNX pour une plus grande compatibilité :
model.export(format="onnx")
Cas d'utilisation idéaux
Quand choisir YOLOv9
YOLOv9 est le choix recommandé pour la majorité des applications de vision par ordinateur, en particulier lorsqu'un équilibre entre vitesse, précision et efficacité des ressources est requis.
- Déploiement en périphérie : Les appareils tels que le NVIDIA Jetson ou le Raspberry Pi bénéficient de la réduction du nombre de FLOPs et de paramètres de YOLOv9.
- Analyse vidéo en temps réel : Les flux de sécurité et les systèmes de surveillance du trafic requièrent les fréquences d'images élevées fournies par YOLOv9 .
- Formation à ressources limitées : Les équipes qui n'ont pas accès à des clusters de GPU massifs peuvent tout de même affiner les modèles de pointe.
Quand envisager RTDETRv2
RTDETRv2 convient aux scénarios de niche dans lesquels :
- Le contexte global est crucial : Scènes à forte occlusion ou dans lesquelles le contexte de pixels éloignés est strictement nécessaire à la classification.
- Le matériel est illimité : Déploiements sur des GPU de niveau serveur où les contraintes de mémoire et de calcul sont négligeables.
- Préférence pour l'absence d'ancrage : Chercheurs souhaitant expérimenter des architectures sans ancrage, basées sur des transformateurs purs.
Conclusion
Alors que RTDETRv2 démontre le potentiel des transformateurs dans la détection d'objets, YOLOv9 apparaît comme le meilleur choix pratique pour la plupart des développeurs et des chercheurs. Il offre une précision maximale plus élevée (55,6 % mAP) avec une efficacité nettement meilleure, une utilisation plus faible de la mémoire et des vitesses d'inférence plus rapides. Associé à l'assistance solide, à la documentation complète et à la facilité d'utilisation de l'écosystème Ultralytics , YOLOv9 offre un chemin plus rationnel du prototype à la production.
Pour ceux qui souhaitent découvrir les toutes dernières technologies en matière de vision par ordinateur, nous vous recommandons également de consulter les sites suivants YOLO11qui repousse encore plus loin les limites de la vitesse et de la précision.
Explorer d'autres modèles
- YOLO11: La dernière évolution de la série YOLO , optimisée pour diverses tâches, notamment la segmentation et l'estimation de la pose.
- YOLOv8: Un modèle très populaire et polyvalent, connu pour sa fiabilité et le soutien de la communauté.
- RT-DETR: Explorez l'implémentation originale du transformateur de détection en temps réel dans le cadre d'Ultralytics .