YOLOv5 vs YOLOv9 : une comparaison détaillée
Cette page fournit une comparaison technique entre deux modèles de détection d'objets importants : Ultralytics YOLOv5 et YOLOv9. Les deux modèles font partie de la série influente YOLO (You Only Look Once), connue pour son équilibre entre vitesse et précision dans la détection d'objets en temps réel. Cette comparaison explore leurs différences architecturales, leurs mesures de performance et leurs cas d'utilisation idéaux afin de vous aider à sélectionner le modèle le plus approprié pour vos projets de vision par ordinateur.
Ultralytics YOLOv5 : la norme industrielle établie
Auteur : Glenn Jocher
Organisation : Ultralytics
Date : 2020-06-26
GitHub : https://github.com/ultralytics/yolov5
Documentation : https://docs.ultralytics.com/models/yolov5/
Ultralytics YOLOv5 a rapidement gagné en popularité après sa sortie en raison de son équilibre remarquable entre vitesse, précision et facilité d'utilisation. Développé entièrement en PyTorch, YOLOv5 dispose d'une architecture utilisant CSPDarknet53 comme "backbone" et PANet pour l'agrégation des caractéristiques, ainsi qu'une tête de détection efficace basée sur des ancres. Il offre différentes tailles de modèles (n, s, m, l, x), permettant aux utilisateurs de choisir en fonction de leurs ressources de calcul et de leurs besoins en matière de performance.
Points forts
- Vitesse et efficacité exceptionnelles : YOLOv5 est hautement optimisé pour une inférence rapide, ce qui le rend idéal pour les applications en temps réel sur divers matériels, y compris les appareils périphériques.
- Facilité d'utilisation : Ultralytics YOLOv5 est réputé pour son expérience utilisateur simplifiée, ses interfaces Python et CLI simples et sa documentation exhaustive.
- Écosystème bien maintenu : Bénéficie de l'écosystème intégré Ultralytics, avec un développement actif, une communauté large et offrant un bon soutien, des mises à jour fréquentes et des ressources complètes comme Ultralytics HUB pour l'entraînement sans code.
- Équilibre des performances : Permet un bon compromis entre la vitesse d’inférence et la précision de la détection, adapté à divers scénarios de déploiement dans le monde réel.
- Polyvalence : Prend en charge plusieurs tâches, y compris la détection d'objets, la segmentation d'instance et la classification d'images.
- Efficacité de l'entraînement : Offre des processus d'entraînement efficaces, des poids pré-entraînés facilement disponibles et des besoins en mémoire généralement inférieurs à ceux de nombreuses autres architectures, en particulier les modèles basés sur des transformateurs.
Faiblesses
- Précision : Bien que très précis pour son époque, les modèles plus récents comme YOLOv9 peuvent atteindre des scores mAP plus élevés sur des benchmarks comme COCO.
- Basée sur des ancres : Repose sur des boîtes d’ancrage prédéfinies, ce qui peut nécessiter plus de réglages pour des ensembles de données spécifiques par rapport aux approches sans ancres.
Cas d'utilisation
- Surveillance vidéo et systèmes de sécurité en temps réel.
- Déploiement sur des appareils périphériques aux ressources limitées tels que Raspberry Pi et NVIDIA Jetson.
- Automatisation industrielle et contrôle de la qualité, comme l'amélioration de la fabrication grâce à la vision par ordinateur.
- Prototypage et développement rapides grâce à sa facilité d'utilisation et à son écosystème robuste.
YOLOv9 : Amélioration de la précision avec de nouvelles techniques
Auteurs : Chien-Yao Wang, Hong-Yuan Mark Liao
Organisation : Institut des sciences de l'information, Academia Sinica, Taïwan
Date : 2024-02-21
Arxiv : https://arxiv.org/abs/2402.13616
GitHub : https://github.com/WongKinYiu/yolov9
Documentation : https://docs.ultralytics.com/models/yolov9/
YOLOv9 introduit des innovations architecturales significatives, à savoir l'Information de Gradient Programmable (PGI) et le Réseau d'Agrégation de Couches Efficace Généralisé (GELAN). PGI vise à atténuer la perte d'informations lorsque les données circulent dans les réseaux profonds en fournissant des informations d'entrée complètes pour le calcul de la fonction de perte. GELAN est une nouvelle architecture conçue pour une utilisation supérieure des paramètres et une efficacité computationnelle. Ces avancées permettent à YOLOv9 d'atteindre une plus grande précision tout en maintenant l'efficacité.
Points forts
- Précision améliorée : Établit de nouveaux résultats de pointe sur l’ensemble de données COCO pour les détecteurs d’objets en temps réel, surpassant YOLOv5 et d’autres modèles en mAP.
- Amélioration de l'efficacité : GELAN et PGI contribuent à des modèles qui nécessitent moins de paramètres et de ressources de calcul (FLOPs) pour des performances comparables ou meilleures que les modèles précédents.
- Préservation de l'information : PGI s'attaque efficacement au problème du goulot d'étranglement de l'information, qui est crucial pour la formation précise de réseaux plus profonds et plus complexes.
Faiblesses
- Ressources d'entraînement : L'entraînement des modèles YOLOv9 peut nécessiter plus de ressources et de temps que Ultralytics YOLOv5, comme indiqué dans la documentation YOLOv9.
- Architecture plus récente : Étant un modèle plus récent provenant d'un groupe de recherche différent, son écosystème, le soutien de la communauté et les intégrations de tiers sont moins matures que l'Ultralytics YOLOv5 bien établi.
- Polyvalence des tâches : Principalement axé sur la détection d'objets, sans la prise en charge intégrée de la segmentation, de la classification et de l'estimation de la pose que l'on trouve dans les modèles Ultralytics tels que YOLOv5 et YOLOv8.
Cas d'utilisation
- Applications exigeant la plus haute précision possible en matière de détection d'objets.
- Scénarios où l'efficacité de calcul est essentielle parallèlement à des performances élevées.
- Analyse vidéo avancée et inspection industrielle de haute précision.
- IA dans la gestion du trafic et les applications de ville intelligente nécessitant une détection de premier ordre.
Performances et analyses comparatives : YOLOv5 vs. YOLOv9
Lorsqu'on compare les performances, les modèles YOLOv9 atteignent généralement des scores mAP plus élevés que leurs homologues YOLOv5, ce qui démontre l'efficacité de ses innovations architecturales. Cependant, Ultralytics YOLOv5 conserve une position forte en raison de sa vitesse d'inférence exceptionnelle et de sa mise en œuvre hautement optimisée, ce qui en fait un choix formidable pour les applications en temps réel où le nombre d'images par seconde (FPS) est une mesure essentielle.
Modèle | Taille (pixels) |
mAPval 50-95 |
Vitesse CPU ONNX (ms) |
Vitesse T4 TensorRT10 (ms) |
paramètres (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
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 |
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 |
Plongée architecturale en profondeur
Architecture YOLOv5
L'architecture d'Ultralytics YOLOv5 est une implémentation raffinée des principes de la famille YOLO. Elle se compose de trois parties principales :
- Backbone : Un réseau CSPDarknet53, qui est une version modifiée de Darknet-53 qui incorpore des modules Cross Stage Partial (CSP) pour réduire le calcul tout en maintenant la précision.
- Cou : Un réseau d’agrégation de chemins (PANet) est utilisé pour agréger les caractéristiques des différents niveaux de la colonne vertébrale, ce qui améliore la détection des objets à différentes échelles.
- Head : La tête de détection est basée sur des ancres, prédisant des boîtes englobantes à partir de formes de boîtes d’ancrage prédéfinies, ce qui contribue à sa grande vitesse.
Architecture YOLOv9
YOLOv9 introduit de nouveaux concepts pour repousser les limites de la précision et de l'efficacité:
- Informations de gradient programmables (PGI) : Ce mécanisme est conçu pour lutter contre le problème du goulot d'étranglement de l'information dans les réseaux profonds. Il garantit que des informations d'entrée complètes sont disponibles pour calculer la fonction de perte, ce qui permet d'obtenir des mises à jour de gradient plus fiables et une meilleure convergence du modèle.
- Generalized Efficient Layer Aggregation Network (GELAN) : Il s'agit d'une nouvelle architecture de réseau qui s'appuie sur les principes de CSPNet et ELAN. GELAN est conçu pour optimiser l'utilisation des paramètres et l'efficacité computationnelle, permettant au modèle d'atteindre une plus grande précision avec moins de ressources.
Formation et écosystème
L'expérience de formation et le support de l'écosystème sont les points forts de Ultralytics YOLOv5.
- Facilité d'utilisation : YOLOv5 offre une expérience incroyablement conviviale avec des API Python et de ligne de commande simples, des tutoriels exhaustifs et une documentation complète.
- Écosystème bien maintenu : En tant que modèle Ultralytics officiel, YOLOv5 fait partie d'un écosystème robuste qui comprend un développement actif, une large communauté sur GitHub et Discord, des mises à jour fréquentes et une intégration transparente avec des outils MLOps comme Ultralytics HUB.
- Efficacité de l'entraînement : YOLOv5 est très efficace à entraîner, avec des poids pré-entraînés facilement disponibles et des besoins en mémoire inférieurs à ceux des architectures plus complexes. Cela le rend accessible aux utilisateurs disposant d'une gamme de matériel plus large.
Bien que YOLOv9 soit un modèle puissant, son processus de formation peut être plus exigeant, et son écosystème n'est pas aussi mature ou intégré que celui des modèles Ultralytics. Pour les développeurs à la recherche d'un chemin fluide et bien pris en charge de la formation au déploiement, YOLOv5 offre un avantage certain.
Conclusion : Quel modèle devriez-vous choisir ?
YOLOv5 et YOLOv9 sont tous deux d'excellents modèles, mais ils répondent à des priorités différentes.
-
Ultralytics YOLOv5 est le choix idéal pour les développeurs qui privilégient la vitesse, la facilité d’utilisation et un écosystème mature et bien pris en charge. Son équilibre de performances exceptionnel le rend parfait pour les applications en temps réel, le prototypage rapide et le déploiement sur des appareils d’IA périphériques aux ressources limitées. Sa polyvalence dans de multiples tâches de vision ajoute à sa valeur en tant que framework d’IA de vision à usage général.
-
YOLOv9 est le mieux adapté aux applications où l'obtention de la plus haute précision possible de détection d'objets est l'objectif principal, et où les ressources de calcul pour l'entraînement sont moins préoccupantes. Son architecture innovante offre des résultats de pointe sur des benchmarks difficiles.
Pour la plupart des utilisateurs, en particulier ceux qui recherchent un modèle fiable, rapide et facile à utiliser avec un fort soutien communautaire et commercial, Ultralytics YOLOv5 reste une recommandation de premier plan. Pour ceux qui sont intéressés par les dernières avancées d'Ultralytics, les modèles comme YOLOv8 et le plus récent YOLO11 offrent des performances et une polyvalence encore plus grandes tout en conservant l'expérience conviviale qui définit l'écosystème Ultralytics.