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 propose une comparaison complète entre YOLOv9 et YOLOX, en analysant leurs innovations architecturales, leurs indicateurs de performance et leurs méthodologies d’entraînement. Que tu développes des applications intelligentes pour l’IA dans l’industrie manufacturière 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 a introduit un changement de paradigme en s’attaquant au goulot d’étranglement de l’information inhérent aux réseaux neuronaux profonds. Ses principales innovations comprennent Programmable Gradient Information (PGI) et Generalized Efficient Layer Aggregation Network (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 préservant les données essentielles des caractéristiques pendant la propagation avant, YOLOv9 garantit que les gradients utilisés pour mettre à jour les poids lors de la rétropropagation restent précis. Cette architecture excelle dans l’extraction de caractéristiques, ce qui lui permet de détecter efficacement les petits objets dans des environnements complexes, comme ceux que l’on trouve dans 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
Bien que YOLOX ait été révolutionnaire à son époque, avec une excellente précision moyenne (mAP) et sans réglage des hyperparamètres de boîtes d’ancrage, 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) | 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 |
| 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 à la 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 simplicité d’utilisation inégalée et un solide soutien communautaire.
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 beaucoup moins de mémoire GPU que de nombreuses solutions alternatives, pour une efficacité d’entraînement remarquable.
from ultralytics import YOLO
# Initialiser le modèle YOLOv9c
model = YOLO("yolov9c.pt")
# Entraîner facilement 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 rapidement réorienter tes solutions de vision par ordinateur sans modifier toute 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 parfaitement 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 à de strictes contraintes matérielles ou faisant appel à des NPU spécialisés qui peinent à gérer les nouveaux blocs d’agrégation, YOLOX-Nano peut parfois trouver sa place. Ses motifs de convolution simples et épurés sont parfois privilégiés pour les microcontrôleurs aux ressources extrêmement limitées.
Robotique autonome#
En navigation robotique, manquer de petits objets peut avoir des conséquences catastrophiques. L’architecture GELAN de YOLOv9 veille à ce que les caractéristiques des petits obstacles éloignés ne se perdent pas dans les couches profondes du réseau, surpassant les anciens modèles dans des environnements critiques pour la sécurité, comme les applications d’IA dans l’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 en périphérie sans NMS : les applications qui exigent des inférences à faible latence et constantes, sans la complexité du post-traitement par suppression non maximale.
- Environnements exclusivement CPU : les appareils dépourvus d’accélération GPU dédiée, où l’inférence CPU jusqu’à 43 % plus rapide de YOLO26 constitue un avantage décisif.
- Détection de petits objets : les situations difficiles, comme l’imagerie aérienne par drone ou l’analyse de capteurs IoT, où ProgLoss et STAL améliorent considérablement la précision pour les objets minuscules.
L’avenir : place à YOLO26#
Bien que YOLOv9 représente une avancée impressionnante, les exigences des environnements de production repoussent sans cesse les limites. Le tout nouveau YOLO26 représente la référence absolue en matière d’IA visuelle moderne.
YOLO26 renouvelle entièrement le pipeline de déploiement avec une conception optionnelle de bout en bout sans NMS. En éliminant le besoin d’une suppression non maximale complexe lors du post-traitement avec nms=False, il réduit considérablement la latence d’inférence.
En outre, YOLO26 intègre le révolutionnaire optimiseur MuSGD, hybride de SGD et de Muon qui reprend des innovations de l’entraînement des LLM pour offrir une convergence extrêmement stable et rapide. En supprimant Distribution Focal Loss (DFL), YOLO26 accélère l’inférence CPU jusqu’à 43 % par rapport à ses prédécesseurs, ce qui en fait le meilleur choix pour les appareils périphériques et les déploiements en entreprise. Grâce aux améliorations notables de la reconnaissance des petits objets apportées par ProgLoss et STAL, YOLO26 supplante efficacement YOLOX et YOLOv9.
Pour les ingénieurs qui explorent les architectures modernes, nous recommandons également YOLO11 et RT-DETR, deux solutions de remplacement performantes de la suite Ultralytics. Prépare ton projet pour l’avenir en tirant parti des performances inégalées des modèles les plus récents sur la plateforme Ultralytics.