YOLO Vision 2026 :

YOLOv7 vs YOLOv5#

Lors de la création de pipelines de computer vision modernes, la sélection de la bonne architecture de détection d'objets est essentielle pour équilibrer la précision, la vitesse d'inférence et l'utilisation des ressources. Cette comparaison complète examine deux modèles très influents dans le domaine de la computer vision : YOLOv7 et 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 besoins spécifiques.

Contexte et origines des modèles#

Comprendre les origines de ces modèles fournit un contexte sur leurs philosophies de conception et leurs cas d'utilisation ciblés.

YOLOv5#

Lancé par Glenn Jocher et l'équipe d'Ultralytics le 26 juin 2020, YOLOv5 a révolutionné le domaine en fournissant une implémentation native PyTorch qui privilégie la facilité d'utilisation sans sacrifier les performances. Il est rapidement devenu un standard de l'industrie en raison de son écosystème incroyablement rationalisé et de sa dynamique d'entraînement fiable. Tu peux explorer le code source sur le YOLOv5 GitHub repository ou accéder au modèle directement via l'Ultralytics Platform.

En savoir plus sur YOLOv5

YOLOv7#

Présenté par Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao de l'Institute of Information Science, Academia Sinica, Taïwan, le 6 juillet 2022. YOLOv7 s'est fortement concentré sur des innovations architecturales telles que les réseaux E-ELAN (Extended Efficient Layer Aggregation Networks) et un « bag-of-freebies » entraînable pour repousser les limites de l'état de l'art en matière de précision. Les détails se trouvent dans leur official Arxiv paper et le YOLOv7 GitHub repository. Pour une intégration fluide, consulte la Ultralytics YOLOv7 documentation.

En savoir plus sur YOLOv7

Expérimentation fluide

Ces deux modèles sont entièrement intégrés dans le package Python Ultralytics, te permettant de basculer entre eux en changeant simplement la chaîne de caractères du modèle dans ton code !

Innovations architecturales#

Conception d'Ultralytics YOLOv5#

YOLOv5 utilise un backbone CSPDarknet53 modifié associé à un neck PANet (Path Aggregation Network). Cette conception est hautement optimisée pour l'extraction de caractéristiques rapide et l'efficacité de la mémoire. Contrairement aux architectures plus anciennes ou aux modèles de transformers lourds, YOLOv5 nécessite nettement moins de mémoire CUDA pendant l'entraînement, ce grandement la gestion de batch sizes plus larges sur des GPU grand public standard. De plus, le framework Ultralytics prend intrinsèquement en charge une grande variété de tâches au-delà des boîtes englobantes standard, y compris la segmentation d'images et la classification d'images.

Conception de YOLOv7#

YOLOv7 a introduit plusieurs re-paramétrages structurels 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. Bien que ces avancées génèrent une précision moyenne (mAP) élevée, elles introduisent souvent des structures de tenseurs complexes qui peuvent rendre l'exportation vers des formats de périphériques de périphérie tels que ONNX ou TensorRT légèrement plus complexe par rapport aux exportations rationalisées natives des modèles Ultralytics.

Analyse des performances#

Lors de la comparaison de ces modèles, tu dois équilibrer mAPval, la vitesse d'inférence et la complexité de calcul (FLOPs). Le tableau ci-dessous démontre les performances des deux architectures évaluées sur le COCO dataset.

Modèletaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
params
(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 précision globale la plus élevée avec un impressionnant 53.1 mAPval, ce qui le rend très compétitif pour les scénarios où maximiser les performances de détection est l'objectif principal.
  • Vitesse et efficacité : Ultralytics YOLOv5n est un modèle 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,6M paramètres. Cela en fait un choix incomparable pour les déploiements sur les appareils de périphérie (edge) fortement contraints.
  • Équilibre des performances : La série YOLOv5 fournit un gradient exceptionnel de modèles. YOLOv5l offre un fantastique juste milieu, suivant YOLOv7l de près avec une petite marge de précision tout en offrant un pipeline de déploiement hautement 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 brillent vraiment.

Facilité d'utilisation : Ultralytics fournit une API Python unifiée et hautement intuitive. Tu peux entraîner, valider et déployer des modèles avec un code boilerplate minimal, soutenu par une documentation officielle complète. Écosystème bien entretenu : Un 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 la mise en cache intelligente, YOLOv5 réduit considérablement les temps d'entraînement. De plus, des poids pré-entraînés prêts à l'emploi accélèrent le transfer learning dans divers domaines.

Exemple de code : Entraînement simplifié#

Avec le package Ultralytics, le lancement d'un entraînement est pratiquement identique, quelle que soit l'architecture que tu choisis.

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#

  • Benchmarking académique : Parfait pour les chercheurs ayant besoin de comparer des techniques novatrices par rapport à une base de référence bien documentée de 2022.
  • Traitement Cloud GPU haut de gamme : Lors du déploiement sur du matériel serveur puissant où atteindre la mAP la plus élevée possible sur des scènes denses l'emporte sur la simplicité d'exportation.

Quand choisir YOLOv5#

  • Déploiements en production : Idéal pour les applications commerciales nécessitant une haute stabilité, des options de déploiement de modèles simples et une large compatibilité multiplateforme.
  • Appareils Edge : Les variantes plus petites (YOLOv5n et YOLOv5s) fonctionnent exceptionnellement bien sur les téléphones mobiles et les systèmes embarqués.
  • Besoins multi-tâches : Si ton projet doit évoluer d'une simple détection vers l'estimation de pose ou la segmentation en utilisant un framework unifié.
Explorer d'autres architectures

Tu cherches des versions plus récentes ? Pense à explorer Ultralytics YOLOv8 ou Ultralytics YOLO11 pour de nouvelles avancées dans la détection sans ancrage et les capacités d'apprentissage multi-tâches.

La nouvelle génération : Ultralytics YOLO26#

Bien que YOLOv5 et YOLOv7 occupent des places essentielles dans l'histoire de la vision par ordinateur, le paysage est en constante évolution. Publié en janvier 2026, Ultralytics YOLO26 représente la pointe absolue de la technologie de détection d'objets, remplaçant les générations précédentes sur toutes les métriques.

En savoir plus sur YOLO26

YOLO26 introduit plusieurs fonctionnalités qui changent la donne :

  • Conception End-to-End NMS-Free : S'appuyant sur des concepts introduits dans les itérations précédentes, YOLO26 est nativement end-to-end. Cela élimine complètement le post-traitement Non-Maximum Suppression (NMS), réduisant les goulots d'étranglement de latence et simplifiant radicalement la logique de déploiement.
  • Optimiseur MuSGD : Inspiré par le Kimi K2 de Moonshot AI, cet optimiseur révolutionnaire fusionne la stabilité du SGD standard avec le momentum accéléré de Muon, intégrant des innovations d'entraînement LLM avancées directement dans la vision par ordinateur.
  • Vitesse CPU améliorée : En supprimant stratégiquement la Distribution Focal Loss (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 edge et à faible consommation.
  • ProgLoss + STAL : Ces fonctions de perte avancées apportent des améliorations massives dans la reconnaissance des petits objets, ce qui est critique pour l'imagerie aérienne et la robotique de précision.
  • Améliorations spécifiques aux tâches : Comprend une perte de segmentation sémantique pour la génération de masques, une estimation de log-vraisemblance résiduelle (RLE) pour le suivi de pose, et une perte d'angle spécialisée pour résoudre les problèmes complexes de limites de Oriented Bounding Box (OBB).

Conclusion#

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

Cependant, pour les développeurs qui cherchent à pérenniser leurs pipelines et à obtenir la combinaison ultime de vitesse, de simplicité et de précision de pointe, nous recommandons vivement de migrer vers Ultralytics YOLO26. Il intègre la légendaire facilité d'utilisation de la plateforme Ultralytics tout en offrant des innovations architecturales révolutionnaires.

Commentaires