YOLOv9 vs YOLOv5 : une plongée technique dans la détection d'objets moderne

Le domaine de la vision par ordinateur a connu une croissance fulgurante, la détection d'objets servant de base à d'innombrables applications industrielles et de recherche. Choisir la bonne architecture nécessite souvent une évaluation minutieuse de la précision moyenne (mAP), de la vitesse d'inférence et de la surcharge mémoire. Dans cette comparaison, nous explorons deux modèles très influents : YOLOv9, célèbre pour ses avancées architecturales en matière de rétention d'informations de gradient, et Ultralytics YOLOv5, le standard industriel éprouvé, reconnu pour son incroyable facilité d'utilisation et sa polyvalence de déploiement inégalée.

Innovations architecturales et origines techniques

Comprendre les mécanismes sous-jacents de ces deux modèles fournit un contexte essentiel pour leurs profils de performance respectifs.

YOLOv9 : Informations de gradient programmables

Développé par les chercheurs Chien-Yao Wang et Hong-Yuan Mark Liao à l'Institut des sciences de l'information de l'Academia Sinica à Taïwan, YOLOv9 a été publié le 21 février 2024. Le modèle introduit deux concepts révolutionnaires pour remédier au goulot d'étranglement de l'information courant dans les réseaux de neurones profonds : le Programmable Gradient Information (PGI) et le Generalized Efficient Layer Aggregation Network (GELAN).

En utilisant le PGI, YOLOv9 garantit que les informations vitales sont conservées tout au long du processus de propagation vers l'avant, conduisant à des mises à jour de gradient très précises. Parallèlement, l'architecture GELAN maximise l'efficacité des paramètres, permettant au modèle d'atteindre une précision de pointe avec une surcharge computationnelle étonnamment faible. Tu peux explorer les détails techniques dans l'article Arxiv de YOLOv9 ou consulter le dépôt GitHub de YOLOv9.

En savoir plus sur YOLOv9

Ultralytics YOLOv5 : le standard de production

Créé par Glenn Jocher et publié par Ultralytics le 26 juin 2020, YOLOv5 a révolutionné l'accessibilité de la vision par ordinateur. Étant l'un des premiers modèles de détection d'objets construits nativement sur le framework PyTorch, il a évité les complexités de l'ancien framework Darknet en C. YOLOv5 exploite une dorsale CSPNet hautement optimisée et un cou PANet, privilégiant un équilibre harmonieux entre vitesse et précision.

Sa plus grande réussite reste cependant son intégration dans l'écosystème Ultralytics plus large. YOLOv5 est fortement optimisé pour une efficacité d'entraînement rapide et les environnements à faible mémoire, ce qui le rend incroyablement stable pour les déploiements en périphérie (edge).

En savoir plus sur YOLOv5

Efficacité mémoire

Lorsque tu évalues des modèles pour des périphériques de périphérie (edge), souviens-toi que les modèles Ultralytics YOLO exigent généralement beaucoup moins de mémoire GPU lors de l'entraînement et de l'inférence par rapport aux architectures lourdes basées sur les Transformer.

Analyse des performances : vitesse vs précision

Lors de la conception d'un pipeline de vision par ordinateur, tu dois peser les compromis entre précision et latence. Le tableau suivant illustre les différences de performance sur le jeu de données COCO standard.

Modèletaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
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
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045,4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

Analyse des compromis

YOLOv9 établit une domination absolue en termes de précision brute. Le modèle YOLOv9e repousse les limites de la mAP à 55,6 %, utilisant ses couches GELAN pour préserver les détails fins. Cela en fait un choix exceptionnel pour l'imagerie médicale ou les scénarios exigeant une précision rigoureuse sur de petits objets.

À l'inverse, YOLOv5 excelle par sa vitesse de déploiement brute et sa flexibilité matérielle. Le YOLOv5n (Nano) est notoirement léger, exécutant des inférences en seulement 1,12 ms sur un GPU T4 via TensorRT. Si tu déploies sur des appareils IoT contraints, des téléphones mobiles ou un Raspberry Pi, l'empreinte mémoire de YOLOv5 le rend extraordinairement fiable.

L'avantage de l'écosystème Ultralytics

Un facteur majeur lors de la sélection d'un modèle est l'écosystème logiciel environnant. Bien que YOLOv9 fournisse des benchmarks de recherche de premier plan, l'utilisation des deux modèles via l'API Python Ultralytics moderne comble le fossé, offrant aux développeurs une expérience unifiée et rationalisée.

Facilité d'utilisation et exportation

Ultralytics abstrait les obstacles techniques complexes. Des fonctionnalités comme l'augmentation de données automatique et le réglage des hyperparamètres sont gérés dès le départ. Le passage des modèles à la production est tout aussi trivial, avec des commandes d'exportation intégrées pour convertir les modèles aux formats ONNX, OpenVINO ou TFLite.

