YOLOv5 RTDETRv2 : Évaluation des architectures CNN et Transformer pour la détection d'objets
Le domaine de la vision par ordinateur s'est considérablement développé au cours des dernières années, offrant aux développeurs un large éventail d'architectures pour traiter des tâches visuelles complexes. Parmi les paradigmes les plus populaires figurent les réseaux neuronaux convolutifs (CNN) et les transformateurs de détection (DETR).
Ce guide propose une comparaison technique approfondie entre deux modèles phares dans ces catégories : Ultralytics YOLOv5, un modèle basé sur CNN très efficace et largement adopté, et RTDETRv2, un détecteur d'objets en temps réel de pointe basé sur un transformateur.
Ultralytics YOLOv5: la norme industrielle en matière d'efficacité
Depuis sa sortie, Ultralytics YOLOv5 devenu un pilier de la communauté IA, alimentant des milliers d'applications commerciales et de projets de recherche à travers le monde. Entièrement basé sur le PyTorch , il privilégie une expérience de développement intuitive sans compromettre les performances en temps réel.
Caractéristiques clés :
- Auteur : Glenn Jocher
- Organisation :Ultralytics
- Date : 2020-06-26
- Liens :Référentiel GitHub
Architecture et points forts
YOLOv5 une architecture CNN simplifiée conçue pour maximiser l'efficacité de l'extraction des caractéristiques tout en conservant une empreinte mémoire extrêmement faible. Il utilise une structure CSPDarknet et un cou PANet, créant ainsi une combinaison puissante pour la fusion de caractéristiques à plusieurs échelles.
L'un des principaux avantages de YOLOv5 son équilibre en termes de performances. Il offre un compromis exceptionnel entre vitesse et précision, ce qui en fait un choix idéal pour le déploiement de modèles sur du matériel aux ressources limitées, comme les appareils NVIDIA et les smartphones.
De plus, YOLOv5 une polyvalence inégalée. Contrairement aux modèles strictement limités aux prédictions de boîtes englobantes, YOLOv5 prend en charge YOLOv5 la classification d'images et la segmentation d'instances, fournissant ainsi un cadre unifié pour diverses tâches visuelles. Son efficacité d'entraînement est également remarquable, car il nécessite beaucoup moins CUDA pendant l'entraînement que les architectures basées sur des transformateurs.
Faiblesses
Comme il repose sur un ancien framework CNN, YOLOv5 dépend YOLOv5 de la suppression non maximale (NMS) pendant le post-traitement pour éliminer les boîtes englobantes en double. Bien que hautement optimisé dans le Ultralytics , NMS parfois entraîner des goulots d'étranglement de latence sur les NPU spécialisées en périphérie.
RTDETRv2 : Transformateurs en temps réel par Baidu
RTDETRv2 (Real-Time Detection Transformer v2) représente une avancée considérable dans l'application des architectures de transformateurs à la détection d'objets en temps réel, remédiant ainsi aux inefficacités informatiques qui ont longtemps affecté les DETR standard.
Caractéristiques clés :
- Auteurs : Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang et Yi Liu
- Organisation :Baidu
- Date : 2024-07-24
- Liens :Article Arxiv, référentiel GitHub
Architecture et points forts
RTDETRv2 s'appuie sur son prédécesseur en utilisant un encodeur hybride et un décodeur flexible pour traiter les images. Le mécanisme d'auto-attention du transformateur fournit au modèle une compréhension globale du contexte de l'image, ce qui lui permet d'obtenir des performances exceptionnelles dans des scènes complexes présentant une occlusion importante des objets.
Une caractéristique déterminante de RTDETRv2 est sa conception de bout en bout, NMS. En prédisant directement les requêtes d'objets sans nécessiter de boîtes d'ancrage ou NMS , il simplifie le pipeline d'inférence. Cette architecture atteint un mAP précision moyenne) impressionnant sur des ensembles de données de référence tels que COCO.
Faiblesses
Malgré ses capacités en temps réel, RTDETRv2 a des besoins en mémoire nettement plus élevés que YOLO . Les mécanismes d'attention dans les transformateurs évoluent de manière quadratique avec la longueur de la séquence, ce qui peut entraîner des erreurs de mémoire insuffisante lors d'un entraînement en haute résolution, à moins d'utiliser GPU massifs. De plus, il ne dispose pas de la polyvalence prête à l'emploi de Ultralytics , se concentrant principalement sur la détection d'objets en 2D sans prise en charge native de la segmentation ou de l'estimation de la pose.
Tableau comparatif des performances
Afin d'évaluer objectivement ces architectures, nous avons compilé leurs indicateurs de performance. Les valeurs mises en évidence en gras représentent les indicateurs les plus efficaces ou les plus performants parmi les échelles testées.
| 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 |
Contexte de performance
Bien que RTDETRv2-x atteigne le mAP absolu le plus élevé, il nécessite près de 30 fois plus de paramètres que YOLOv5n. Pour les applications à grande vitesse fonctionnant sur du matériel limité, Ultralytics offrent systématiquement la meilleure efficacité de calcul.
L'avantage de l'écosystème Ultralytics
Lors du transfert d'un modèle d'un cahier de recherche vers un environnement de production, le logiciel qui entoure le modèle est aussi important que l'architecture du réseau neuronal. L'écosystème bien entretenu fourni par Ultralytics accélère Ultralytics le cycle de vie du développement.
Facilité d'utilisation inégalée
Ultralytics privilégient une expérience utilisateur incroyablement simplifiée. Que vous souhaitiez former un modèle personnalisé, effectuer une validation ou exporter vers des formats spécifiques à un matériel tel que TensorRT ou ONNX, Python Ultralytics vous permet d'y parvenir en quelques lignes de code seulement.
Voici un exemple de code pratique illustrant la simplicité avec laquelle il est possible d'entraîner et d'exécuter une inférence à l'aide d'un Ultralytics :
from ultralytics import YOLO
# Initialize the model (automatically downloads the weights)
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device="cpu")
# Perform inference on an online image
inference_results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the resulting image with bounding boxes
inference_results[0].show()
Cette API simple et unifiée prend en charge nativement les intégrations de suivi des expériences avec des outils tels que Weights & Biases et Comet, permettant aux développeurs d'enregistrer des métriques de manière transparente sans avoir à écrire de code standard complexe.
Cas d'utilisation et recommandations
Le choix entre YOLOv5 RT-DETR des exigences spécifiques de votre projet, des contraintes de déploiement et des préférences de votre écosystème.
Quand choisir YOLOv5
YOLOv5 un excellent choix pour :
- Systèmes de production éprouvés : déploiements existants où track longue track YOLOv5 en matière de stabilité, sa documentation exhaustive et le soutien massif de la communauté sont appréciés.
- Formation avec ressources limitées : environnements avec GPU limitées où le pipeline de formation efficace et les faibles exigences en mémoire YOLOv5 sont avantageux.
- Prise en charge étendue des formats d'exportation : projets nécessitant un déploiement dans de nombreux formats, notamment ONNX, TensorRT, CoreMLet TFLite.
Quand choisir RT-DETR
RT-DETR recommandé pour :
- Recherche sur la détection basée sur les transformateurs : projets explorant les mécanismes d'attention et les architectures de transformateurs pour la détection d'objets de bout en bout sans NMS.
- Scénarios à haute précision avec latence flexible : applications où la précision de détection est la priorité absolue et où une latence d'inférence légèrement plus élevée est acceptable.
- Détection d'objets volumineux : scènes comportant principalement des objets de taille moyenne à grande, où le mécanisme d'attention globale des transformateurs offre un avantage naturel.
Quand choisir Ultralytics YOLO26)
Pour la plupart des nouveaux projets, Ultralytics offre la meilleure combinaison entre performances et expérience développeur :
- DéploiementNMS suppressionNMS maximale (NMS: applications nécessitant une inférence cohérente et à faible latence sans la complexité du post-traitement par suppression non maximale.
- EnvironnementsCPU: appareils sans GPU dédiée, où CPU jusqu'à 43 % plus rapide de YOLO26 offre un avantage décisif.
- Détection de petits objets : scénarios complexes tels que l'imagerie aérienne par drone ou l'analyse par capteurs IoT, où ProgLoss et STAL améliorent considérablement la précision sur les objets minuscules.
Perspectives d'avenir : YOLO11 YOLO26
Si vous vous lancez aujourd'hui dans un nouveau projet de vision, nous vous recommandons vivement de découvrir les dernières générations de Ultralytics .
Bien que YOLOv5 incroyablement fiable, YOLO11 offre une précision améliorée et un ensemble de tâches élargi, notamment la détection des boîtes englobantes orientées (OBB).
Plus important encore, le système de pointe YOLO26 combine le meilleur des deux mondes. Il met en œuvre une conception de bout en bout NMS (introduite pour la première fois dans YOLOv10), éliminant ainsi la surcharge liée au post-traitement tout en conservant l'efficacité d'un CNN. YOLO26 introduit également l'optimiseur MuSGD, inspiré des innovations en matière de formation LLM, pour une convergence plus rapide. Grâce à la suppression du DFL (Distribution Focal Loss supprimé pour simplifier l'exportation et améliorer la compatibilité avec les appareils de pointe/à faible consommation d'énergie), YOLO26 offre CPU jusqu'à 43 % plus rapide, ce qui en fait le meilleur choix absolu pour l'IA de pointe. De plus, ProgLoss + STAL offre des fonctions de perte améliorées avec des progrès notables dans la reconnaissance des petits objets, ce qui est essentiel pour l'IoT, la robotique et l'imagerie aérienne.
Conclusion
Le choix entre YOLOv5 RTDETRv2 dépend fortement de vos contraintes de déploiement. RTDETRv2 repousse les limites du mAP de puissants mécanismes d'attention des transformateurs, mais son coût en mémoire et en puissance de calcul est élevé.
À l'inverse, Ultralytics YOLOv5 une solution éprouvée, hautement optimisée et polyvalente qui fonctionne parfaitement partout, des serveurs cloud aux microcontrôleurs. Pour les équipes qui recherchent la plus grande précision possible ainsi que des outils de déploiement transparents, la mise à niveau vers YOLO26 au sein de Ultralytics constitue la solution de pointe définitive pour les applications modernes d'IA visuelle.