YOLOv8 vs DAMO-YOLO : Une comparaison technique
Choisir le bon modèle de détection d'objets implique un compromis entre la précision, la vitesse et la facilité d'utilisation. Cette page fournit une comparaison technique détaillée entre deux modèles puissants : Ultralytics YOLOv8, un modèle de pointe d'Ultralytics, et DAMO-YOLO, un modèle haute performance du groupe Alibaba. Bien que les deux modèles offrent d'excellentes performances, ils sont construits sur des philosophies de conception différentes et répondent à des besoins de développement distincts. Nous explorerons leurs architectures, leurs mesures de performance et leurs cas d'utilisation idéaux afin de vous aider à prendre une décision éclairée.
Ultralytics YOLOv8
Auteurs : Glenn Jocher, Ayush Chaurasia et Jing Qiu
Organisation : Ultralytics
Date : 2023-01-10
GitHub : https://github.com/ultralytics/ultralytics
Docs : https://docs.ultralytics.com/models/yolov8/
Ultralytics YOLOv8 est un modèle de pointe, à la pointe de la technologie, qui s’appuie sur le succès des versions précédentes de YOLO. Il est conçu pour être rapide, précis et facile à utiliser, ce qui en fait un choix idéal pour un large éventail de tâches de détection d’objets et d’IA de vision. YOLOv8 n’est pas seulement un modèle, mais un framework complet qui prend en charge l’ensemble du cycle de vie du développement de modèles d’IA, de la formation et de la validation au déploiement dans des applications réelles.
Principales caractéristiques et points forts
-
Architecture avancée : YOLOv8 introduit une conception de tête découplée et sans ancrage, ce qui améliore la précision et accélère le post-traitement en éliminant le besoin de suppression non maximale (NMS) dans certains cas. Il utilise un backbone CSPDarknet affiné et un nouveau module de neck C2f pour une fusion améliorée des caractéristiques.
-
Polyvalence exceptionnelle : Un avantage clé de YOLOv8 est sa prise en charge native de plusieurs tâches de vision au sein d’un cadre unique et unifié. Il gère de manière transparente la détection d’objets, la segmentation d’instances, la classification d’images, l’estimation de pose et la détection d’objets orientés (OBB). Cette polyvalence en fait une solution unique pour les projets complexes de vision par ordinateur.
-
Facilité d'utilisation : Ultralytics donne la priorité à l'expérience des développeurs. YOLOv8 est livré avec une API Python simple et intuitive et une CLI puissante, soutenues par une documentation et des tutoriels complets. Cela permet aux débutants comme aux experts d'entraîner, de valider et de déployer des modèles avec une facilité incroyable.
-
Écosystème bien maintenu : YOLOv8 fait partie d'un écosystème open source florissant avec un développement actif, des mises à jour fréquentes et un fort soutien de la communauté. Il s'intègre à des outils tels que Ultralytics HUB pour la formation et le déploiement sans code, et à de nombreuses plateformes MLOps telles que Weights & Biases et Comet.
-
Performance et efficacité : YOLOv8 offre un excellent équilibre entre vitesse et précision dans une gamme de tailles de modèles (de Nano à Extra-Large). Il est hautement optimisé pour l’inférence CPU et GPU, assurant un déploiement efficace sur divers matériels, des appareils périphériques aux serveurs cloud. De plus, il est conçu pour l’efficacité de la mémoire, nécessitant moins de mémoire CUDA pour l’entraînement par rapport à de nombreuses autres architectures.
Faiblesses
- En tant que détecteur à une étape, il peut avoir des difficultés à détecter les objets extrêmement petits ou fortement occlus par rapport à certains détecteurs spécialisés à deux étapes, bien qu’il fonctionne exceptionnellement bien dans la plupart des scénarios d’usage général.
DAMO-YOLO
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.15444v2
GitHub : https://github.com/tinyvision/DAMO-YOLO
DAMO-YOLO est un modèle de détection d'objets rapide et précis développé par Alibaba Group. Il introduit plusieurs nouvelles techniques pour améliorer les performances des détecteurs de type YOLO. Le nom "DAMO" signifie "Discovery, Adventure, Momentum, and Outlook" (Découverte, Aventure, Dynamisme et Perspective), reflétant la nature axée sur la recherche du projet.
Principales caractéristiques et points forts
- Neural Architecture Search (NAS) : DAMO-YOLO exploite NAS pour trouver une architecture de colonne vertébrale optimale (MAE-NAS), ce qui contribue à améliorer le compromis entre la précision et la latence.
- Conception avancée du neck : Il intègre un neck RepGFPN (Generalized Feature Pyramid Network) efficace, qui est conçu pour améliorer la fusion des caractéristiques provenant de différents niveaux du backbone.
- ZeroHead : DAMO-YOLO propose une approche « ZeroHead », qui utilise une tête couplée et légère pour réduire la surcharge de calcul tout en maintenant des performances élevées.
- Attribution de label AlignedOTA : Elle utilise une stratégie d'attribution dynamique de labels appelée AlignedOTA, qui aide le modèle à mieux apprendre en alignant les tâches de classification et de régression pendant l'entraînement.
- Hautes performances GPU : Le modèle est hautement optimisé pour l’inférence GPU, offrant une latence très faible sur le matériel haut de gamme, comme le montrent ses benchmarks officiels.
Faiblesses
- Complexité : L'utilisation de techniques avancées comme NAS et de modules personnalisés (RepGFPN, ZeroHead) rend l'architecture plus complexe et moins intuitive pour les développeurs qui ont besoin de personnaliser ou de comprendre le fonctionnement interne du modèle.
- Polyvalence limitée : DAMO-YOLO est principalement conçu pour la détection d'objets. Il ne prend pas en charge nativement les tâches multiples telles que la segmentation, la classification et l'estimation de pose, qui sont des fonctionnalités standard dans le framework Ultralytics YOLOv8.
- Écosystème et support : Bien qu'il s'agisse d'un projet open source, son écosystème n'est ni aussi complet ni aussi bien maintenu que celui d'Ultralytics. La documentation peut être rare et le soutien communautaire est moins étendu, ce qui rend plus difficile l'adoption et le dépannage pour les développeurs.
- Performance du CPU : Le modèle est fortement optimisé pour le GPU. Les informations et les benchmarks sur les performances du CPU sont moins disponibles, ce qui peut être une limitation pour les déploiements sur du matériel non-GPU.
Analyse des performances : YOLOv8 vs. DAMO-YOLO
Lorsqu'on compare les performances, il est essentiel d'examiner à la fois la précision (mAP) et la vitesse d'inférence sur différents matériels.
Modèle | Taille (pixels) |
mAPval 50-95 |
Vitesse CPU ONNX (ms) |
Vitesse T4 TensorRT10 (ms) |
paramètres (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
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 |
D'après le tableau, nous pouvons tirer plusieurs conclusions :
- Précision : Les modèles YOLOv8 surpassent systématiquement leurs homologues DAMO-YOLO à des échelles similaires. Par exemple, YOLOv8m atteint un mAP de 50,2, dépassant les 49,2 mAP de DAMO-YOLOm. Les modèles YOLOv8l et YOLOv8x plus grands étendent considérablement cette avance.
- Vitesse : Bien que DAMO-YOLO affiche des vitesses GPU très compétitives, YOLOv8n est le modèle le plus rapide sur GPU dans l'ensemble. Il est crucial qu'Ultralytics fournisse des benchmarks CPU transparents, qui sont essentiels pour de nombreuses applications du monde réel où les ressources GPU ne sont pas disponibles. YOLOv8 démontre d'excellentes performances, bien documentées, sur les CPU.
- Efficacité : Les modèles YOLOv8 offrent généralement un meilleur équilibre entre les paramètres et les FLOPs pour leur précision donnée. Par exemple, YOLOv8s atteint un mAP de 44,9 avec seulement 11,2 millions de paramètres, tandis que DAMO-YOLOs nécessite 16,3 millions de paramètres pour atteindre un mAP similaire de 46,0.
Conclusion
DAMO-YOLO est un modèle impressionnant qui met en évidence la puissance des techniques de recherche avancées comme NAS pour atteindre des performances élevées sur le matériel GPU. C'est un concurrent sérieux pour les applications où la vitesse brute du GPU est la principale mesure et où l'équipe de développement possède l'expertise nécessaire pour gérer une architecture plus complexe.
Cependant, pour la grande majorité des développeurs, des chercheurs et des entreprises, Ultralytics YOLOv8 est le choix clair et supérieur. Il offre un ensemble global plus intéressant : une plus grande précision, d'excellentes performances sur CPU et GPU, et une polyvalence inégalée grâce à sa prise en charge multitâche.
Les principaux avantages de l'écosystème Ultralytics, notamment la facilité d'utilisation, la documentation complète, le support actif de la communauté et les intégrations transparentes, font de YOLOv8 non seulement un modèle puissant, mais aussi un outil pratique et productif pour la création de solutions de vision par ordinateur robustes et réelles. Que vous soyez un débutant qui démarre son premier projet ou un expert qui déploie des systèmes complexes, YOLOv8 offre un chemin plus fiable, efficace et convivial vers le succès.
Explorer d'autres modèles
Si vous êtes intéressé par d'autres comparaisons de modèles, consultez les pages suivantes pour voir comment YOLOv8 se compare à d'autres architectures de pointe :