Passer au contenu

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

Lors du choix d'un modèle de détection d'objets, les développeurs évaluent souvent les compromis entre la vitesse, la précision et la facilité d'utilisation. Ultralytics YOLOv5 et YOLOv7 sont deux modèles essentiels dans le paysage de la vision par ordinateur, chacun ayant des atouts distincts. Cette page fournit une comparaison technique détaillée pour vous aider à décider quel modèle convient le mieux aux besoins de votre projet, en mettant en évidence leurs différences architecturales, leurs bancs d'essai de performance et leurs applications idéales.

Bien que YOLOv7 ait repoussé les limites de la précision lors de sa sortie, Ultralytics YOLOv5 s'est imposé comme une référence en matière d'efficacité, de déploiement rapide et d'accessibilité, soutenu par un écosystème robuste et bien entretenu.

YOLOv7 : Priorité à la haute précision

YOLOv7, créé par Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao, a été publié le 6 juillet 2022. Il a introduit plusieurs optimisations architecturales et stratégies d'entraînement, connues sous le nom de "trainable bag-of-freebies", visant à établir une nouvelle référence en matière de précision pour les détecteurs d'objets en temps réel tout en maintenant une vitesse élevée.

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 caractéristiques de YOLOv7

L’architecture de YOLOv7 repose sur plusieurs innovations clés conçues pour améliorer l’apprentissage des caractéristiques et optimiser le modèle pour une inférence plus rapide après la formation.

  • Extended Efficient Layer Aggregation Network (E-ELAN) : Ce module du backbone améliore la capacité d’apprentissage du réseau en gérant plus efficacement les chemins de gradient, ce qui lui permet d’apprendre des caractéristiques plus diverses.
  • Mise à l’échelle du modèle : Met en œuvre une méthode de mise à l’échelle composée pour les modèles basés sur la concaténation, en ajustant la profondeur et la largeur du modèle en fonction des différents budgets de calcul.
  • Sac de cadeaux entraînable : Exploite des techniques d'entraînement avancées, telles que les têtes auxiliaires et l'attribution optimisée des étiquettes, pour améliorer la précision sans augmenter le coût de l'inférence. Ces têtes auxiliaires ne sont utilisées que pendant l'entraînement pour renforcer l'apprentissage des caractéristiques et sont supprimées pour l'inférence.

Points forts de YOLOv7

  • Haute précision : Obtient des scores mAP élevés sur des bancs d'essai comme COCO, surpassant souvent les modèles contemporains en termes de précision.
  • Techniques d'entraînement efficaces : Intègre de nouvelles stratégies d'entraînement qui maximisent les performances sans ajouter de surcharge de calcul pendant l'inférence.

Faiblesses de YOLOv7

  • Complexité : L’architecture et le processus d’entraînement, avec des fonctionnalités telles que les heads auxiliaires, peuvent être plus complexes à comprendre et à modifier que l’approche simplifiée d’Ultralytics YOLOv5.
  • Écosystème et support : Manque de documentation exhaustive, de tutoriels et d'écosystème intégré fournis par Ultralytics. Cela peut rendre le déploiement et le dépannage plus difficiles pour les développeurs.
  • Gourmand en ressources : Les modèles YOLOv7 plus grands exigent des ressources de calcul importantes pour l'entraînement, ce qui peut limiter leur accessibilité pour les utilisateurs disposant de matériel limité.

Cas d'utilisation pour YOLOv7

  • Détection haute performance : Convient aux applications où l'obtention de la plus haute précision absolue est essentielle, comme la surveillance avancée ou les véhicules autonomes.
  • Recherche et évaluation comparative : Souvent utilisé dans la recherche universitaire pour explorer les techniques de pointe en matière de détection d'objets et repousser les limites de performance.

En savoir plus sur YOLOv7

Ultralytics YOLOv5 : rapidité et simplicité

Ultralytics YOLOv5, créé par Glenn Jocher, a été publié le 26 juin 2020. Il est rapidement devenu l'un des modèles de détection d'objets les plus populaires en raison de son équilibre exceptionnel entre vitesse, précision et, surtout, facilité d'utilisation. Il est construit sur PyTorch et conçu pour un entraînement rapide, un déploiement robuste et une accessibilité.

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

Architecture et principales caractéristiques de YOLOv5

YOLOv5 présente une architecture simple mais puissante qui est hautement optimisée à la fois pour l'entraînement et l'inférence.

  • Architecture basée sur CSP : Utilise un réseau Cross Stage Partial (CSP) à la fois dans son backbone et son neck (PANet) pour optimiser le flux de caractéristiques et réduire les goulots d'étranglement de calcul.
  • Famille de Modèles Scalable : Offre une gamme de modèles allant de Nano (YOLOv5n) à Extra-Large (YOLOv5x), permettant aux utilisateurs de choisir l'équilibre parfait entre vitesse et précision pour leurs besoins spécifiques, des appareils périphériques légers aux serveurs cloud haute performance.
  • Expérience axée sur le développeur : Conçu dès le départ pour la simplicité. Il dispose d'une génération automatique d'ancres, d'un suivi intégré des expériences et d'un pipeline de formation simplifié, facile à utiliser pour les débutants comme pour les experts.

