Passer au contenu

YOLOv9 vs. YOLOv5: Comparaison technique

Dans le domaine de la vision par ordinateur, qui évolue rapidement, le choix du bon modèle de détection d'objets est essentiel pour la réussite du projet. Cette analyse fournit une comparaison technique détaillée entre YOLOv9une architecture axée sur la recherche qui repousse les limites de la précision, et Ultralytics YOLOv5le modèle standard de l'industrie, réputé pour sa fiabilité, sa rapidité et sa polyvalence. Nous examinons leurs différences architecturales, leurs performances et les cas d'utilisation idéaux pour vous aider à prendre une décision éclairée.

YOLOv9: Innovation architecturale pour une précision maximale

Sorti début 2024, YOLOv9 vise les limites théoriques de la détection d'objets en s'attaquant aux problèmes fondamentaux du flux d'informations de l'apprentissage profond. Il est conçu pour les scénarios où la précision est primordiale.

Auteurs : Chien-Yao Wang, Hong-Yuan Mark Liao
Organisation:Institute of Information Science, Academia Sinica, Taiwan
Date : 2024-02-21
Arxiv:arXiv:2402.13616
GitHub:WongKinYiu/yolov9
Docs:YOLOv9 Documentation

Architecture de base

YOLOv9 introduit deux concepts révolutionnaires : L'information de gradient programmable (PGI) et le réseau d'agrégation de couches efficace généralisé (GELAN). PGI combat le problème du goulot d'étranglement de l'information inhérent aux réseaux neuronaux profonds en s'assurant que des informations d'entrée complètes sont conservées pour la fonction de perte, améliorant ainsi la fiabilité du gradient. Le GELAN optimise l'efficacité des paramètres, ce qui permet au modèle d'atteindre une plus grande précision avec moins de ressources informatiques que les architectures précédentes utilisant la convolution en profondeur.

Points forts et faiblesses

Le principal atout de YOLOv9 est sa précision de pointe sur des critères de référence tels que l'ensemble de donnéesCOCO . Il excelle dans la détection d'objets de petite taille ou occultés, là où d'autres modèles pourraient échouer. Cependant, l'accent mis sur la précision de la détection s'accompagne de compromis. Le processus de formation peut être plus gourmand en ressources et, bien qu'il soit intégré à l'écosystème Ultralytics , le soutien de la communauté élargie et les outils tiers sont encore en cours de maturation par rapport aux modèles établis depuis plus longtemps. En outre, il se concentre principalement sur la détection, alors que d'autres modèles offrent une prise en charge native multitâche plus large.

En savoir plus sur YOLOv9

Ultralytics YOLOv5: la norme polyvalente de l'industrie

Depuis sa sortie en 2020, Ultralytics YOLOv5 a défini la norme pour le déploiement pratique de l'IA dans le monde réel. Il établit un équilibre précis entre performance et convivialité, ce qui en fait l'un des modèles les plus utilisés de l'histoire.

Auteur : Glenn Jocher
Organisation :Ultralytics
Date : 2020-06-26
GitHub:yolov5
Docs:YOLOv5 Documentation

Architecture de base

YOLOv5 utilise une architecture raffinée basée sur l'ancrage, comprenant un backbone CSPDarknet53 et un cou PANet pour une agrégation robuste des caractéristiques. Sa conception donne la priorité à la vitesse d'inférence et à l'optimisation de l'ingénierie. Le modèle est disponible à différentes échelles (de Nano à Extra Large), ce qui permet aux développeurs de l'adapter parfaitement à leurs contraintes matérielles, qu'il s'agisse d'appareils périphériques intégrés ou de GPU en nuage.

L'avantage Ultralytics

Alors que YOLOv9 repousse les limites académiques, YOLOv5 excelle dans l'aspect pratique de l'ingénierie.

  • Facilité d'utilisation : YOLOv5 est réputé pour sa facilité d'installation et d'exécution. L'APIPython simplifiée et la documentation complète réduisent considérablement le temps de développement.
  • Un écosystème bien entretenu : Soutenu par Ultralytics, YOLOv5 bénéficie d'une maintenance active, d'une communauté massive sur GitHub et d'une intégration transparente avec les outils MLOps.
  • Polyvalence : Au-delà de la détection, YOLOv5 supporte nativement la segmentation d'instances et la classification d'images, offrant une solution unifiée pour diverses tâches de vision.
  • Efficacité de la mémoire : Les modèles Ultralytics sont optimisés pour réduire l'empreinte mémoire lors de l'apprentissage et de l'inférence, ce qui contraste avec les exigences élevées des alternatives basées sur les transformateurs.

En savoir plus sur YOLOv5

Mesures de performance : Vitesse et précision