Polyvalence des tâches

Bien que les deux modèles excellent dans la détection d'objets, les modèles Ultralytics modernes sont conçus pour relever une variété de défis de vision par ordinateur. Le cadre plus large fournit un support natif pour la classification d'images, la segmentation d'instances, l'estimation de pose et les boîtes englobantes orientées (OBB), permettant aux développeurs de résoudre plusieurs problèmes de vision sans changer de base de code.

Cas d'utilisation et recommandations

Le choix entre YOLOv9 et YOLOv5 dépend des exigences spécifiques de ton projet, des contraintes de déploiement et des préférences concernant l'écosystème.

Quand choisir YOLOv9

YOLOv9 est un choix solide pour :

  • Recherche sur les goulots d'étranglement de l'information : Projets académiques étudiant les architectures PGI (Programmable Gradient Information) et GELAN (Generalized Efficient Layer Aggregation Network).
  • Études d'optimisation du flux de gradient : Recherche axée sur la compréhension et l'atténuation de la perte d'informations dans les couches profondes du réseau pendant l'entraînement.
  • Benchmarking de détection haute précision : Scénarios où les performances solides de YOLOv9 sur le benchmark COCO sont nécessaires comme point de référence pour des comparaisons architecturales.

Quand choisir YOLOv5

YOLOv5 est recommandé pour :

  • Systèmes de production éprouvés : Déploiements existants où l'historique de stabilité de YOLOv5, sa documentation étendue et son immense soutien communautaire sont valorisés.
  • Entraînement avec ressources limitées : Environnements dotés de ressources GPU limitées où le pipeline d'entraînement efficace et les exigences en mémoire plus faibles de YOLOv5 sont avantageux.
  • Support étendu des formats d'exportation : Projets nécessitant un déploiement sur de nombreux formats, notamment ONNX, TensorRT, CoreML et TFLite.

Quand choisir Ultralytics (YOLO26)

Pour la plupart des nouveaux projets, Ultralytics YOLO26 offre la meilleure combinaison de performance et d'expérience développeur :

  • Déploiement Edge sans NMS : Applications nécessitant une inférence cohérente et à faible latence sans la complexité du post-traitement par suppression des non-maximums.
  • Environnements 100 % CPU : Appareils sans accélération GPU dédiée, où l'inférence CPU jusqu'à 43 % plus rapide de YOLO26 offre un avantage décisif.
  • Détection de petits objets : Scénarios difficiles comme l'imagerie par drone aérien ou l'analyse de capteurs IoT, où ProgLoss et STAL améliorent considérablement la précision sur les objets minuscules.

Exemple d'implémentation

La beauté de l'écosystème Ultralytics est que tu peux basculer entre un modèle YOLOv5 et un modèle YOLOv9 simplement en changeant la chaîne de poids.

from ultralytics import YOLO

# Load a pretrained YOLOv9 model (swap to "yolov5s.pt" to use YOLOv5)
model = YOLO("yolov9c.pt")

# Train the model efficiently on a custom dataset
train_results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on new images
predictions = model.predict("https://ultralytics.com/images/zidane.jpg")

# Export to ONNX for seamless deployment
model.export(format="onnx")

Explorer des architectures plus récentes

Bien que YOLOv5 et YOLOv9 soient d'excellents modèles avec des avantages distincts, le domaine continue d'avancer. Les utilisateurs explorant de nouveaux projets pourraient également vouloir évaluer les dernières itérations d'Ultralytics.

  • YOLO11 : une évolution puissante et raffinée de la lignée YOLOv8 offrant un excellent équilibre vitesse-précision pour toutes les tâches de vision.
  • YOLO26 : publié en 2026, YOLO26 est la recommandation ultime pour les pipelines modernes. Il introduit une conception End-to-End NMS-Free, éliminant complètement les goulots d'étranglement du post-traitement. Avec le DFL Removal (suppression de la perte focale de distribution pour une exportation simplifiée et une meilleure compatibilité avec les appareils de périphérie/faible consommation), il atteint jusqu'à 43 % d'inférence CPU plus rapide. La stabilité de l'entraînement est suralimentée via le nouvel optimiseur MuSGD, et ProgLoss + STAL fournit des fonctions de perte améliorées avec des gains notables dans la reconnaissance de petits objets, essentiels pour l'IoT, la robotique et l'imagerie aérienne, ce qui en fait l'architecture la plus robuste pour les déploiements en périphérie comme dans le cloud.

Pour les équipes gérant de grands ensembles de données et des pipelines de déploiement complexes, l'utilisation de la plateforme Ultralytics offre une solution sans code pour entraîner, suivre et déployer ces modèles de pointe sans effort.

Commentaires