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 de l'Institut des sciences de l'information de l'Academia Sinica à Taïwan, YOLOv9 lancé le 21 février 2024. Ce modèle introduit deux concepts révolutionnaires pour remédier au goulot d'étranglement informationnel courant dans les réseaux neuronaux profonds : les informations de gradient programmables (PGI) et le réseau d'agrégation de couches généralisé et efficace (GELAN).
En utilisant PGI, YOLOv9 que les informations essentielles sont conservées tout au long du processus de feed-forward, 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 charge de calcul étonnamment faible. Vous pouvez explorer les détails techniques dans l'article officiel YOLOv9 ou consulter le référentielYOLOv9 .
Ultralytics YOLOv5: la norme de production
Écrit par Glenn Jocher et publié par Ultralytics 26 juin 2020, YOLOv5 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 PyTorch , il a contourné les complexités de l'ancien framework C Darknet. YOLOv5 une colonne vertébrale CSPNet hautement optimisée 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.
À 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 des inférences en seulement 1,12 ms sur un GPU T4 GPU TensorRT. Si vous effectuez un déploiement sur des appareils IoT, des téléphones mobiles ou des Raspberry Pi aux capacités limitées, l'empreinte mémoire de YOLOv5 le YOLOv5 extrêmement fiable.
L'avantage de l'écosystème Ultralytics
L'écosystème logiciel environnant est un facteur important à prendre en compte lors du choix d'un modèle. Si YOLOv9 des benchmarks de recherche de premier ordre, l'utilisation des deux modèles via Python moderne Ultralytics comble le fossé, offrant aux développeurs une expérience unifiée et rationalisée.
Facilité d'utilisation et d'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 YOLOv5 des exigences spécifiques de votre projet, des contraintes de déploiement et des préférences de votre écosystème.
Quand choisir YOLOv9
YOLOv9 un excellent choix pour :
- Recherche sur les goulots d'étranglement de l'information : projets universitaires é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ù track longue track YOLOv5 en matière de stabilité, sa documentation exhaustive et le soutien massif de la communauté sont appréciés.
- Formation avec ressources limitées : environnements avec GPU limitées où le pipeline de formation efficace et les faibles exigences en mémoire YOLOv5 sont avantageux.
- Prise en charge étendue des formats d'exportation : projets nécessitant un déploiement dans de nombreux formats, notamment ONNX, TensorRT, CoreMLet TFLite.
Quand choisir Ultralytics YOLO26)
Pour la plupart des nouveaux projets, Ultralytics offre la meilleure combinaison entre performances et expérience développeur :
- DéploiementNMS suppressionNMS maximale (NMS: applications nécessitant une inférence cohérente et à faible latence sans la complexité du post-traitement par suppression non maximale.
- EnvironnementsCPU: appareils sans GPU dédiée, où CPU jusqu'à 43 % plus rapide de YOLO26 offre un avantage décisif.
- Détection de petits objets : scénarios complexes tels que l'imagerie aérienne par drone ou l'analyse par capteurs IoT, où ProgLoss et STAL améliorent considérablement 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 YOLOv8 offrant un excellent équilibre entre vitesse et 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 NMS, éliminant complètement les goulots d'étranglement liés au post-traitement. Grâce à la suppression du DFL (Distribution Focal Loss supprimée pour simplifier l'exportation et améliorer la compatibilité avec les appareils de pointe/à faible consommation d'énergie), il permet d'accélérer jusqu'à 43 % CPU . La stabilité de l'entraînement est renforcée grâce au nouvel optimiseur MuSGD, et ProgLoss + STAL offre 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 et dans le 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.