Passer au contenu

YOLOX vs. YOLOv9: une comparaison technique

Le choix de la bonne architecture pour la détection d'objets est une décision critique qui a un impact sur la vitesse, la précision et la faisabilité du déploiement des projets de vision par ordinateur. Cette analyse compare YOLOX, un modèle pivot sans ancrage lancé en 2021, et YOLOv9une architecture de pointe introduite en 2024 qui exploite l'information de gradient programmable (PGI).

Alors que YOLOX a fait évoluer le paradigme vers la détection sans ancrage, YOLOv9 introduit de nouveaux mécanismes pour conserver l'information dans les réseaux profonds, offrant des mesures de performance supérieures. Ce guide présente leurs architectures, leurs références et les cas d'utilisation idéaux pour vous aider à sélectionner le modèle le mieux adapté à vos besoins.

YOLOX : Le pionnier de la liberté d'ancrage

YOLOX a été lancé pour combler le fossé entre la communauté des chercheurs et les applications industrielles en simplifiant la tête de détection et en supprimant la dépendance à l'égard des boîtes d'ancrage prédéfinies.

Auteurs : Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, et Jian Sun
Organisation:Megvii
Date : 2021-07-18
Arxiv:arXiv:2107.08430
GitHub:Megvii-BaseDetection/YOLOX
Docs:YOLOX Documentation

Points forts de l'architecture

YOLOX a introduit une architecture de tête découplée, séparant les tâches de classification et de régression. Cette séparation permet au modèle de converger plus rapidement et d'atteindre une meilleure précision. Il utilise également un mécanisme sans ancrage, qui élimine la nécessité d'une analyse de regroupement pour déterminer la taille optimale de la boîte d'ancrage, ce qui rend le modèle plus robuste face à des formes d'objets variées. En outre, YOLOX utilise SimOTA pour l'attribution des étiquettes, traitant le processus comme un problème de transport optimal afin d'améliorer la stabilité de l'apprentissage.

Points forts et faiblesses

  • Points forts : la conception sans ancrage simplifie le processus de réglage des hyperparamètres. La tête découplée offre généralement une plus grande précision pour les tâches de localisation que les têtes couplées de l'époque.
  • Points faibles : En tant que modèle 2021, il ne dispose pas des optimisations modernes que l'on trouve dans les architectures plus récentes. Il peut nécessiter davantage de données d'entraînement pour atteindre des performances maximales par rapport aux modèles utilisant des techniques avancées d'augmentation des données et d'agrégation des couches.

YOLOv9: Information sur le gradient programmable

YOLOv9 représente une avancée significative, en s'attaquant au problème du "goulot d'étranglement de l'information" inhérent aux réseaux neuronaux profonds.

Auteurs : Chien-Yao Wang, Hong-Yuan Mark Liao
Organisation:Institute of Information Science, Academia Sinica
Date : 2024-02-21
Arxiv:arXiv:2402.13616
GitHub:WongKinYiu/yolov9
Docs:Ultralytics YOLOv9 Docs

Points forts de l'architecture

YOLOv9 introduit l'information de gradient programmable (PGI) et le réseau d'agrégation de couches efficace généralisé (GELAN). PGI empêche la perte d'informations d'entrée cruciales lorsque les données passent par des couches profondes, garantissant une génération de gradient fiable pour les mises à jour du modèle. GELAN optimise l'utilisation des paramètres, ce qui permet au modèle d'être à la fois léger et précis. Ces innovations permettent à YOLOv9 de surpasser ses prédécesseurs de manière significative en termes d'efficacité et de précision moyenne (mAP).

Points forts et faiblesses

  • Points forts : rapport exceptionnel entre la précision et les paramètres, ce qui le rend très efficace pour les applications en temps réel. L'architecture préserve mieux le flux d'informations que les itérations précédentes, ce qui permet une meilleure détection des petits objets.
  • Points faibles : Comme il s'agit d'une architecture plus récente, elle peut nécessiter une mise à jour des pilotes CUDA et de la prise en charge matérielle par rapport aux modèles plus anciens.

En savoir plus sur YOLOv9

Comparaison des performances

Le tableau suivant compare les performances de YOLOX et de YOLOv9 sur l'ensemble de donnéesCOCO . YOLOv9 obtient systématiquement des scores mAP plus élevés avec moins de paramètres, ce qui met en évidence l'efficacité de l'architecture GELAN.

ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0

