YOLOv9 vs YOLOv5#
Le domaine de la vision par ordinateur a connu une croissance considérable, la détection d’objets étant au cœur d’innombrables applications industrielles et de recherche. Choisir la bonne architecture exige souvent d’évaluer attentivement la précision moyenne (mAP), la vitesse d’inférence et la surcharge mémoire. Dans cette comparaison, nous étudions deux modèles très influents : YOLOv9, réputé pour ses avancées architecturales en matière de conservation des informations de gradient, et Ultralytics YOLOv5, une référence éprouvée dans l’industrie, connue pour sa grande facilité d’utilisation et sa polyvalence inégalée en matière de déploiement.
Innovations architecturales et origines techniques#
Comprendre le fonctionnement interne de ces deux modèles permet de mieux cerner leurs profils de performances 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é lancé le 21 février 2024. Le modèle introduit deux concepts révolutionnaires pour résoudre le goulot d’étranglement informationnel courant dans les réseaux neuronaux profonds : l’information de gradient programmable (PGI) et le réseau généralisé d’agrégation de couches efficace (GELAN).
Grâce à PGI, YOLOv9 garantit la conservation des informations essentielles tout au long de la propagation avant, ce qui produit des mises à jour de gradient très précises. L’architecture GELAN maximise quant à elle l’efficacité des paramètres, permettant au modèle d’atteindre une précision de pointe avec une surcharge de calcul étonnamment faible. Consulte l’article YOLOv9 sur Arxiv pour en savoir plus sur les aspects techniques ou visite le dépôt GitHub de YOLOv9.
Ultralytics YOLOv5 : la référence pour la production#
Écrit par Glenn Jocher et lancé par Ultralytics le 26 juin 2020, YOLOv5 a révolutionné l’accessibilité de la vision par ordinateur. Premier modèle de détection d’objets conçu nativement avec le framework PyTorch, il évitait les complexités de l’ancien framework C Darknet. YOLOv5 s’appuie sur un backbone CSPNet hautement optimisé et un neck PANet, privilégiant un équilibre harmonieux entre vitesse et précision.
Son principal atout est toutefois son intégration dans l’écosystème Ultralytics au sens large. YOLOv5 est fortement optimisé pour un entraînement efficace et les environnements à mémoire limitée, ce qui le rend très fiable pour les déploiements en périphérie.
Lorsque tu évalues des modèles pour des appareils en périphérie, garde à l’esprit que les modèles Ultralytics YOLO nécessitent généralement beaucoup moins de mémoire GPU pendant l’entraînement et l’inférence que les architectures lourdes basées sur des Transformers.
Analyse des performances : vitesse et précision#
Lors de la conception d’un pipeline de vision par ordinateur, les développeurs doivent évaluer les compromis entre précision et latence. Le tableau suivant illustre les différences de performances sur le jeu de données COCO standard.
| 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 |
| YOLOv5n | 640 | 28.0 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
Analyse des compromis#
YOLOv9 domine largement en matière de précision brute. Le YOLOv9e repousse les limites de la mAP, qui atteint 55,6 %, grâce à ses couches GELAN qui préservent les détails fins. C’est donc un excellent choix pour l’imagerie médicale ou les scénarios exigeant une grande précision sur les petits objets.
À l’inverse, YOLOv5 se distingue par sa vitesse de déploiement brute et sa flexibilité matérielle. Le YOLOv5n (Nano), réputé pour sa légèreté, exécute les inférences en seulement 1,12 ms sur un GPU T4 avec TensorRT. Si tu déploies ton modèle sur des appareils IoT aux ressources limitées, des téléphones mobiles ou un Raspberry Pi, l’empreinte mémoire de YOLOv5 le rend particulièrement fiable.
Les avantages de l’écosystème Ultralytics#
L’écosystème logiciel est un facteur important à prendre en compte lors du choix d’un modèle. YOLOv9 offre des résultats de premier plan dans les benchmarks de recherche, mais l’utilisation des deux modèles avec l’API Python Ultralytics moderne comble le fossé et propose aux développeurs une expérience unifiée et simplifiée.
Facilité d’utilisation et exportation#
Ultralytics abstrait les défis complexes de l’ingénierie. Des fonctionnalités comme l’augmentation de données automatique et l’ajustement des hyperparamètres sont intégrées. Le passage des modèles en production est tout aussi simple grâce aux commandes d’exportation intégrées, qui convertissent les modèles aux formats ONNX, OpenVINO ou LiteRT.
Polyvalence des tâches#
Les deux modèles excellent en détection d’objets, mais les modèles Ultralytics modernes sont conçus pour répondre à de nombreux défis de vision par ordinateur. Le framework dans son ensemble prend nativement en charge la classification d’images, la segmentation d’instances, l’estimation de pose et les boîtes englobantes orientées (OBB), ce qui permet 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, 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 YOLOv5#
YOLOv5 est recommandé pour :
- Systèmes de production éprouvés : les déploiements existants où la longue expérience de stabilité de YOLOv5, sa documentation exhaustive et le soutien important de sa communauté sont appréciés.
- Entraînement avec des ressources limitées : les environnements disposant de ressources GPU limitées, où le pipeline d’entraînement efficace de YOLOv5 et ses besoins en mémoire réduits sont avantageux.
- Prise en charge étendue des formats d’exportation : les projets qui nécessitent un déploiement dans de nombreux formats, notamment ONNX, TensorRT, CoreML et LiteRT.
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.
Exemple d'implémentation#
L’un des avantages de l’écosystème Ultralytics est de pouvoir passer d’un modèle YOLOv5 à un modèle YOLOv9 en modifiant simplement la chaîne de caractères des poids.
from ultralytics import YOLO
# Charge un modèle YOLOv9 préentraîné (remplace par « yolov5su.pt » pour utiliser YOLOv5u)
model = YOLO("yolov9c.pt")
# Entraîne efficacement le modèle sur un jeu de données personnalisé
train_results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Lance l’inférence sur de nouvelles images
predictions = model.predict("https://ultralytics.com/images/zidane.jpg")
# Exporte vers ONNX pour un déploiement fluide
model.export(format="onnx")Découverte d’architectures plus récentes#
YOLOv5 et YOLOv9 sont d’excellents modèles qui présentent chacun des avantages distincts, mais le domaine continue d’évoluer. Si tu démarres un nouveau projet, tu peux également évaluer les dernières versions d’Ultralytics.
- YOLO11 : Une évolution puissante et peaufinée de la lignée YOLOv8, offrant un excellent équilibre entre vitesse et précision pour toutes les tâches de vision.
- YOLO26 : Lancé en 2026, YOLO26 est le choix idéal pour les pipelines modernes. Il introduit une conception facultative de bout en bout sans NMS (
nms=False), qui élimine les goulots d’étranglement du post-traitement NMS. Grâce à la suppression de DFL (Distribution Focal Loss supprimée pour simplifier l’exportation et améliorer la compatibilité avec les appareils en périphérie et à faible consommation), il accélère l’inférence sur CPU jusqu’à 43 %. Le nouvel optimiseur MuSGD améliore considérablement la stabilité de l’entraînement, et ProgLoss + STAL (fonction de perte progressive et attribution des étiquettes tenant compte des petites cibles) améliorent nettement la reconnaissance des petits objets, essentielle pour l’IoT, la robotique et l’imagerie aérienne, faisant de ce modèle l’architecture la plus robuste pour les déploiements en périphérie comme dans le cloud.
Pour les équipes qui gèrent de grands jeux de données et des pipelines de déploiement complexes, la plateforme Ultralytics offre une solution sans code pour entraîner, suivre et déployer facilement ces modèles de pointe.