YOLOv10 vs. RT-DETRv2 : Une comparaison technique pour la détection d’objets
Le choix de l'architecture de détection d'objets optimale est une décision cruciale qui nécessite de naviguer dans les compromis entre la vitesse d'inférence, la précision et les demandes de ressources computationnelles. Ce guide complet compare YOLOv10, une évolution de pointe de la famille YOLO basée sur CNN, connue pour son efficacité, et RT-DETRv2, un modèle sophistiqué basé sur un transformateur conçu pour les tâches de haute précision. Nous analysons leurs innovations architecturales, leurs mesures de performance et leurs scénarios de déploiement idéaux pour 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 un bond en avant significatif dans la lignée YOLO, en se concentrant sur l'élimination des goulots 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 sans NMS qui rationalise le pipeline de déploiement en supprimant le besoin de post-traitement de suppression non maximale.
- Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
- Organisation :Tsinghua University
- Date : 2024-05-23
- Arxiv :2405.14458
- GitHub :THU-MIG/yolov10
- Docs :Documentation YOLOv10
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 sans NMS, ce qui réduit considérablement la latence. L'architecture comprend également une tête de classification légère et un sous-échantillonnage spatial-canal découplé afin de minimiser la redondance de calcul. 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'edge computing où les ressources sont rares.
Inférence sans NMS
La suppression de la suppression non maximale (NMS) par YOLOv10 réduit la complexité des étapes de post-traitement. Cela conduit à une latence d’inférence plus faible et facilite le déploiement du modèle dans des pipelines de bout en bout sans noyaux CUDA personnalisés pour la NMS.
Le modèle s'adapte efficacement à différentes tailles, de la version nano (n) pour les environnements extrêmement contraints à la version extra-large (x) pour des 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 le transformateur
RT-DETRv2 (Real-Time Detection Transformer v2) s'appuie sur le succès du RT-DETR original, en affinant davantage 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 les homologues basés sur CNN dans des scènes complexes avec des occlusions.
- Auteurs : Wenyu Lv, Yian Zhao, Qinyao Chang, et al.
- Organisation :Baidu
- Date : 2024-07-24
- Arxiv :2407.17140
- GitHub :Dépôt RT-DETRv2
- Docs :Documentation RT-DETR
Transformateurs visuels dans la détection
Contrairement aux CNN traditionnels qui traitent les images à l'aide de champs réceptifs locaux, RT-DETRv2 utilise un backbone de Vision Transformer (ViT). Cela permet au modèle de traiter les patchs d'image avec une auto-attention, comprenant ainsi efficacement les relations entre les objets distants d'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 par rapport à l'architecture rationalisée de YOLOv10.
RT-DETRv2 est conçu pour être adaptable, offrant différentes échelles de modèles pour répondre à divers besoins de performance, bien qu’il exige généralement plus de mémoire GPU pour l’entraînement 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 à 1,56 ms sur un GPU T4, ce qui le rend idéal pour le traitement vidéo à haute vitesse. RT-DETRv2, bien que plus lent, offre une précision robuste, en particulier dans les modèles de plus grande taille, mais au prix d'un nombre 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 on peut l'observer dans le tableau, YOLOv10x atteint une mAP supérieure de 54,4 % par rapport aux 54,3 % de RT-DETRv2-x, tout en utilisant 23 % de temps en moins pour l'inférence et en possédant un encombrement de modèle considérablement plus petit. 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 sans NMS permet une inférence extrêmement rapide, cruciale pour les applications en temps réel.
- Efficacité des ressources : Nécessite moins de paramètres et de FLOPs, ce qui le rend approprié pour le déploiement sur des appareils edge AI comme NVIDIA Jetson ou des plateformes mobiles.
- Intégration de l'écosystème : Entièrement intégré à l'écosystème Ultralytics, facilitant l'exportation vers des formats tels que ONNX, TensorRT et CoreML.
- Faiblesses :
- Détection de petits objets : Les versions extrêmement petites (comme YOLOv10n) peuvent sacrifier une certaine précision fine pour une vitesse brute par rapport aux modèles Transformer 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.
- Natif sans NMS : Les transformateurs évitent naturellement le NMS, simplifiant le pipeline de post-traitement de manière similaire à 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.
- Vitesses plus lentes : Le mécanisme d'auto-attention, bien que précis, est coûteux en calcul, ce qui entraîne une latence plus élevée.
- Complexité du déploiement : Les modèles Transformer peuvent parfois être plus difficiles à optimiser pour certains matériels embarqués par rapport aux CNN.
Cas d'utilisation idéaux
Le choix entre ces modèles dépend en grande partie 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, comme dans les drones autonomes ou les applications mobiles. Son faible encombrement mémoire et sa vitesse élevée le rendent parfait pour des scénarios tels que la surveillance du trafic ou l'analyse de vente au détail.
- Choisissez RT-DETRv2 lorsque : Vous disposez d'amples ressources GPU et que vous vous attaquez à des scènes complexes où la précision maximale est la seule priorité, comme la recherche académique haut de gamme ou l'analyse côté serveur d'images difficiles.
L'avantage Ultralytics
Bien que les deux modèles offrent des fonctionnalités intéressantes, l'utilisation des modèles Ultralytics YOLO—y compris YOLOv10 et le YOLO11 de pointe—offre un avantage distinct dans le cycle de vie du développement.
- Facilité d'utilisation : Ultralytics fournit une API Python et une CLI unifiées qui standardisent l'entraînement, la validation et le déploiement. Cela permet aux développeurs de passer de YOLOv8, YOLOv10, YOLO11 et RT-DETR avec une seule ligne de code.
- Efficacité de l'entraînement : Les modèles Ultralytics sont optimisés pour un entraînement efficace, convergeant souvent plus rapidement et nécessitant moins de mémoire que les implémentations standard. Cela réduit les coûts de calcul en nuage et accélère la mise sur le marché.
- Polyvalence : Au-delà de la détection, le framework Ultralytics prend en charge la segmentation, l’estimation de pose et l’OBB, ce qui vous permet d’adapter les capacités de votre projet sans changer d’outils.
- Écosystème bien maintenu : Grâce à des mises à jour fréquentes, des guides exhaustifs et une communauté florissante, les utilisateurs bénéficient d'améliorations continues et d'un support constant.
Exécution de différents modèles
Passer d'une architecture à l'autre se fait en toute transparence avec 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
YOLOv10 et RT-DETRv2 représentent tous deux le fer de lance de la technologie de détection d'objets. RT-DETRv2 est un choix robuste pour les tâches axées sur la 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, YOLOv10 offre un équilibre supérieur. Sa combinaison de vitesse élevée, de faible latence et d'efficacité des ressources en fait le gagnant pratique pour les ingénieurs qui créent des applications évolutives.
De plus, l'exploration de la dernière version de YOLO11 permet aux développeurs d'accéder à des améliorations encore plus importantes en termes de précision et de vitesse, le tout au sein de l'écosystème Ultralytics convivial. Que vous déployiez sur le cloud ou en périphérie, la plateforme Ultralytics vous assure de disposer des outils nécessaires pour créer efficacement des solutions de vision par ordinateur de classe mondiale.
Explorer d'autres modèles
Si vous souhaitez d'autres comparaisons, envisagez de consulter :