YOLO11 vs DAMO-YOLO : Une comparaison technique
Dans le paysage en évolution rapide de la vision par ordinateur, le choix du bon modèle de détection d'objets est essentiel pour la réussite du projet. Cette page présente une comparaison technique détaillée entre Ultralytics YOLO11 et YOLO, deux architectures de haute performance conçues pour la vitesse et la précision. Alors que YOLO introduit des techniques innovantes issues de la recherche académique, YOLO11 s'impose comme une solution polyvalente, prête pour la production et soutenue par un écosystème solide.
Résumé
Ultralytics YOLO11 représente la dernière évolution de la série YOLO , optimisant l'inférence en temps réel sur différents matériels, des périphériques aux serveurs en nuage. Il prend en charge nativement plusieurs tâches, notamment la détection, la segmentation et l'estimation de la pose, ce qui en fait une solution unifiée pour les pipelines d'IA complexes.
YOLO, développé par Alibaba Group, vise à équilibrer la vitesse et la précision de détection en utilisant la recherche d'architecture neuronale (NAS) et de nouvelles techniques de fusion des caractéristiques. Il s'agit principalement d'un détecteur axé sur la recherche et optimisé pour le débit du GPU .
Ultralytics YOLO11
Auteurs : Glenn Jocher, Jing Qiu
Organisation :Ultralytics
Date : 2024-09-27
GitHubultralytics
Docsyolo11
YOLO11 affine l'état de l'art en introduisant des améliorations architecturales qui renforcent l'extraction des caractéristiques tout en maintenant une grande efficacité. Il utilise une épine dorsale CSPNet modifiée et une tête avancée sans ancrage pour offrir une précision supérieure avec moins de paramètres que les générations précédentes.
Principales caractéristiques et points forts
- Polyvalence : Contrairement à de nombreux modèles spécialisés, YOLO11 est un cadre multitâche. Il prend en charge la détection d'objets, la segmentation d'instances, la classification d'images, l'estimation de la pose et les boîtes de délimitation orientées (OBB).
- Architecture raffinée : Incorpore des blocs C3k2 et des modules C2PSA (Cross-Stage Partial with Spatial Attention) pour capturer efficacement des motifs complexes, améliorant ainsi les performances sur les petits objets et les arrière-plans difficiles.
- Large support matériel : Optimisé pour CPU et GPU , offrant différentes échelles de modèles (de Nano à X-Large) pour s'adapter à des contraintes allant du Raspberry Pi aux clusters NVIDIA A100.
- Facilité d'utilisation : L'APIPython et le CLI Ultralytics permettent aux développeurs d'entraîner, de valider et de déployer des modèles avec un minimum de code.
Écosystème prêt pour la production
YOLO11 s'intègre parfaitement à l'écosystèmeUltralytics , y compris les outils de gestion des données, l'entraînement des modèles via Ultralytics HUB, et l'exportation en un clic vers des formats tels que ONNX, TensorRTet CoreML.
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
GitHubYOLO
YOLO est conçu pour offrir une faible latence et un débit élevé aux applications industrielles. Il introduit plusieurs composants "new tech" dans la famille YOLO afin de repousser les limites du compromis vitesse/précision.
Innovations architecturales
- MAE-NAS Backbone : Utilise la recherche d'architecture neuronale (NAS) guidée par l'erreur absolue moyenne (MAE) pour découvrir automatiquement une topologie de réseau efficace.
- RepGFPN efficace : Un réseau pyramidal à caractéristiques généralisées (GFPN) qui utilise le re-paramétrage, permettant la fusion de caractéristiques complexes pendant l'apprentissage tout en s'effondrant dans une structure plus rapide et plus simple pendant l'inférence.
- ZeroHead : une tête de détection légère qui dissocie les tâches de classification et de régression, ce qui réduit considérablement la charge de calcul des couches de sortie finales.
- AlignedOTA : une stratégie améliorée d'attribution d'étiquettes qui résout le décalage entre la confiance de la classification et la précision de la régression au cours de la formation.
Bien que YOLO excelle dans certaines mesures, il s'agit avant tout d'un référentiel de recherche. Il ne dispose pas de la documentation complète, des mises à jour continues et du soutien de la communauté dans l'écosystème Ultralytics .
Mesures de performance : Tête-à-tête
Le tableau suivant compare les performances de YOLO11 et de YOLO sur l'ensemble de donnéesCOCO val2017. Les mesures clés comprennent la précision moyennemAP et la vitesse d'inférence sur le matériel CPU et GPU .
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
| 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 |
Analyse des résultats
- Domination de l'efficacité : YOLO11 fait preuve d'une efficacité supérieure au niveau des paramètres. Par exemple, le modèle YOLO11m atteint 51,5 mAP avec seulement 20,1 millions de paramètres, alors que le modèle comparable DAMO-YOLOm est à la traîne avec 49,2 mAP pour une empreinte plus importante de 28,2 millions de paramètres.
- Précision ultime : La plus grande variante, YOLO11x, atteint une précision remarquable de 54,7 mAP, surpassant le plus grand modèle YOLO répertorié. Cela fait de YOLO11 le choix privilégié pour les tâches de haute précision telles que l'imagerie médicale ou la détection de défauts.
- Déploiement en périphérie : Le modèle YOLO11n (Nano) est exceptionnellement léger (2,6 millions de paramètres) et rapide (1,5 ms sur T4), ce qui le rend parfait pour les systèmes embarqués où la mémoire est rare. En revanche, le plus petit modèle YOLO est nettement plus lourd (8,5 millions de paramètres).
- Performance de lCPU : Ultralytics fournit des benchmarks CPU transparents, soulignant la viabilité de YOLO11 pour les déploiements sans accélérateurs dédiés. YOLO ne communique pas officiellement les vitesses du CPU , ce qui limite son évaluation pour les applications IoT à faible consommation.
Approfondissement technique
Formation et architecture
YOLO s'appuie fortement sur la recherche d'architecture neuronale (NAS) pour définir son ossature. Bien que cela puisse produire des structures théoriquement optimales, il en résulte souvent des blocs irréguliers qui peuvent ne pas être compatibles avec le matériel sur tous les appareils. En revanche, YOLO11 utilise des blocs raffinés et fabriqués à la main (C3k2, C2PSA) qui sont intuitivement conçus pour les processeurs standard du GPU et CPU standard.
YOLO11 met également l'accent sur l'efficacité de la formation. Il converge rapidement grâce à des hyperparamètres optimisés et à des stratégies d'augmentation des données. Ses besoins en mémoire pendant la formation sont généralement inférieurs à ceux des architectures complexes basées sur des transformateurs ou des NAS, ce qui permet aux chercheurs de former des modèles efficaces sur du matériel grand public.
Écosystème et facilité d'utilisation
L'un des principaux facteurs de différenciation est l'écosystème. YOLO est avant tout un dépôt de code pour reproduire les résultats d'articles de recherche.
Ultralytics YOLO11, en revanche, est une plateforme à service complet :
- Documentation : Des guides complets sur tous les aspects de la filière.
- Intégrations : Prise en charge native de MLFlow, TensorBoard, et Weights & Biases pour le suivi des expériences.
- Communauté : Une communauté massive et active sur GitHub et Discord qui garantit la correction rapide des bogues et la réponse aux questions.
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Train on a custom dataset
model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX for deployment
path = model.export(format="onnx")
Recommandations de cas d'utilisation
Quand choisir Ultralytics YOLO11
- Déploiement dans le monde réel : Si vous devez déployer sur différents matériels (iOSAndroid, Edge TPU, Jetson), les capacités d'exportation de YOLO11 sont inégalées.
- Pipelines de vision complexes : Lorsque votre projet nécessite plus que de simples boîtes de délimitation, comme le suivi d' objets ou l'estimation de la pose d'un corps,YOLO11 les gère en mode natif.
- Prototypage rapide : La facilité d'utilisation permet aux développeurs de passer des données à une démonstration fonctionnelle en quelques minutes.
- Contraintes de ressources : Les modèles Nano et Small offrent le meilleur rapport précision/taille pour les appareils alimentés par batterie.
Quand envisager DAMO-YOLO
- Recherche universitaire : Les chercheurs qui étudient l'efficacité des NAS dans la détection d'objets ou les techniques de re-paramétrage pourraient trouver en YOLO une base de référence précieuse.
- Configurations GPU spécifiques : Dans les scénarios où les blocs architecturaux spécifiques de YOLO s'alignent parfaitement avec la hiérarchie de cache d'un accélérateur cible, il peut offrir un débit compétitif.
Conclusion
YOLO introduit des concepts académiques impressionnants tels que MAE-NAS et RepGFPN, Ultralytics YOLO11 reste le meilleur choix pour la grande majorité des développeurs et des entreprises. Sa combinaison de précision de pointe, d'architecture légère et d'un écosystème florissant garantit que les projets sont non seulement performants, mais aussi maintenables et évolutifs.
Pour les développeurs à la recherche d'une solution de vision par ordinateur fiable, polyvalente et performante, YOLO11 fournit les outils et les mesures nécessaires pour réussir en 2025 et au-delà.
Explorer d’autres comparaisons de modèles
Pour mieux comprendre le paysage des modèles de détection d'objets, consultez les comparaisons suivantes :