Passer au contenu

YOLOv7 vs YOLOv5: Comparaison technique détaillée

Le choix de la bonne architecture de détection d'objets est une décision critique 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 YOLOv5deux modèles influents de la lignée YOLO . Nous nous penchons sur leurs innovations architecturales, leurs performances et leurs cas d'utilisation idéaux pour vous aider à choisir le modèle le mieux adapté à votre application.

Alors que YOLOv7 a introduit des avancées académiques significatives en 2022, Ultralytics YOLOv5 reste une force dominante dans l'industrie en raison de sa facilité d'utilisation, de sa robustesse et de sa souplesse de déploiement inégalées. Pour ceux qui recherchent les performances les plus récentes, nous explorons également la façon dont ces modèles ouvrent la voie à la technologie de pointe Ultralytics YOLO11.

Comparaison des mesures de performance

Le tableau suivant met en évidence les compromis de performance entre les deux architectures. Alors que YOLOv7 vise une précision moyenne plus élevée (mAP), YOLOv5 offre des avantages distincts en termes de vitesse d'inférence et de réduction du nombre de paramètres pour des tailles de modèles 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

Sorti 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 afin d'améliorer la précision sans augmenter de manière significative le coût de l'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
Docsultralytics

Architecture et innovations clés

YOLOv7 introduit plusieurs changements architecturaux 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.
  • Mise à l'échelle des modèles basés sur la concaténation : Contrairement à la mise à l'échelle standard, YOLOv7 met à l'échelle la profondeur et la largeur simultanément pour les architectures basées sur la concaténation, garantissant ainsi une utilisation optimale des ressources.
  • Sac d'objets gratuits pouvant être entraînés : Il s'agit de la convolution re-paramétrée planifiée (RepConv) et de la formation des têtes auxiliaires. 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 "sac de cadeaux" ?

Le terme "sac de cadeaux" désigne un ensemble de méthodes d'apprentissage et de techniques d'augmentation des données qui améliorent la précision d'un modèle de détection d'objets sans augmenter le coût de l'inférence. Dans YOLOv7, cela inclut des stratégies sophistiquées telles que l'assignation d'étiquettes guidée par le plomb, de grossier à fin.

Cas d'utilisation idéaux pour YOLOv7

En raison de sa grande précision, YOLOv7 est particulièrement bien adapté :

  • Recherche universitaire : Comparaison avec les modèles SOTA où chaque fraction de mAP est importante.
  • Déploiement de GPU haut de gamme : Applications pour lesquelles un matériel puissant (comme les NVIDIA A100) est disponible pour gérer les modèles de plus grande taille et les exigences en matière de mémoire.
  • Analyse statique : Scénarios dans lesquels la latence en temps réel est moins importante que la précision, comme l'analyse d'images satellite à haute résolution ou de scanners 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 les plus conviviaux qui soient. Depuis sa sortie en 2020, il est devenu l'épine dorsale d'innombrables applications commerciales grâce à son équilibre entre vitesse, précision et excellence technique.

Auteurs : Glenn Jocher
Organisation :Ultralytics
Date : 2020-06-26
GitHubyolov5
Docsyolov5

Architecture et avantages pour l'écosystème

YOLOv5 utilise un backbone CSP-Darknet53 avec un cou PANet et une tête YOLOv3, optimisé pour diverses cibles de déploiement. Cependant, sa véritable force réside dans l'écosystèmeUltralytics :

  • Facilité d'utilisation : Connu 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 la formation : YOLOv5 nécessite généralement moins de mémoire CUDA pendant l'entraînement que les 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 permet d'exporter en un clic vers ONNX, TensorRTCoreML, TFLite, etc., facilitant ainsi le déploiement sur tous les supports, des serveurs en nuage aux téléphones portables.
  • Un écosystème bien entretenu : Avec des mises à jour fréquentes, des corrections de bugs et une communauté massive, Ultralytics s'assure 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 qui exigent fiabilité et rapidité :

  • Edge AI : Fonctionnant sur des appareils tels que le NVIDIA Jetson ou Raspberry Pi en raison de la légèreté du Nano (yolov5n) et Petites (yolov5s).
  • 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

Lorsqu'il s'agit de choisir entre YOLOv7 et YOLOv5, plusieurs facteurs techniques entrent en ligne de compte, au-delà du simple score mAP .

1. Compromis entre vitesse et précision

YOLOv7 atteint une précision maximale plus élevée sur l'ensemble de donnéesCOCO . Par exemple, YOLOv7x atteint 53,1 % de mAP contre 50,7 % pour YOLOv5x. Cependant, cela se fait au prix d'une certaine complexité. YOLOv5 offre un gradient de modèles plus doux ; le modèle YOLOv5n (Nano) est incroyablement rapide (73,6 ms de vitesse CPU ) et léger (2,6 millions de paramètres), créant une niche 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 largeur de bande de la mémoire requise pendant la formation. Cela peut le rendre plus lent à former et plus gourmand en mémoire que YOLOv5. En revanche, Ultralytics YOLOv5 utilise une architecture rationalisée qui est hautement optimisée pour l'efficacité de l'entraînement, permettant une convergence plus rapide et une utilisation plus faible de la mémoire, ce qui constitue un avantage significatif pour les ingénieurs dont les budgets de calcul sont limités.

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

C'est là qu'Ultralytics YOLOv5 brille vraiment. Le cadre 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 dispose d'un référentiel, il ne dispose pas des pipelines CI/CD prêts pour la production, des guides d'intégration complets et du support de la communauté qui soutiennent l'écosystème Ultralytics .

4. La 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 des instances et la classification des images de manière transparente. YOLOv7 prend également en charge ces tâches, mais nécessite souvent différentes branches ou fourches du code, alors qu'Ultralytics offre une approche plus unifiée.

Déploiement facilité

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 une précision maximale et si vous travaillez dans un environnement de recherche ou sur du matériel haut de gamme où la vitesse d'inférence et l'encombrement de la 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, sa formation efficace, sa faible latence sur les périphériques et son vaste écosystème de support en font le meilleur choix pour la plupart des applications commerciales et des développeurs qui débutent dans le domaine de la vision par ordinateur.

Regarder 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 qui recherchent le meilleur des deux mondes, c'est-à-dire la précision de YOLOv7 et la rapidité/utilisabilité de YOLOv5nous recommandons vivement d'explorer les sites suivants Ultralytics YOLO11.

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

Explorer d'autres modèles

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


Commentaires