YOLOv10 vs DAMO-YOLO : une comparaison technique des détecteurs d'objets en temps réel
Lors de la conception de pipelines modernes de computer vision, le choix de la bonne architecture de détection d'objets en temps réel est crucial. Dans cette analyse technique complète, nous explorons les architectures, les mesures de performance et les cas d'utilisation idéaux pour YOLOv10 et DAMO-YOLO. Les deux modèles représentent des avancées significatives 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 edge AI contraint ou exige une précision maximale sur des GPU cloud, comprendre les nuances de ces architectures t'aidera à prendre une décision éclairée.
Explorer YOLOv10
Présenté par des chercheurs de l'Université Tsinghua, YOLOv10 a révolutionné la famille YOLO en introduisant une approche nativement de bout en bout, éliminant efficacement le besoin de Non-Maximum Suppression (NMS) lors du post-traitement.
Détails de YOLOv10 :
- Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
- Organisation : Université Tsinghua
- Date : 23/05/2024
- Arxiv : https://arxiv.org/abs/2405.14458
- GitHub : https://github.com/THU-MIG/yolov10
- Docs : https://docs.ultralytics.com/models/yolov10/
Caractéristiques architecturales clés
L'innovation principale de YOLOv10 est sa stratégie de Consistent Dual Assignments pour un entraînement sans NMS. Les détecteurs d'objets traditionnels dépendent fortement du 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 autonomous vehicles et la robotique à haute vitesse. En prédisant directement une seule boîte englobante optimale par objet, YOLOv10 permet une inférence prévisible à latence ultra-faible.
De plus, le modèle utilise une conception Holistic Efficiency-Accuracy Driven Design. L'architecture optimise divers composants, notamment une tête de classification légère et un sous-échantillonnage découplé spatial-canal, ce qui réduit considérablement la redondance computationnelle. Il en résulte une architecture qui bénéficie d'un nombre de paramètres inférieur et de moins de FLOPs tout en conservant un mean Average Precision (mAP) compétitif.
Exemple d'utilisation
YOLOv10 est profondément intégré dans l'écosystème Ultralytics, ce qui le rend incroyablement facile à utiliser via le Ultralytics Python package.
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", half=True)Explorer DAMO-YOLO
Développé par Alibaba Group, DAMO-YOLO se concentre sur la découverte de structures de réseau hautement efficaces par le biais de la recherche d'architecture neuronale automatisée (Neural Architecture Search, ou NAS), visant à repousser la frontière de Pareto en matière de vitesse et de 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 : 23/11/2022
- Arxiv : https://arxiv.org/abs/2211.15444v2
- GitHub : https://github.com/tinyvision/DAMO-YOLO
Caractéristiques architecturales clés
DAMO-YOLO introduit plusieurs technologies innovantes adaptées aux applications industrielles. La base du modèle est son MAE-NAS Backbone, généré via une recherche évolutionnaire multi-objectifs. Ce processus automatisé découvre des structures dorsales qui respectent strictement les budgets de calcul prédéfinis, trouvant un équilibre fin entre précision et latence d'inférence.
De plus, l'architecture utilise un cou Efficient RepGFPN. Ce réseau de pyramide de caractéristiques est conçu pour améliorer la fusion des caractéristiques à travers différentes échelles, ce qui est crucial pour des tâches complexes comme l'aerial imagery analysis où les objets varient considérablement en taille. Pour compléter cela, DAMO-YOLO implémente une ZeroHead, une tête de détection minimaliste qui réduit radicalement la complexité des couches de prédiction finales, économisant 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 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 en fonction de leurs tailles de modèle respectives.
| Modèle | taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | params (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 observé dans les benchmarks, YOLOv10 offre systématiquement des profils de latence exceptionnels sur TensorRT, en particulier dans sa variante nano, nécessitant nettement moins de paramètres et de FLOPs que les modèles comparables de DAMO-YOLO. Bien que DAMO-YOLO offre un mAP solide dans sa variante tiny, l'efficacité des paramètres et la latence d'inférence de la famille YOLOv10 offrent un avantage distinct pour 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 choix solide pour :
- Détection en temps réel sans NMS : Applications bénéficiant d'une détection de bout en bout sans suppression des non-maximums, réduisant la complexité de déploiement.
- Compromis vitesse-précision équilibrés : Projets nécessitant un bon équilibre entre la vitesse d'inférence et la précision de détection sur différentes échelles de modèles.
- Consistent-Latency Applications: Deployment scenarios where predictable inference times are critical, such as robotics or autonomous systems.
Quand choisir DAMO-YOLO
DAMO-YOLO est recommandé pour :
- Analytique vidéo à haut débit : Traitement de flux vidéo à haut FPS sur une infrastructure GPU NVIDIA fixe où le débit batch-1 est la métrique principale.
- Lignes de fabrication industrielle : Scénarios avec des contraintes de latence GPU strictes sur du matériel dédié, comme l'inspection qualité en temps réel sur les chaînes de montage.
- Recherche en recherche d'architecture neuronale : Étude des effets de la recherche d'architecture automatisée (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 la meilleure combinaison de performance et d'expérience développeur :
- Déploiement Edge sans NMS : Applications nécessitant une inférence cohérente et à faible latence sans la complexité du post-traitement par suppression des non-maximums.
- Environnements 100 % CPU : Appareils sans accélération GPU dédiée, où l'inférence CPU jusqu'à 43 % plus rapide de YOLO26 offre un avantage décisif.
- Détection de petits objets : Scénarios difficiles comme l'imagerie par drone aérien 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, le choix d'une architecture pour la production implique de regarder au-delà des mesures brutes. Construire avec des modèles pris en charge nativement par l'Ultralytics ecosystem offre des avantages inégalés, tant pour les développeurs que pour les chercheurs.
Facilité d'utilisation et écosystème bien entretenu
Contrairement aux dépôts académiques autonomes qui sont souvent abandonnés, Ultralytics propose un écosystème robuste et activement maintenu. Mettre en place des environnements complexes pour des modèles reposant lourdement sur des pipelines NAS peut être intimidant. À l'inverse, Ultralytics fournit une API Python standardisée et intuitive ainsi qu'une CLI puissante, soutenues par une documentation étendue. Cela réduit radicalement le temps de mise sur le marché pour les solutions de vision personnalisées.
Efficacité de l'entraînement et exigences en mémoire
L'entraînement de grands modèles peut rapidement devenir coûteux en calcul. Les architectures YOLO d'Ultralytics sont historiquement reconnues pour leur faible empreinte mémoire CUDA lors de l'entraînement et de 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 rentables sans rencontrer d'erreurs de mémoire insuffisante, courantes lors de l'utilisation de modèles basés sur des Transformers comme RT-DETR.
Ultralytics s'intègre nativement avec les meilleurs outils MLOps. Tu peux facilement suivre la progression de l'entraînement de ton modèle en utilisant les intégrations avec Weights & Biases, Comet ou ClearML sans aucun code passe-partout 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 étroit. Au sein de l'écosystème Ultralytics, tu n'es pas limité à la simple détection d'objets. Les outils s'étendent de manière transparente à de multiples computer vision tasks, notamment l'instance segmentation, l'image classification, l'pose estimation et l'oriented bounding box (OBB) detection.
En regardant vers l'avenir : L'évolution YOLO26
Alors que YOLOv10 a été pionnier dans l'inférence sans NMS et que DAMO-YOLO a démontré la puissance du NAS, le domaine de la vision par ordinateur progresse rapidement. Pour les développeurs à la recherche de la solution ultime à la pointe de la technologie, nous recommandons de découvrir Ultralytics YOLO26.
Publié en tant que successeur définitif de YOLO11, YOLO26 s'appuie sur la base sans NMS établie par YOLOv10, mais va beaucoup plus loin.
Les avancées clés de YOLO26 incluent :
- Inférence CPU jusqu'à 43 % plus rapide : Spécifiquement optimisée pour le edge computing et les appareils à faible consommation.
- Suppression de DFL : La Distribution Focal Loss a été supprimée, garantissant des exportations plus simples et une compatibilité améliorée avec diverses cibles de déploiement.
- Optimiseur MuSGD : Un hybride de SGD et de Muon, apportant la stabilité avancée de l'entraînement des LLM et une convergence plus rapide directement dans la vision par ordinateur.
- ProgLoss + STAL : Des fonctions de perte radicalement améliorées qui offrent des améliorations notables dans la reconnaissance des petits objets, ce qui est essentiel pour des cas d'utilisation comme l'agriculture et la télédétection.
En utilisant la nouvelle Ultralytics Platform, les développeurs peuvent annoter, entraîner et déployer en toute transparence des modèles de nouvelle génération comme YOLO26 en quelques clics seulement, garantissant ainsi que ton pipeline de vision par ordinateur est à la fois à la pointe et pérenne.