YOLOv10 vs DAMO-YOLO : une comparaison technique
Le choix du modèle de détection d'objets optimal est une décision essentielle qui équilibre les compromis entre la précision, la vitesse et le coût de calcul. Cette page fournit une comparaison technique détaillée entre YOLOv10, le dernier modèle très efficace intégré à l'écosystème Ultralytics, et DAMO-YOLO, un détecteur puissant d'Alibaba Group. Nous analyserons leurs architectures, leurs métriques de performance et leurs cas d'utilisation idéaux pour vous aider à faire un choix éclairé pour vos projets de vision par ordinateur.
YOLOv10 : Détection de bout en bout en temps réel
YOLOv10, introduit par des chercheurs de l'université de Tsinghua en mai 2024, marque une avancée significative dans la détection d'objets en temps réel. Son innovation principale est de réaliser la détection de bout en bout en éliminant le besoin de suppression non maximale (NMS), ce qui réduit la surcharge de post-traitement et diminue la latence d'inférence.
Détails techniques :
Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
Organisation :Université de Tsinghua
Date : 2024-05-23
Arxiv :https://arxiv.org/abs/2405.14458
GitHub :https://github.com/THU-MIG/yolov10
Docs :https://docs.ultralytics.com/models/yolov10/
Architecture et principales fonctionnalités
YOLOv10 est construit sur le framework Ultralytics robuste, héritant de sa facilité d'utilisation et de son écosystème puissant. Son architecture introduit plusieurs avancées clés pour une efficacité et des performances supérieures :
- Entraînement sans NMS : YOLOv10 utilise des affectations doubles cohérentes pour les étiquettes pendant l'entraînement. Cela permet au modèle de produire des prédictions propres sans nécessiter l'étape de post-traitement NMS, simplifiant ainsi le pipeline de déploiement et le rendant véritablement de bout en bout.
- Conception holistique axée sur l’efficacité et la précision : L’architecture du modèle a été optimisée de manière exhaustive afin de réduire la redondance de calcul. Cela comprend une tête de classification légère et un sous-échantillonnage spatial-canal découplé, ce qui améliore à la fois la vitesse et les capacités.
- Intégration Ultralytics Transparente : En tant que membre de l'écosystème Ultralytics, YOLOv10 bénéficie d'une expérience utilisateur simplifiée. Cela comprend une API Python simple, une documentation complète, des processus d'entraînement efficaces et des poids pré-entraînés facilement disponibles. Cette intégration permet aux développeurs de démarrer et de déployer rapidement des modèles de manière exceptionnellement simple.
Pourquoi l'absence de NMS est-elle importante ?
Les détecteurs d'objets traditionnels prédisent souvent plusieurs boîtes englobantes pour un seul objet. La suppression non maximale (NMS) est une étape de post-traitement utilisée pour filtrer ces doublons. En éliminant la NMS, YOLOv10 réduit considérablement la latence et la complexité de l'inférence, en particulier dans les scénarios de déploiement en périphérie où chaque milliseconde compte.
DAMO-YOLO : Efficacité axée sur la NAS
DAMO-YOLO est un modèle de détection d'objets rapide et précis développé par le Alibaba Group. Lancé en novembre 2022, il a introduit plusieurs nouvelles techniques pour repousser les limites de performance des détecteurs de style YOLO, en se concentrant fortement sur l'optimisation architecturale grâce à des algorithmes de recherche.
Détails techniques :
Auteurs : Xianzhe Xu, Yiqi Jiang, Weihua Chen, et al.
Organisation :Alibaba Group
Date : 2022-11-23
Arxiv :https://arxiv.org/abs/2211.15444
GitHub :https://github.com/tinyvision/DAMO-YOLO
Docs :https://github.com/tinyvision/DAMO-YOLO/blob/master/README.md
Architecture et principales fonctionnalités
DAMO-YOLO explore des techniques avancées pour améliorer le compromis vitesse-précision. Son architecture est caractérisée par :
- Recherche d'architecture neuronale (NAS) : Le backbone de DAMO-YOLO a été généré à l'aide de NAS, ce qui permet d'obtenir un réseau d'extraction de fonctionnalités hautement optimisé, spécialement conçu pour les tâches de détection.
- Neck RepGFPN efficace : Il intègre une nouvelle conception de réseau de pyramide de caractéristiques (FPN) appelée RepGFPN qui fusionne efficacement les caractéristiques de différentes échelles.
- ZeroHead et AlignedOTA : Le modèle utilise une tête simplifiée, sans paramètre, et une stratégie d’attribution d’étiquettes améliorée appelée AlignedOTA (Aligned Optimal Transport Assignment) afin d’améliorer la précision de la détection et de la localisation.
- Distillation des connaissances : DAMO-YOLO exploite la distillation des connaissances pour améliorer encore les performances de ses modèles plus petits en apprenant à partir de réseaux de professeurs plus grands.
Comparaison directe des performances
Le tableau suivant compare les performances de différentes tailles de modèles YOLOv10 et DAMO-YOLO sur le jeu de données COCO. YOLOv10 démontre systématiquement des performances supérieures, offrant une plus grande précision avec une latence plus faible et moins de paramètres.
| 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 |
| 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 |
Comme le montrent les données, les modèles YOLOv10 surpassent généralement leurs homologues DAMO-YOLO en termes d'efficacité. Par exemple, YOLOv10-S atteint un mAP plus élevé (46,7 contre 46,0) que DAMO-YOLO-S tout en étant significativement plus rapide (2,66 ms contre 3,45 ms) et en ayant moins de la moitié des paramètres (7,2M contre 16,3M). Cette tendance se maintient pour toutes les tailles de modèles, culminant avec YOLOv10-X atteignant le mAP le plus élevé de 54,4.
Analyse des forces et des faiblesses
Points forts de YOLOv10
- Efficacité de pointe : YOLOv10 offre un équilibre exceptionnel entre vitesse et précision, surpassant souvent ses concurrents avec moins de paramètres et une latence plus faible.
- Facilité d'utilisation : Le modèle est incroyablement convivial grâce à son intégration avec l'écosystème Ultralytics.
- Déploiement de bout en bout : La conception sans NMS simplifie l'ensemble du flux de travail, de la formation à l'inférence, ce qui la rend idéale pour les applications du monde réel sur les appareils périphériques.
- Faibles besoins en mémoire : Comparé à des architectures plus complexes, YOLOv10 est efficace dans son utilisation de la mémoire à la fois pendant l'apprentissage et l'inférence.
Points forts de DAMO-YOLO
- Hautes performances : DAMO-YOLO offre une précision et une vitesse compétitives, ce qui en fait un concurrent sérieux dans le domaine de la détection d’objets.
- Technologies innovantes : Il intègre des concepts de recherche de pointe comme NAS et des stratégies avancées d'attribution d'étiquettes qui sont précieuses pour l'exploration académique.
Faiblesses
- YOLOv10 : Bien qu’il soit exceptionnel pour la détection d’objets, YOLOv10 se concentre actuellement sur cette seule tâche, contrairement à la polyvalence d’Ultralytics YOLO11 qui prend en charge la segmentation, la classification et l’estimation de pose prêtes à l’emploi.
- DAMO-YOLO : L'architecture et le pipeline d'entraînement du modèle sont plus complexes que ceux de YOLOv10. Il est principalement disponible dans des boîtes à outils de recherche spécifiques, ce qui peut constituer un obstacle pour les développeurs qui préfèrent une solution plus intégrée et conviviale comme celle proposée par Ultralytics.
L'avantage Ultralytics
Bien que les deux modèles soient impressionnants, les modèles Ultralytics comme YOLOv10 et le modèle phare YOLO11 offrent un avantage distinct pour les développeurs et les chercheurs:
- Écosystème unifié : Ultralytics fournit une plateforme cohérente où l’annotation des données, la formation et le déploiement se déroulent de manière transparente.
- Facilité d'utilisation : Grâce à une API Python simple, vous pouvez charger un modèle et exécuter l'inférence en quelques lignes de code.
- Polyvalence : Ultralytics prend en charge un large éventail de tâches, notamment la segmentation d’instance, la classification d’images, l’estimation de pose et les boîtes englobantes orientées (OBB).
- Support de la communauté : Une communauté dynamique et une documentation complète vous assurent de ne jamais rester bloqué longtemps sur un problème.
Exemple d'utilisation : YOLOv10 avec Ultralytics
L'exécution de YOLOv10 est simple grâce au package Ultralytics python. Voici comment vous pouvez charger un modèle pré-entraîné et exécuter la prédiction sur une image :
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Perform object detection on an image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
Conclusion
YOLOv10 et DAMO-YOLO sont tous deux des modèles de détection d'objets formidables. DAMO-YOLO constitue une excellente référence pour la recherche sur les architectures basées sur NAS et la fusion avancée de caractéristiques. Cependant, pour le déploiement pratique et l'efficacité MLOps, YOLOv10 se distingue comme le choix supérieur. Son architecture sans NMS, combinée à l'écosystème complet Ultralytics, vous assure de passer du concept à la production plus rapidement et avec de meilleures performances.
Pour les utilisateurs qui ont besoin d'une polyvalence encore plus grande dans de multiples tâches de vision, nous recommandons vivement d'explorer YOLO11, qui définit l'état actuel de la technique pour la famille YOLO.
Explorer d’autres comparaisons de modèles
Pour voir comment ces modèles se comparent à d'autres architectures de pointe, consultez ces comparaisons :
- YOLO11 vs. DAMO-YOLO
- YOLOv8 vs. DAMO-YOLO
- RT-DETR vs. DAMO-YOLO
- YOLOX vs. DAMO-YOLO
- YOLOv10 vs. RT-DETR
- YOLOv10 vs. YOLOX