YOLOv7 vs YOLOv5#
Lors de la création de pipelines modernes de vision par ordinateur, choisir la bonne architecture de détection d’objets est essentiel pour équilibrer précision, vitesse d’inférence et utilisation des ressources. Cette comparaison détaillée examine deux modèles très influents dans le domaine de la vision par ordinateur : YOLOv7 et Ultralytics YOLOv5.
En analysant leurs différences architecturales, leurs indicateurs de performance et leurs scénarios de déploiement idéaux, nous souhaitons aider les développeurs et les chercheurs à choisir le meilleur modèle en fonction de leurs besoins spécifiques.
Contexte et origines des modèles#
Comprendre les origines de ces modèles permet de mieux saisir leurs philosophies de conception et leurs cas d’usage ciblés.
YOLOv5#
Lancé par Glenn Jocher et l’équipe d’Ultralytics le 26 juin 2020, YOLOv5 a révolutionné le domaine en proposant une implémentation native de PyTorch qui privilégiait la facilité d’utilisation sans sacrifier les performances. Il est rapidement devenu une référence dans l’industrie grâce à son écosystème particulièrement rationalisé et à sa dynamique d’entraînement fiable. Tu peux consulter le code source dans le dépôt GitHub de YOLOv5 ou accéder directement au modèle via l’Ultralytics Platform.
YOLOv7#
Présenté le 6 juillet 2022 par Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao, de l’Institute of Information Science de l’Academia Sinica, à Taïwan, YOLOv7 s’est fortement concentré sur les innovations architecturales, comme 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. Tu trouveras plus de détails dans leur article officiel sur Arxiv et le dépôt GitHub de YOLOv7. Pour une intégration fluide, consulte la documentation Ultralytics YOLOv7.
YOLOv5 est entièrement intégré au package Python Ultralytics. YOLOv7 n’est pas pris en charge nativement pour l’entraînement ou l’inférence avec PyTorch, mais les checkpoints YOLOv7 exportés en amont vers ONNX ou TensorRT peuvent être exécutés avec Ultralytics, comme expliqué dans la documentation YOLOv7.
Innovations architecturales#
Conception d’Ultralytics YOLOv5#
YOLOv5 utilise un backbone CSPDarknet53 modifié associé à un réseau d’agrégation de chemins (PANet). Cette conception est fortement optimisée pour l’extraction de caractéristiques rapide et l’efficacité mémoire. Contrairement aux architectures plus anciennes ou aux modèles Transformer lourds, YOLOv5 nécessite beaucoup moins de mémoire CUDA pendant l’entraînement, ce qui permet d’utiliser des tailles de lot plus importantes sur les GPU grand public standard. De plus, le framework Ultralytics prend nativement en charge de nombreuses tâches au-delà des boîtes englobantes classiques, notamment la segmentation d’images et la classification d’images.
Conception de YOLOv7#
YOLOv7 a introduit 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 (mAP) élevée, elles introduisent souvent des structures de tenseurs complexes qui peuvent rendre l’exportation vers des formats de périphérie comme ONNX ou TensorRT légèrement plus difficile que les exportations rationalisées natives des modèles Ultralytics.
Analyse des performances#
Pour comparer ces modèles, les développeurs doivent trouver un équilibre entre mAPval, vitesse d’inférence et complexité de calcul (FLOPs). Le tableau ci-dessous présente les performances des deux architectures évaluées sur le jeu de données COCO.
| 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 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
Points essentiels à 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 dans 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 fulgurante (1,12 ms sur T4 TensorRT) avec une empreinte mémoire minuscule de seulement 1,9 M de paramètres. C’est donc un choix inégalé pour les déploiements en périphérie soumis à de fortes contraintes.
- Équilibre des performances : La gamme YOLOv5 offre un éventail remarquable de modèles. YOLOv5l constitue un excellent compromis : sa précision est légèrement inférieure à celle de YOLOv7l, mais il offre un pipeline de déploiement très mature.
Les avantages de l’écosystème Ultralytics#
L’architecture d’un modèle ne représente que la moitié de l’équation ; l’écosystème qui l’entoure détermine 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. Tu peux entraîner, valider et déployer des modèles avec très peu de code standard, en t’appuyant sur une documentation officielle exhaustive. Écosystème bien entretenu : Un développement actif garantit des mises à jour constantes, des corrections de bogues et une intégration fluide avec des outils modernes de suivi comme Weights & Biases. Efficacité de l’entraînement : Grâce à 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, 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 simplifié#
Avec le package Ultralytics, lancer un entraînement est pratiquement identique, quelle que soit l’architecture choisie.
from ultralytics import YOLO
# Charger un modèle YOLOv5 préentraîné
model = YOLO("yolov5su.pt") # YOLOv5u : poids YOLOv5 sans ancres pour le package ultralytics
# Entraîner le modèle sur le jeu de données d’exemple COCO8
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Exporte le modèle entraîné au format ONNX pour le déploiement
success = model.export(format="onnx")Cas d’utilisation idéaux#
Quand choisir YOLOv7#
- Évaluation comparative universitaire : Idéal pour les chercheurs qui doivent comparer de nouvelles techniques à une référence bien documentée de 2022.
- Traitement dans le cloud avec GPU haut de gamme : Pour les déploiements sur des serveurs puissants, lorsque l’obtention du mAP maximal sur des scènes denses prime sur la simplicité d’exportation.
Quand choisir YOLOv5#
- Déploiements en production : Idéal pour les applications commerciales qui exigent 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 particulièrement bien sur les téléphones mobiles et les systèmes embarqués.
- Besoins multi-tâches : Si ton projet doit évoluer de la simple détection vers la segmentation d’instances ou la classification dans un framework unifié.
Tu cherches des versions plus récentes ? Découvre Ultralytics YOLOv8 ou Ultralytics YOLO11, qui apportent de nouvelles avancées en détection sans ancres et en apprentissage multi-tâches.
La prochaine génération : Ultralytics YOLO26#
YOLOv5 et YOLOv7 occupent une place importante dans l’histoire de l’IA visuelle, mais le domaine évolue constamment. Lancé en janvier 2026, Ultralytics YOLO26 représente la technologie de détection d’objets la plus avancée et surpasse les générations précédentes sur tous les indicateurs.
YOLO26 introduit plusieurs fonctionnalités qui changent la donne :
- Conception de bout en bout sans NMS : S’appuyant sur des concepts introduits dans les versions précédentes, YOLO26 propose une tête native de bout en bout (
nms=False) qui élimine le post-traitement par suppression non maximale (NMS), réduisant les goulets d’étranglement de latence et simplifiant considérablement la logique de déploiement. - Optimiseur MuSGD : Inspiré par Kimi K2 de Moonshot AI, cet optimiseur révolutionnaire associe la stabilité du SGD standard à l’accélération de la dynamique de Muon, transposant directement à la vision par ordinateur les innovations avancées de l’entraînement des LLM.
- Vitesse accrue sur CPU : En supprimant stratégiquement la Distribution Focal Loss (DFL), YOLO26 atteint une inférence sur CPU jusqu’à 43 % plus rapide, ce qui en fait le champion incontesté du déploiement sur les appareils en périphérie et les appareils IoT à faible consommation.
- ProgLoss + STAL : Ces fonctions de perte avancées améliorent considérablement la reconnaissance des petits objets, un aspect essentiel pour l’imagerie aérienne et la robotique de précision.
- Améliorations spécifiques aux tâches : YOLO26 intègre une fonction de perte de segmentation sémantique pour la génération de masques, l’estimation résiduelle du log-vraisemblance (RLE) pour l’estimation de pose et une fonction de perte d’angle spécialisée pour résoudre les problèmes complexes de délimitation 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 obtenir une précision brute sur du matériel doté d’une grande puissance de calcul, tandis que YOLOv5 s’impose comme l’outil idéal pour les développeurs grâce à son équilibre remarquable entre vitesse et efficacité, ainsi qu’à son écosystème de premier ordre.
Cependant, si tu veux pérenniser tes pipelines et obtenir la combinaison ultime de vitesse, de simplicité et de précision de pointe, nous te recommandons vivement de passer à Ultralytics YOLO26. Il associe la légendaire facilité d’utilisation de la plateforme Ultralytics à des innovations architecturales révolutionnaires.