Passer au contenu

YOLOv7 vs YOLOv5 : Une comparaison technique détaillée

Choisir la bonne architecture de détection d'objets est une décision essentielle qui a un impact sur la vitesse, la précision et la faisabilité du déploiement de vos projets de vision par ordinateur. Cette page fournit une comparaison technique complète entre YOLOv7 et Ultralytics YOLOv5, deux modèles influents de la lignée YOLO. Nous approfondissons leurs innovations architecturales, leurs benchmarks de performances et leurs cas d'utilisation idéaux pour vous aider à sélectionner la solution la mieux adaptée à votre application.

Bien que YOLOv7 ait introduit d'importantes avancées académiques en 2022, Ultralytics YOLOv5 reste une force dominante dans l'industrie en raison de sa facilité d'utilisation, de sa robustesse et de sa flexibilité de déploiement inégalées. Pour ceux qui recherchent le nec plus ultra en matière de performance, nous explorons également comment ces modèles ouvrent la voie à Ultralytics YOLO11, à la pointe de la technologie.

Comparaison des métriques de performance

Le tableau suivant met en évidence les compromis de performance entre les deux architectures. Alors que YOLOv7 vise une précision moyenne (mAP) plus élevée, YOLOv5 offre des avantages distincts en termes de vitesse d'inférence et de nombre de paramètres inférieur pour des tailles de modèle spécifiques.

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

YOLOv7 : Repousser les limites de la précision

Lancé en juillet 2022, YOLOv7 a été conçu pour établir un nouvel état de l'art pour les détecteurs d'objets en temps réel. Il se concentre fortement sur l'optimisation architecturale pour améliorer la précision sans augmenter de manière significative le coût d'inférence.

Auteurs: Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao
Organisation:Institute of Information Science, Academia Sinica, Taiwan
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 innovations clés

YOLOv7 introduit plusieurs modifications architecturales complexes visant à améliorer l'apprentissage des caractéristiques :

  • E-ELAN (Extended Efficient Layer Aggregation Network) : Une structure dorsale avancée qui améliore la capacité d’apprentissage du réseau en contrôlant les chemins de gradient les plus courts et les plus longs. Cela permet au modèle d’apprendre des caractéristiques plus diverses.
  • Adaptation du modèle pour les modèles basés sur la concaténation : Contrairement à l'adaptation standard, YOLOv7 adapte simultanément la profondeur et la largeur pour les architectures basées sur la concaténation, assurant une utilisation optimale des ressources.
  • Bag-of-Freebies entraînable : Cela comprend la convolution reparamétrée planifiée (RepConv) et la formation de tête auxiliaire. Les têtes auxiliaires génèrent des étiquettes hiérarchiques grossières à fines, qui aident à guider le processus d’apprentissage pendant la formation, mais sont supprimées pendant l’inférence pour maintenir la vitesse.

Qu’est-ce qu’un « Bag of Freebies » ?

L'expression "Bag of Freebies" fait référence à un ensemble de méthodes d'entraînement et de techniques d'augmentation de données qui améliorent la précision d'un modèle de détection d'objets sans augmenter le coût d'inférence. Dans YOLOv7, cela inclut des stratégies sophistiquées telles que l'affectation de labels guidée du grossier au fin.

Cas d'utilisation idéaux pour YOLOv7

En raison de son orientation sur la haute précision, YOLOv7 est particulièrement bien adapté pour :

  • Recherche académique : Analyse comparative par rapport aux modèles SOTA où chaque fraction de mAP compte.
  • Déploiement de GPU haut de gamme : Applications où du matériel puissant (comme les NVIDIA A100) est disponible pour gérer les tailles de modèles et les besoins en mémoire plus importants.
  • Analyse statique : Scénarios où la latence en temps réel est moins critique que la précision, comme l'analyse d'imagerie satellite haute résolution ou de scans médicaux.

En savoir plus sur YOLOv7

Ultralytics YOLOv5 : La norme de l’industrie

Ultralytics YOLOv5 est largement considéré comme l’un des modèles de détection d’objets les plus pratiques et conviviaux disponibles. Depuis sa sortie en 2020, il est devenu la pierre angulaire d’innombrables applications commerciales en raison de son équilibre entre vitesse, précision et excellence technique.

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

Bénéfices de l'architecture et de l'écosystème

YOLOv5 utilise un backbone CSP-Darknet53 avec un neck PANet et une tête YOLOv3, optimisés pour divers objectifs de déploiement. Cependant, sa véritable force réside dans l'écosystème Ultralytics:

  • Facilité d'utilisation : Reconnu pour sa philosophie "installer et exécuter", YOLOv5 permet aux développeurs de commencer à s'entraîner sur des ensembles de données personnalisés en quelques minutes. L'API est intuitive et la documentation est exhaustive.
  • Efficacité de l'entraînement : YOLOv5 nécessite généralement moins de mémoire CUDA pendant l'entraînement par rapport aux architectures plus récentes et plus complexes, ce qui le rend accessible aux développeurs disposant de GPU de milieu de gamme.
  • Flexibilité de déploiement : Il prend en charge l'exportation en un clic vers ONNX, TensorRT, CoreML, TFLite, et plus encore, facilitant le déploiement sur tous les supports, des serveurs cloud aux téléphones mobiles.
  • Écosystème bien maintenu : Avec des mises à jour fréquentes, des corrections de bugs et une communauté massive, Ultralytics garantit que le modèle reste stable et sécurisé pour les environnements de production.

