YOLOv9 vs YOLO11 : évolution architecturale et analyse des performances
Le paysage de la vision par ordinateur est défini par une innovation rapide, avec des modèles qui repoussent continuellement les limites de la précision, de la vitesse et de l'efficacité. Cette comparaison explore deux étapes importantes dans la détection d'objets : YOLOv9, un modèle axé sur la recherche introduisant de nouveaux concepts architecturaux, et Ultralytics YOLO11, la dernière évolution prête à la production conçue pour une polyvalence dans le monde réel.
Alors que YOLOv9 se concentre sur la résolution des goulots d'étranglement de l'information dans l'apprentissage profond grâce à des avancées théoriques, Ultralytics YOLO11 affine les performances de pointe (SOTA) en mettant l'accent sur la convivialité, l'efficacité et l'intégration transparente dans l'écosystème Ultralytics.
Métriques de performance : vitesse et précision
Le tableau suivant présente une comparaison directe des indicateurs clés de performance évalués sur le jeu de données COCO. Lors de la sélection d'un modèle, il est essentiel d'équilibrer la précision moyenne (mAP) avec la vitesse d'inférence et le coût de calcul (FLOPs).
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Comme l'illustrent les données, YOLO11 démontre une efficacité supérieure. Par exemple, le modèle YOLO11n atteint un mAP plus élevé (39,5 %) que YOLOv9t (38,3 %) tout en utilisant moins de FLOPs et en s'exécutant beaucoup plus rapidement sur GPU. Bien que le plus grand modèle YOLOv9e détienne un léger avantage en termes de précision brute, il nécessite près du double du temps d'inférence de YOLO11l, faisant de YOLO11 le choix le plus pragmatique pour les scénarios d'inférence en temps réel.
YOLOv9 : S’attaquer au goulot d’étranglement de l’information
YOLOv9 a été publié avec un objectif académique spécifique : résoudre le problème de la perte d’informations lorsque les données traversent des réseaux neuronaux profonds. Son architecture est fortement influencée par la nécessité de conserver les informations de gradient pendant l’entraînement.
Détails techniques :
Auteurs : Chien-Yao Wang, Hong-Yuan Mark Liao
Organisation :Institute of Information Science, Academia Sinica, Taiwan
Date : 2024-02-21
Arxiv :https://arxiv.org/abs/2402.13616
GitHub :https://github.com/WongKinYiu/yolov9
Docs :https://docs.ultralytics.com/models/yolov9/
Principales caractéristiques architecturales
Les innovations principales de YOLOv9 sont l'information de gradient programmable (PGI) et le réseau d'agrégation de couches efficace généralisé (GELAN).
- PGI : Ce cadre de supervision auxiliaire garantit que les couches profondes reçoivent des informations de gradient fiables, atténuant ainsi le « goulot d'étranglement de l'information » qui entrave souvent la convergence des réseaux profonds.
- GELAN : Cette architecture optimise l’efficacité des paramètres en combinant les forces de CSPNet et d’ELAN, ce qui permet une mise à l’échelle computationnelle flexible.
Objectif académique
YOLOv9 constitue une excellente étude de cas pour les chercheurs intéressés par la théorie de l'apprentissage profond, en particulier en ce qui concerne le flux de gradients et la préservation de l'information dans les réseaux neuronaux convolutionnels.
Ultralytics YOLO11 : La polyvalence au service de l’efficacité
S'appuyant sur l'héritage de YOLOv8, YOLO11 représente le summum de la vision par ordinateur orientée production. Il est conçu non seulement pour les scores de référence, mais aussi pour le déploiement pratique, la facilité d'utilisation et la capacité multitâche.
Détails techniques :
Auteurs : Glenn Jocher, Jing Qiu
Organisation :Ultralytics
Date : 2024-09-27
GitHub :https://github.com/ultralytics/ultralytics
Docs :https://docs.ultralytics.com/models/yolo11/
Principales caractéristiques architecturales
YOLO11 introduit une architecture affinée conçue pour maximiser l'extraction des caractéristiques tout en minimisant la surcharge de calcul. Il utilise une structure de backbone et de neck améliorée qui améliore l'intégration des caractéristiques à différentes échelles, ce qui est essentiel pour la détection des petits objets.
Le modèle présente également des conceptions de tête améliorées pour une convergence plus rapide pendant l'entraînement. Contrairement aux modèles axés sur la recherche, YOLO11 est construit dans un cadre unifié qui prend en charge nativement la Détection, la Segmentation, la Classification, l'Estimation de Pose et les Boîtes Englobantes Orientées (OBB).
Points de comparaison détaillés
Facilité d'utilisation et écosystème
L'une des différences les plus importantes réside dans l'expérience utilisateur. Ultralytics YOLO11 est conçu avec un état d'esprit "développeur d'abord". Il s'intègre de manière transparente à l'écosystème Ultralytics plus large, qui comprend des outils pour l'annotation des données, la gestion des ensembles de données et l'exportation de modèles.
- YOLO11 : Il peut être formé, validé et déployé en quelques lignes de code à l'aide de la fonction
ultralyticsPackage Python ou CLI. Il bénéficie de mises à jour fréquentes, d'une documentation complète et d'une vaste communauté. - YOLOv9 : Bien qu’elle soit prise en charge dans la bibliothèque Ultralytics, l’implémentation originale et certaines configurations avancées peuvent nécessiter une compréhension plus approfondie du document de recherche sous-jacent.
Besoins en mémoire et efficacité de l'apprentissage
L'utilisation efficace des ressources est une caractéristique des modèles Ultralytics. YOLO11 est optimisé pour nécessiter moins de mémoire CUDA pendant l'entraînement par rapport à de nombreuses alternatives basées sur des transformateurs ou des itérations YOLO plus anciennes. Cela permet aux développeurs d'entraîner des tailles de lots plus importantes sur du matériel grand public, ce qui accélère le cycle de développement.
De plus, YOLO11 fournit des poids pré-entraînés de haute qualité et facilement disponibles pour toutes les tâches, garantissant que l'apprentissage par transfert est à la fois rapide et efficace. Cela contraste avec les modèles de recherche qui peuvent offrir des points de contrôle pré-entraînés limités, principalement axés sur la détection COCO.
Polyvalence des tâches
Bien que YOLOv9 soit principalement reconnu pour ses réalisations en matière de détection d'objets, YOLO11 offre un support natif pour un large éventail de tâches de vision par ordinateur au sein d'un seul framework :
- Segmentation d'instance : Masquage précis des objets.
- Estimation de pose : Détection des points clés du squelette (par exemple, pour la pose humaine).
- Classification : Catégorisation d’images entières.
- Boîtes englobantes orientées (OBB) : Détection d’objets pivotés, essentielle pour l’imagerie aérienne.
API unifiée
Passer d'une tâche à l'autre dans YOLO11 est aussi simple que de modifier le fichier de poids du modèle (par exemple, de yolo11n.pt pour la détection à yolo11n-seg.pt pour la segmentation).
Exemple de code : Comparaison en action
Le code python suivant montre avec quelle facilité les deux modèles peuvent être chargés et utilisés dans le framework Ultralytics, soulignant l'API unifiée qui simplifie les tests de différentes architectures.
from ultralytics import YOLO
# Load the research-focused YOLOv9 model (compact version)
model_v9 = YOLO("yolov9c.pt")
# Load the production-optimized YOLO11 model (medium version)
model_11 = YOLO("yolo11m.pt")
# Run inference on a local image
# YOLO11 provides a balance of speed and accuracy ideal for real-time apps
results_11 = model_11("path/to/image.jpg")
# Display results
results_11[0].show()
Cas d'utilisation idéaux
Quand choisir YOLOv9
YOLOv9 est un excellent choix pour la recherche académique et les scénarios où la précision maximale sur des images statiques est la seule priorité, quel que soit le coût de calcul.
- Projets de recherche : Étudier le flux de gradients et l’architecture des réseaux neuronaux.
- Benchmarking : Concours où chaque fraction de mAP compte.
- Déploiements de serveur haut de gamme : Où des GPU puissants (comme les A100) sont disponibles pour gérer les FLOPs plus élevés de la variante « E ».
Quand choisir Ultralytics YOLO11
YOLO11 est le choix recommandé pour les applications commerciales, l'edge computing et les systèmes multitâches.
- IA en périphérie : Déploiement sur des appareils tels que NVIDIA Jetson ou Raspberry Pi en raison de rapports vitesse/poids supérieurs.
- Analyse en temps réel : Surveillance du trafic, analyse sportive et contrôle de la qualité de la fabrication où la latence est critique.
- Pipelines complexes : Applications nécessitant la détection, la segmentation et l'estimation de pose simultanément.
- Prototypage rapide : Les startups et les entreprises qui ont besoin de passer rapidement du concept au déploiement en utilisant l'APIUltralytics .
Autres modèles à explorer
Bien que YOLOv9 et YOLO11 soient de puissants concurrents, la bibliothèque Ultralytics prend en charge une variété d'autres modèles adaptés à des besoins spécifiques :
- YOLOv8 : Le prédécesseur fiable de YOLO11, toujours largement utilisé et pris en charge.
- RT-DETR : Un détecteur basé sur un transformateur qui excelle en précision, mais peut nécessiter plus de mémoire.
- YOLOv10: Une architecture distincte axée sur l'entraînement sans NMS pour une latence plus faible dans des configurations spécifiques.
Explorez toute la gamme d'options dans la section Comparaison des modèles.
Conclusion
Les deux architectures représentent des réalisations importantes dans le domaine de la vision par ordinateur. YOLOv9 apporte des informations théoriques précieuses sur l'entraînement des réseaux profonds, tandis que Ultralytics YOLO11 synthétise ces avancées en un outil robuste, polyvalent et très efficace pour le monde. Pour la plupart des développeurs et des chercheurs qui cherchent à créer des applications évolutives en temps réel, l'équilibre entre performance, facilité d'utilisation et prise en charge complète de l'écosystème de YOLO11 en fait le choix supérieur.