RTDETRv2 vs. YOLOv9: Comparaison technique des modèles de détection les plus récents
Dans le domaine de la vision par ordinateur, qui évolue rapidement, le choix de la bonne architecture de détection d'objets est essentiel pour équilibrer la précision, la vitesse et les ressources informatiques. Ce guide fournit une comparaison technique détaillée entre RTDETRv2 (Real-Time Detection Transformer v2), un modèle avancé basé sur un transformateur, et YOLOv9un modèle de pointe axé sur l'efficacité et intégré à l'écosystèmeUltralytics .
Alors que RTDETRv2 repousse les limites de la détection basée sur les transformateurs, YOLOv9 introduit de nouveaux concepts architecturaux tels que l'information de gradient programmable (PGI) pour maximiser l'efficacité des paramètres. Nous analysons ci-dessous leurs architectures, leurs mesures de performance et leurs scénarios de déploiement idéaux afin de vous aider à choisir le modèle le mieux adapté aux besoins de votre projet.
Mesures de performance : Précision et rapidité
Le tableau suivant présente une comparaison directe des principales mesures de performance évaluées sur l'ensemble de donnéesCOCO . Il met en évidence la manière dont YOLOv9 atteint une précision compétitive ou supérieuremAP) avec des coûts de calcul (FLOPs) nettement inférieurs et des vitesses d'inférence plus rapides par rapport à RTDETRv2.
| 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 |
| 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 |
Comme illustré, YOLOv9e surpasse RTDETRv2-x en précision(55.6% vs. 54.3% mAP) tout en utilisant moins de FLOPs (189B vs. 259B). Cette efficacité fait de YOLOv9 un choix convaincant pour les applications en temps réel où les ressources matérielles sont un facteur à prendre en compte.
RTDETRv2 : Affiner le transformateur de détection
RTDETRv2 est une évolution de la version originale de RT-DETRoriginal, conçu pour répondre aux limites des détecteurs traditionnels basés sur l'ancrage en tirant parti d'une architecture de transformateur. Il se concentre sur l'amélioration de la stabilité et des performances des transformateurs de détection en temps réel grâce à une approche de type "sac de freebies", à l'optimisation des stratégies de formation et au dimensionnement dynamique du vocabulaire.
- Auteurs : Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang et Yi Liu
- Organisation :Baidu
- Date : 2024-07-24
- Arxiv :https://arxiv.org/abs/2407.17140
- GitHub :https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch
- Docs :https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch#readme
Architecture et caractéristiques principales
RTDETRv2 utilise une architecture hybride codeur-décodeur. L'encodeur traite les caractéristiques de l'image, tandis que le décodeur transformateur génère des requêtes sur les objets. Les principales améliorations architecturales comprennent un mécanisme d'attention optimisé qui permet une sélection dynamique des requêtes, réduisant ainsi la charge de calcul généralement associée aux transformateurs.
Contrairement aux modèles YOLO standard qui s'appuient sur des backbones et des têtes basés sur CNN, RTDETRv2 sépare le concept d'"ancres" de la tête de détection, traitant la détection d'objets comme un problème direct de prédiction d'ensembles. Cela supprime la nécessité d'une suppression non maximale (NMS) dans de nombreuses configurations, ce qui simplifie théoriquement le pipeline de post-traitement.
Points forts et faiblesses
Points forts :
- Précision : Excellent dans la détection d'objets ayant des interactions complexes ou des occlusions grâce à la prise en compte du contexte global.
- Sans ancrage : il n'est plus nécessaire de régler manuellement la boîte d'ancrage, ce qui simplifie la configuration pour divers ensembles de données.
- Adaptabilité : Le vocabulaire dynamique permet au modèle de mieux s'adapter à des conditions d'entraînement variables.
Faiblesses :
- Intensité des ressources : Les architectures Transformer nécessitent généralement plus de mémoire GPU et de puissance de calcul pour l'apprentissage que les CNN.
- Latence d'inférence : Malgré les optimisations, les transformateurs peuvent être plus lents sur les dispositifs d'IA de pointe que les CNN hautement optimisés comme YOLOv9.
- Complexité : Le pipeline de formation et le réglage des hyperparamètres pour les transformateurs peuvent être plus complexes que pour les modèles YOLO .
Cas d'utilisation idéaux
RTDETRv2 est bien adapté aux déploiements de serveurs haut de gamme où la précision est primordiale :
- Imagerie médicale : Analyse de scans complexes où le contexte global permet d'identifier les anomalies.
- Surveillance aérienne : Détection de petits objets dans des images satellites de grande taille et à haute résolution.
- Contrôle détaillé de la qualité : Inspecter les défauts de fabrication lorsque les moindres détails comptent plus que la vitesse brute.
YOLOv9: Efficacité grâce aux dégradés programmables
YOLOv9 représente une avancée significative dans la famille YOLO , en introduisant des innovations architecturales qui résolvent le problème du goulot d'étranglement de l'information dans les réseaux neuronaux profonds. En veillant à ce que l'information sur le gradient soit préservée dans les couches profondes, YOLOv9 atteint des performances de pointe avec une efficacité remarquable au niveau des paramètres.
- Auteurs : Chien-Yao Wang, Hong-Yuan Mark Liao
- Organisation :Institut des sciences de l'information, Academia Sinica, Taiwan
- Date : 2024-02-21
- Arxiv :https://arxiv.org/abs/2402.13616
- GitHub :https://github.com/WongKinYiu/yolov9
- Docs :https://docs.ultralytics.com/models/yolov9/
Architecture : PGI et GELAN
YOLOv9 introduit deux concepts révolutionnaires :
- Information de gradient programmable (PGI) : Un cadre de supervision auxiliaire qui génère des gradients fiables pour la mise à jour des poids du réseau, en veillant à ce que les couches profondes conservent des informations cruciales sur les caractéristiques. Cela imite les avantages de la re-paramétrage sans le coût de l'inférence.
- Réseau d'agrégation de couches efficace généralisé (GELAN) : Une architecture réseau légère qui optimise l'utilisation des paramètres et le débit de calcul (FLOPs). GELAN permet à YOLOv9 de fonctionner plus rapidement tout en utilisant moins de mémoire que ses prédécesseurs et concurrents.
Pourquoi choisir YOLOv9?
L'intégration de YOLOv9 dans l'écosystèmeUltralytics offre des avantages indéniables aux développeurs :
- Efficacité de la formation : YOLOv9 nécessite beaucoup moins de mémoire GPU pendant l'entraînement que les modèles basés sur les transformateurs comme RTDETRv2. Cela permet l'entraînement sur du matériel grand public ou des lots plus importants sur des clusters d'entreprise.
- Facilité d'utilisation : Grâce à l'APIPython d'Ultralytics , les utilisateurs peuvent former, valider et déployer YOLOv9 en quelques lignes de code seulement.
- Polyvalence : Bien qu'il s'agisse avant tout d'un modèle de détection d'objets, l'architecture sous-jacente est suffisamment souple pour prendre en charge des tâches telles que la segmentation d'instances et la détection de boîtes de délimitation orientées (OBB).
- Équilibre des performances : Il atteint un équilibre optimal, offrant une précision de premier ordre et la vitesse requise pour l'analyse vidéo en temps réel.
L'avantage de l'écosystème
Ultralytics fournit une interface unifiée pour tous ses modèles. Passer de YOLOv8 ou YOLO11 à YOLOv9 ne nécessite que de changer la chaîne de nom du modèle, ce qui permet d'effectuer des analyses comparatives et des expérimentations sans effort.
Cas d'utilisation idéaux
YOLOv9 est le choix privilégié pour les déploiements dans le monde réel qui exigent rapidité et efficacité :
- Informatique en périphérie : Déploiement sur des appareils embarqués tels que NVIDIA Jetson ou Raspberry Pi.
- Analyse en temps réel : Surveillance du trafic, analyse de la vente au détail et analyse sportive où des taux de rafraîchissement élevés sont essentiels.
- Applications mobiles : fonctionnement efficace sur les appareils iOS et Android grâce à la technologie CoreML ou TFLite l'exportation.
- Robotique : Une perception rapide pour une navigation et une interaction autonomes.
Analyse comparative : Architecture et flux de travail
Pour choisir entre RTDETRv2 et YOLOv9, il faut tenir compte des différences architecturales fondamentales. RTDETRv2 s'appuie sur la puissance des Transformers, en utilisant des mécanismes d'auto-attention pour comprendre le contexte global. Cela se traduit souvent par une plus grande précision sur les images statiques difficiles, mais au prix d'une plus grande consommation de mémoire d'apprentissage et d'une inférence plus lente sur le matériel GPU .
En revanche, YOLOv9 exploite une architecture CNN évoluée (GELAN) améliorée par PGI. Cette conception est intrinsèquement plus adaptée au matériel, bénéficiant d'années d'optimisation du CNN dans des bibliothèques telles que TensorRT et OpenVINO.
Méthodologie d'entraînement
L'entraînement de RTDETRv2 implique généralement un temps de convergence plus long et des exigences de mémoire plus élevées pour accommoder les cartes d'attention. À l'inverse, YOLOv9 bénéficie de processus d'entraînement efficaces mis au point par l'équipe d'Ultralytics . La disponibilité de poids pré-entraînés et la capacité d'intégration transparente avec Ultralytics HUB simplifient le flux de travail, de l'annotation des données au déploiement du modèle.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Train the model on your dataset with excellent memory efficiency
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with high speed
results = model("path/to/image.jpg")
Conclusion : Quel modèle correspond à vos besoins ?
Pour la grande majorité des applications commerciales et de recherche, YOLOv9 est le choix recommandé. Il offre un meilleur compromis entre précision et rapidité, soutenu par l'écosystème robuste d'Ultralytics . Sa faible empreinte mémoire et ses options de déploiement polyvalentes lui permettent de s'adapter à tous les types d'applications, des serveurs en nuage aux appareils en périphérie.
RTDETRv2 reste un outil puissant pour la recherche universitaire et les scénarios spécialisés où les propriétés uniques des transformateurs de vision offrent un avantage spécifique et où les contraintes de calcul ne sont pas une préoccupation majeure.
Explorer d'autres modèles Ultralytics
Si vous êtes à la recherche d'options supplémentaires, vous pouvez envisager ces alternatives dans le cadre d'Ultralytics :
- YOLO11: La dernière itération de la série YOLO , qui offre de nouvelles améliorations en termes de vitesse et de précision pour les applications de pointe.
- YOLOv8: un modèle très polyvalent prenant en charge la détection, la segmentation, l'estimation de la pose et la classification, connu pour sa stabilité et son adoption généralisée.
- RT-DETR: Ultralytics prend également en charge le modèle RT-DETR original, ce qui vous permet d'expérimenter la détection basée sur les transformateurs dans l'API familière d'Ultralytics .