Comparaison entre YOLOv10 et 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 examinons les architectures, les métriques de performance et les cas d'utilisation idéaux de YOLOv10 et de DAMO-YOLO. Les deux modèles représentent des avancées majeures dans les capacités de détection d'objets, mais ils suivent 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 exige une précision maximale sur des GPU cloud, comprendre les subtilité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, éliminant ainsi le besoin de suppression des maxima non pertinents (NMS) lors du post-traitement.
Détails de YOLOv10 :
- Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
- Organisation : Tsinghua University
- 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#
L'innovation principale de YOLOv10 est sa stratégie d'assignations doubles cohérentes pour un entraînement sans NMS. Les détecteurs d'objets traditionnels dépendent fortement de la 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 à grande vitesse. En prédisant directement une seule boîte englobante optimale par objet, YOLOv10 offre une inférence à latence ultra-faible et prévisible.
De plus, le modèle applique une conception globale guidée par l'efficacité et la précision. L'architecture optimise divers composants, notamment une tête de classification légère et un sous-échantillonnage découplé spatialement et par canaux, ce qui réduit considérablement la redondance des calculs. Il en résulte une architecture qui affiche un nombre de paramètres inférieur et moins de FLOPs tout en conservant une précision moyenne (mAP) compétitive.
En apprendre davantage sur YOLOv10
Exemple d'utilisation#
YOLOv10 est profondément intégré à l'écosystème Ultralytics, ce qui le rend extrêmement facile à utiliser via le package Python Ultralytics.
from ultralytics import YOLO
# Load a pre-trained YOLOv10 nano model
model = YOLO("yolov10n.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on a test image
results = model("https://ultralytics.com/images/bus.jpg")
# Export the model to TensorRT format
model.export(format="engine", quantize=16)Découverte de DAMO-YOLO#
Développé par Alibaba Group, DAMO-YOLO se concentre sur la découverte de structures de réseaux hautement efficaces grâce à la recherche automatisée d'architecture neuronale (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 : Alibaba Group
- 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 innovantes conçues pour les applications industrielles. La base du modèle repose sur son MAE-NAS Backbone, 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, trouvant ainsi un juste équilibre entre la précision et la latence d'inférence.
De plus, l'architecture utilise 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, ce qui est 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 implémente un ZeroHead, une tête de détection minimaliste qui réduit considérablement la complexité des couches de prédiction finales et économise ainsi un temps de calcul précieux lors de l'inférence.
Comparaison des performances#
Lors de l'évaluation des architectures de détection d'objets, il est primordial 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 de DAMO-YOLO selon leurs différentes tailles de modèles.
| 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 benchmarks, YOLOv10 offre systématiquement des profils de latence exceptionnels sur TensorRT, en particulier dans sa variante nano, qui nécessite beaucoup moins de paramètres et de FLOPs que les modèles comparables de DAMO-YOLO. Bien que DAMO-YOLO offre un mAP élevé dans sa variante tiny, l'efficacité des paramètres et la latence d'inférence de la famille YOLOv10 lui confèrent un avantage distinct pour les environnements de déploiement aux ressources limitées.
Cas d'utilisation et recommandations#
Le choix entre YOLOv10 et DAMO-YOLO dépend des exigences spécifiques de ton projet, de tes contraintes de déploiement et de tes préférences en matière d'écosystème.
Quand choisir YOLOv10#
YOLOv10 est un choix pertinent pour :
- Détection en temps réel sans NMS : les applications qui bénéficient d’une détection de bout en bout sans suppression des non-maxima, réduisant ainsi la complexité du déploiement.
- Compromis équilibré entre vitesse et précision : les projets nécessitant un équilibre solide entre la vitesse d’inférence et la 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 la robotique ou 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 la métrique principale.
- Lignes de fabrication industrielles : 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 lignes d'assemblage.
- Recherche sur la recherche d'architecture neuronale : Étude des effets de la recherche automatisée d'architecture (MAE-NAS) et des backbones reparamétrés efficaces sur les performances de détection.
Quand choisir Ultralytics (YOLO26)#
Pour la plupart des nouveaux projets, Ultralytics YOLO26 offre le meilleur compromis entre performance et expérience développeur :
- Déploiement edge sans NMS : les applications nécessitant une inférence cohérente à faible latence, 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 scénarios difficiles comme les images aériennes prises par drone ou l'analyse de capteurs IoT, où ProgLoss et STAL améliorent considérablement la précision sur les objets minuscules.
L'avantage Ultralytics#
Bien que les deux modèles soient techniquement impressionnants, choisir une architecture pour la production implique d'aller au-delà des seules métriques brutes. Concevoir avec des modèles pris en charge nativement par l'écosystème Ultralytics offre des avantages inégalés aux développeurs comme aux chercheurs.
Facilité d'utilisation et écosystème bien maintenu#
Contrairement aux dépôts universitaires autonomes souvent abandonnés, Ultralytics propose un écosystème robuste et activement maintenu. La configuration d'environnements complexes pour des modèles qui dépendent fortement de pipelines NAS peut être intimidante. En revanche, Ultralytics fournit une API Python standardisée et intuitive ainsi qu'une CLI puissante, accompagnées d'une documentation complète. Cela réduit radicalement 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 devenir coûteux en ressources de 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 rencontrer d'erreurs de mémoire insuffisante, fréquentes lors de l'utilisation de modèles fondés sur des Transformers comme RT-DETR.
Ultralytics s'intègre nativement aux principaux outils MLOps. Tu peux facilement suivre la progression de l'entraînement de ton modèle grâce aux intégrations avec Weights & Biases, Comet ou ClearML, sans aucun code boilerplate supplémentaire.
Polyvalence entre les tâches#
Une limitation importante de nombreux modèles de détection spécialisés est leur champ d'application restreint. Dans l'écosystème Ultralytics, tu ne te limites pas à la détection d'objets. Les outils s'étendent de manière transparente à plusieurs tâches de vision par ordinateur, notamment la segmentation d'instances, la classification d'images, l'estimation de pose et la détection de boîtes englobantes orientées (OBB).
Perspectives d'avenir : l'évolution vers YOLO26#
Alors que YOLOv10 a inauguré l'inférence sans NMS et que DAMO-YOLO a démontré la puissance de la NAS, le domaine de la vision par ordinateur évolue rapidement. Pour les développeurs à la recherche d'une solution de pointe ultime, nous te recommandons de découvrir Ultralytics YOLO26.
Présenté comme le successeur définitif de YOLO11, YOLO26 s'appuie sur les fondations sans NMS établies par YOLOv10, mais les développe considérablement.
Les principales avancées de YOLO26 comprennent :
- Inférence CPU jusqu'à 43 % plus rapide : optimisée spécifiquement pour l'informatique en périphérie et les appareils à faible consommation.
- Suppression de la DFL : la Distribution Focal Loss a été supprimée, ce qui garantit des exports plus simples et une compatibilité accrue avec diverses cibles de déploiement.
- Optimiseur MuSGD : un hybride de SGD et de 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 offrent des gains notables pour la reconnaissance des petits objets, essentielle dans des cas d'utilisation comme l'agriculture et la télédétection.
Grâce à la nouvelle Ultralytics Platform entièrement repensée, les développeurs peuvent annoter, entraîner et déployer en toute simplicité 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 pérenne.