Une confrontation technique :YOLO RTDETRv2 pour la détection d'objets en temps réel
Le paysage en rapide évolution de la vision par ordinateur a donné naissance à une gamme impressionnante d'architectures conçues pour équilibrer vitesse, précision et efficacité computationnelle. Deux modèles remarquables qui ont apporté des approches uniques pour relever ces défis sontYOLO RTDETRv2. Si les deux modèles visent à fournir des solutions de pointe pour l'inférence en temps réel, ils diffèrent fondamentalement dans leur philosophie architecturale.
Ce guide complet examine en détail les spécifications techniques, les innovations architecturales et les cas d'utilisation pratiques des deux modèles, tout en explorant comment des solutions modernes telles que la Ultralytics et le système de pointe YOLO26 ont redéfini les normes industrielles en matière de déploiement et de facilité d'utilisation.
Aperçus des modèles
ComprendreYOLO
Développé par les chercheurs du groupe Alibaba,YOLO une méthode de détection d'objets rapide et précise qui s'appuie largement sur la recherche d'architecture neuronale (NAS). Il remplace les structures traditionnelles conçues manuellement par des structures générées par NAS et conçues pour une faible latence. De plus, il intègre un réseau RepGFPN (Reparameterized Generalized Feature Pyramid Network) efficace et une conception ZeroHead pour rationaliser l'agrégation des caractéristiques et les prédictions de cadres de sélection.
Détails clés du modèle :
- Auteurs : Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang et Xiuyu Sun
- Organisation :Alibaba Group
- Date : 2022-11-23
- Arxiv :2211.15444v2
- GitHub :tinyvision/DAMO-YOLO
- Documents :YOLO
Comprendre RTDETRv2
Le RTDETRv2 de Baidu représente une avancée significative pour les transformateurs de détection en temps réel. Contrairement aux réseaux neuronaux convolutifs (CNN) traditionnels qui s'appuient sur des boîtes d'ancrage et la suppression non maximale (NMS), RTDETRv2 utilise des mécanismes d'auto-attention pour visualiser l'image dans son ensemble de manière contextuelle. Il génère directement des boîtes englobantes, contournant ainsi complètement l'étape NMS . Ce modèle introduit une stratégie d'entraînement « bag of freebies » afin d'améliorer la précision de base sans augmenter la latence d'inférence.
Détails clés du modèle :
- Auteurs : Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang et Yi Liu
- Organisation :Baidu
- Date : 2024-07-24
- Arxiv :2407.17140
- GitHub :Dépôt RT-DETR
- Docs :Documentation RTDETRv2
Adopter les transformateurs dans l'IA visuelle
Bien que les transformateurs nécessitent des ressources informatiques plus importantes, leur capacité à traiter le contexte global les rend incroyablement efficaces pour la compréhension de scènes complexes, ce qui constitue l'un des principaux atouts de RTDETRv2.
Comparaison des performances
Lors de l'évaluation de ces modèles en vue d'un déploiement dans le monde réel, des paramètres tels que la précision moyenne (mAP), la vitesse d'inférence et l'empreinte mémoire sont essentiels. Les modèles basés sur des transformateurs, tels que RTDETRv2, exigent généralement CUDA plus importante pendant l'entraînement et l'inférence que les CNN légers, tels queYOLO.
Vous trouverez ci-dessous une comparaison détaillée de leurs indicateurs de performance.
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| 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 |
Cas d'utilisation idéaux
YOLO : Grâce à son infrastructure optimisée pour les NAS et au nombre exceptionnellement faible de paramètres dans ses variantes plus petites (comme DAMO-YOLOt), il est particulièrement adapté à un déploiement sur du matériel très limité. Si vous développez des solutions pour des appareils embarqués à l'aide de runtimes tels que ONNX ou des TensorRT pour l'informatique de pointe,YOLO un cadre hautement réactif.
Domaines dans lesquels RTDETRv2 excelle : RTDETRv2 excelle dans les scénarios où des GPU de niveau serveur sont disponibles et où le contexte global de l'image est primordial. Son architecture de transformateur lui permet de résoudre naturellement les chevauchements de cadres de sélection sans NMS, ce qui en fait un choix robuste pour la gestion de foules denses ou le suivi d'objets complexes où les relations spatiales entre des objets distants sont critiques.
Ultralytics : présentation de YOLO26
SiYOLO RTDETRv2 représentent des avancées académiques significatives, la transition de ces modèles vers des applications évolutives et prêtes à être mises en production peut s'avérer difficile. Les développeurs sont souvent confrontés à des bases de code fragmentées, à un manque de prise en charge de l'apprentissage multitâche et à des pipelines de déploiement complexes.
C'est là que Ultralytics se distingue véritablement. En privilégiant la facilité d'utilisation, une Python bien entretenue et une polyvalence inégalée, Ultralytics aux développeurs de passer moins de temps à déboguer et plus de temps à créer.
Le modèle Ultralytics récemment publié tire pleinement parti de ces avantages et offre des avancées qui surpassent celles deYOLO RTDETRv2 :
- Conception NMS de bout en bout : initialement mise au point dans YOLOv10, YOLO26 est nativement de bout en bout. Cela élimine complètement NMS , rendant le déploiement plus rapide et considérablement plus simple que les CNN traditionnels, tout en offrant les avantages de la sortie directe de RTDETRv2.
- CPU jusqu'à 43 % plus rapide : fortement optimisé pour les appareils IA de pointe sans GPU discrets, ce qui en fait un choix nettement supérieur pour les applications IoT par rapport aux transformateurs gourmands en mémoire.
- MuSGD Optimizer : inspiré du Kimi K2 de Moonshot AI, cet hybride de SGD Muon apporte les innovations de l'entraînement des modèles linguistiques à grande échelle (LLM) à la vision par ordinateur, ce qui se traduit par un entraînement remarquablement stable et une convergence plus rapide.
- ProgLoss + STAL : ces fonctions de perte avancées apportent des améliorations notables dans la reconnaissance des petits objets, un domaine dans lequel les modèles ont traditionnellement des difficultés. Cela est essentiel pour les applications d'imagerie aérienne et de drones.
- Suppression de DFL : Distribution Focal Loss a été supprimé afin de simplifier les formats d'exportation et d'améliorer la compatibilité avec les appareils périphériques à faible consommation d'énergie.
- Polyvalence inégalée : contrairement aux modèles concurrents strictement limités à la détection, YOLO26 inclut des améliorations spécifiques à chaque tâche, telles que la perte d'angle spécialisée pour les boîtes englobantes orientées (OBB), la perte de segmentation sémantique pour une précision au pixel près et l'estimation de la vraisemblance logarithmique résiduelle (RLE) pour l'estimation de la pose.
L'efficacité de la mémoire est importante
L'entraînement de modèles basés sur des transformateurs tels que RTDETRv2 nécessite d'énormes allocations CUDA , ce qui nécessite souventGPU coûteuses.YOLO Ultralytics ont des besoins en mémoire nettement inférieurs, tant pendant l'entraînement que pendant l'inférence, ce qui démocratise le développement de l'IA pour les chercheurs et les amateurs.
Exemple de code : Ultralytics Unified Ultralytics
L'un des principaux avantages de Ultralytics réside dans son API unifiée. Vous pouvez charger, entraîner et valider en toute transparence divers modèles, notamment une PyTorch de RTDETR et YOLO de pointe, sans modifier votre flux de travail.
from ultralytics import RTDETR, YOLO
# Load an RTDETRv2 model
model_rtdetr = RTDETR("rtdetr-l.pt")
# Load the cutting-edge YOLO26 model
model_yolo = YOLO("yolo26n.pt")
# Run inference on an image with a simple, unified interface
results_rtdetr = model_rtdetr("https://ultralytics.com/images/bus.jpg")
results_yolo = model_yolo("https://ultralytics.com/images/bus.jpg")
# Display the detected objects
results_yolo[0].show()
Cette simplicité s'étend à la formation et à l'exportation de jeux de données personnalisés. Grâce au Python Ultralytics , les développeurs peuvent facilement transférer leurs poids formés vers des plateformes de déploiement telles que CoreML ou OpenVINO à l'aide d'une seule commande.
Conclusion et approfondissement
Il est indéniable queYOLO RTDETRv2 ont repoussé les limites du possible en matière de détection d'objets en temps réel.YOLO des structures de réseau hautement optimisées et recherchées automatiquement pour une efficacité brute, tandis que RTDETRv2 prouve que les transformateurs peuvent rivaliser dans l'espace en temps réel en éliminant les goulots d'étranglement traditionnels tels que NMS.
Cependant, pour les développeurs qui recherchent l'équilibre parfait entre performances, documentation complète et disponibilité pour la production, YOLO Ultralytics YOLO restent la référence absolue. Avec l'introduction de YOLO26, les utilisateurs ont accès à une détection de bout en bout de type transformateur, à une efficacité de formation inspirée du LLM et à CPU inégalées, le tout dans un écosystème intuitif et robuste.
Si vous évaluez des modèles pour votre prochain projet, vous trouverez peut-être également utile de lire nos comparaisons entre EfficientDet et RTDETR, et de découvrir la génération précédente YOLO11ou en examinant les références académiques telles que YOLOX. Commencez dès aujourd'hui en consultant le guideUltralytics .