Passer au contenu

YOLOv7 YOLOv5: comparaison technique des détecteurs en temps réel

Lors de la création de pipelines de vision par ordinateur modernes, il est essentiel de choisir la bonne architecture de détection d'objets afin d'équilibrer la précision, la vitesse d'inférence et l'utilisation des ressources. Cette comparaison exhaustive examine deux modèles très influents dans le domaine de la vision par ordinateur : YOLOv7 Ultralytics YOLOv5.

En analysant leurs différences architecturales, leurs métriques de performance et leurs scénarios de déploiement idéaux, nous visons à aider les développeurs et les chercheurs à choisir le meilleur modèle pour leurs exigences spécifiques.

Contexte et origines du modèle

Comprendre les origines de ces modèles permet de mieux comprendre leur philosophie de conception et leurs cas d'utilisation ciblés.

YOLOv5

Publié par Glenn Jocher et l'équipe d' Ultralytics le 26 juin 2020, YOLOv5 le domaine en fournissant un PyTorch qui privilégiait la facilité d'utilisation sans sacrifier les performances. Il est rapidement devenu une norme industrielle grâce à son écosystème incroyablement rationalisé et à sa dynamique de formation fiable. Vous pouvez explorer le code source sur le référentielYOLOv5 ou accéder directement au modèle via la Ultralytics .

En savoir plus sur YOLOv5

YOLOv7

Présenté par Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao de l'Institut des sciences de l'information de l'Académie Sinica, Taïwan, le 6 juillet 2022. YOLOv7 fortement YOLOv7 sur des innovations architecturales telles que les réseaux d'agrégation de couches efficaces étendus (E-ELAN) et un « bag-of-freebies » entraînable afin de repousser les limites de la précision. Vous trouverez plus de détails dans leur article officiel Arxiv et dans le référentielYOLOv7 . Pour une intégration transparente, consultez la YOLOv7 Ultralytics YOLOv7 .

En savoir plus sur YOLOv7

Expérimentation transparente

Ces deux modèles sont entièrement intégrés au package Python Ultralytics, vous permettant de basculer entre eux en modifiant simplement la chaîne du modèle dans votre code !

Innovations architecturales

YOLOv5 Ultralytics YOLOv5

YOLOv5 une structure CSPDarknet53 modifiée associée à un réseau d'agrégation de chemins (PANet). Cette conception est hautement optimisée pour une extraction rapide des caractéristiques et une efficacité mémoire. Contrairement aux architectures plus anciennes ou aux modèles de transformateurs lourds, YOLOv5 beaucoup moins CUDA pendant l'entraînement, ce qui permet d'utiliser des lots plus importants sur des GPU grand public standard. De plus, le Ultralytics prend en charge de manière inhérente une grande variété de tâches au-delà des boîtes englobantes standard, notamment la segmentation et la classification d'images.

YOLOv7

YOLOv7 plusieurs reparamétrisations structurelles et l'architecture E-ELAN, qui permet au réseau d'apprendre des caractéristiques plus diverses sans détruire le chemin de gradient d'origine. Il met également en œuvre une tête auxiliaire pour la supervision intermédiaire pendant l'entraînement. Si ces avancées permettent d'obtenir une précision moyenne élevée (mAP), elles introduisent souvent tensor complexes qui peuvent rendre difficile l'exportation vers des formats de pointe tels que ONNX ou TensorRT légèrement plus difficile par rapport aux exportations rationalisées natives des Ultralytics .

Analyse des performances

Lorsqu'ils comparent ces modèles, les développeurs doivent trouver un équilibre entrela mAPval, la vitesse d'inférence et la complexité computationnelle (FLOP). Le tableau ci-dessous présente les performances des deux architectures évaluées sur COCO .

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

Points clés à retenir

  • Plafond de Précision : YOLOv7x atteint la plus haute précision globale avec un impressionnant mAPval de 53,1, le rendant très compétitif pour les scénarios où la maximisation des performances de détection est l'objectif principal.
  • Vitesse et Efficacité : Ultralytics YOLOv5n est une merveille d'efficacité, offrant une latence d'inférence ultra-rapide (1,12 ms sur T4 TensorRT) avec une empreinte mémoire minuscule de seulement 2,6 millions de paramètres. Cela en fait un choix inégalé pour les déploiements en périphérie très contraints.
  • Équilibre performance : La série YOLOv5 offre un gradient exceptionnel de modèles. YOLOv5l offre un excellent compromis, légèrement en retrait par rapport à YOLOv7l en termes de précision, mais proposant un pipeline de déploiement très mature.

L'avantage de l'écosystème Ultralytics

L'architecture d'un modèle n'est que la moitié de l'équation ; l'écosystème qui l'entoure dicte sa viabilité dans le monde réel. C'est là que les modèles Ultralytics excellent vraiment.

