YOLOv9 vs YOLOv10#
Le domaine de la vision par ordinateur en temps réel a connu d’immenses progrès, largement portés par des chercheurs qui repoussent sans cesse les limites du compromis entre performances et efficacité. Dans l’évolution des modèles de vision de pointe, YOLOv9 et YOLOv10 représentent deux étapes majeures. Lancés début 2024, les deux modèles ont introduit des architectures qui changent la donne pour résoudre des problèmes de longue date dans les réseaux neuronaux profonds, des goulots d’étranglement de l’information à la latence du post-traitement.
Cette comparaison technique complète examine leurs architectures, leurs indicateurs de performance et leurs scénarios de déploiement idéaux afin de t’aider à naviguer dans la complexité des écosystèmes modernes de détection d’objets.
Origines des modèles et percées architecturales#
Comprendre la filiation et les fondements théoriques de ces modèles est essentiel pour choisir l’architecture adaptée à ton projet spécifique de vision par ordinateur.
YOLOv9 : maîtriser le flux d’informations#
Présenté le 21 février 2024, YOLOv9 s’attaque au problème théorique de la perte d’informations lorsque les données traversent des réseaux neuronaux profonds.
- Auteurs : Chien-Yao Wang et Hong-Yuan Mark Liao
- Organisation : Institute of Information Science, Academia Sinica, Taïwan
- Référence : Article YOLOv9 sur arXiv
- Dépôt : YOLOv9 sur GitHub
YOLOv9 introduit le réseau généralisé d’agrégation efficace des couches (GELAN), qui maximise l’utilisation des paramètres en combinant les atouts de CSPNet et d’ELAN. Il utilise également les informations de gradient programmables (PGI), un mécanisme de supervision auxiliaire qui garantit que les couches profondes conservent les informations spatiales essentielles. YOLOv9 est ainsi particulièrement performant pour les tâches exigeant une grande fidélité des caractéristiques, comme l’analyse d’images médicales ou la surveillance à distance.
YOLOv10 : efficacité de bout en bout en temps réel#
Lancé peu après, le 23 mai 2024, YOLOv10 repense le processus de déploiement en éliminant l’un des goulots d’étranglement de latence les plus notoires de la détection d’objets : la suppression non maximale (NMS).
- Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
- Organisation : Université Tsinghua
- Référence : Article YOLOv10 sur arXiv
- Dépôt : YOLOv10 sur GitHub
YOLOv10 utilise des assignations doubles cohérentes pendant l’entraînement, ce qui permet une architecture native sans NMS. Cela élimine les opérations supplémentaires de post-traitement lors de l’inférence et réduit considérablement la latence. Associé à une conception de modèle qui équilibre efficacité et précision de manière globale, YOLOv10 atteint un équilibre remarquable : il réduit la charge de calcul (FLOPs) tout en conservant une précision compétitive, ce qui le rend particulièrement intéressant pour les applications d’informatique en périphérie.
Comparaison des performances et des métriques#
Lorsqu’on compare ces deux modèles de pointe sur le jeu de données standard MS COCO, des compromis distincts apparaissent entre précision pure et latence d’inférence.
| 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.2 | 26.7 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.1 | 76.8 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.5 | 102.8 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 58.1 | 192.5 |
| YOLOv10n | 640 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 160.4 |
Analyse des données#
- Latence et précision : Les modèles YOLOv10 offrent généralement des vitesses d’inférence supérieures. Par exemple, YOLOv10s atteint 46,3 % de mAP en seulement 2,49 ms avec TensorRT, contre 3,54 ms pour YOLOv9s, qui atteint un mAP similaire de 46,8 %.
- Précision de premier ordre : Pour les scénarios de recherche qui exigent une précision de détection maximale, YOLOv9e reste un choix redoutable, avec un mAP impressionnant de 55,6 %. Son architecture PGI garantit une extraction fiable des caractéristiques subtiles.
- Efficacité : YOLOv10 excelle en matière d’efficacité des FLOPs. Cela se traduit directement par une consommation d’énergie réduite, un critère essentiel pour les appareils à batterie exécutant des modèles d’IA visuelle.
Si tu déploies le modèle sur des CPU ou du matériel de périphérie aux ressources limitées, comme un Raspberry Pi, l’architecture sans NMS de YOLOv10 offre généralement un pipeline plus fluide en éliminant les étapes de post-traitement non déterministes.
L’avantage Ultralytics : entraînement et écosystème#
Les différences architecturales sont essentielles, mais l’écosystème logiciel joue un rôle déterminant dans la réussite d’un projet. YOLOv9 et YOLOv10 sont tous deux entièrement intégrés à l’écosystème Ultralytics, qui offre une expérience de développement incomparable.
Facilité d’utilisation et efficacité mémoire#
Contrairement aux architectures complexes fondées sur des Transformers, qui souffrent d’une consommation mémoire excessive, les modèles Ultralytics YOLO sont conçus pour optimiser l’utilisation de la mémoire GPU. Les chercheurs peuvent ainsi utiliser des tailles de batch plus grandes sur du matériel grand public, rendant l’IA de pointe accessible.
L’API Python unifiée fait abstraction des complexités de l’augmentation des données et du réglage des hyperparamètres. Tu peux passer facilement d’une architecture à l’autre en modifiant simplement le nom du fichier de poids.
from ultralytics import YOLO
# Charger un modèle YOLOv10 (tu peux facilement utiliser « yolov9c.pt » à la place pour YOLOv9)
model = YOLO("yolov10n.pt")
# Entraîner le modèle sur le jeu de données COCO8
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device=0)
# Valider les performances du modèle
metrics = model.val()
# Exporte le modèle entraîné au format ONNX pour le déploiement
model.export(format="onnx")Que tu aies besoin d’enregistrer des métriques dans MLflow ou d’effectuer un export vers TensorRT pour un déploiement matériel haute vitesse, le paquet Python Ultralytics gère ces opérations nativement.
Cas d’utilisation idéaux#
Le choix entre ces modèles dépend de tes contraintes de déploiement :
- Choisis YOLOv9 si : tu travailles sur des tâches de détection de petits objets, comme l’imagerie par drone aérien ou la détection de petites tumeurs, où la conservation des caractéristiques par l’architecture GELAN offre la fidélité la plus élevée.
- Choisis YOLOv10 si : ta priorité est l’inférence en temps réel sur des appareils de périphérie. Sa conception sans NMS convient parfaitement à la robotique autonome, à la surveillance du trafic en temps réel et à la surveillance intelligente.
Préparer l’avenir : passer à YOLO26#
YOLOv8, YOLOv9 et YOLOv10 sont d’excellents modèles, mais les développeurs qui souhaitent créer des solutions d’IA modernes devraient envisager Ultralytics YOLO26, lancé en janvier 2026.
YOLO26 représente la synthèse ultime des générations précédentes, en combinant les meilleurs atouts de la précision de YOLOv9 et de l’efficacité de YOLOv10.
Principales innovations de YOLO26#
- Conception de bout en bout sans NMS : dans la continuité des bases posées par YOLOv10, la tête optionnelle one-to-one de YOLO26 (
nms=False) ignore le post-traitement NMS pour simplifier le déploiement. - Optimiseur MuSGD : hybride de SGD et de Muon, il transpose à la vision par ordinateur les innovations de pointe de l’entraînement des LLM pour une convergence extrêmement stable et rapide.
- Inférence CPU jusqu’à 43 % plus rapide : optimisée spécialement pour l’informatique en périphérie et les appareils sans GPU dédié.
- Suppression de DFL : la Distribution Focal Loss a été supprimée pour simplifier l’exportation des modèles et améliorer la compatibilité avec les appareils à faible consommation.
- ProgLoss + STAL : ces fonctions de perte améliorées apportent des gains notables dans la reconnaissance des petits objets, égalant ou dépassant les capacités de YOLOv9.
Pour les chercheurs qui évaluent des architectures plus anciennes, RT-DETR et YOLO11 sont aussi des solutions de remplacement bien documentées dans l’écosystème Ultralytics. Cependant, pour bénéficier d’une polyvalence maximale sur l’ensemble des tâches de vision, passer à YOLO26 sur l’Ultralytics Platform permet de tirer parti de ce qui se fait de mieux en IA visuelle open source.