YOLOv7 RTDETRv2 : trouver le juste équilibre entre la vitesse des anciens modèles et la précision des transformateurs
Le paysage de la détection d'objets a considérablement évolué au cours des dernières années, passant des réseaux neuronaux convolutifs (CNN) purs à des architectures hybrides sophistiquées. Deux modèles essentiels dans ce domaine sont YOLOv7, un puissant CNN « bag-of-freebies » très apprécié depuis 2022, et RTDETRv2, un transformateur de détection en temps réel lancé par Baidu en 2023/2024 pour contester la YOLO .
Alors que YOLOv7 l'approche classique basée sur les ancres jusqu'à ses limites, RTDETRv2 a exploité la puissance des transformateurs de vision (ViT) pour éliminer les étapes de post-traitement telles que la suppression non maximale (NMS). Ce guide compare leurs architectures, leurs performances et leur adéquation aux projets modernes de vision par ordinateur, tout en explorant les raisons pour lesquelles les modèles de nouvelle génération tels que Ultralytics sont de plus en plus la norme pour le déploiement en production.
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
YOLOv7: le summum de la détection basée sur les ancres
Sorti en juillet 2022, YOLOv7 a représenté un bond en avant majeur dans la YOLO , en mettant l'accent sur l'efficacité architecturale sans s'appuyer sur ImageNet . Il a introduit le concept de « trainable bag-of-freebies » (sac de cadeaux entraînables), des méthodes d'optimisation qui améliorent la précision pendant l'entraînement sans augmenter la latence d'inférence.
Détails techniques clés :
- Auteurs : Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao
- Organisation : Institute of Information Science, Academia Sinica, Taïwan
- Date : 2022-07-06
- Liens :Article ArXiv | Dépôt GitHub
La principale innovation de YOLOv7 le réseau E-ELAN (Extended Efficient Layer Aggregation Network). Cette architecture permet au réseau d'apprendre des caractéristiques plus variées en contrôlant les longueurs des chemins de gradient, garantissant ainsi un apprentissage efficace dans les réseaux plus profonds. Bien que très efficace, YOLOv7 un détecteur basé sur des ancres, ce qui signifie qu'il s'appuie sur des boîtes d'ancrage prédéfinies pour prédire l'emplacement des objets. Cette dépendance nécessite souvent un réglage minutieux des hyperparamètres pour les ensembles de données personnalisés, une complexité qui a été supprimée dans les détecteurs modernes sans ancrage tels que YOLO11.
RTDETRv2 : Transformateurs pour la vitesse en temps réel
RTDETRv2 (Real-Time Detection Transformer v2) s'appuie sur le succès du RT-DETR original et vise à résoudre le problème du coût de calcul élevé associé aux détecteurs traditionnels basés sur des transformateurs, tels que DETR. Développé par Baidu, il prouve que les architectures de transformateurs peuvent atteindre des vitesses en temps réel sur GPU .
Détails techniques clés :
- Auteurs : Wenyu Lv, Yian Zhao, Qinyao Chang, et al.
- Organisation :Baidu
- Date : 17 avril 2023 (v1), 2024 (mises à jour v2)
- Liens :Article ArXiv | Dépôt GitHub
RTDETRv2 utilise un encodeur hybride qui traite efficacement les caractéristiques multi-échelles. Sa caractéristique principale est la sélection de requêtesIoU, qui aide le modèle à se concentrer sur les parties les plus pertinentes d'une image. RTDETRv2 est avant tout un détecteur de bout en bout. Il ne nécessite pas de post-traitement par suppression non maximale (NMS), ce qui simplifie les pipelines de déploiement et réduit la variance de latence dans les scènes encombrées. Cependant, cela se traduit par une consommation de mémoire plus élevée pendant l'entraînement par rapport aux modèles basés sur CNN.
Comparaison technique : architecture et cas d'utilisation
Comprendre les différences fondamentales entre ces architectures aide à choisir l'outil adapté à des applications spécifiques de vision par ordinateur.
1. Architecture : CNN vs transformateur hybride
YOLOv7 uniquement sur des convolutions. Cela le rend extrêmement efficace sur les appareils périphériques dotés d'une mémoire limitée mais d'une puissance de calcul correcte, car les CNN sont naturellement invariants par translation. RTDETRv2 combine des backbones CNN avec des encodeurs Transformer. Cela lui permet de mieux saisir le contexte global (améliorant ainsi la précision dans les scènes complexes), mais augmente considérablement les besoins CUDA . Par exemple, l'entraînement d'un modèle Transformer nécessite souvent des GPU haut de gamme (par exemple, A100 ou H100) pour traiter des tailles de lots raisonnables, alors que YOLOv7 souvent être entraîné sur du matériel grand public.
2. Conclusion : le NMS
YOLOv7 des milliers de cadres de sélection candidats qui doivent être filtrés à l'aide NMS. Dans les scénarios comportant des objets denses (comme le comptage des stocks dans le commerce de détail), NMS devenir un goulot d'étranglement en termes de vitesse. RTDETRv2 supprime complètement cette étape, en produisant exactement le nombre de cadres requis.
Le meilleur des deux mondes
Ultralytics modernes tels que YOLO26 intègrent désormais une conception de bout en bout NMS similaire à RTDETRv2, mais reposant sur une architecture CNN hautement optimisée. Cela permet de bénéficier de la simplicité de déploiement des transformateurs tout en conservant l'efficacité et la rapidité d'entraînement de YOLO.
3. Déploiement et écosystème
Bien que les deux modèles s'appuient sur des recherches solides, Ultralytics offre un avantage distinct en termes de maintenabilité. Le référentiel officiel YOLOv7 est en grande partie statique, tandis que Ultralytics font l'objet de mises à jour fréquentes, garantissant ainsi leur compatibilité avec les dernières versions de PyTorch, ONNX et TensorRT.
L'alternative moderne : Ultralytics
Pour les développeurs qui recherchent la précision des transformateurs et la vitesse des CNN, Ultralytics s'impose comme le choix idéal. Lancé en 2026, il intègre les avantages « de bout en bout » de RTDETRv2 tout en remédiant à ses faiblesses en matière d'utilisation des ressources.
Pourquoi choisir YOLO26 ?
- Nativement de bout en bout : tout comme RTDETRv2, YOLO26 élimine NMS, simplifiant ainsi l'exportation vers TensorRT et CoreML.
- Optimiseur MuSGD : inspiré de la formation LLM, cet optimiseur garantit une convergence stable, réduisant ainsi les « essais et erreurs » souvent nécessaires lors de la formation de modèles plus anciens tels que YOLOv7.
- Optimisation de la périphérie : YOLO26 supprime la perte focale de distribution (DFL), ce qui le rend nettement plus léger. Il offre CPU jusqu'à 43 % plus rapide, un indicateur essentiel pour les appareils périphériques où RTDETRv2 rencontre souvent des difficultés en raison des calculs lourds du transformateur.
- Polyvalence : contrairement à YOLOv7 RTDETRv2 qui se concentrent principalement sur la détection, YOLO26 prend en charge nativement la segmentation, l'estimation de pose et les boîtes englobantes orientées (OBB).
Équilibre des performances
YOLO26 exploite ProgLoss et STAL (Soft-Target Anchor Loss) pour améliorer la détection des petits objets, un domaine dans lequel YOLO anciennes YOLO étaient historiquement à la traîne par rapport aux transformateurs. Cela le rend idéal pour des applications telles que l'analyse d'images aériennes ou le comptage de cellules médicales.
Exemple de code : intégration transparente
Le passage des anciens modèles à la dernière Ultralytics se fait sans effort. Python Ultralytics masque la complexité des différences d'architecture.
from ultralytics import YOLO
# Load the latest YOLO26 model (recommended)
model = YOLO("yolo26n.pt")
# Alternatively, load RT-DETR or YOLOv7 within the same ecosystem
# model = YOLO("rtdetr-l.pt")
# model = YOLO("yolov7.pt")
# Train on a dataset like COCO8
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with NMS-free speed (native in YOLO26)
results = model("https://ultralytics.com/images/bus.jpg")
Résumé
- Utilisez YOLOv7 si vous gérez des systèmes hérités et avez besoin d'un détecteur éprouvé, purement basé sur CNN, et si vous avez le temps de régler les ancres.
- Utilisez RTDETRv2 si vous avez besoin d'une inférence de bout en bout sur des GPU haut de gamme et si vous pouvez vous permettre le coût plus élevé de la VRAM pendant l'entraînement.
- Utilisez Ultralytics pour obtenir le meilleur équilibre. Il offre les avantages de RTDETR NMS de bout en bout, la vitesse et la faible empreinte mémoire de YOLO, ainsi que la prise en charge robuste de la Ultralytics .
Pour la plupart des nouveaux projets en 2026, la facilité d'utilisation, la documentation et le rapport performance/efficacité de YOLO26 en font le point de départ recommandé.