YOLOv9 vs. YOLOv7 : une comparaison technique détaillée
Lors de la sélection d'un modèle YOLO pour la détection d'objets, il est essentiel de comprendre les nuances entre les différentes versions. Cette page fournit une comparaison technique détaillée entre YOLOv7 et YOLOv9, deux modèles importants de la série YOLO développés par des chercheurs de l'Institute of Information Science, Academia Sinica, Taïwan. Nous explorerons leurs innovations architecturales, leurs benchmarks de performance et leur adéquation à diverses applications pour vous aider à prendre une décision éclairée pour vos projets de vision par ordinateur.
YOLOv9 : Information de gradient programmable pour un apprentissage amélioré
YOLOv9, introduit en février 2024, représente une avancée significative en s'attaquant à la perte d'informations dans les réseaux neuronaux profonds, un problème courant qui peut dégrader les performances du modèle.
Auteurs : Chien-Yao Wang et 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
Docs : https://docs.ultralytics.com/models/yolov9/
Architecture et principales fonctionnalités
YOLOv9 introduit de nouveaux concepts pour améliorer le flux d'informations et l'efficacité de l'apprentissage, ce qui le distingue de ses prédécesseurs.
- Informations de gradient programmables (PGI) : Il s'agit de l'innovation principale de YOLOv9. Il s'attaque au problème du goulot d'étranglement de l'information dans les réseaux profonds en générant des gradients fiables grâce à des branches réversibles auxiliaires. Cela garantit que les informations cruciales sont préservées dans toutes les couches, ce qui conduit à une formation de modèle plus efficace et à une meilleure précision finale.
- Generalized Efficient Layer Aggregation Network (GELAN) : YOLOv9 présente une nouvelle architecture de réseau qui optimise l'utilisation des paramètres et l'efficacité computationnelle. GELAN est une architecture légère, basée sur la planification du chemin de gradient, qui s'appuie sur les succès de conceptions telles que CSPNet, qui a joué un rôle déterminant dans les modèles tels que YOLOv5.
Points forts
- Précision améliorée : La combinaison de PGI et de GELAN permet une extraction de caractéristiques supérieure et des scores de précision moyenne (mAP) plus élevés par rapport à YOLOv7, ce qui est particulièrement évident dans les variantes de modèles plus grands.
- Amélioration de l'efficacité : YOLOv9 offre une meilleure précision avec moins de paramètres et de calculs (FLOPs) que YOLOv7. Par exemple, YOLOv9-C atteint un mAP similaire à YOLOv7x avec 66 % de paramètres en moins et 46 % de FLOPs en moins.
- À la pointe de la technologie : Représente les dernières innovations des auteurs originaux de YOLO, repoussant les limites de ce qui est possible en matière de détection d'objets en temps réel.
Faiblesses
- Demande de calcul : Bien qu'elle soit efficace pour sa précision, l'architecture avancée, en particulier les variantes plus grandes comme YOLOv9-E, peut toujours nécessiter des ressources de calcul importantes pour l'entraînement et le déploiement.
- Nouveau modèle : En tant que version plus récente, le soutien de la communauté et les tutoriels de déploiement facilement disponibles pourraient être moins nombreux que pour le YOLOv7 bien établi. Cependant, l'implémentation Ultralytics YOLOv9 atténue cet inconvénient en fournissant un environnement simplifié, bien documenté et pris en charge.
Cas d'utilisation
YOLOv9 est idéal pour les applications exigeant une précision et une efficacité maximales, où la détection précise des objets est essentielle.
- Tâches de détection complexes dans les véhicules autonomes et la robotique.
- Systèmes de sécurité avancés nécessitant une détection précise des objets petits ou occlus.
- Applications dans l'analyse d'images médicales où la haute fidélité est non négociable.
YOLOv7 : Optimisé pour la vitesse et l'efficacité
YOLOv7, publié en juillet 2022, était un modèle phare qui visait à optimiser de manière significative le compromis entre vitesse et précision pour l'inférence en temps réel.
Auteurs : Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao
Organisation : Institut des sciences de l'information, Academia Sinica, Taïwan
Date : 2022-07-06
Arxiv : https://arxiv.org/abs/2207.02696
GitHub : https://github.com/WongKinYiu/yolov7
Docs : https://docs.ultralytics.com/models/yolov7/
Architecture et principales fonctionnalités
YOLOv7 s'est concentré sur l'optimisation de l'architecture et du processus d'entraînement pour rendre les modèles plus rapides et plus précis sans augmenter le coût d'inférence.
- Extended Efficient Layer Aggregation Network (E-ELAN) : Ce bloc architectural améliore la capacité d’apprentissage du réseau en lui permettant d’apprendre des caractéristiques plus diverses, améliorant ainsi les performances sans perturber le chemin de gradient d’origine.
- Adaptation de modèle : YOLOv7 a introduit des méthodes d'adaptation composées pour la profondeur et la largeur du modèle, ce qui lui permet d'être optimisé efficacement pour différentes tailles de modèle et différents budgets de calcul.
- Sac de cadeaux entraînable : Ce concept intègre diverses techniques d'optimisation pendant l'entraînement, telles que l'augmentation des données avancée et les stratégies d'attribution d'étiquettes. Ces techniques améliorent la précision sans ajouter de surcharge de calcul pendant l'inférence.
Points forts
- Vitesse d'inférence élevée : YOLOv7 est hautement optimisé pour la vitesse et reste l'un des détecteurs d'objets les plus rapides disponibles, ce qui le rend excellent pour les applications en temps réel sur divers matériels.
- Performance élevée : Il atteint des scores mAP compétitifs, ce qui en fait un choix fiable et puissant pour de nombreuses tâches standard de détection d'objets.
- Modèle établi : Disponible depuis plus longtemps, YOLOv7 bénéficie d’une adoption plus large, de ressources communautaires étendues et de nombreux exemples de déploiement éprouvés dans différents secteurs.
Faiblesses
- Précision de pointe inférieure : Bien que rapide, il peut présenter une précision de pointe légèrement inférieure par rapport au nouveau YOLOv9 dans des scénarios complexes avec des objets difficiles.
- Basée sur des ancres : Elle repose sur des boîtes d’ancrage prédéfinies, qui peuvent parfois être moins flexibles que les approches sans ancres pour détecter des objets avec des rapports d’aspect inhabituels.
Cas d'utilisation
YOLOv7 est bien adapté aux applications où la vitesse d'inférence est le facteur le plus critique.
- Analyse vidéo et surveillance en temps réel sur les appareils Edge AI.
- Systèmes à haut débit comme le contrôle de la qualité sur une chaîne de production à cadence rapide.
- Prototypage rapide de systèmes de détection d'objets où un déploiement rapide est essentiel.
Performances et efficacité : un examen comparatif
La principale différence entre YOLOv9 et YOLOv7 réside dans le compromis entre la précision, la taille du modèle et le coût de calcul. YOLOv9 repousse les limites de l'efficacité, offrant une plus grande précision avec moins de paramètres et de FLOPs. Par exemple, YOLOv9-M atteint le même mAP de 51,4 % que YOLOv7l, mais avec 46 % de paramètres en moins et 27 % de FLOPs en moins. Cette tendance se poursuit à l'échelle supérieure, où YOLOv9-E établit un nouvel état de l'art avec 55,6 % de mAP, surpassant toutes les variantes de YOLOv7.
Cette efficacité accrue signifie que, pour un objectif de précision donné, YOLOv9 offre un modèle plus petit, plus rapide et plus économe en énergie.
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 |
YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Conclusion : Quel modèle vous convient le mieux ?
YOLOv7 et YOLOv9 sont tous deux des modèles puissants, mais ils répondent à des priorités légèrement différentes.
-
Choisissez YOLOv9 si votre application exige la plus haute précision et efficacité possible. Ses avancées architecturales la rendent supérieure pour les scènes complexes et les déploiements aux ressources limitées où vous avez besoin des meilleures performances d'un modèle plus petit.
-
Choisissez YOLOv7 si vous avez besoin d'un modèle éprouvé et extrêmement rapide pour les applications standard en temps réel et que vous préférez travailler avec une architecture plus établie avec de vastes ressources communautaires.
Pour les développeurs et les chercheurs à la recherche de la meilleure expérience globale, nous recommandons d'utiliser ces modèles au sein de l'écosystème Ultralytics. Les modèles plus récents tels que Ultralytics YOLOv8 et YOLO11 offrent non seulement des performances compétitives, mais sont également accompagnés d'avantages significatifs:
- Facilité d'utilisation : Une expérience utilisateur simplifiée avec une API Python simple et une documentation exhaustive.
- Écosystème bien maintenu : Développement actif, fort soutien de la communauté et intégration avec des outils tels que Ultralytics HUB pour l'entraînement et le déploiement sans code.
- Polyvalence : Prise en charge de plusieurs tâches au-delà de la détection, y compris la segmentation d'instance, l'estimation de pose et la classification, le tout dans un cadre unique.
- Efficacité de l'entraînement : Processus d'entraînement efficaces avec des poids pré-entraînés facilement disponibles et des besoins en mémoire réduits par rapport à de nombreux autres types de modèles.
Explorer d'autres modèles
Pour d'autres comparaisons, pensez à explorer d'autres modèles de pointe disponibles dans la documentation Ultralytics :