YOLOv9 face à 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 métriques 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 problème du goulot d'étranglement de l'information inhérent aux réseaux neuronaux profonds. Ses principales innovations comprennent l'information programmable des gradients (PGI) et le réseau généralisé d'agrégation efficace des couches (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 de caractéristiques essentielles lors du processus de propagation directe, YOLOv9 garantit que les gradients utilisés pour mettre à jour les poids pendant 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 présents dans les images aériennes et les scanners médicaux détaillés.
YOLOX : rapprocher la recherche et l'industrie#
Publié à la mi-2021, YOLOX a fait évoluer 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, en obtenant une excellente précision moyenne (mAP) et en éliminant le réglage des hyperparamètres des 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 conservation des caractéristiques.
YOLOX et les modèles Ultralytics plus récents adoptent tous deux des architectures 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#
Lorsque l'on compare ces modèles sur le benchmark MS COCO, les progrès de YOLOv9 deviennent évidents. YOLOv9 atteint 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.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 |
| 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 |
Bien que YOLOX propose des variantes légères comme YOLOX-Nano pour les cas d'utilisation en périphérie les plus exigeants, les variantes de YOLOv9 surpassent systématiquement les modèles YOLOX de taille similaire en termes de précision. Par exemple, YOLOv9m atteint une mAP de 51,4 % contre 49,7 % pour YOLOXl, malgré un nombre de paramètres inférieur de plus de moitié (20,0 M contre 54,2 M).
L'avantage Ultralytics#
Choisir un modèle implique bien plus que 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 au sein de l'écosystème Ultralytics t'offre une facilité d'utilisation inégalée et un solide soutien de la communauté.
Contrairement aux anciens dépôts de recherche originaux, le framework Ultralytics fournit 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, ce qui offre une efficacité d'entraînement remarquable.
from ultralytics import YOLO
# Initialize the YOLOv9c model
model = YOLO("yolov9c.pt")
# Train the model on your custom dataset seamlessly
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model's performance
metrics = model.val()
# Export the optimized model to TensorRT format
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 faire évoluer tes solutions de vision par ordinateur sans modifier l'ensemble de ta base de code.
Applications concrètes#
Les atouts spécifiques de ces modèles les destinent à des applications concrètes distinctes :
Analyse grande vitesse dans le commerce de détail#
Pour les environnements modernes de commerce de détail nécessitant la reconnaissance de produits en temps réel, YOLOv9 excelle. Sa capacité à conserver des détails complexes des caractéristiques le rend parfaitement adapté aux déploiements d'IA dans le commerce de détail, où il est nécessaire de distinguer des produits visuellement similaires sur une étagère encombrée.
Déploiements en périphérie sur du matériel ancien#
Dans les scénarios soumis à des limitations matérielles strictes ou utilisant des NPU spécialisés qui rencontrent des difficultés avec les blocs d'agrégation plus récents, YOLOX-Nano peut parfois trouver sa place. Ses motifs de convolution épurés sont parfois privilégiés pour les microcontrôleurs extrêmement limités en ressources.
Robotique autonome#
Pour la navigation robotique, manquer de petits objets peut avoir des conséquences catastrophiques. L'architecture GELAN de YOLOv9 garantit que les caractéristiques des obstacles petits et éloignés ne se perdent pas dans les couches profondes du réseau, surpassant ainsi les modèles plus anciens 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 de tes exigences spécifiques, de tes contraintes de déploiement et de tes préférences en matière d'écosystème.
Quand choisir YOLOv9#
YOLOv9 est un choix pertinent pour :
- Recherche sur les goulots d'étranglement de l'information : les projets académiques étudiant les architectures Programmable Gradient Information (PGI) et Generalized Efficient Layer Aggregation Network (GELAN).
- Études sur l'optimisation du flux des gradients : les recherches visant à comprendre et à limiter la perte d'informations dans les couches des réseaux profonds pendant l'entraînement.
- Évaluation comparative de la détection haute précision : les scénarios où les solides performances de YOLOv9 sur le benchmark COCO sont nécessaires comme référence pour comparer les architectures.
Quand choisir YOLOX#
YOLOX est recommandé pour :
- Recherche sur la détection sans ancres : La recherche universitaire utilisant l’architecture sans ancres claire de YOLOX comme référence pour expérimenter de nouvelles têtes de détection ou fonctions de perte.
- Appareils edge ultralégers : Le déploiement sur des microcontrôleurs ou du matériel mobile ancien, lorsque l’empreinte extrêmement réduite de la variante YOLOX-Nano (0.91M paramètres) est essentielle.
- Études sur l’attribution des labels SimOTA : Les projets de recherche qui étudient les stratégies d’attribution de labels fondé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 compromis entre performance et expérience développeur :
- Déploiement edge sans NMS : les applications nécessitant une inférence cohérente à faible latence, 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 scénarios difficiles comme les images aériennes prises par drone ou l'analyse de capteurs IoT, où ProgLoss et STAL améliorent considérablement la précision sur les objets minuscules.
L’avenir : place à YOLO26#
Bien que YOLOv9 représente une étape importante, les exigences des environnements de production repoussent constamment les limites. Le YOLO26 récemment publié représente la référence définitive de l'IA moderne pour la vision.
YOLO26 revitalise entièrement le pipeline de déploiement grâce à une conception native de bout en bout sans NMS. En éliminant le besoin d'une suppression complexe des non-maxima lors du post-traitement, il offre une latence d'inférence nettement inférieure.
De plus, YOLO26 intègre l'optimiseur révolutionnaire MuSGD, un hybride de SGD et de Muon qui reprend des innovations issues de l'entraînement des LLM afin d'offrir une convergence incroyablement stable et rapide. En supprimant la perte focale de distribution (DFL), YOLO26 atteint une inférence CPU 43 % plus rapide que ses prédécesseurs, ce qui en fait le meilleur choix pour les appareils en périphérie et les déploiements d'entreprise. Grâce à des améliorations notables de la reconnaissance des petits objets via ProgLoss et STAL, YOLO26 surpasse effectivement YOLOX et YOLOv9.
Pour les ingénieurs qui explorent les architectures modernes, nous recommandons également de découvrir YOLO11 et RT-DETR, deux alternatives performantes au sein de la suite Ultralytics. Prépare ton projet pour l'avenir en tirant parti des performances inégalées des derniers modèles sur la plateforme Ultralytics.