Cas d'utilisation idéaux pour YOLOv5

YOLOv5 excelle dans les scénarios du monde réel nécessitant fiabilité et rapidité :

  • IA en périphérie : Exécution sur des appareils tels que le NVIDIA Jetson ou Raspberry Pi en raison de la légèreté de Nano (yolov5n) et Small (yolov5s) variantes.
  • Applications mobiles : Intégration dans les applications iOS et Android via CoreML et TFLite pour l'inférence sur l'appareil.
  • Prototypage rapide : Les startups et les développeurs qui ont besoin de passer rapidement du concept au MVP bénéficient d'un flux de travail rationalisé.
  • Automatisation Industrielle : Détection fiable pour les lignes de fabrication où la latence et la stabilité sont primordiales.

En savoir plus sur YOLOv5

Analyse comparative détaillée

Lorsque vous choisissez entre YOLOv7 et YOLOv5, plusieurs facteurs techniques entrent en jeu au-delà du simple score mAP.

1. Compromis vitesse/précision

YOLOv7 atteint une précision de pointe plus élevée sur l'ensemble de données COCO. Par exemple, YOLOv7x atteint 53,1 % de mAP contre 50,7 % pour YOLOv5x. Cependant, cela se fait au prix d’une complexité accrue. YOLOv5 offre un gradient de modèles plus fluide ; le modèle YOLOv5n (Nano) est incroyablement rapide (vitesse du CPU de 73,6 ms) et léger (2,6 M de paramètres), créant ainsi un créneau pour les environnements à très faibles ressources que YOLOv7 ne cible pas explicitement avec la même granularité.

2. Architecture et complexité

YOLOv7 utilise une architecture basée sur la concaténation avec E-ELAN, ce qui augmente la bande passante mémoire requise pendant l’entraînement. Cela peut rendre l’entraînement plus lent et plus gourmand en mémoire que YOLOv5. En revanche, Ultralytics YOLOv5 utilise une architecture simplifiée qui est hautement optimisée pour l’efficacité de l’entraînement, ce qui permet une convergence plus rapide et une utilisation de la mémoire plus faible, ce qui constitue un avantage significatif pour les ingénieurs disposant de budgets de calcul limités.

3. Facilité d'utilisation et expérience développeur

C'est là qu'Ultralytics YOLOv5 brille vraiment. Le framework Ultralytics offre une expérience unifiée avec des outils robustes pour l'augmentation des données, l'évolution des hyperparamètres et le suivi des expériences.

import torch

# Example: Loading YOLOv5s from PyTorch Hub for inference
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)

# Inference on an image
results = model("https://ultralytics.com/images/zidane.jpg")

# Print results
results.print()

Bien que YOLOv7 possède un référentiel, il lui manque les pipelines CI/CD soignés et prêts pour la production, les guides d'intégration complets et le support de la communauté qui soutiennent l'écosystème Ultralytics.

4. Polyvalence

Bien que les deux modèles soient principalement des architectures de détection d'objets, l'écosystème Ultralytics entourant YOLOv5 a évolué pour prendre en charge la segmentation d'instances et la classification d'images de manière transparente. YOLOv7 prend également en charge ces tâches, mais nécessite souvent différentes branches ou forks du code, tandis qu'Ultralytics offre une approche plus unifiée.

Déploiement simplifié

Les modèles Ultralytics prennent en charge un large éventail de formats d'exportation. Vous pouvez facilement convertir votre modèle entraîné en TFLite pour Android, CoreML pour iOS, ou TensorRT pour l'inférence optimisée par GPU à l'aide d'une simple commande CLI ou d'un script Python .

Conclusion : Quel modèle devriez-vous choisir ?

Le choix entre YOLOv7 et YOLOv5 dépend des priorités de votre projet :

  • Choisissez YOLOv7 si votre principale contrainte est la précision maximale et que vous travaillez dans un environnement de recherche ou sur du matériel haut de gamme où la vitesse d'inférence et l'empreinte mémoire sont des préoccupations secondaires.
  • Choisissez Ultralytics YOLOv5 si vous avez besoin d'une solution fiable et prête pour la production. Sa facilité d'utilisation, son entraînement efficace, sa faible latence sur les appareils périphériques et son écosystème de support massif en font le choix supérieur pour la plupart des applications commerciales et des développeurs qui commencent leur parcours en vision par ordinateur.

Regard vers l'avenir : YOLO11

Bien que YOLOv5 et YOLOv7 soient d'excellents modèles, le domaine de la vision par ordinateur évolue rapidement. Pour les développeurs à la recherche du meilleur des deux mondes—dépassant la précision de YOLOv7 et la vitesse/facilité d'utilisation de YOLOv5—nous recommandons vivement d'explorer Ultralytics YOLO11.

YOLO11 représente la dernière évolution, avec une architecture sans ancrage qui simplifie le pipeline d'entraînement et améliore les performances dans toutes les tâches, y compris la detection, la segmentation, l'estimation de pose et les boîtes englobantes orientées (OBB).

Explorer d'autres modèles

Si vous souhaitez comparer d'autres modèles de la famille YOLO, consultez ces pages connexes :


Commentaires