Passer au contenu

YOLOv5 vs YOLOv7 : Équilibrer l'écosystème et l'architecture

Choisir le bon modèle de détection d'objets est une décision essentielle pour les développeurs et les chercheurs. Dans l'évolution de la famille YOLO (You Only Look Once), YOLOv5 et YOLOv7 se distinguent comme des architectures essentielles qui ont façonné le paysage de la vision par ordinateur. Alors que YOLOv7 a introduit d'importantes innovations architecturales pour la précision, Ultralytics YOLOv5 a révolutionné l'expérience des développeurs en mettant l'accent sur la convivialité, le déploiement et un écosystème robuste.

Ce guide fournit une comparaison technique approfondie de ces deux modèles, analysant leurs architectures, leurs mesures de performance sur le jeu de données COCO et leur adéquation aux applications du monde réel.

Ultralytics YOLOv5 : La norme d’ingénierie

Lancé en 2020, YOLOv5 a redéfini les attentes en matière de logiciels de détection d'objets open source. Contrairement aux itérations précédentes qui existaient principalement sous forme de code de recherche, YOLOv5 a été conçu comme un framework prêt à l'emploi. Il a privilégié la facilité d'utilisation, l'exportabilité et la vitesse, ce qui en fait le choix idéal pour les entreprises qui créent des applications d'inférence en temps réel.

Auteur : Glenn Jocher
Organisation :Ultralytics
Date : 2020-06-26
GitHub :https://github.com/ultralytics/yolov5
Docs :https://docs.ultralytics.com/models/yolov5/

Principaux avantages de YOLOv5

  • Conception axée sur l’utilisateur : YOLOv5 a introduit une API simplifiée et un flux de travail de formation transparent qui ont abaissé la barrière à l’entrée pour la formation de modèles de detect d’objets personnalisés.
  • Flexibilité de déploiement : Grâce à la prise en charge native des modes d'exportation, les modèles YOLOv5 peuvent être facilement convertis dans des formats tels que ONNX, CoreML, TFLite et TensorRT pour un déploiement sur divers matériels.
  • Utilisation efficace des ressources : L’architecture est optimisée pour une faible consommation de mémoire, ce qui la rend idéale pour les appareils d’IA en périphérie comme le NVIDIA Jetson ou le Raspberry Pi.

Support de l'écosystème

YOLOv5 s'appuie sur l'écosystème complet d'Ultralytics. Cela comprend une intégration transparente avec des outils de suivi d'expériences tels que Comet et MLflow, ainsi que des plateformes de gestion d'ensembles de données.

En savoir plus sur YOLOv5

YOLOv7 : L'approche « Bag-of-Freebies »

Lancé en 2022, YOLOv7 s'est fortement concentré sur le dépassement des limites de la précision grâce à l'optimisation architecturale. Les auteurs ont introduit plusieurs nouveaux concepts visant à améliorer l'apprentissage des caractéristiques sans augmenter le coût d'inférence, une stratégie qu'ils ont appelée « trainable bag-of-freebies ».

Auteurs : Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao
Organisation : Institute of Information Science, 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/

Innovations architecturales

YOLOv7 intègre des réseaux d'agrégation de couches efficaces étendus (E-ELAN) pour améliorer la capacité d'apprentissage du réseau. Il utilise également des techniques de mise à l'échelle du modèle qui modifient simultanément la profondeur et la largeur de l'architecture. Bien qu'efficaces pour augmenter les scores mAP, ces modifications architecturales complexes peuvent parfois rendre le modèle plus difficile à modifier ou à déployer par rapport au backbone CSP-Darknet plus simple que l'on trouve dans YOLOv5.

En savoir plus sur YOLOv7

Comparaison technique des performances

Lors de la comparaison des deux modèles, le compromis se situe généralement entre la précision brute et la vitesse de déploiement pratique. Les modèles YOLOv7 (en particulier les variantes les plus grandes) atteignent généralement un mAP plus élevé sur l'ensemble de données COCO val2017. Cependant, Ultralytics YOLOv5 conserve une domination en termes de vitesse d'inférence et d'efficacité des paramètres, en particulier avec ses variantes plus petites (Nano et Small), qui sont cruciales pour le déploiement mobile.

