YOLOv9 contre YOLOX#
Le domaine de la vision par ordinateur a connu une évolution rapide des architectures de détection d’objets en temps réel. Ce guide compare YOLOv9 et YOLOX, en analysant leurs innovations architecturales, leurs mesures de performances et leurs méthodes d’entraînement. Que tu développes des applications intelligentes pour l’IA dans l’industrie ou que tu explores la modélisation prédictive, comprendre ces modèles t’aidera à prendre des décisions éclairées pour ton prochain déploiement.
Innovations architecturales#
YOLOv9 : informations de gradient programmables#
YOLOv9 s’attaque au problème du goulot d’étranglement de l’information inhérent aux réseaux neuronaux profonds. Ses principales innovations comprennent l’information de gradient programmable (PGI) et le réseau d’agrégation de couches efficace généralisé (GELAN).
- Auteurs : Chien-Yao Wang et Hong-Yuan Mark Liao
- Organisation : Institute of Information Science, Academia Sinica, Taïwan
- Date : 21 février 2024
- arXiv : 2402.13616
- GitHub : WongKinYiu/yolov9
En conservant les données essentielles sur les caractéristiques pendant la propagation avant, YOLOv9 contribue à maintenir la précision des gradients utilisés pour mettre à jour les poids pendant la rétropropagation. Cette architecture excelle dans l’extraction de caractéristiques, ce qui la rend efficace pour détecter les petits objets dans des environnements complexes, comme les images aériennes et les examens médicaux détaillés.
YOLOX : faire le lien entre recherche et industrie#
Sorti à la mi-2021, YOLOX a orienté la série YOLO vers une conception sans ancres. Il a introduit une tête découplée qui sépare les tâches de classification et de localisation, et a utilisé la stratégie d’affectation des étiquettes SimOTA pour améliorer la convergence de l’entraînement.
- Auteurs : Zheng Ge, Songtao Liu, Feng Wang, Zeming Li et Jian Sun
- Organisation : Megvii
- Date : 18 juillet 2021
- arXiv : 2107.08430
- GitHub : Megvii-BaseDetection/YOLOX
YOLOX a marqué son époque en atteignant une excellente précision moyenne (mAP) et en éliminant le réglage des hyperparamètres des boîtes d’ancrage, mais son architecture sous-jacente a depuis été dépassée par des réseaux modernes qui équilibrent mieux le nombre de paramètres et la préservation des caractéristiques.
YOLOX et les modèles Ultralytics plus récents adoptent tous deux une conception sans ancres, ce qui réduit la complexité du réglage des hyperparamètres et améliore la généralisation sur des jeux de données variés.
Analyse des performances#
La comparaison de ces modèles sur le benchmark MS COCO met en évidence les progrès de YOLOv9. YOLOv9 offre systématiquement un meilleur compromis entre précision et FLOPs.
| Modèle | taille (pixels) | mAPval50-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 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
YOLOX propose des variantes légères comme YOLOX-Nano pour les cas extrêmes en périphérie, mais les variantes YOLOv9 surpassent systématiquement les modèles YOLOX de taille similaire en matière de précision pure. Par exemple, YOLOv9m atteint 51,4 % de mAP contre 49,7 % pour YOLOXl, avec moins de la moitié des paramètres (20,1 M contre 54,2 M).
L’avantage Ultralytics#
Choisir un modèle ne se résume pas à sa théorie architecturale : l’écosystème qui l’entoure détermine la vitesse de développement et la réussite du déploiement. Utiliser YOLOv9 dans l’écosystème Ultralytics offre une grande simplicité d’utilisation et un soutien communautaire solide.
Contrairement aux anciens dépôts de recherche d’origine, le framework Ultralytics propose une API Python unifiée qui simplifie les pipelines complexes. L’entraînement nécessite généralement moins de mémoire GPU que de nombreuses solutions alternatives, ce qui améliore l’efficacité de l’entraînement.
from ultralytics import YOLO
# Initialiser le modèle YOLOv9c
model = YOLO("yolov9c.pt")
# Entraîner le modèle sur ton jeu de données personnalisé
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Valider les performances du modèle
metrics = model.val()
# Exporter le modèle optimisé au format TensorRT
model.export(format="engine")Grâce à la prise en charge intégrée de plusieurs tâches, notamment la détection d’objets, la segmentation d’instances et l’estimation de pose, tu peux passer d’une tâche de vision à une autre sans modifier l’ensemble de ta base de code.
Applications concrètes#
Les atouts propres à ces modèles les destinent à différentes applications du monde réel :
Analytique rapide pour le commerce de détail#
Pour les environnements de vente au détail modernes qui nécessitent une reconnaissance des produits en temps réel, YOLOv9 excelle. Sa capacité à préserver les détails complexes des caractéristiques le rend particulièrement adapté aux déploiements d’IA dans le commerce de détail, où il faut distinguer des produits visuellement similaires sur des étagères encombrées.
Déploiements hérités sur appareils périphériques#
Dans les scénarios soumis à des contraintes matérielles strictes ou impliquant des NPU spécialisés qui peinent avec les blocs d’agrégation plus récents, YOLOX-Nano peut parfois trouver sa place. Ses schémas de convolution simples sont parfois privilégiés pour les microcontrôleurs aux ressources extrêmement limitées.
Robotique autonome#
En navigation robotique, ne pas détecter de petits objets peut avoir des conséquences catastrophiques. L’architecture GELAN de YOLOv9 aide à préserver les caractéristiques des petits obstacles éloignés dans les couches profondes du réseau, un point crucial dans les environnements critiques pour la sécurité, comme les applications d’IA automobile.
Cas d’utilisation et recommandations#
Le choix entre YOLOv9 et YOLOX dépend des exigences propres à ton projet, de tes contraintes de déploiement et de tes préférences en matière d’écosystème.
Quand choisir YOLOv9#
YOLOv9 est un excellent choix pour :
- Recherche sur les goulots d’étranglement de l’information : les projets universitaires qui étudient les architectures à informations de gradient programmables (PGI) et à réseau généralisé d’agrégation efficace des couches (GELAN).
- Études sur l’optimisation du flux de gradients : les recherches axées sur la compréhension et l’atténuation des pertes d’information dans les couches profondes des réseaux pendant l’entraînement.
- Évaluation comparative de la détection de haute précision : les scénarios où les solides performances de YOLOv9 sur COCO servent de référence pour comparer les architectures.
Quand choisir YOLOX#
YOLOX est recommandé pour :
- Recherche sur la détection sans ancres : recherche universitaire qui utilise l’architecture épurée sans ancres de YOLOX comme référence pour expérimenter de nouvelles têtes de détection ou fonctions de perte.
- Appareils périphériques ultralégers : déploiement sur des microcontrôleurs ou du matériel mobile ancien, où l’empreinte extrêmement réduite (0,91 M de paramètres) de la variante YOLOX-Nano est essentielle.
- Études sur l’assignation d’étiquettes SimOTA : projets de recherche qui étudient les stratégies d’assignation d’étiquettes basées sur le transport optimal et leur impact sur la convergence de l’entraînement.
Quand choisir Ultralytics (YOLO26)#
Pour la plupart des nouveaux projets, Ultralytics YOLO26 offre le meilleur équilibre entre performances et expérience développeur :
- Déploiement edge sans NMS : Applications nécessitant une inférence cohérente à faible latence, sans la complexité du post-traitement de suppression des non-maxima (NMS).
- Environnements utilisant uniquement le CPU : les appareils dépourvus d’accélération GPU dédiée bénéficient d’un avantage décisif grâce à l’inférence CPU de YOLO26n, jusqu’à 43 % plus rapide que celle de YOLO11n.
- Détection de petits objets : scénarios difficiles comme les images aériennes capturées par drone ou l’analyse de capteurs IoT, où ProgLoss et STAL améliorent la précision sur les objets minuscules.
L’avenir : place à YOLO26#
YOLOv9 est un jalon important, mais les exigences de production continuent d’évoluer. YOLO26, lancé en janvier 2026, est le modèle Ultralytics actuellement recommandé.
YOLO26 simplifie le pipeline de déploiement grâce à une architecture optionnelle de bout en bout sans NMS. En éliminant le post-traitement NMS avec nms=False, il réduit la latence d’inférence.
YOLO26 intègre également l’optimiseur MuSGD, un hybride de SGD et de Muon qui s’inspire des innovations de l’entraînement des grands modèles de langage pour assurer une convergence stable et rapide. Grâce à la suppression de la DFL et à l’inférence sans NMS, YOLO26n offre une inférence CPU jusqu’à 43 % plus rapide que YOLO11n, ce qui fait de YOLO26 un excellent choix pour les appareils edge et les déploiements d’entreprise. L’amélioration de la détection des petits objets grâce à ProgLoss et à STAL (Perte progressive et attribution d’étiquettes adaptée aux petites cibles) permet à YOLO26 de surpasser YOLOX et YOLOv9 pour les nouveaux projets.
Pour les ingénieurs qui explorent les architectures modernes, YOLO11 et RT-DETR sont aussi d’excellentes solutions alternatives dans l’écosystème Ultralytics, et Ultralytics Platform te permet d’entraîner et de déployer les modèles les plus récents au même endroit.