YOLOv10 vs DAMO-YOLO#
Lors de la création de pipelines modernes de vision par ordinateur, il est essentiel de sélectionner la bonne architecture de détection d’objets en temps réel. Dans cette analyse technique complète, nous étudions les architectures, les métriques de performance et les cas d’usage idéaux de YOLOv10 et DAMO-YOLO. Ces deux modèles marquent des avancées importantes en détection d’objets, mais empruntent des voies architecturales différentes pour atteindre leurs objectifs.
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 particularités de 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 révolutionné la famille YOLO en introduisant une approche native de bout en bout, qui élimine efficacement 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 fortement sur NMS pour filtrer les boîtes englobantes qui se chevauchent, ce qui introduit une latence imprévisible, un goulot d’étranglement important pour les applications en temps réel comme les véhicules autonomes et la robotique à haute vitesse. En prédisant directement une seule boîte englobante optimale par objet, YOLOv10 assure une inférence à latence ultra-faible et prévisible.
En outre, le modèle adopte une conception globale axée sur l’efficacité et la précision. L’architecture optimise différents composants, notamment une tête de classification légère et un sous-échantillonnage découplé spatialement et par canal, ce qui réduit considérablement la redondance des calculs. Il en résulte une architecture qui présente moins de paramètres et de FLOPs tout en conservant une précision moyenne (mAP) compétitive.
Exemple d’utilisation#
YOLOv10 est étroitement intégré à l’écosystème Ultralytics, ce qui le rend extrêmement facile à 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 très efficaces grâce à la recherche automatisée d’architectures neuronales (NAS), afin 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 technologies novatrices conçues pour les applications industrielles. Le modèle repose sur son backbone MAE-NAS, généré par une recherche guidée par l’entropie maximale. Ce processus automatisé découvre des structures de backbone qui respectent strictement des budgets de calcul prédéfinis, assurant un équilibre judicieux entre précision et latence d’inférence.
L’architecture utilise également un neck Efficient RepGFPN. Ce réseau pyramidal de caractéristiques est conçu pour améliorer la fusion des caractéristiques à différentes échelles, un point essentiel pour les tâches complexes comme l’analyse d’images aériennes, où la taille des objets varie considérablement. En complément, DAMO-YOLO met en œuvre un ZeroHead, une tête de détection minimaliste qui réduit considérablement la complexité des couches de prédiction finales et économise un temps de calcul précieux pendant l’inférence.
Comparaison des performances#
Lors de l’évaluation des 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 pour leurs tailles de modèle respectives.
| 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 |
Comme le montrent les benchmarks, YOLOv10 offre systématiquement d’excellents profils de latence sur TensorRT, en particulier dans sa variante nano, qui nécessite nettement moins de paramètres et de FLOPs que les modèles comparables de DAMO-YOLO. DAMO-YOLO affiche une mAP élevée dans sa variante tiny, mais l’efficacité des paramètres et la latence d’inférence de la famille YOLOv10 lui confèrent un avantage certain dans les environnements de déploiement soumis à des contraintes.
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 exclusivement CPU : les appareils dépourvus d’accélération GPU dédiée, où l’inférence CPU jusqu’à 43 % plus rapide de YOLO26 constitue un avantage décisif.
- Détection de petits objets : les situations difficiles, comme l’imagerie aérienne par drone ou l’analyse de capteurs IoT, où ProgLoss et STAL améliorent considérablement la précision pour les objets minuscules.
L’avantage Ultralytics#
Bien que les deux modèles soient techniquement impressionnants, choisir une architecture pour la production implique de regarder au-delà des métriques brutes. Construire avec des modèles nativement pris en charge par l’écosystème Ultralytics offre des avantages inégalés aux développeurs comme aux chercheurs.
Facilité d’utilisation et écosystème bien entretenu#
Contrairement aux dépôts universitaires autonomes, souvent abandonnés, Ultralytics propose un écosystème robuste et activement entretenu. La configuration d’environnements complexes pour les modèles qui s’appuient fortement sur des pipelines NAS peut s’avérer intimidante. À l’inverse, Ultralytics fournit une API Python standardisée et intuitive ainsi qu’une CLI puissante, le tout accompagné d’une documentation complète. Cela réduit considérablement 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 nativement aux principaux outils MLOps. Tu peux facilement suivre la progression de l’entraînement de tes modèles grâce aux intégrations avec Weights & Biases, Comet ou ClearML, sans code standard supplémentaire.
Polyvalence entre les tâches#
La spécialisation étroite de nombreux modèles de détection constitue une limite importante. Dans l’écosystème Ultralytics, tu n’es pas limité à la détection d’objets. Les outils s’étendent facilement à plusieurs tâches de vision par ordinateur, notamment la segmentation d’instance, la classification d’images, l’estimation de pose et la détection par boîtes englobantes orientées (OBB).
Perspectives : l’évolution YOLO26#
YOLOv10 a ouvert la voie à l’inférence sans NMS et DAMO-YOLO a démontré la puissance de la NAS, mais le domaine de la vision par ordinateur évolue rapidement. Pour les développeurs à la recherche d’une solution de pointe, nous recommandons de découvrir Ultralytics YOLO26.
Lancé comme successeur de référence de YOLO11, YOLO26 s’appuie sur les bases sans NMS établies par YOLOv10, mais va nettement plus loin.
Les principales avancées de YOLO26 comprennent :
- Jusqu’à 43 % d’accélération de l’inférence CPU : spécialement optimisé pour l’informatique en périphérie et les appareils basse consommation.
- Suppression de DFL : la perte focale de distribution a été supprimée, ce qui simplifie les exportations et améliore la compatibilité avec diverses cibles de déploiement.
- Optimiseur MuSGD : un hybride de SGD et Muon qui apporte directement à la vision par ordinateur une stabilité avancée de l’entraînement des LLM et une convergence plus rapide.
- ProgLoss + STAL : des fonctions de perte considérablement améliorées qui optimisent notablement la reconnaissance des petits objets, essentielle pour des cas d’usage comme l’agriculture et la télédétection.
Grâce à la nouvelle version remaniée de la plateforme Ultralytics, les développeurs peuvent annoter, entraîner et déployer sans difficulté des modèles de nouvelle génération comme YOLO26 en quelques clics seulement, afin de garantir que leur pipeline de vision par ordinateur reste à la pointe et prêt pour l’avenir.