DAMO-YOLO vs YOLOv9#
Le paysage de la détection d’objets en temps réel continue d’évoluer à un rythme effréné. Alors que les équipes d’ingénierie et les chercheurs s’efforcent de trouver le parfait équilibre entre précision, vitesse d’inférence et efficacité computationnelle, deux architectures remarquables ont émergé de la communauté de recherche : DAMO-YOLO et YOLOv9. Les deux modèles introduisent d’importantes innovations architecturales visant à repousser les limites de ce qui est possible en vision par ordinateur.
Ce guide technique détaillé propose une analyse approfondie de ces deux modèles, en comparant leurs approches architecturales uniques, leurs méthodologies d’entraînement et leurs capacités de déploiement dans le monde réel. Nous examinerons également comment l’écosystème logiciel au sens large joue un rôle essentiel dans le développement moderne de l’IA, en mettant en évidence les avantages de plateformes intégrées comme Ultralytics Platform et de modèles de nouvelle génération comme YOLO26.
Résumé : choisir la bonne architecture#
Bien que les deux modèles représentent des avancées majeures dans la recherche en deep learning, ils répondent à des philosophies de déploiement légèrement différentes.
DAMO-YOLO excelle dans les environnements où une recherche d’architecture neuronale (NAS) poussée peut être utilisée pour obtenir des profils de performances spécifiques, ce qui en fait un sujet d’étude intéressant pour le déploiement personnalisé sur appareils edge. À l’inverse, YOLOv9 se concentre fortement sur la résolution des goulets d’étranglement informationnels du deep learning, offrant une efficacité des paramètres exceptionnellement élevée.
Cependant, pour les déploiements prêts pour la production, les équipes d’ingénierie recommandent systématiquement de tirer parti de l’écosystème Ultralytics unifié. Pour les nouveaux projets, le dernier modèle YOLO26 offre le meilleur des deux mondes : une précision de pointe associée à une conception native de bout en bout qui élimine le besoin d’un post-traitement complexe.
Bien que DAMO-YOLO et YOLOv9 soient des modèles académiques puissants, leur déploiement en production nécessite souvent un travail d’ingénierie personnalisé important. L’utilisation de Ultralytics YOLO26 te donne accès à des performances de pointe via une API rationalisée et facile à maintenir.
Spécifications techniques et auteurs#
Comprendre les origines et les axes de développement de ces modèles fournit un contexte essentiel pour leurs forces respectives.
DAMO-YOLO#
Développé par des chercheurs d’Alibaba Group, DAMO-YOLO se concentre fortement sur la génération automatisée d’architectures et la fusion efficace des caractéristiques.
- Auteurs : Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang et Xiuyu Sun
- Organisation : Alibaba Group
- Date de sortie : 23 novembre 2022
- Article Arxiv : Article de recherche sur DAMO-YOLO
- GitHub officiel : Dépôt tinyvision/DAMO-YOLO
- Documentation : README de DAMO-YOLO
YOLOv9#
Présenté comme une solution à la perte d’information dans les réseaux convolutionnels profonds, YOLOv9 repousse les limites théoriques de la préservation des gradients pendant l’entraînement.
- Auteurs : Chien-Yao Wang et Hong-Yuan Mark Liao
- Organisation : Institute of Information Science, Academia Sinica, Taïwan
- Date de sortie : 21 février 2024
- Article Arxiv : Article de recherche sur YOLOv9
- GitHub officiel : Dépôt WongKinYiu/yolov9
- Documentation : Documentation Ultralytics de YOLOv9
Innovations architecturales#
DAMO-YOLO : piloté par la recherche d’architecture neuronale#
DAMO-YOLO se distingue par des composants fortement personnalisés et générés par machine. Son backbone est généré à l’aide de la recherche d’architecture neuronale (NAS), en ciblant spécifiquement une inférence à faible latence sur différents matériels.
L’architecture intègre un RepGFPN (réseau pyramidal généralisé de caractéristiques reparamétré) efficace pour la fusion des caractéristiques, ce qui améliore la détection d’objets multi-échelle sans augmenter excessivement la surcharge computationnelle. Elle utilise en outre une conception ZeroHead pour simplifier la tête de détection et recourt à AlignedOTA pour l’attribution des labels, avec un processus sophistiqué d’amélioration par distillation pendant l’entraînement. Bien que ces techniques permettent une inférence rapide, le processus de distillation en plusieurs étapes nécessite souvent une quantité importante de VRAM et des temps d’entraînement prolongés.
YOLOv9 : résoudre le goulot d’étranglement de l’information#
YOLOv9 s’attaque à un problème fondamental des réseaux profonds : la perte progressive des informations des données d’entrée lors de leur passage à travers des couches successives.
Pour y remédier, les auteurs ont introduit Programmable Gradient Information (PGI), un cadre de supervision auxiliaire conçu pour préserver les détails essentiels dans les couches profondes et générer des gradients très fiables pour la mise à jour des poids. PGI s’accompagne de l’architecture GELAN (réseau généralisé d’agrégation efficace des couches). GELAN optimise l’efficacité des paramètres en combinant les atouts de CSPNet et d’ELAN, en maximisant le flux d’informations tout en réduisant strictement les opérations en virgule flottante (FLOPs).
Analyse des performances et métriques#
Lors de l’évaluation des performances, les deux modèles affichent une précision moyenne (mAP) élevée sur des benchmarks standards comme COCO. YOLOv9 atteint une précision absolue supérieure pour des tailles de modèles équivalentes, en tirant parti de son architecture PGI pour conserver une grande fidélité sur les jeux de données difficiles.
| Modèle | taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
Comme indiqué ci-dessus, YOLOv9-E atteint la meilleure précision, tandis que les variantes plus petites de DAMO-YOLO et de YOLOv9 conservent des vitesses d’inférence très compétitives grâce aux optimisations TensorRT.
Méthodes d’entraînement et écosystème#
Bien que l’architecture brute soit importante, l’ergonomie et l’efficacité d’entraînement dictées par l’écosystème d’un modèle sont primordiales pour les applications du monde réel.
La dépendance de DAMO-YOLO à la distillation des connaissances nécessite souvent d’entraîner un modèle « enseignant » lourd avant de transférer ses connaissances au modèle « étudiant » cible. Cette approche de recherche traditionnelle augmente considérablement les besoins en mémoire et la durée des cycles d’entraînement. De même, le dépôt YOLOv9 d’origine nécessite de parcourir des fichiers de configuration complexes, ce qui peut ralentir le développement agile.
À l’inverse, l’intégration des modèles à l’Ultralytics Platform transforme complètement l’expérience des développeurs. Le package Python d’Ultralytics masque le code standard, permettant aux équipes de gérer sans effort l’augmentation des données, le réglage des hyperparamètres et l’exportation des modèles.
Applications et cas d’usage dans le monde réel#
Les différentes architectures excellent naturellement dans certains secteurs en fonction de leurs besoins en ressources et de leurs profils de précision.
- DAMO-YOLO dans l'IA en périphérie : En raison de ses dorsales optimisées par NAS, DAMO-YOLO est fréquemment exploré dans les systèmes embarqués où la re-paramétrisation spécifique au matériel est une stricte nécessité, comme le déploiement d'ASIC personnalisés dans le contrôle qualité de fabrication de base.
- YOLOv9 dans l’analyse de précision : Grâce à sa grande efficacité des paramètres et à la préservation des gradients pilotée par PGI, YOLOv9 est excellent pour les scénarios de détection d’objets denses, comme l’analyse d’images aériennes ou le suivi de petits objets dans des environnements commerciaux très fréquentés.
Cas d'utilisation et recommandations#
Le choix entre DAMO-YOLO et YOLOv9 dépend de tes exigences 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 :
- 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 YOLOv9#
YOLOv9 est recommandé pour :
- Recherche sur les goulots d'étranglement de l'information : les projets académiques étudiant les architectures Programmable Gradient Information (PGI) et Generalized Efficient Layer Aggregation Network (GELAN).
- Études sur l'optimisation du flux des gradients : les recherches visant à comprendre et à limiter la perte d'informations dans les couches des réseaux profonds pendant l'entraînement.
- Évaluation comparative de la détection haute précision : les scénarios où les solides performances de YOLOv9 sur le benchmark COCO sont nécessaires comme référence pour comparer les architectures.
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 d’Ultralytics : passer à YOLO26#
Pour les utilisateurs qui comparent des architectures héritées, la transition vers l’écosystème moderne d’Ultralytics, et plus particulièrement vers les derniers modèles YOLO26, offre un avantage inégalé.
YOLO26 transforme fondamentalement le paysage du déploiement grâce à sa conception de bout en bout sans NMS. En éliminant entièrement le post-traitement de suppression des non-maxima (NMS), il permet des architectures de déploiement plus rapides et considérablement plus simples. Associé à la suppression de Distribution Focal Loss (DFL), YOLO26 offre une compatibilité supérieure avec les appareils edge et basse consommation.
En outre, YOLO26 intègre le révolutionnaire MuSGD Optimizer, un hybride de la descente de gradient stochastique et des optimisations Muon inspirées des innovations de l’entraînement des LLM. Cela permet une convergence de l’entraînement très stable tout en conservant une utilisation de la mémoire remarquablement faible par rapport aux alternatives fortement basées sur les Transformer.
Grâce à l’API intuitive d’Ultralytics, tu peux entraîner un modèle YOLO26 de pointe avec un suivi des expériences intégré en seulement quelques lignes de Python.
from ultralytics import YOLO
# Load the latest NMS-free YOLO26 model
model = YOLO("yolo26n.pt")
# Train on your custom dataset efficiently
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Export the trained model to ONNX format
model.export(format="onnx")Que tu aies besoin de segmentation d’instances avancée, d’une estimation de pose très précise ou d’une détection standard de boîtes englobantes, la polyvalence du framework Ultralytics permet à ton équipe de consacrer moins de temps à la configuration des environnements de deep learning et davantage au déploiement de solutions d’IA robustes. Grâce à des améliorations spécialisées comme ProgLoss + STAL pour améliorer la reconnaissance des petits objets, YOLO26 s’impose comme le choix privilégié pour la prochaine génération d’applications de vision.