Facilité d'utilisation : Ultralytics fournit une API Python unifiée et très intuitive. Vous pouvez entraîner, valider et déployer des modèles avec un minimum de code passe-partout, grâce à une documentation officielle complète. Écosystème bien entretenu : Le développement actif garantit des mises à jour constantes, des corrections de bugs et une intégration transparente avec des outils de suivi modernes comme Weights & Biases. Efficacité de l'entraînement : En utilisant des chargeurs de données optimisés et un caching intelligent, YOLOv5 réduit drastiquement les temps d'entraînement. De plus, les poids pré-entraînés prêts à l'emploi accélèrent l'apprentissage par transfert dans divers domaines.

Exemple de code : Entraînement optimisé

Avec le Ultralytics , le lancement d'une session de formation est pratiquement identique, quelle que soit l'architecture choisie.

from ultralytics import YOLO

# Load a pre-trained YOLOv5 model (can easily swap to "yolov7.pt")
model = YOLO("yolov5s.pt")

# Train the model on the COCO8 example dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Export the trained model to ONNX format for deployment
success = model.export(format="onnx")

Cas d'utilisation idéaux

Quand choisir YOLOv7

  • Étalonnage Académique : Idéal pour les chercheurs souhaitant comparer de nouvelles techniques par rapport à une base de référence 2022 bien documentée.
  • Traitement GPU haut de gamme GPU : lors du déploiement sur un matériel serveur puissant où l'obtention du mAP le plus élevé possible mAP des scènes denses prime sur la simplicité d'exportation.

Quand choisir YOLOv5

  • Déploiements en production: Idéal pour les applications commerciales nécessitant une grande stabilité, des options de déploiement de modèles simples et une large compatibilité multiplateforme.
  • Appareils en périphérie : Les variantes plus petites (YOLOv5n et YOLOv5s) fonctionnent exceptionnellement bien sur les téléphones mobiles et les systèmes embarqués.
  • Exigences multi-tâches : Si votre projet doit évoluer d'une simple détection vers l'estimation de pose ou la segmentation à l'aide d'un cadre unifié.

Explorer d'autres architectures

Vous recherchez des versions plus récentes ? Envisagez d'explorer Ultralytics YOLOv8 ou Ultralytics YOLO11 pour des avancées supplémentaires dans la détection sans ancrage et les capacités d'apprentissage multitâche.

La nouvelle génération : Ultralytics

Si YOLOv5 YOLOv7 une place prépondérante dans l'histoire de l'IA visuelle, le paysage est en constante évolution. Lancé en janvier 2026, Ultralytics représente la technologie de pointe absolue en matière de détection d'objets, surpassant les générations précédentes sur tous les plans.

En savoir plus sur YOLO26

YOLO26 introduit plusieurs fonctionnalités qui changent la donne :

  • Conception de bout en bout sans NMS : S'appuyant sur les concepts initiés dans les itérations précédentes, YOLO26 est nativement de bout en bout. Cela élimine complètement le post-traitement de la suppression non maximale (NMS), réduisant les goulots d'étranglement de latence et simplifiant drastiquement la logique de déploiement.
  • Optimiseur MuSGD : Inspiré par Kimi K2 de Moonshot AI, cet optimiseur révolutionnaire fusionne la stabilité du SGD standard avec l'élan accéléré de Muon, apportant des innovations avancées de l'entraînement des LLM directement à la vision par ordinateur.
  • Vitesse CPU améliorée : En supprimant stratégiquement la fonction de perte focale de distribution (DFL), YOLO26 atteint jusqu'à 43 % d'inférence CPU plus rapide, ce qui en fait le champion incontesté pour le déploiement sur les appareils IoT de périphérie et à faible consommation.
  • ProgLoss + STAL: Ces fonctions de perte avancées apportent des améliorations considérables dans la reconnaissance des petits objets, ce qui est essentiel pour l'imagerie aérienne et la robotique de précision.
  • Améliorations spécifiques aux tâches: Intègre une perte de segmentation sémantique pour la génération de masques, l'estimation de la log-vraisemblance résiduelle (RLE) pour le suivi de pose, et une perte angulaire spécialisée pour résoudre les problèmes délicats de limites des boîtes englobantes orientées (OBB).

Conclusion

YOLOv5 et YOLOv7 offrent tous deux des solutions robustes pour la détection d'objets en temps réel. YOLOv7 reste un excellent choix pour la précision brute sur du matériel de calcul intensif, tandis que YOLOv5 se distingue comme l'outil ultime pour les développeurs, offrant un équilibre exceptionnel entre vitesse, efficacité et un écosystème de classe mondiale.

Cependant, pour les développeurs qui souhaitent pérenniser leurs pipelines et obtenir la combinaison ultime entre rapidité, simplicité et précision de pointe, nous recommandons vivement la migration vers Ultralytics . Cette solution reprend la légendaire facilité d'utilisation de la Ultralytics tout en offrant des innovations architecturales révolutionnaires.


Commentaires