La comparaison ci-dessous met en évidence les rôles distincts de ces modèles. YOLOv9 obtient généralement une précisionmAP plus élevée, en particulier pour les modèles de grande taille (c et e). Il est donc supérieur pour les tâches nécessitant des détails granulaires.

À l'inverse, YOLOv5 offre des vitesses d'inférence imbattables, en particulier avec ses variantes Nano (n) et Small (s). Pour les applications en temps réel sur du matériel de pointe comme le NVIDIA Jetson ou le Raspberry Pi, YOLOv5 reste un concurrent de premier plan en raison de sa légèreté et de la maturité de l'optimisation TensorRT .

ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

Conseil de déploiement

Pour une flexibilité de déploiement maximale, les deux modèles peuvent être exportés dans des formats tels que ONNXTensorRT et CoreML en utilisant le mode d'exportation Ultralytics . Cela garantit que vos modèles s'exécutent efficacement sur n'importe quel matériel cible.

Formation et facilité d'utilisation

Les méthodologies de formation diffèrent considérablement en termes d'expérience utilisateur. Ultralytics YOLOv5 est conçu pour l'efficacité de la formation, offrant des préréglages robustes qui fonctionnent prêts à l'emploi pour les ensembles de données personnalisés. Il comprend le calcul automatique de l'ancrage, l'évolution des hyperparamètres et de riches intégrations de journalisation.

YOLOv9, bien que puissant, peut nécessiter un réglage plus minutieux des hyperparamètres pour atteindre la stabilité et la convergence, en particulier sur les petits ensembles de données. Cependant, grâce à son intégration dans le ultralytics Python , les développeurs peuvent désormais former YOLOv9 en utilisant la même syntaxe simple que YOLOv5, comblant ainsi le fossé de la convivialité.

Exemple de code

Avec la bibliothèque Ultralytics , passer d'une architecture à l'autre est aussi simple que de changer le nom du modèle. Cet extrait montre comment charger et exécuter l'inférence avec les deux modèles :

from ultralytics import YOLO

# Load the established industry standard YOLOv5 (nano version)
model_v5 = YOLO("yolov5nu.pt")

# Run inference on an image
results_v5 = model_v5("path/to/image.jpg")

# Load the high-accuracy YOLOv9 (compact version)
model_v9 = YOLO("yolov9c.pt")

# Run inference on the same image for comparison
results_v9 = model_v9("path/to/image.jpg")

Cas d'utilisation idéaux

Quand choisir YOLOv9

  • Inspection de haute précision : Détection de défauts infimes dans les chaînes de fabrication où chaque pixel compte.
  • Recherche avancée : Projets explorant de nouvelles architectures d'apprentissage profond telles que l'information programmable de gradient.
  • Environnements complexes : Scénarios à forte occlusion ou encombrement où l'agrégation avancée des caractéristiques de GELAN offre un avantage décisif.

Quand choisir YOLOv5

  • Déploiement en périphérie : Exécution sur des appareils ou des microcontrôleurs alimentés par batterie, où la consommation d'énergie et l'encombrement de la mémoire sont critiques.
  • Prototypage rapide : Lorsque vous devez passer de la collecte de données à une démonstration opérationnelle en quelques heures, et non en quelques jours, tirez parti des nombreux tutoriels et des ressources communautaires.
  • Systèmes multitâches : Applications nécessitant une estimation ou une classification de la pose ainsi qu'une détection au sein d'une même base de code.
  • Stabilité de la production : Environnements d'entreprise nécessitant une solution éprouvée avec des années de fiabilité.

Conclusion

Le choix entre YOLOv9 et YOLOv5 dépend de vos contraintes spécifiques. YOLOv9 est le meilleur choix pour maximiser la précision, offrant des améliorations architecturales de pointe. YOLOv5 reste le champion de la polyvalence et de la facilité d'utilisation, offrant un écosystème robuste et bien supporté qui simplifie l'ensemble du cycle de vie de l'IA.

Pour les développeurs à la recherche du meilleur des deux mondes - combinant la facilité d'utilisation de YOLOv5 avec des performances supérieures à YOLOv9recommandons d'explorer YOLO11. En tant que dernière itération d'Ultralytics, YOLO11 offre une vitesse et une précision de pointe pour toutes les tâches de vision, et représente l'avenir de la famille YOLO .

Explorer d'autres modèles

  • YOLO11: Le modèle le plus récent et le plus puissant d'Ultralytics pour la détection, la segmentation et la pose.
  • YOLOv8: un puissant prédécesseur de YOLO11 offrant un excellent équilibre de fonctionnalités.
  • RT-DETR: un détecteur à base de transformateur optimisé pour les performances en temps réel.

Commentaires