DAMO-YOLO vs. YOLOv9 : Une comparaison technique
Dans le monde en évolution rapide de la vision par ordinateur, le choix du modèle de détection d'objets optimal est une décision cruciale qui a un impact sur tout, de la latence du système à la précision de la détection. Ce guide complet fournit une comparaison technique entre DAMO-YOLO, un détecteur haute vitesse d'Alibaba Group, et YOLOv9, une architecture axée sur la préservation de l'information et l'efficacité. Nous analyserons leurs innovations architecturales, leurs mesures de performance et leurs cas d'utilisation idéaux pour aider les développeurs et les chercheurs à faire des choix éclairés.
Bien que les deux modèles offrent des améliorations significatives par rapport à leurs prédécesseurs, YOLOv9, en particulier lorsqu'il est exploité au sein de l'écosystème Ultralytics, offre un mélange convaincant de précision de pointe, d'outils conviviaux pour les développeurs et d'options de déploiement polyvalentes.
DAMO-YOLO : Conception axée sur la vitesse via la recherche d'architecture neuronale
DAMO-YOLO est un framework de détection d'objets développé par Alibaba, conçu avec une méthodologie "unique pour tous". Il privilégie la faible latence et le débit élevé, ce qui en fait un concurrent sérieux pour les applications industrielles nécessitant des contraintes de vitesse strictement définies sur un matériel spécifique.
Auteurs : Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang et Xiuyu Sun
Organisation :Alibaba Group
Date : 2022-11-23
Arxiv :https://arxiv.org/abs/2211.15444
GitHub :https://github.com/tinyvision/DAMO-YOLO
Innovations architecturales
DAMO-YOLO se distingue par des processus de conception automatisés et des composants efficaces :
- Recherche d'architecture neuronale (NAS) : Plutôt que de concevoir manuellement des backbones, DAMO-YOLO utilise la recherche d'architecture neuronale (NAS) pour découvrir des structures efficaces (TinyNAS) adaptées à différents budgets de calcul.
- Cou RepGFPN : Il introduit une variation efficace du Generalized Feature Pyramid Network (GFPN), appelée RepGFPN. Ce composant optimise la fusion des caractéristiques et prend en charge la reparamétrisation, permettant des vitesses d'inférence plus rapides.
- ZeroHead : Le modèle utilise une tête de détection légère « ZeroHead », qui réduit la surcharge de calcul généralement associée aux têtes de détection complexes.
- AlignedOTA : Pour améliorer la stabilité et la précision de la formation, il utilise AlignedOTA, une stratégie d’attribution d’étiquettes qui résout les problèmes de désalignement entre les tâches de classification et de régression.
Forces et limitations
Le principal atout de DAMO-YOLO réside dans sa vitesse d'inférence. L'architecture est fortement optimisée pour un débit GPU élevé, ce qui la rend adaptée aux pipelines d'analyse vidéo où le volume de traitement est essentiel. De plus, l'utilisation de la distillation améliore les performances de ses modèles plus petits.
Cependant, DAMO-YOLO est confronté à des défis concernant la maturité de l'écosystème. Comparé aux outils robustes disponibles pour les modèles Ultralytics, les utilisateurs peuvent trouver moins de ressources pour le déploiement, la conversion de format et le support communautaire. Sa polyvalence en matière de tâches est également généralement limitée à la détection d'objets, alors que les frameworks modernes prennent souvent en charge la segmentation et l'estimation de pose de manière native.
YOLOv9 : Gradients programmables pour une efficacité maximale
YOLOv9 représente un changement de paradigme dans la détection d'objets en temps réel en s'attaquant au problème fondamental de la perte d'informations dans les réseaux neuronaux profonds. En garantissant que les données critiques sont préservées tout au long de la profondeur du réseau, YOLOv9 atteint une précision supérieure avec une efficacité de paramètre remarquable.
Auteurs : Chien-Yao Wang, Hong-Yuan Mark Liao
Organisation :Institute of Information Science, Academia Sinica, Taïwan
Date : 2024-02-21
Arxiv :https://arxiv.org/abs/2402.13616
GitHub :https://github.com/WongKinYiu/yolov9
Documentation :https://docs.ultralytics.com/models/yolov9/
Architecture centrale : PGI et GELAN
YOLOv9 introduit deux technologies révolutionnaires qui le distinguent :
- Informations de gradient programmables (PGI) : Les réseaux profonds souffrent souvent d'un goulot d'étranglement de l'information où les données d'entrée sont perdues lorsqu'elles traversent les couches. PGI fournit une branche de supervision auxiliaire qui génère des gradients fiables, garantissant que les couches profondes reçoivent des informations complètes pour des mises à jour précises des poids.
- Generalized Efficient Layer Aggregation Network (GELAN) : Cette nouvelle architecture combine les forces de CSPNet et d’ELAN. GELAN est conçu pour maximiser l’utilisation des paramètres, fournissant un modèle à la fois léger et incroyablement puissant.
Pourquoi PGI est-il important ?
Dans les modèles d'apprentissage profond traditionnels, la fonction de perte au niveau de la couche de sortie manque souvent d'informations suffisantes pour guider efficacement les mises à jour des couches superficielles. Le PGI agit comme un pont, préservant les informations d'entrée et garantissant que l'ensemble du réseau apprend des caractéristiques robustes, ce qui conduit à une meilleure convergence et à une plus grande précision.
L'avantage Ultralytics
Lorsque vous utilisez YOLOv9 au sein de l'écosystème Ultralytics, les développeurs bénéficient d'avantages significatifs par rapport aux implémentations autonomes :
- Facilité d'utilisation : L'API Python et la CLI Ultralytics résument les pipelines d'entraînement complexes en commandes simples.
- Efficacité de l'entraînement : Les méthodologies Ultralytics garantissent une utilisation optimale des ressources. YOLOv9 nécessite généralement moins de mémoire CUDA pendant l'entraînement par rapport aux détecteurs basés sur des transformateurs, ce qui le rend accessible sur une plus large gamme de matériel.
- Polyvalence : Bien que l’article principal sur YOLOv9 se concentre sur la détection, le framework Ultralytics facilite l’extension de ces architectures à d’autres tâches et assure une exportation transparente vers des formats tels que ONNX, TensorRT et OpenVINO.
Analyse des performances : précision vs. efficacité
La comparaison ci-dessous met en évidence les compromis entre DAMO-YOLO et YOLOv9. Alors que DAMO-YOLO offre des vitesses compétitives sur du matériel spécifique, YOLOv9 offre systématiquement une précision moyenne (mAP) plus élevée avec moins de paramètres, ce qui témoigne d'une efficacité architecturale supérieure.
| 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 |
Principaux points à retenir :
- Efficacité des paramètres : YOLOv9s atteint un mAP plus élevé (46,8) que DAMO-YOLOs (46,0) tout en utilisant moins de la moitié des paramètres (7,1M contre 16,3M). YOLOv9 est donc beaucoup plus facile à stocker et à mettre à jour pour les appareils d'intelligence artificielle.
- Précision haut de gamme : Les plus grandes variantes de YOLOv9 (c et e) repoussent les limites de la précision bien au-delà des limites de DAMO-YOLO, atteignant 55,6 mAP.
- Vitesse : Bien que DAMO-YOLO montre un léger avantage en termes de latence TensorRT brute pour les modèles moyens, YOLOv9t est extrêmement rapide (2,3 ms), ce qui le rend idéal pour les applications mobiles en temps réel.
Méthodologies de formation et convivialité
L'expérience d'entraînement diffère considérablement entre les deux modèles. La dépendance de DAMO-YOLO à l'égard de NAS implique une phase de recherche complexe pour dériver l'architecture, ou l'utilisation de backbones pré-recherchés. Son approche « once-for-all » peut être coûteuse en termes de calcul si la personnalisation de la structure du backbone est requise.
En revanche, YOLOv9, pris en charge par Ultralytics, offre un mode d'entraînement rationalisé. Les utilisateurs peuvent affiner les modèles sur des ensembles de données personnalisés tels que Open Images V7 ou des collections spécialisées avec une configuration minimale. L'intégration avec Ultralytics HUB permet l'entraînement, la visualisation et le déploiement en un clic basés sur le cloud, démocratisant l'accès à l'IA avancée sans nécessiter une expertise approfondie en NAS ou en réglage des hyperparamètres.
Exemple de code : Entraînement de YOLOv9
L'implémentation de YOLOv9 est simple avec le package python Ultralytics.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Train the model on the COCO8 dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
Cas d'utilisation idéaux
Quand choisir DAMO-YOLO
- Traitement vidéo à grande échelle : Si vous traitez des milliers de flux vidéo sur des GPU de serveur spécifiques où chaque milliseconde de latence se traduit par d'importantes économies de coûts d'infrastructure, l'optimisation de DAMO-YOLO pour un débit élevé pourrait être bénéfique.
- Contraintes matérielles fixes : Pour les scénarios où le matériel est connu et statique, les architectures dérivées de NAS peuvent être sélectionnées pour remplir parfaitement le budget de calcul disponible.
Quand choisir YOLOv9
- Vision par ordinateur à usage général : Pour la majorité des développeurs travaillant sur la robotique, la sécurité ou l’analyse de vente au détail, YOLOv9 offre le meilleur équilibre entre précision et facilité d’utilisation.
- Déploiement Edge : Grâce à son efficacité supérieure en matière de paramètres (par exemple, YOLOv9s), il s’adapte mieux aux appareils contraints comme le Raspberry Pi ou NVIDIA Jetson, laissant plus de place pour d’autres applications.
- Recherche et développement : L’architecture PGI fournit une base fascinante pour d’autres recherches sur l’efficacité de l’apprentissage profond.
- Nécessite un écosystème mature : Si votre projet nécessite un tracking fiable, une exportation facile vers CoreML ou TFLite et un soutien communautaire actif, l’écosystème Ultralytics entourant YOLOv9 est inégalé.
Conclusion
DAMO-YOLO et YOLOv9 témoignent tous deux de la rapidité de l'innovation dans le domaine de la détection d'objets. DAMO-YOLO prouve la valeur de la recherche d'architecture neuronale pour optimiser les performances de vitesse. Cependant, YOLOv9 se distingue comme la solution la plus polyvalente et la plus puissante pour la plupart des utilisateurs.
En résolvant le goulot d'étranglement de l'information de supervision profonde avec PGI et en optimisant les couches avec GELAN, YOLOv9 offre une précision de pointe avec une efficacité remarquable. Combiné à l'écosystème Ultralytics, il offre une plateforme robuste, bien entretenue et conviviale qui accélère le parcours du concept au déploiement. Pour les développeurs cherchant à créer des applications de vision de pointe en toute confiance, les modèles Ultralytics YOLO restent le choix supérieur.
Explorer d'autres modèles
Si vous souhaitez explorer d'autres options de pointe au sein de la famille Ultralytics ou comparer davantage, considérez ces ressources :
- Ultralytics YOLO11 : le dernier modèle SOTA pour les tâches de vision polyvalentes.
- YOLOv8 vs. DAMO-YOLO
- RT-DETR vs. DAMO-YOLO
- YOLOv10 vs DAMO-YOLO
- YOLOX vs. DAMO-YOLO