Analyse : YOLOv9 offre une amélioration substantielle de la densité des performances. Par exemple, YOLOv9c atteint 53,0 % de mAP avec seulement 25,3 millions de paramètres, alors que YOLOX-L nécessite 54,2 millions de paramètres pour atteindre un score inférieur de 49,7 % de mAP. Cela indique que YOLOv9 est environ deux fois plus efficace en termes d'utilisation de paramètres pour ce niveau de précision.

L'efficacité compte

Lors d'un déploiement sur des appareils périphériques, les FLOP et les paramètres sont tout aussi importants que le mAP. L'architecture GELAN de YOLOv9 réduit considérablement les frais généraux de calcul, ce qui se traduit par des appareils plus froids et une plus longue durée de vie de la batterie dans les déploiements mobiles.

L'avantage Ultralytics

Bien que YOLOX soit un référentiel autonome robuste, l'utilisation de YOLOv9 au sein de l'écosystèmeUltralytics offre des avantages distincts aux développeurs et aux chercheurs.

Facilité d'utilisation et d'intégration

Le cadre Ultralytics unifie l'interaction des modèles. Vous pouvez entraîner, valider et déployer YOLOv9 en utilisant une APIPython simple et intuitive. Cela contraste avec la base de code YOLOX, qui nécessite souvent une configuration manuelle des variables d'environnement et des chemins d'accès aux ensembles de données.

from ultralytics import YOLO

# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")

# Run inference on an image
results = model("path/to/image.jpg")

# Train the model on a custom dataset with a single line of code
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

Un écosystème bien entretenu

Les modèles Ultralytics bénéficient de mises à jour continues, de corrections de bogues et du soutien de la communauté. L'intégration avec Ultralytics HUB permet aux équipes de gérer les ensembles de données, de track expériences et de déployer les modèles dans différents formatsONNX, TensorRT, CoreML) sans avoir à écrire des scripts d'exportation complexes.

Équilibre des performances et efficacité de la mémoire

Les modèlesYOLO d'Ultralytics sont conçus pour offrir un équilibre pratique entre vitesse et précision. En outre, ils présentent généralement des besoins en mémoire plus faibles pendant la formation que les architectures plus anciennes ou les modèles lourds basés sur des transformateurs. Cette efficacité réduit les coûts de calcul en nuage et rend la formation accessible sur les GPU grand public.

Polyvalence

Alors que YOLOX est avant tout un détecteur d'objets, le cadre Ultralytics étend les capacités des modèles pris en charge. Les utilisateurs peuvent facilement passer d'une tâche à l'autre, comme la segmentation d'instances, l'estimation de la pose et la détection de boîtes de délimitation orientées (OBB), en utilisant une syntaxe et des flux de travail similaires, une polyvalence qui fait souvent défaut aux référentiels de recherche autonomes.

Cas d'utilisation idéaux

Quand choisir YOLOv9

  • Systèmes autonomes : La grande précision de YOLOv9 est idéale pour les véhicules autonomes où la détection de petits obstacles à distance est essentielle pour la sécurité.
  • Analyse en temps réel : Pour la vente au détail ou la gestion du trafic, YOLOv9c offre un taux de rafraîchissement élevé et une détection précise.
  • Edge AI : L'efficacité architecturale de GELAN rend YOLOv9t et YOLOv9s parfaits pour un déploiement sur des appareils tels que NVIDIA Jetson ou Raspberry Pi.

Quand choisir YOLOX

  • Intégration de l'héritage : Si un pipeline de production existant est déjà largement conçu autour du format spécifique de la tête sans ancrage YOLOX.
  • Recherche universitaire : Les chercheurs qui étudient spécifiquement le comportement des têtes découplées dans les premiers détecteurs sans ancrage peuvent trouver dans YOLOX une base de comparaison précieuse.

Conclusion

Les deux architectures ont gagné leur place dans l'histoire de la vision par ordinateur. YOLOX a défié avec succès le statu quo basé sur l'ancrage en 2021. Cependant, les deux architectures ont gagné leur place dans l'histoire de la vision par ordinateur, YOLOv9 représente la norme moderne, intégrant des années de progrès dans l'optimisation du flux de gradient et l'agrégation de couches.

Pour la plupart des nouveaux développements, YOLOv9 est le choix recommandé. Sa performance supérieure par paramètre, combinée à la facilité d'utilisation, à l'efficacité de la formation et aux options de déploiement robustes fournies par l'écosystème Ultralytics , garantit un passage plus rapide du concept à la production.

Explorer d'autres options modernes dans l'écosystème, telles que YOLO11 et YOLOv8afin de trouver la solution la mieux adaptée aux contraintes spécifiques de votre application.


Commentaires