DAMO-YOLO vs YOLOv10 : l'évolution de la détection d'objets efficace en temps réel
Le domaine de la vision par ordinateur a connu une évolution rapide dans les architectures de détection d'objets en temps réel. En comparant DAMO-YOLO et YOLOv10, nous observons deux philosophies distinctes dans la conception des modèles : la recherche d'architecture automatisée contre l'optimisation de bout en bout sans NMS. Bien que les deux repoussent les limites de la précision et de la vitesse, leurs structures sous-jacentes et leurs cas d'utilisation idéaux diffèrent considérablement.
DAMO-YOLO : recherche d'architecture neuronale à grande échelle
Développé par le Alibaba Group, DAMO-YOLO est apparu comme un détecteur puissant axé sur l'utilisation de la découverte automatisée pour l'efficacité structurelle.
- Auteurs : Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang et Xiuyu Sun
- Date : 23 novembre 2022
- Arxiv : 2211.15444v2
- GitHub : tinyvision/DAMO-YOLO
Points forts de l'architecture
DAMO-YOLO repose fortement sur la recherche d'architecture neuronale (NAS) pour équilibrer les performances et la latence. Son backbone, baptisé MAE-NAS, utilise une recherche évolutionnaire multi-objectifs sous des budgets informatiques stricts pour trouver la profondeur et la largeur de couche optimales.
Pour gérer la fusion des caractéristiques à travers les échelles, le modèle utilise un RepGFPN (Reparameterized Generalized Feature Pyramid Network) efficace. Cette conception à "neck" lourd est particulièrement adaptée à l'extraction de hiérarchies spatiales complexes, ce qui la rend utile dans des scénarios comme l'analyse d'imagerie aérienne. De plus, DAMO-YOLO introduit la ZeroHead, une tête de détection simplifiée qui réduit considérablement la complexité des couches de prédiction finales, en s'appuyant sur un processus robuste d'amélioration par distillation pendant l'entraînement.
DAMO-YOLO utilise souvent un processus de distillation de connaissances à plusieurs étapes. Il nécessite l'entraînement d'un modèle "enseignant" plus lourd pour guider le modèle "étudiant" plus petit, ce qui permet d'obtenir une mAP (précision moyenne) plus élevée, mais augmente considérablement le temps de calcul GPU nécessaire.
YOLOv10 : Pionnier de la détection d'objets de bout en bout
Sorti un an et demi plus tard, YOLOv10 a introduit un changement de paradigme en éliminant complètement le besoin de suppression non-maximale (NMS) pendant l'inférence.
- Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
- Organisation : Tsinghua University
- Date : 23 mai 2024
- Arxiv : 2405.14458
- Docs : Ultralytics YOLOv10
Points forts de l'architecture
La caractéristique remarquable de YOLOv10 réside dans ses doubles affectations cohérentes pour un entraînement sans NMS. Les détecteurs traditionnels prédisent plusieurs boîtes englobantes qui se chevauchent pour un seul objet, nécessitant une NMS pour filtrer les doublons. Cette étape de post-traitement crée un goulot d'étranglement, surtout sur les appareils de périphérie (edge). YOLOv10 résout ce problème en permettant au modèle de prédire naturellement une seule boîte englobante précise par objet.
Les auteurs se sont également concentrés sur une conception de modèle globale axée sur l'efficacité et la précision. En analysant soigneusement la redondance informatique dans les architectures existantes, ils ont optimisé le backbone et la tête pour réduire le nombre de FLOPs et de paramètres. Cette conception légère garantit que YOLOv10 offre une latence d'inférence exceptionnelle lorsqu'il est exporté vers des formats comme TensorRT ou OpenVINO.
Performances et benchmarks
Le tableau ci-dessous illustre les mesures de performance brutes sur le jeu de données COCO. Les meilleures valeurs globales dans chaque colonne sont indiquées en gras.
| Modèle | taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Bien que DAMO-YOLO se défende bien en termes de précision, YOLOv10 offre systématiquement une latence plus faible et des poids de modèle nettement plus petits. Par exemple, YOLOv10s atteint une mAP légèrement plus élevée (46,7 %) que DAMO-YOLOs (46,0 %) tout en utilisant moins de la moitié des paramètres (7,2M contre 16,3M). Les exigences en mémoire plus faibles font de YOLOv10 un choix exceptionnellement polyvalent pour les systèmes embarqués.
Efficacité de l'entraînement et utilisabilité
Lors du passage de la recherche académique à la production, la facilité d'utilisation est primordiale. Le processus de distillation en plusieurs étapes et les configurations NAS complexes de DAMO-YOLO peuvent poser des courbes d'apprentissage abruptes pour les équipes d'ingénierie.
Conversely, YOLOv10 benefits immensely from being fully integrated into the Ultralytics Python SDK. Training a custom model involves minimal boilerplate code. Ultralytics handles data augmentation, hyperparameter tuning, and experiment tracking automatically.
from ultralytics import YOLO
# Load a pretrained YOLOv10 nano model
model = YOLO("yolov10n.pt")
# Train on a custom dataset with built-in validation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image seamlessly
prediction = model("path/to/image.jpg")
prediction[0].show()L'utilisation de l'écosystème Ultralytics permet aux développeurs de passer d'un prototype à un modèle ONNX exporté en quelques lignes de code seulement, en évitant les configurations d'environnement complexes requises par les anciens frameworks.
Cas d'utilisation réels
- Commerce intelligent (DAMO-YOLO) : La précision de DAMO-YOLO est bien adaptée aux environnements de serveurs à haute densité analysant le comportement des clients où les GPU sont abondants et les goulots d'étranglement de la NMS en temps réel sont gérables.
- Véhicules autonomes (YOLOv10) : L'architecture sans NMS garantit une latence déterministe et prévisible, ce qui est essentiel pour les systèmes de sécurité dans la conduite autonome.
- Industrial Automation (YOLOv10): Detecting defects on fast-moving assembly lines requires models that maximize real-time inference speeds without consuming vast VRAM, making YOLOv10 a prime candidate for edge deployment.
Cas d'utilisation et recommandations
Choisir entre DAMO-YOLO et YOLOv10 dépend des exigences spécifiques de ton projet, des contraintes de déploiement et des préférences en matière d'écosystème.
Quand choisir DAMO-YOLO
DAMO-YOLO est un choix solide 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 YOLOv10
YOLOv10 est recommandé 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 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.
La nouvelle génération : Découvre Ultralytics YOLO26
Bien que YOLOv10 ait jeté les bases de la détection sans NMS, la technologie a rapidement évolué. Pour les applications modernes, le modèle Ultralytics YOLO26 offre des performances et une utilisabilité inégalées, en prenant le meilleur des générations précédentes et en les affinant pour la production.
YOLO26 features a strictly natively end-to-end design, eliminating NMS post-processing for simpler deployment pipelines across edge devices. Furthermore, the removal of Distribution Focal Loss (DFL) has dramatically improved compatibility with low-power edge AI hardware.
Côté entraînement, YOLO26 introduit l'optimiseur MuSGD, un hybride inspiré des techniques d'entraînement des grands modèles de langage (LLM). Cela garantit un entraînement plus stable et une convergence plus rapide. Associé aux fonctions de perte ProgLoss + STAL, YOLO26 présente des améliorations remarquables dans la reconnaissance des petits objets, une fonctionnalité essentielle pour la conservation de la faune et les opérations de drones.
Surtout, YOLO26 n'est pas seulement un détecteur d'objets. Il offre des améliorations spécifiques aux tâches sur toute la ligne, prenant nativement en charge la segmentation d'instances, l'estimation de pose en utilisant l'estimation de vraisemblance logarithmique résiduelle (RLE), et des pertes d'angle spécialisées pour les boîtes englobantes orientées (OBB). Avec une inférence CPU jusqu'à 43 % plus rapide que ses prédécesseurs, c'est le choix définitif pour les équipes d'ingénierie agiles.
Pour la gestion centralisée, l'annotation et l'entraînement dans le cloud des modèles YOLO26, la plateforme Ultralytics fournit une interface intuitive qui rationalise l'ensemble du cycle de vie de la vision par ordinateur.
Les développeurs intéressés par l'exploration d'autres avancées récentes peuvent également évaluer Ultralytics YOLO11 ou le framework RT-DETR basé sur les Transformer pour les scénarios nécessitant des solutions architecturales distinctes.