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 indicateurs de performance et leurs scénarios de déploiement idéaux, nous souhaitons aider les développeurs et les chercheurs à choisir le modèle le mieux adapté à leurs besoins 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 .
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 .
Expérimentation transparente
Ces deux modèles sont entièrement intégrés auPython Ultralytics , ce qui vous permet de passer de l'un à l'autre en modifiant simplement la chaîne de 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è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 |
Points clés à retenir
- Précision maximale : YOLOv7x atteint la précision globale la plus élevée avec un impressionnant 53,1mAPval, ce qui le rend très compétitif pour les scénarios où l'objectif principal est de maximiser les performances de détection.
- Rapidité et efficacité : Ultralytics est une merveille d'efficacité, offrant une latence d'inférence ultra-rapide (1,12 ms sur T4 TensorRT) avec une empreinte mémoire minime de seulement 2,6 millions de paramètres. Cela en fait un choix inégalé pour les déploiements en périphérie hautement contraints.
- Équilibre des performances : la YOLOv5 offre un gradient exceptionnel de modèles. YOLOv5l offre un excellent compromis, avec une précision légèrement inférieure à celle de YOLOv7l, mais un pipeline de déploiement très abouti.
L'avantage 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 Ultralytics prennent toute leur dimension.
Facilité d'utilisation : Ultralytics une Python unifiée et très intuitive. Vous pouvez former, valider et déployer des modèles avec un minimum de code standard, grâce à une documentation officielle complète. Écosystème bien entretenu : le développement actif garantit des mises à jour constantes, des corrections de bogues et une intégration transparente avec des outils de suivi modernes tels que Weights & Biases. Efficacité de l'entraînement : grâce à l'utilisation de chargeurs de données optimisés et d'une mise en cache intelligente, YOLOv5 réduit YOLOv5 les temps d'entraînement. De plus, les poids pré-entraînés prêts à l'emploi accélèrent le transfert d'apprentissage entre différents domaines.
Exemple de code : Formation simplifiée
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
- Benchmarking académique : idéal pour les chercheurs qui ont besoin de comparer des techniques novatrices à 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 de 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.
- Dispositifs périphériques : les variantes plus petites (YOLOv5n et YOLOv5s) fonctionnent exceptionnellement bien sur les téléphones mobiles et les systèmes embarqués.
- Exigences multitâches : si votre projet doit évoluer de la simple détection à 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.
YOLO26 introduit plusieurs fonctionnalités qui changent la donne :
- Conception NMS de bout en bout : s'appuyant sur des concepts mis au point dans des versions antérieures, YOLO26 est nativement de bout en bout. Cela élimine complètement le post-traitementNMS(Non-Maximum Suppression), réduisant considérablement les goulots d'étranglement liés à la latence et simplifiant considérablement la logique de déploiement.
- Optimiseur MuSGD : inspiré du Kimi K2 de Moonshot AI, cet optimiseur révolutionnaire combine la stabilité du SGD standard SGD la dynamique accélérée du Muon, apportant ainsi des innovations avancées en matière de formation LLM directement dans la vision par ordinateur.
- CPU améliorée : en supprimant stratégiquement la perte focale de distribution (DFL), YOLO26 atteint CPU jusqu'à 43 % plus rapide, ce qui en fait le champion incontesté du déploiement de périphériques IoT de pointe et à faible consommation d'énergie.
- ProgLoss + STAL : ces fonctions de perte avancées permettent d'améliorer considérablement la reconnaissance des petits objets, ce qui est essentiel pour l'imagerie aérienne et la robotique de précision.
- Améliorations spécifiques à certaines tâches : segmentation sémantique pour la génération de masques, estimation de la vraisemblance résiduelle (RLE) pour le suivi de pose et perte angulaire spécialisée pour résoudre les problèmes complexes liés aux limites des boîtes englobantes orientées (OBB).
Conclusion
YOLOv5 YOLOv7 tous deux des solutions robustes pour la détection d'objets en temps réel. YOLOv7 un choix solide pour une précision brute sur du matériel à haute puissance de calcul, tandis que YOLOv5 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 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.