DAMO-YOLO vs. YOLOv5 : une plongée approfondie dans la détection d'objets en temps réel
L'évolution de la vision par ordinateur a été marquée par une innovation constante dans la détection d'objets en temps réel. Aujourd'hui, les développeurs et les chercheurs sont confrontés à une myriade de choix architecturaux lors de la conception de pipelines de vision. Cette comparaison technique complète explore les nuances entre DAMO-YOLO et Ultralytics YOLOv5, en soulignant leurs architectures respectives, leurs méthodologies d'entraînement, leurs mesures de performance et leurs scénarios de déploiement idéaux.
Introduction à DAMO-YOLO
Publié par Alibaba Group, DAMO-YOLO a introduit plusieurs techniques novatrices visant à repousser les limites de la vitesse et de la précision de détection.
- Auteurs : Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang et Xiuyu Sun
- Organisation : Alibaba Group
- Date : 23 novembre 2022
- Arxiv : 2211.15444v2
- GitHub : tinyvision/DAMO-YOLO
- Docs : README.md
Innovations architecturales
DAMO-YOLO est construit sur une base de recherche d'architecture neuronale (NAS). Les auteurs ont utilisé MAE-NAS pour concevoir automatiquement des backbones qui équilibrent latence et précision. Le modèle introduit un RepGFPN (Reparameterized Generalized Feature Pyramid Network) efficace qui améliore la fusion des caractéristiques à différentes échelles. De plus, DAMO-YOLO intègre une conception "ZeroHead", supprimant les têtes de prédiction multi-branches complexes au profit d'une structure plus simple et plus efficace qui repose fortement sur la re-paramétrisation pendant l'inférence.
Pour améliorer l'entraînement, le modèle utilise AlignedOTA pour l'assignation des étiquettes et un processus intensif d'amélioration par distillation, où un modèle "enseignant" plus grand guide le modèle "étudiant" plus petit pour atteindre une précision plus élevée.
Introduction à Ultralytics YOLOv5
Ultralytics YOLOv5 est l'une des architectures de vision les plus largement adoptées au monde, reconnue pour sa stabilité, sa facilité d'utilisation et son vaste écosystème de déploiement.
- Auteurs : Glenn Jocher
- Organisation : Ultralytics
- Date : 26 juin 2020
- GitHub : ultralytics/yolov5
- Documentation : YOLOv5 Documentation
La norme de l'écosystème
YOLOv5 a redéfini la norme industrielle en matière de convivialité. Construit nativement en PyTorch, il utilise un backbone CSPNet hautement optimisé et un neck PANet pour une agrégation robuste des caractéristiques. Bien qu'il ait précédé la tendance sans ancres observée dans les modèles ultérieurs, son approche basée sur les ancres hautement raffinée, couplée à l'apprentissage automatique des ancres, garantit d'excellentes performances dès la sortie de la boîte.
La véritable force de YOLOv5 réside dans son écosystème bien entretenu. Il s'intègre parfaitement avec des outils de suivi comme Comet et Weights & Biases, et prend en charge les exportations en un clic vers des formats tels que ONNX, TensorRT et CoreML.
YOLOv5 est incroyablement facile à entraîner sur des jeux de données personnalisés. L'API rationalisée réduit les frictions entre le prototype et la production, ce qui en fait un favori parmi les équipes d'ingénierie agiles.
Comparaison des performances et des métriques
Lors de la comparaison de ces modèles, il est crucial d'examiner l'équilibre entre la précision moyenne (mAP), la vitesse d'inférence et le nombre de paramètres.
| 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 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45,4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
Analyse des compromis
DAMO-YOLO atteint des scores mAP impressionnants pour ses tailles de paramètres, bénéficiant fortement de sa phase d'entraînement par distillation. Cependant, cela se fait au prix de l'efficacité de l'entraînement. Le processus de distillation multi-étapes nécessite d'abord l'entraînement d'un modèle enseignant lourd, ce qui augmente considérablement le temps de calcul GPU et la VRAM nécessaires.
À l'inverse, YOLOv5 offre d'excellentes exigences en matière de mémoire. Les modèles Ultralytics YOLO sont connus pour une utilisation mémoire plus faible lors de l'entraînement et de l'inférence par rapport aux pipelines de distillation complexes ou aux modèles basés sur des Transformers comme RT-DETR. Cela permet à YOLOv5 d'être entraîné efficacement sur du matériel grand public ou des environnements cloud accessibles comme Google Colab.
Applications réelles et polyvalence
Choisir la bonne architecture dépend souvent de l'environnement de déploiement.
Où DAMO-YOLO excelle
DAMO-YOLO est strictement un modèle de détection d'objets. C'est un excellent choix pour la recherche académique, en particulier pour les équipes étudiant la recherche d'architecture neuronale ou celles visant à reproduire les techniques de re-paramétrisation détaillées dans le document. Si un projet dispose de ressources informatiques étendues pour exécuter la phase d'entraînement par distillation et se concentre uniquement sur l'extraction de la dernière fraction de précision pour les boîtes englobantes 2D, DAMO-YOLO est un concurrent sérieux.
L'avantage Ultralytics
Pour la production réelle, la facilité d'utilisation et la polyvalence des modèles Ultralytics en font le choix privilégié. Bien que YOLOv5 reste un incontournable pour la détection et la classification d'images, l'écosystème Ultralytics plus large permet aux développeurs de passer sans effort d'une tâche à l'autre.
Par exemple, les itérations plus récentes de la famille Ultralytics prennent nativement en charge la segmentation d'instances, l'estimation de pose et la détection par boîtes englobantes orientées (OBB). Cette capacité multi-tâches garantit que les équipes peuvent utiliser une API Python unique et unifiée pour des pipelines complexes, comme la combinaison de la reconnaissance automatique des plaques d'immatriculation avec la segmentation de véhicules.
Cas d'utilisation et recommandations
Choisir entre DAMO-YOLO et YOLOv5 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 YOLOv5
YOLOv5 est recommandé pour :
- Systèmes de production éprouvés : Déploiements existants où l'historique de stabilité de YOLOv5, sa documentation étendue et son immense soutien communautaire sont valorisés.
- Entraînement avec ressources limitées : Environnements dotés de ressources GPU limitées où le pipeline d'entraînement efficace et les exigences en mémoire plus faibles de YOLOv5 sont avantageux.
- Support étendu des formats d'exportation : Projets nécessitant un déploiement sur de nombreux formats, notamment ONNX, TensorRT, CoreML et TFLite.
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'avenir : passer à YOLO26
Bien que YOLOv5 soit légendaire et que DAMO-YOLO fournisse des idées académiques intéressantes, l'état de l'art a évolué. Sorti en janvier 2026, Ultralytics YOLO26 représente un bond en avant massif pour la communauté de la vision.
YOLO26 résout les goulots d'étranglement traditionnels du déploiement en périphérie et de l'instabilité de l'entraînement :
- Conception de bout en bout sans NMS : YOLO26 élimine nativement le post-traitement par suppression non maximale (NMS). Cette percée simplifie la logique de déploiement et réduit considérablement la variabilité de la latence, ce qui le rend idéal pour la robotique à haute vitesse et les systèmes autonomes.
- Optimiseur MuSGD : Inspiré par les innovations en matière d'entraînement de LLM (comme Kimi K2 de Moonshot AI), YOLO26 utilise l'optimiseur MuSGD (un hybride de SGD et Muon). Cela garantit des exécutions d'entraînement très stables et une convergence remarquablement plus rapide.
- Inférence CPU jusqu'à 43 % plus rapide : En supprimant stratégiquement la perte focale de distribution (DFL), YOLO26 atteint des vitesses largement supérieures sur les CPU et les appareils de périphérie par rapport à ses prédécesseurs comme YOLO11 et YOLOv8.
- ProgLoss + STAL : Ces fonctions de perte avancées apportent des améliorations notables dans la reconnaissance des petits objets, ce qui est essentiel pour analyser l'imagerie par drone aérien et les flux de capteurs IoT.
Exemple de code : la simplicité en action
Le package Ultralytics te permet d'entraîner et de déployer des modèles avec seulement quelques lignes de code. Que tu utilises YOLOv5 ou que tu passes à YOLO26, l'interface reste cohérente et intuitive.
from ultralytics import YOLO
# Load the state-of-the-art YOLO26 small model
model = YOLO("yolo26s.pt")
# Train on a custom dataset effortlessly
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image and display results
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()
# Export the model for edge deployment
model.export(format="onnx")Conclusion
DAMO-YOLO et YOLOv5 ont tous deux contribué de manière significative au paysage de la vision par ordinateur. DAMO-YOLO met en valeur la puissance de la recherche d'architecture neuronale et de la distillation, ce qui en fait une étude intéressante pour les chercheurs. Cependant, YOLOv5 reste une puissance pratique en raison de son équilibre des performances, de ses faibles besoins en mémoire et de sa facilité d'utilisation inégalée.
Pour les développeurs qui commencent de nouveaux projets aujourd'hui, la recommandation est de tirer parti de la plateforme Ultralytics et d'adopter YOLO26. Il combine l'écosystème convivial et apprécié de YOLOv5 avec des avancées architecturales révolutionnaires, garantissant une précision de premier ordre et une inférence ultra-rapide pour les applications d'IA dans le cloud et en périphérie. Les développeurs peuvent également explorer d'autres modèles efficaces comme YOLOv6 ou YOLOX en fonction des contraintes spécifiques liées au matériel existant.