Le tableau ci-dessous met en évidence les mesures de performance. Notez la vitesse exceptionnelle de YOLOv5n, qui reste l'une des options les plus rapides pour les environnements extrêmement limités en ressources.

ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
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
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

Analyse des métriques

  • Vitesse vs. Précision : YOLOv7x atteint un mAP de 53,1 % plus élevé, ce qui le rend approprié pour la sécurité haut de gamme ou l’analyse médicale où chaque pixel compte. Toutefois, pour les applications telles que l’analyse vidéo ou la navigation autonome, le temps d’inférence de 1,12 ms de YOLOv5n sur TensorRT offre une capacité de fréquence d’images que les modèles plus lourds ne peuvent égaler.
  • Efficacité de l'entraînement : Ultralytics YOLOv5 utilise des stratégies « AutoAnchor » et une évolution avancée des hyperparamètres, ce qui se traduit souvent par une convergence plus rapide pendant l'entraînement par rapport aux schémas complexes de reparamétrisation requis par YOLOv7.
  • Empreinte mémoire : L’entraînement des transformateurs ou des architectures complexes comme YOLOv7 nécessite souvent des GPU haut de gamme (par exemple, les A100). En revanche, la conception efficace de YOLOv5 permet de s’entraîner sur du matériel grand public, ce qui démocratise l’accès au développement de l’IA.

Implémentation du code

L'un des arguments les plus convaincants en faveur d'Ultralytics YOLOv5 est la simplicité de son API python. Le chargement d'un modèle pré-entraîné et l'exécution de l'inférence ne nécessitent que quelques lignes de code, ce qui témoigne de la maturité du framework.

import torch

# Load the YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)

# Define an image (url, local path, or numpy array)
img = "https://ultralytics.com/images/zidane.jpg"

# Run inference
results = model(img)

# Print results and show the image with bounding boxes
results.print()
results.show()

Ce niveau d'abstraction permet aux développeurs de se concentrer sur la création de leurs solutions d'entreprise plutôt que sur le débogage des architectures de modèles.

Cas d'utilisation idéaux

Quand choisir YOLOv7

YOLOv7 est un excellent choix pour la recherche académique et les scénarios où les contraintes matérielles sont secondaires par rapport aux performances de détection brutes.

  • Recherche académique : Pour l'analyse comparative des techniques de détection de pointe.
  • Inspection de haute précision : Telle que le contrôle qualité de la fabrication où la détection de défauts infimes est essentielle et où la latence est moins préoccupante.

Quand choisir Ultralytics YOLOv5

YOLOv5 reste la norme de l'industrie pour le développement rapide et le déploiement en production.

  • Déploiement Edge : Parfait pour fonctionner sur les appareils iOS et Android via les exportations TFLite ou CoreML.
  • Robotique : Sa faible latence est cruciale pour les boucles de rétroaction requises dans la robotique autonome.
  • Polyvalence : Au-delà de la détection, le référentiel YOLOv5 prend en charge la segmentation d’instance et la classification d’images, fournissant un code de base unifié pour plusieurs tâches de vision.

Conclusion : La voie moderne à suivre

Bien que YOLOv7 ait démontré la puissance du réglage architectural, Ultralytics YOLOv5 reste le choix supérieur pour les développeurs ayant besoin d'une solution fiable, bien documentée et facile à déployer. Son équilibre entre vitesse, précision et support de l'écosystème garantit sa pertinence dans les environnements de production du monde entier.

Cependant, le domaine de la vision par ordinateur évolue rapidement. Pour ceux qui recherchent les meilleures performances absolues, YOLO11 représente la dernière évolution d'Ultralytics. YOLO11 s'appuie sur la convivialité de YOLOv5, mais intègre des modules basés sur des transformateurs de pointe et des conceptions sans ancrage, surpassant à la fois YOLOv5 et YOLOv7 en termes de précision et d'efficacité.

Pour une solution pérenne qui prend en charge la détection d'objets, l'estimation de pose et les boîtes englobantes orientées (OBB), il est fortement recommandé de migrer vers le framework Ultralytics YOLO11.

Découvrir plus de comparaisons

Découvrez comment les autres modèles se comparent à la famille Ultralytics YOLO :


Commentaires