YOLOv10 vs. RT-DETRv2: Une comparaison technique pour la détection d'objets
Le choix de l'architecture optimale de détection d'objets est une décision cruciale qui nécessite de trouver un compromis entre la vitesse d'inférence, la précision et les exigences en matière de ressources informatiques. Ce guide complet compare YOLOv10une évolution de pointe de la famille YOLO basée sur le CNN et connue pour son efficacité, et RT-DETRv2un modèle sophistiqué basé sur des transformateurs et conçu pour des tâches de haute précision. Nous analysons leurs innovations architecturales, leurs mesures de performance et leurs scénarios de déploiement idéaux afin de vous aider à faire un choix éclairé pour vos projets de vision par ordinateur.
YOLOv10: Détection en temps réel axée sur l'efficacité
YOLOv10 représente une avancée significative dans la lignée de YOLO , en se concentrant sur l'élimination des goulets d'étranglement des détecteurs traditionnels en temps réel. Développé par des chercheurs de l'université de Tsinghua, il introduit un paradigme d'entraînement NMS qui rationalise le pipeline de déploiement en supprimant la nécessité d'un post-traitement de suppression non maximale.
- Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
- Organisation :Université de Tsinghua
- Date : 2024-05-23
- Arxiv :2405.14458
- GitHub :THU-MIG/yolov10
- Docs :DocumentationYOLOv10
Innovations architecturales
YOLOv10 adopte une conception holistique axée sur l'efficacité et la précision. Il utilise des affectations doubles cohérentes pendant l'entraînement pour permettre une inférence NMS, ce qui réduit considérablement la latence. L'architecture comporte également une tête de classification légère et un sous-échantillonnage découplé des canaux spatiaux afin de minimiser la redondance des calculs. Cette conception garantit que le modèle reste extrêmement rapide tout en conservant une précision compétitive, ce qui le rend particulièrement adapté à l'informatique en périphérie où les ressources sont rares.
Inférence NMS
La suppression de la suppression non maximale (NMS) dans YOLOv10 réduit la complexité des étapes de post-traitement. Cela permet de réduire la latence de l'inférence et facilite le déploiement du modèle dans les pipelines de bout en bout sans noyau CUDA personnalisé pour la NMS.
Le modèle s'adapte efficacement à différentes tailles, de la version nano (n) pour les environnements extrêmement contraignants à la version extra-large (x) pour les exigences de précision plus élevées.
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Run inference on an image
results = model.predict("path/to/image.jpg")
RT-DETRv2: Précision basée sur les transformateurs
RT-DETRv2(Real-Time Detection Transformer v2) s'appuie sur le succès du RT-DETR original, en affinant encore l'application des transformateurs de vision pour la détection d'objets en temps réel. Développé par Baidu, ce modèle exploite les mécanismes d'auto-attention pour capturer le contexte global, surpassant souvent ses homologues basés sur le CNN dans des scènes complexes avec occlusions.
- Auteurs : Wenyu Lv, Yian Zhao, Qinyao Chang, et al.
- Organisation :Baidu
- Date : 2024-07-24
- Arxiv :2407.17140
- GitHub :DépôtRT-DETRv2
- Docs :DocumentationRT-DETR
Transformateurs visuels dans la détection
Contrairement aux CNN traditionnels qui traitent les images en utilisant des champs réceptifs locaux, RT-DETRv2 utilise un transformateur de vision (ViT). Cela permet au modèle de traiter les parcelles d'image avec une auto-attention, en comprenant efficacement les relations entre les objets distants dans une scène. Bien que cette capacité de contexte global améliore la précision de la détection, elle s'accompagne généralement de coûts de calcul plus élevés que l'architecture rationalisée de YOLOv10.
RT-DETRv2 est conçu pour être adaptable, offrant différentes échelles de modèles pour répondre à différents besoins de performance, bien qu'il demande généralement plus de mémoire GPU pour l'apprentissage et l'inférence que les modèles YOLO équivalents.
Analyse des performances
La comparaison ci-dessous met en évidence les avantages distincts de chaque architecture. YOLOv10 excelle en termes de vitesse et d'efficacité, offrant une latence et un nombre de paramètres remarquablement bas. Par exemple, le modèle YOLOv10n fonctionne en 1,56 ms sur un GPU T4, ce qui le rend idéal pour le traitement vidéo à grande vitesse. RT-DETRv2bien que plus lent, offre une précision robuste, en particulier dans les modèles de plus grande taille, mais au prix de FLOPs et d'une utilisation de la mémoire nettement plus élevés.
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.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 |
Comme le montre le tableau, YOLOv10x obtient un mAP supérieur de 54,4 % par rapport à RT-DETRv2(54,3 %), tout en utilisant 23 % de temps en moins pour l'inférence et en possédant une empreinte de modèle nettement plus petite. Cette efficacité fait de YOLOv10 un choix plus équilibré pour la plupart des applications où les ressources matérielles sont un facteur à prendre en compte.
Points forts et faiblesses
YOLOv10
- Points forts :
- Faible latence : La conception NMS permet une inférence extrêmement rapide, cruciale pour les applications en temps réel.
- Efficacité des ressources : Requiert moins de paramètres et de FLOP, ce qui permet de le déployer sur des appareils d'intelligence artificielle de pointe tels que NVIDIA Jetson ou des plates-formes mobiles.
- Intégration à l'écosystème : Entièrement intégré à l'écosystème Ultralytics , il facilite l'exportation vers des formats tels que ONNX, TensorRT et CoreML.
- Faiblesses :
- Détection des petits objets : Les versions extrêmement petites (comme YOLOv10n) peuvent sacrifier une certaine précision au profit de la vitesse brute par rapport aux modèles de transformateurs plus grands.
RT-DETRv2
- Points forts :
- Contexte global : L'architecture du transformateur excelle dans la compréhension des scènes complexes et des relations entre les objets.
- NatifNMS: Les transformateurs évitent naturellement le NMS, ce qui simplifie le pipeline de post-traitement, comme dans YOLOv10.
- Faiblesses :
- Coût de calcul élevé : La formation et l'inférence nécessitent beaucoup plus de mémoire CUDA et de puissance de calcul.
- Des vitesses plus lentes : Le mécanisme d'auto-attention, bien que précis, est coûteux en termes de calcul, ce qui se traduit par une latence plus élevée.
- Complexité du déploiement : Les modèles de transformateurs peuvent parfois être plus difficiles à optimiser pour certains matériels embarqués que les CNN.
Cas d'utilisation idéaux
Le choix entre ces modèles dépend largement de vos contraintes opérationnelles spécifiques.
- Choisissez YOLOv10 lorsque : Vous avez besoin de performances en temps réel sur des appareils périphériques, tels que des drones autonomes ou des applications mobiles. Sa faible empreinte mémoire et sa vitesse élevée en font un outil idéal pour des scénarios tels que la surveillance du trafic ou l'analyse de la vente au détail.
- Choisissez RT-DETRv2 lorsque : Vous disposez de ressources GPU suffisantes et vous vous attaquez à des scènes complexes où la précision maximale est la seule priorité, comme la recherche universitaire de haut niveau ou l'analyse côté serveur d'images difficiles.
L'avantage Ultralytics
Bien que les deux modèles offrent des caractéristiques intéressantes, l'utilisation de la technologie Ultralytics YOLO d'Ultralytics - y compris YOLOv10 et le modèle de pointe YOLO11-offre un avantage certain dans le cycle de développement.
- Facilité d'utilisation : Ultralytics fournit une APIPython et un CLI unifiés qui standardisent la formation, la validation et le déploiement. Cela permet aux développeurs de passer de YOLOv8 à YOLOv10, de YOLO11 à RT-DETR en une seule ligne de code.
- Efficacité de la formation : Les modèles Ultralytics sont optimisés pour une formation efficace, convergeant souvent plus rapidement et nécessitant moins de mémoire que les implémentations standard. Cela permet de réduire les coûts d'informatique en nuage et d'accélérer la mise sur le marché.
- Polyvalence : Au-delà de la détection, le cadre Ultralytics prend en charge la segmentation, l'estimation de la pose et l'OBB, ce qui vous permet d'augmenter les capacités de votre projet sans changer d'outil.
- Un écosystème bien entretenu : Avec des mises à jour fréquentes, des guides complets et une communauté florissante, les utilisateurs bénéficient d'améliorations et d'une assistance continues.
Exécution de différents modèles
Le passage d'une architecture à l'autre se fait en toute transparence grâce à l'API Ultralytics :
from ultralytics import RTDETR, YOLO
# Train YOLOv10
model_yolo = YOLO("yolov10n.pt")
model_yolo.train(data="coco8.yaml", epochs=100)
# Train RT-DETR
model_rtdetr = RTDETR("rtdetr-l.pt")
model_rtdetr.train(data="coco8.yaml", epochs=100)
Conclusion
Les deux YOLOv10 et le RT-DETRv2 sont à la pointe de la technologie en matière de détection d'objets. RT-DETRv2 est un choix solide pour les tâches de recherche où le coût de calcul est secondaire par rapport à la précision. Cependant, pour la grande majorité des déploiements dans le monde réel, RT-DETRv2 est un choix solide, YOLOv10 offre un équilibre supérieur. Sa combinaison de vitesse élevée, de faible latence et d'efficacité des ressources en fait un choix pratique pour les ingénieurs qui développent des applications évolutives.
En outre, l'exploration des dernières YOLO11 permet aux développeurs d'accéder à des raffinements encore plus importants en termes de précision et de vitesse, le tout au sein de l'écosystème convivial d'Ultralytics . Qu'il s'agisse d'un déploiement dans le nuage ou à la périphérie, la plateforme Ultralytics garantit que vous disposez des outils nécessaires pour élaborer efficacement des solutions de vision par ordinateur de classe mondiale.
Explorer d'autres modèles
Si vous êtes intéressé par d'autres comparaisons, n'hésitez pas à consulter la page suivante :