DAMO-YOLO vs YOLOv5#
L'évolution de la computer vision a été marquée par une innovation continue dans la détection d'objets en temps réel. Aujourd'hui, les développeurs et les chercheurs font face à 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 mettant en lumière leurs architectures respectives, leurs méthodologies d'entraînement, leurs métriques de performance et leurs scénarios de déploiement idéaux.
Introduction à DAMO-YOLO#
Publié par le groupe Alibaba, DAMO-YOLO a introduit plusieurs techniques innovantes 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 repose sur les fondations de la recherche d'architecture neuronale (Neural Architecture Search ou NAS). Les auteurs ont utilisé MAE-NAS pour concevoir automatiquement des backbones qui équilibrent la latence et la 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", éliminant 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 lors de l'inférence.
Pour améliorer l'entraînement, le modèle utilise AlignedOTA pour l'attribution des étiquettes et un processus lourd 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 de l'industrie en matière d'ergonomie. 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 (anchor-free) observée dans les modèles plus récents, son approche basée sur les ancres hautement affinée, associé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 de manière transparente avec des outils de suivi tels que 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 mesures#
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 grandement de sa phase d'entraînement par distillation. Cependant, cela se fait au détriment de l'efficacité de l'entraînement. Le processus de distillation en plusieurs étapes nécessite d'entraîner d'abord un modèle enseignant lourd, ce qui augmente considérablement le temps de calcul GPU compute et la VRAM nécessaires.
À l'inverse, YOLOv5 offre d'excellentes exigences de mémoire. Les modèles Ultralytics YOLO sont connus pour une utilisation de la 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 l'article. Si un projet dispose de ressources de calcul importantes 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 (bounding boxes), DAMO-YOLO est un concurrent solide.
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 basculer sans effort entre les tâches.
Par exemple, les itérations plus récentes de la famille Ultralytics prennent en charge nativement la segmentation d'instances, l'estimation de pose et la détection par boîte englobante orientée (OBB). Cette capacité multi-tâche garantit que les équipes peuvent utiliser une API Python unique et unifiée pour des pipelines complexes, tels que la combinaison de la reconnaissance automatique des plaques d'immatriculation avec la segmentation de véhicules.
Cas d'utilisation et recommandations#
Le choix entre DAMO-YOLO et YOLOv5 dépend de tes exigences de projet spécifiques, de tes contraintes de déploiement et de tes 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 FPS élevés sur une infrastructure GPU NVIDIA fixe où le débit par lot est la mesure principale.
- Lignes de fabrication industrielle : Scénarios avec 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 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ù la longue expérience de stabilité de YOLOv5, sa documentation étendue et le soutien massif de la communauté sont valorisés.
- Entraînement aux ressources limitées : Environnements avec des ressources GPU limitées où le pipeline d'entraînement efficace et les exigences mémoire inférieures de YOLOv5 sont avantageux.
- Extensive Export Format Support : 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 en périphérie sans NMS : Applications nécessitant une inférence cohérente et à faible latence sans la complexité du post-traitement par Non-Maximum Suppression.
- Environnements CPU uniquement : 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 : Les scénarios complexes tels que l'imagerie par drone aérien ou l'analyse par capteurs IoT où ProgLoss et STAL améliorent considérablement la précision sur les minuscules objets.
L'avenir : Passer à YOLO26#
Alors que YOLOv5 est légendaire et que DAMO-YOLO fournit 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 aborde 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 : YOLOv26 élimine nativement le post-traitement par suppression non maximale (NMS). Cette avancé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 LLM (comme Kimi K2 de Moonshot AI), YOLO26 utilise l'optimiseur MuSGD (un hybride de SGD et de Muon). Cela garantit des entraînements très stables et une convergence remarquablement plus rapide.
- Inférence sur CPU jusqu'à 43 % plus rapide : en supprimant stratégiquement la perte focale de distribution (DFL), YOLO26 atteint des vitesses largement supérieures sur les processeurs (CPU) et les appareils de périphérie (edge devices) 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 de 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 au YOLO26 recommandé, 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 démontre la puissance de la Neural Architecture Search et de la distillation, ce qui en fait une étude intéressante pour les chercheurs. Cependant, YOLOv5 reste une puissance pratique grâce à son équilibre de performance, ses faibles besoins en mémoire et sa facilité d'utilisation inégalée.
Pour les développeurs qui débutent de nouveaux projets aujourd'hui, la recommandation est d'exploiter la plateforme Ultralytics et d'adopter YOLO26. Il combine l'écosystème convivial tant apprécié de YOLOv5 avec des avancées architecturales révolutionnaires, garantissant une précision de premier ordre et une inférence fulgurante pour les applications d'IA sur le cloud et en périphérie (edge AI). Les développeurs peuvent également explorer d'autres modèles efficaces comme YOLOv6 ou YOLOX en fonction de contraintes matérielles héritées spécifiques.