YOLOv9 vs YOLOv5#
Le domaine de la vision par ordinateur a connu une croissance considérable, la détection d’objets servant de pilier à d’innombrables applications industrielles et de recherche. Choisir la bonne architecture nécessite souvent d’évaluer soigneusement la précision moyenne (mAP), la vitesse d’inférence et la surcharge mémoire. Dans cette comparaison, nous examinons deux modèles particulièrement influents : YOLOv9, reconnu pour ses avancées architecturales en matière de conservation des informations de gradient, et Ultralytics YOLOv5, la référence industrielle éprouvée, réputée 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 est sorti 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 neuronaux profonds : l’information de gradient programmable (PGI) et le réseau généralisé d’agrégation efficace des couches (GELAN).
En utilisant PGI, YOLOv9 garantit la conservation des informations essentielles tout au long du processus de propagation avant, ce qui permet d’obtenir des mises à jour de gradient très précises. Parallèlement, l’architecture GELAN optimise l’efficacité des paramètres, permettant au modèle d’atteindre une précision de pointe avec une surcharge de calcul étonnamment faible. Tu peux consulter les détails techniques dans l’article officiel YOLOv9 Arxiv ou afficher le dépôt GitHub de YOLOv9.
Ultralytics YOLOv5 : la référence pour la production#
Créé par Glenn Jocher et publié par Ultralytics le 26 juin 2020, YOLOv5 a révolutionné l’accessibilité de la vision par ordinateur. En tant que l’un des premiers modèles de détection d’objets conçus nativement sur le framework PyTorch, il contournait les complexités de l’ancien framework C Darknet. YOLOv5 s’appuie sur un backbone CSPNet hautement optimisé et un neck PANet, en privilégiant un équilibre fluide entre vitesse et précision.
Sa réussite majeure réside toutefois dans son intégration à l’écosystème Ultralytics au sens large. YOLOv5 est fortement optimisé pour une efficacité d’entraînement élevée et les environnements à faible mémoire, ce qui le rend extrêmement stable pour les déploiements en périphérie.
Lorsque tu évalues des modèles pour des appareils périphériques, n’oublie pas 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 fondées sur des Transformer.
Analyse des performances : vitesse vs précision#
Lors de la conception d’un pipeline de vision par ordinateur, les développeurs doivent arbitrer entre précision et latence. Le tableau suivant illustre les différences de performance 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.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 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
Analyse des compromis#
YOLOv9 établit une nette domination en matière de précision brute. YOLOv9e repousse les limites de la mAP jusqu’à 55,6 %, en 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 les petits objets.
À l’inverse, YOLOv5 se distingue par sa vitesse de déploiement brute et sa flexibilité matérielle. Le YOLOv5n (Nano) est réputé pour sa légèreté, exécutant les inférences en seulement 1,12 ms sur un GPU T4 via 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 exceptionnellement fiable.
L’avantage de l’écosystème Ultralytics#
L’écosystème logiciel environnant constitue un élément majeur à prendre en compte lors du choix d’un modèle. Bien que YOLOv9 fournisse des benchmarks de recherche de premier ordre, utiliser les deux modèles via la moderne API Python d’Ultralytics comble l’écart en offrant aux développeurs une expérience unifiée et rationalisée.
Facilité d’utilisation et exportation#
Ultralytics abstrait les obstacles d’ingénierie complexes. Des fonctionnalités comme l’augmentation automatique des données et l’optimisation des hyperparamètres sont gérées directement. Le passage des modèles en production est tout aussi simple, grâce aux commandes d’exportation intégrées permettant de convertir les modèles aux formats ONNX, OpenVINO ou TFLite.
Polyvalence des tâches#
Bien que les deux modèles excellent en détection d’objets, les modèles Ultralytics modernes sont conçus pour relever un large éventail de défis de vision par ordinateur. Le framework au sens large 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 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 YOLOv5#
YOLOv5 est recommandé pour :
- Systèmes éprouvés en production : les déploiements existants qui accordent de l'importance à la longue expérience de YOLOv5 en matière de stabilité, à sa documentation étendue et au soutien massif de sa communauté.
- 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 constituent des avantages.
- Prise en charge étendue des formats d'exportation : les projets nécessitant un déploiement dans de nombreux formats, notamment ONNX, TensorRT, CoreML et TFLite.
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.
Exemple d’implémentation#
L’avantage de l’écosystème Ultralytics est que tu peux passer d’un modèle YOLOv5 à un modèle YOLOv9 en modifiant simplement 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")À la découverte d’architectures plus récentes#
Bien que YOLOv5 et YOLOv9 soient d’excellents modèles présentant des avantages distincts, le domaine continue de progresser. Les utilisateurs qui explorent de nouveaux projets peuvent également évaluer les dernières itérations d’Ultralytics.
- YOLO11 : Une évolution puissante et raffinée de la lignée YOLOv8, offrant un excellent équilibre entre vitesse et précision pour toutes les tâches de vision.
- YOLO26 : Sorti en 2026, YOLO26 est la recommandation ultime pour les pipelines modernes. Il introduit une conception de bout en bout sans NMS, éliminant complètement les goulots d’étranglement du post-traitement. Grâce à la suppression de DFL (Distribution Focal Loss supprimée pour simplifier l’exportation et améliorer la compatibilité avec les appareils périphériques et basse consommation), il atteint jusqu’à 43 % d’inférence CPU plus rapide. La stabilité de l’entraînement est considérablement renforcée par le nouvel optimiseur MuSGD, tandis que ProgLoss + STAL fournit des fonctions de perte améliorées, avec des progrès notables dans la reconnaissance des petits objets, essentielle 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 qui gèrent de grands jeux de données et des pipelines de déploiement complexes, utiliser la plateforme Ultralytics offre une solution sans code pour entraîner, suivre et déployer ces modèles de pointe sans effort.