Points forts d'Ultralytics YOLOv5

  • Facilité d'utilisation : YOLOv5 est réputé pour son expérience utilisateur simple. Avec une simple pip install ultralytics commande, conviviale CLI, et approfondie documentation, la prise en main est incroyablement rapide.
  • Écosystème bien maintenu : Bénéficie d'un développement continu par Ultralytics, d'une forte communauté open source et d'une intégration transparente avec des outils tels que Ultralytics HUB pour l'entraînement et le déploiement sans code.
  • Équilibre des performances : Permet un excellent compromis entre la vitesse et la précision. Ses modèles plus petits, comme YOLOv5n, sont incroyablement rapides et idéaux pour l’inférence en temps réel sur les CPU et les appareils périphériques.
  • Efficacité de l'entraînement : Le processus d'entraînement est très efficace, avec des temps de convergence plus rapides et des besoins en mémoire inférieurs par rapport à de nombreux autres modèles. Les poids pré-entraînés sont facilement disponibles et l'entraînement personnalisé est simple.
  • Polyvalence : Prend en charge nativement plusieurs tâches, notamment la détection d’objets, la segmentation d’instance et la classification d’images.

Faiblesses de Ultralytics YOLOv5

  • Précision maximale : Bien que très compétitifs, les plus grands modèles YOLOv5 peuvent ne pas égaler le mAP maximal des plus grandes variantes YOLOv7 sur certains benchmarks, car YOLOv7 a été spécialement conçu pour maximiser cette métrique.

Cas d’utilisation pour Ultralytics YOLOv5

  • Applications en temps réel : Idéal pour les applications nécessitant une inférence rapide, telles que la robotique, la vision par drone et l’analyse vidéo en direct.
  • Déploiement en périphérie (Edge Deployment) : Bien adapté au déploiement sur des appareils périphériques aux ressources limitées comme le NVIDIA Jetson en raison de sa conception efficace et de la petite taille de ses modèles.
  • Prototypage rapide : Un excellent choix pour développer et déployer rapidement des solutions de détection d’objets, grâce à sa facilité d’utilisation et à sa prise en charge étendue.

En savoir plus sur YOLOv5

Performances et analyses comparatives : YOLOv7 vs. YOLOv5

La principale différence de performance réside dans leurs priorités de conception. YOLOv7 vise la plus haute précision, tandis que YOLOv5 offre une gamme d'options plus équilibrée et pratique.

Modèle Taille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
YOLOv7l 640 51.4 - 6.84 36.9 104.7
YOLOv7x 640 53.1 - 11.57 71.3 189.9
YOLOv5n 640 28.0 73.6 1.12 2.6 7.7
YOLOv5s 640 37.4 120.7 1.92 9.1 24.0
YOLOv5m 640 45.4 233.9 4.03 25.1 64.2
YOLOv5l 640 49.0 408.4 6.61 53.2 135.0
YOLOv5x 640 50.7 763.2 11.89 97.2 246.4

Comme le montre le tableau, les modèles YOLOv7 atteignent des scores mAP impressionnants avec des vitesses GPU compétitives. Cependant, Ultralytics YOLOv5 offre une gamme d'options supérieure pour différents scénarios de déploiement. Les modèles YOLOv5n et YOLOv5s sont significativement plus rapides sur CPU et GPU, ce qui en fait le choix évident pour les applications à faible latence et en périphérie.

Conclusion : Quel modèle devriez-vous choisir ?

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

  • Choisissez YOLOv7 si votre objectif principal est d'atteindre la plus haute précision de détection possible et que vous disposez des ressources de calcul et de l'expertise technique nécessaires pour gérer son architecture et son pipeline de formation plus complexes. C'est un excellent modèle pour la recherche et les applications spécialisées où la performance est primordiale.

  • Choisissez Ultralytics YOLOv5 si vous accordez de l’importance au développement rapide, à la facilité d’utilisation et à la flexibilité de déploiement. Son flux de travail simplifié, sa documentation exhaustive et son solide équilibre de performance en font le choix idéal pour la plupart des applications commerciales et pratiques. Que vous soyez débutant ou praticien expérimenté, l’écosystème robuste de YOLOv5 accélère le parcours du concept à la production.

Pour la plupart des développeurs, les avantages pratiques et le support complet d'Ultralytics YOLOv5 en font un choix plus convaincant. Ses successeurs, comme Ultralytics YOLOv8, continuent cet héritage en offrant des performances encore meilleures et plus de fonctionnalités dans le même framework convivial.

Explorer d'autres modèles

Pour ceux qui s'intéressent aux dernières avancées, il vaut la peine d'explorer les nouveaux modèles de l'écosystème Ultralytics.

  • Ultralytics YOLOv8 : Le successeur de YOLOv5, offrant une précision et une vitesse améliorées, ainsi qu'une API unifiée pour la détection, la segmentation, l'estimation de pose et le suivi. Voir une comparaison directe entre YOLOv8 et YOLOv7.
  • Ultralytics YOLOv10 : Un modèle de pointe axé sur la détection NMS-free, de bout en bout pour une latence réduite et une efficacité améliorée.
  • Ultralytics YOLO11 : Le dernier modèle de pointe d'Ultralytics, mettant l'accent sur la vitesse, l'efficacité et la facilité d'utilisation avec une conception sans ancrage.


📅 Créé il y a 1 an ✏️ Mis à jour il y a 1 mois

Commentaires