YOLOv9 YOLOv5: une analyse technique approfondie de la détection d'objets moderne
Le domaine de la vision par ordinateur a connu une croissance fulgurante, la détection d'objets constituant la colonne vertébrale d'innombrables applications industrielles et de recherche. Le choix de l'architecture appropriée 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 conservation des informations de gradient, et Ultralytics YOLOv5, la norme industrielle éprouvée, connue 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 comprendre 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, Academia Sinica à Taïwan, YOLOv9 a été publié le 21 février 2024. Le modèle introduit deux concepts révolutionnaires pour résoudre le goulot d'étranglement de l'information courant dans les réseaux neuronaux profonds : l'information de gradient programmable (PGI) et le réseau d'agrégation de couches efficace généralisé (GELAN).
En utilisant PGI, YOLOv9 garantit que les informations vitales sont conservées tout au long du processus de propagation avant, ce qui conduit à 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. Vous pouvez explorer les détails techniques dans le papier Arxiv officiel de YOLOv9 ou consulter le dépôt GitHub de YOLOv9.
Ultralytics YOLOv5: la norme de production
Développé 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 construits nativement sur le framework PyTorch, il a contourné les complexités de l'ancien framework C Darknet. YOLOv5 s'appuie sur un réseau dorsal CSPNet hautement optimisé et un cou PANet, privilégiant un équilibre parfait entre vitesse et précision.
Son plus grand atout réside toutefois dans son intégration au sein de Ultralytics au sens large. YOLOv5 fortement optimisé pour une efficacité de formation rapide et des environnements à faible mémoire, ce qui le rend incroyablement stable pour les déploiements en périphérie.
Efficacité de la mémoire
Lorsque vous évaluez des modèles pour des appareils périphériques, n'oubliez pas queYOLO Ultralytics YOLO nécessitent généralement beaucoup moins GPU pendant l'entraînement et l'inférence que les architectures lourdes basées sur des transformateurs.
Analyse des performances : Vitesse vs. Précision
Lors de la conception d'un pipeline de vision par ordinateur, les développeurs doivent trouver le juste équilibre entre précision et latence. Le tableau suivant illustre les différences de performances sur l'COCO standard COCO .
| 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 une domination absolue en matière de précision brute. Le YOLOv9e repousse les limites du mAP 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 de petits objets.
Inversement, YOLOv5 excelle 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 des inférences en seulement 1,12 ms sur un GPU T4 via TensorRT. Si vous déployez 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
Une considération majeure lors de la sélection d'un modèle est l'écosystème logiciel environnant. Bien que YOLOv9 offre des benchmarks de recherche de premier ordre, l'utilisation des deux modèles via l'API Python Ultralytics moderne comble l'écart, offrant aux développeurs une expérience unifiée et rationalisée.
Facilité d'utilisation et exportation
Ultralytics les obstacles techniques complexes. Des fonctionnalités telles que l'augmentation automatique des données et le réglage des hyperparamètres sont prises en charge dès l'installation. Le transfert des modèles vers la production est tout aussi simple, grâce à des commandes d'exportation intégrées permettant de convertir les modèles en ONNX, OpenVINOou TFLite .
Polyvalence des tâches
Si les deux modèles excellent dans la détection d'objets, Ultralytics modernes sont conçus pour relever divers défis liés à la vision par ordinateur. Le cadre plus large offre une prise en charge native de la classification d'images, de la segmentation d'instances, de l'estimation de pose et des boîtes englobantes orientées (OBB), permettant ainsi 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 de vos exigences spécifiques de projet, de vos contraintes de déploiement et de vos préférences d'écosystème.
Quand choisir YOLOv9
YOLOv9 un excellent choix 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 sur l'optimisation du flux de gradient : recherches axées 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 dans lesquels les performances élevées YOLOv9 COCO sont nécessaires comme point de référence pour les comparaisons architecturales.
Quand choisir YOLOv5
YOLOv5 recommandé pour :
- Systèmes de Production Éprouvés : Déploiements existants où la longue expérience de YOLOv5 en matière de stabilité, sa documentation exhaustive et son support communautaire massif sont appréciés.
- Entraînement à ressources limitées : Environnements avec des ressources GPU limitées où le pipeline d'entraînement efficace de YOLOv5 et les exigences de mémoire inférieures sont avantageux.
- Prise en charge étendue des formats d'exportation : Projets nécessitant un déploiement sur de nombreux formats, y compris ONNX, TensorRT, CoreML et TFLite.
Quand choisir Ultralytics YOLO26)
Pour la plupart des nouveaux projets, Ultralytics offre la meilleure combinaison entre performances et 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 de la Non-Maximum Suppression.
- Environnements uniquement CPU : Les appareils sans accélération GPU dédiée, où l'inférence CPU de YOLO26, jusqu'à 43 % plus rapide, offre un avantage décisif.
- Détection de petits objets: Scénarios difficiles comme l'imagerie aérienne par drone ou l'analyse de capteurs IoT où ProgLoss et STAL augmentent significativement la précision sur les objets minuscules.
Exemple d'implémentation
La beauté de Ultralytics réside dans le fait que vous pouvez passer d'un YOLOv5 à un YOLOv9 simplement en modifiant 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 les nouvelles architectures
Bien que YOLOv5 YOLOv9 d'excellents modèles présentant des avantages distincts, le domaine continue d'évoluer. Les utilisateurs qui explorent de nouveaux projets peuvent également souhaiter évaluer les dernières itérations 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: Lancé 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. Avec la suppression du DFL (Distribution Focal Loss supprimée pour une exportation simplifiée et une meilleure compatibilité avec les appareils périphériques/à faible consommation), il atteint jusqu'à 43 % d'inférence CPU plus rapide. La stabilité de l'entraînement est optimisée grâce au nouvel optimiseur MuSGD, et ProgLoss + STAL offre des fonctions de perte améliorées avec des améliorations 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 périphériques et cloud.
Pour les équipes qui gèrent des ensembles de données volumineux et des pipelines de déploiement complexes, l'utilisation de la Ultralytics offre une solution sans code pour former, track et déployer sans effort ces modèles de pointe.