YOLOv5 vs RTDETRv2#
Le paysage 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 aborder des tâches visuelles complexes. Parmi les paradigmes les plus populaires figurent les réseaux de neurones convolutionnels (CNN) et les transformeurs de détection (DETR).
Ce guide propose une comparaison technique approfondie entre deux modèles essentiels de ces catégories : Ultralytics YOLOv5, un modèle basé sur les CNN extrêmement efficace et largement adopté, et RTDETRv2, un détecteur d'objets en temps réel de pointe basé sur les transformeurs.
Ultralytics YOLOv5 : La référence industrielle en matière d'efficacité#
Depuis sa sortie, Ultralytics YOLOv5 est devenu un pilier de la communauté de l'IA, alimentant des milliers d'applications commerciales et de projets de recherche dans le monde entier. Entièrement construit sur le framework PyTorch, il privilégie une expérience développeur intuitive sans compromettre les performances en temps réel.
Caractéristiques clés :
- Auteur : Glenn Jocher
- Organisation : Ultralytics
- Date : 2020-06-26
- Liens : Répertoire GitHub
Architecture et points forts#
YOLOv5 utilise une architecture CNN optimisée conçue pour maximiser l'efficacité de l'extraction de caractéristiques tout en maintenant une empreinte mémoire extrêmement faible. Il emploie un backbone CSPDarknet et un neck PANet, créant une combinaison puissante pour la fusion de caractéristiques multi-échelles.
L'un des principaux avantages de YOLOv5 est son équilibre des 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 Jetson et les smartphones.
De plus, YOLOv5 se targue d'une polyvalence sans égale. Contrairement aux modèles strictement limités aux prédictions de boîtes englobantes, YOLOv5 prend nativement en charge la classification d'images et la segmentation d'instances, fournissant un framework unifié pour des tâches visuelles variées. Son efficacité d'entraînement est également remarquable, nécessitant beaucoup moins de mémoire CUDA pendant l'entraînement par rapport aux architectures basées sur les transformeurs.
Faiblesses#
Puisqu'il repose sur un framework CNN plus ancien, YOLOv5 dépend intrinsèquement de la suppression non maximale (NMS) lors du post-traitement pour éliminer les boîtes englobantes en double. Bien qu'elle soit hautement optimisée au sein du framework Ultralytics, la NMS peut parfois introduire des goulots d'étranglement de latence sur les NPU de périphérie spécialisés.
RTDETRv2 : Les transformeurs en temps réel par Baidu#
RTDETRv2 (Real-Time Detection Transformer v2) représente un bond substantiel dans l'application des architectures de transformeurs à la détection d'objets en temps réel, corrigeant les inefficacités computationnelles qui ont historiquement entravé les DETR standard.
Caractéristiques clés :
- Auteurs : Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang et Yi Liu
- Organisation : Baidu
- Date : 24-07-2024
- Liens : Article Arxiv, Dépôt GitHub
Architecture et points forts#
RTDETRv2 s'appuie sur son prédécesseur en utilisant un encodeur hybride et une conception de décodeur flexible pour traiter les images. Le mécanisme d'auto-attention du transformeur fournit au modèle une compréhension globale du contexte de l'image, lui permettant d'être particulièrement performant dans des scènes complexes avec une occlusion d'objets sévère.
Une caractéristique déterminante de RTDETRv2 est sa conception de bout en bout sans NMS. En prédisant directement les requêtes d'objets sans nécessiter de boîtes d'ancrage ni de post-traitement NMS, il simplifie le pipeline d'inférence. Cette architecture atteint un mAP (précision moyenne globale) impressionnant sur des ensembles de données de référence tels que COCO.
Faiblesses#
Malgré ses capacités en temps réel, RTDETRv2 présente des exigences de mémoire sensiblement plus élevées par rapport aux modèles YOLO. Les mécanismes d'attention dans les transformeurs évoluent de manière quadratique avec la longueur de la séquence, ce qui peut entraîner des erreurs de dépassement de mémoire (out-of-memory) lors d'un entraînement à haute résolution à moins d'utiliser des clusters de GPU massifs. De plus, il lui manque la polyvalence clé en main de l'écosystème 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 pose.
Tableau de comparaison des performances#
Pour évaluer objectivement ces architectures, nous avons compilé leurs métriques de performance. Les valeurs mises en gras représentent les métriques les plus efficaces ou les plus performantes parmi les échelles testées.
| Modèle | taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | params (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 |
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 à haute vitesse fonctionnant sur du matériel limité, les modèles Ultralytics offrent systématiquement la meilleure efficacité computationnelle.
L'avantage de l'écosystème Ultralytics#
Lors du passage d'un modèle d'un notebook de recherche à un environnement de production, le logiciel entourant le modèle est tout aussi important que l'architecture du réseau de neurones. L'écosystème bien maintenu fourni par Ultralytics accélère considérablement le cycle de vie du développement.
Facilité d'utilisation inégalée#
Les modèles Ultralytics privilégient une expérience utilisateur incroyablement simplifiée. Que tu souhaites entraîner un modèle personnalisé, exécuter une validation ou l'exporter vers des formats spécifiques au matériel comme TensorRT ou ONNX, l'API Python d'Ultralytics te permet d'y parvenir en quelques lignes de code seulement.
Voici un exemple de code pratique démontrant à quel point il est simple d'entraîner et d'exécuter une inférence avec un modèle 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 nativement en charge les intégrations de suivi d'expériences avec des outils comme Weights & Biases et Comet, permettant aux développeurs d'enregistrer des métriques de manière transparente sans écrire de code boilerplate complexe.
Cas d'utilisation et recommandations#
Le choix entre YOLOv5 et RT-DETR dépend des exigences spécifiques de ton projet, des contraintes de déploiement et des préférences concernant l'écosystème.
Quand choisir YOLOv5#
YOLOv5 est un choix solide pour :
- Systèmes de production éprouvés : Déploiements existants où la longue expérience de stabilité de YOLOv5, sa documentation étendue et le soutien massif de la communauté sont valorisés.
- Entraînement aux ressources limitées : Environnements avec des ressources GPU limitées où le pipeline d'entraînement efficace et les exigences mémoire inférieures de YOLOv5 sont avantageux.
- Extensive Export Format Support : Projets nécessitant un déploiement sur de nombreux formats, notamment ONNX, TensorRT, CoreML et TFLite.
Quand choisir RT-DETR#
RT-DETR est recommandé pour :
- Recherche sur la détection basée sur les Transformers : 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 de 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 de grands objets : Scènes avec 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 YOLO26 offre la meilleure combinaison de performance et d'expérience développeur :
- Déploiement en périphérie sans NMS : Applications nécessitant une inférence cohérente et à faible latence sans la complexité du post-traitement par Non-Maximum Suppression.
- Environnements CPU uniquement : Appareils sans accélération GPU dédiée, où l'inférence CPU jusqu'à 43 % plus rapide de YOLO26 offre un avantage décisif.
- Détection de petits objets : Les scénarios complexes tels que l'imagerie par drone aérien ou l'analyse par capteurs IoT où ProgLoss et STAL améliorent considérablement la précision sur les minuscules objets.
Vers l'avenir : YOLO11 et YOLO26#
Si tu commences un nouveau projet de vision aujourd'hui, il est fortement recommandé d'explorer les dernières générations de modèles Ultralytics.
Alors que YOLOv5 reste incroyablement fiable, YOLO11 offre une précision accrue et un ensemble étendu de tâches, y compris la détection de boîtes englobantes orientées (OBB).
Plus significatif encore, le YOLO26 de pointe fusionne le meilleur des deux mondes. Il met en œuvre une conception de bout en bout sans NMS (introduite pour la première fois dans YOLOv10), éliminant la surcharge de post-traitement tout en maintenant l'efficacité d'un CNN. YOLO26 introduit également l'optimiseur MuSGD, inspiré des innovations en matière d'entraînement de LLM, pour une convergence plus rapide. Avec la suppression de DFL (Distribution Focal Loss supprimée pour une exportation simplifiée et une meilleure compatibilité avec les appareils de périphérie/à faible consommation), YOLO26 offre jusqu'à 43 % de performances d'inférence CPU en plus, ce qui en fait le choix absolu pour l'IA de périphérie. De plus, ProgLoss + STAL fournit des fonctions de perte améliorées avec des améliorations notables de la reconnaissance des petits objets, essentielle pour l'IoT, la robotique et l'imagerie aérienne.
Conclusion#
Le choix entre YOLOv5 et RTDETRv2 dépend fortement de tes contraintes de déploiement. RTDETRv2 repousse les limites du mAP en utilisant des mécanismes d'attention de transformeur puissants, mais au prix d'une forte consommation de mémoire et d'une surcharge computationnelle.
À l'inverse, Ultralytics YOLOv5 propose une solution éprouvée, hautement optimisée et polyvalente qui fonctionne sans heurts partout, des serveurs cloud aux microcontrôleurs. Pour les équipes recherchant la plus haute précision possible ainsi que des outils de déploiement fluides, la mise à niveau au sein de l'écosystème Ultralytics vers YOLO26 constitue la solution de pointe définitive pour les applications modernes d'IA en vision.