YOLOv10 vs DAMO-YOLO#
Lors de la création de pipelines modernes de vision par ordinateur, le choix d’une architecture adaptée à la détection d’objets en temps réel est essentiel. Cette analyse technique présente les architectures, les indicateurs de performance et les cas d’usage idéaux de YOLOv10 et DAMO-YOLO. Les deux modèles ont fait progresser la détection en temps réel, mais suivent des voies architecturales différentes.
Que ton projet nécessite un déploiement sur du matériel d’IA en périphérie aux ressources limitées ou une précision maximale sur des GPU cloud, comprendre les différences entre ces architectures t’aidera à prendre une décision éclairée.
Découverte de YOLOv10#
Présenté par des chercheurs de l’université Tsinghua, YOLOv10 a apporté à la famille YOLO une approche native de bout en bout, supprimant le besoin de suppression non maximale (NMS) lors du post-traitement.
Détails de YOLOv10 :
- Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
- Organisation : Université 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
Principales caractéristiques architecturales#
La principale innovation de YOLOv10 est sa stratégie d’assignations doubles cohérentes pour l’entraînement sans NMS. Les détecteurs d’objets traditionnels s’appuient sur NMS pour filtrer les boîtes englobantes qui se chevauchent, ce qui ajoute une latence variable et constitue un goulot d’étranglement pour les applications en temps réel comme les véhicules autonomes et la robotique à haut débit. En prédisant directement une seule boîte englobante par objet, YOLOv10 offre une latence d’inférence faible et prévisible.
De plus, le modèle adopte une conception holistique axée sur l’efficacité et la précision. L’architecture optimise divers composants, notamment une tête de classification légère et un sous-échantillonnage dissociant l’espace et les canaux, afin de réduire les calculs redondants. Elle compte ainsi moins de paramètres et de FLOPs tout en conservant une précision moyenne (mAP) compétitive.
Exemple d’utilisation#
YOLOv10 est intégré à l’écosystème Ultralytics, tu peux donc l’utiliser via le package Python Ultralytics.
from ultralytics import YOLO
# Charger un modèle YOLOv10 nano préentraîné
model = YOLO("yolov10n.pt")
# Entraîner le modèle sur le jeu de données COCO8
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Exécuter l’inférence sur une image de test
results = model("https://ultralytics.com/images/bus.jpg")
# Exporter le modèle au format TensorRT
model.export(format="engine", quantize=16)Découverte de DAMO-YOLO#
Développé par le groupe Alibaba, DAMO-YOLO cherche à découvrir des structures de réseau efficaces grâce à la recherche d’architecture neuronale (NAS) automatisée, dans le but de repousser la frontière de Pareto entre vitesse et précision.
Détails de DAMO-YOLO :
- Auteurs : Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang et Xiuyu Sun
- Organisation : groupe Alibaba
- Date : 2022-11-23
- arXiv : https://arxiv.org/abs/2211.15444v2
- GitHub : https://github.com/tinyvision/DAMO-YOLO
Principales caractéristiques architecturales#
DAMO-YOLO introduit plusieurs techniques adaptées aux applications industrielles. Le modèle repose sur le backbone MAE-NAS, obtenu par une recherche guidée par l’entropie maximale. Ce processus automatisé découvre des structures de backbone respectant des budgets de calcul prédéfinis et établissant un compromis entre précision et latence d’inférence.
L’architecture utilise aussi un neck Efficient RepGFPN. Ce réseau pyramidal de caractéristiques est conçu pour améliorer leur fusion à différentes échelles, ce qui est essentiel pour des tâches complexes comme l’analyse d’imagerie aérienne, où la taille des objets varie considérablement. DAMO-YOLO met également en œuvre ZeroHead, une tête de détection minimale qui réduit la complexité des dernières couches de prédiction et économise des calculs lors de l’inférence.
Comparaison des performances#
Pour évaluer les architectures de détection d’objets, il est essentiel de trouver le bon compromis entre vitesse d’inférence, efficacité des paramètres et précision de détection. Le tableau ci-dessous compare les performances de YOLOv10 et DAMO-YOLO selon les tailles respectives de leurs modèles.
| Modèle | taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 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 |
YOLOv10 est plus précis que DAMO-YOLO à des échelles comparables tout en utilisant moins de paramètres : YOLOv10s atteint 46,3 mAP avec 7,2 millions de paramètres en 2,49 ms, contre 46,0 mAP avec 16,3 millions de paramètres en 3,45 ms pour DAMO-YOLOs. DAMO-YOLOt offre une excellente précision pour sa taille (42,0 mAP), et DAMO-YOLOl est légèrement plus rapide que YOLOv10l sur T4 TensorRT (7,18 ms contre 7,28 ms), mais l’efficacité des paramètres de la famille YOLOv10 lui donne un avantage dans les environnements de déploiement contraints.
Cas d’utilisation et recommandations#
Le choix entre YOLOv10 et DAMO-YOLO dépend des exigences spécifiques de ton projet, des contraintes de déploiement et de tes préférences en matière d’écosystème.
Quand choisir YOLOv10#
YOLOv10 est un excellent choix pour :
- Détection en temps réel sans NMS : les applications qui tirent parti de la détection de bout en bout sans suppression non maximale, ce qui réduit la complexité du déploiement.
- Équilibre entre vitesse et précision : les projets qui nécessitent un bon compromis entre vitesse d’inférence et précision de détection, pour différentes tailles de modèles.
- Applications à latence constante : les scénarios de déploiement où des temps d’inférence prévisibles sont essentiels, comme en robotique ou dans les systèmes autonomes.
Quand choisir DAMO-YOLO#
DAMO-YOLO est recommandé pour :
- Analyse vidéo à haut débit : Traitement de flux vidéo à FPS élevé sur une infrastructure GPU NVIDIA fixe, lorsque le débit avec une taille de lot de 1 est le principal critère.
- Lignes de fabrication industrielle : Scénarios soumis à des contraintes strictes de latence GPU sur du matériel dédié, comme l’inspection qualité en temps réel sur les chaînes de montage.
- Recherche sur la recherche d’architectures neuronales : Étude des effets de la recherche automatisée d’architectures (MAE-NAS) et des backbones efficaces reparamétrés sur les performances de détection.
Quand choisir Ultralytics (YOLO26)#
Pour la plupart des nouveaux projets, Ultralytics YOLO26 offre le meilleur équilibre entre performances et expérience développeur :
- Déploiement en périphérie sans NMS : les applications qui exigent des inférences à faible latence et constantes, sans la complexité du post-traitement par suppression non maximale.
- Environnements sans GPU : Les appareils dépourvus d'accélération GPU dédiée, où l'inférence CPU jusqu'à 43 % plus rapide de YOLO26 (YOLO26n par rapport à YOLO11n) procure un avantage décisif.
- Détection de petits objets : dans des scénarios exigeants comme les images aériennes prises par drone ou l’analyse de capteurs IoT, ProgLoss et STAL améliorent la précision sur les petits objets.
L’avantage Ultralytics#
Choisir une architecture pour la production implique de regarder au-delà des indicateurs bruts. Développer avec des modèles pris en charge par l’écosystème Ultralytics offre plusieurs avantages pratiques aux développeurs et aux chercheurs.
Facilité d’utilisation et écosystème bien entretenu#
Contrairement aux dépôts universitaires autonomes qui reçoivent parfois des mises à jour peu fréquentes, Ultralytics propose un écosystème activement maintenu. La configuration d’environnements complexes pour des modèles reposant sur des pipelines NAS peut s’avérer difficile. Ultralytics fournit plutôt une API Python et une CLI standardisées, accompagnées d’une documentation complète, ce qui réduit le délai de mise sur le marché des solutions de vision personnalisées.
Efficacité de l'entraînement et besoins en mémoire#
L’entraînement de grands modèles peut rapidement coûter cher en calcul. Les architectures YOLO d’Ultralytics sont réputées depuis longtemps pour leur faible empreinte mémoire CUDA pendant l’entraînement et l’inférence. Cette efficacité permet aux développeurs d’entraîner des modèles sur du matériel grand public ou des instances cloud économiques sans subir les erreurs de mémoire insuffisante fréquentes avec les modèles basés sur Transformer comme RT-DETR.
Ultralytics s’intègre aux outils MLOps populaires. Tu peux suivre l’avancement de l’entraînement de ton modèle grâce aux intégrations avec Weights & Biases, Comet ou ClearML, sans code passe-partout supplémentaire.
Polyvalence entre les tâches#
Les modèles de détection spécialisés, notamment YOLOv10 et DAMO-YOLO, ont souvent pour limite de se concentrer uniquement sur la détection. Dans l’écosystème Ultralytics, des modèles comme YOLO11 et YOLO26 étendent les mêmes outils à plusieurs tâches de vision par ordinateur, notamment la segmentation d’instances, la classification d’images, l’estimation de pose et la détection avec des boîtes englobantes orientées (OBB).
Perspectives : l’évolution YOLO26#
YOLOv10 a introduit l’inférence sans NMS dans les modèles YOLO, et DAMO-YOLO a montré ce que NAS peut accomplir. Pour les développeurs qui lancent de nouveaux projets aujourd’hui, nous recommandons Ultralytics YOLO26.
Publié en janvier 2026 pour succéder à YOLO11, YOLO26 s’appuie sur les fondations sans NMS établies par YOLOv10, avec une tête facultative un-à-un (nms=False).
Les principales avancées de YOLO26 comprennent :
- Inférence CPU jusqu’à 43 % plus rapide : YOLO26n est jusqu’à 43 % plus rapide que YOLO11n sur CPU, ce qui le rend adapté à l’informatique en périphérie et aux appareils à faible consommation.
- Suppression de DFL : Distribution Focal Loss a été supprimée, ce qui permet des exportations plus simples et une meilleure compatibilité avec diverses cibles de déploiement.
- Optimiseur MuSGD : hybride de SGD et Muon, il apporte à la vision par ordinateur la stabilité d’entraînement des grands modèles de langage (LLM) et une convergence plus rapide.
- ProgLoss + STAL : Progressive Loss et l’assignation d’étiquettes adaptée aux petites cibles (STAL) améliorent la reconnaissance des petits objets, essentielle pour des cas d’usage comme l’agriculture et la télédétection.
Avec la plateforme Ultralytics, les développeurs peuvent annoter des données, entraîner et déployer des modèles comme YOLO26 depuis un seul endroit.