Ultralytics YOLO27 :

YOLOv7 vs YOLOv5#

Lors de la conception de pipelines modernes de vision par ordinateur, le choix de la bonne architecture de détection d’objets est essentiel 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 vision par ordinateur : 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 souhaitons 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 permet de mieux saisir leurs philosophies de conception et leurs cas d’utilisation ciblés.

YOLOv5#

Publié par Glenn Jocher et l’équipe d’Ultralytics le 26 juin 2020, YOLOv5 a révolutionné le domaine en proposant une implémentation native PyTorch qui privilégiait la facilité d’utilisation sans sacrifier les performances. Il est rapidement devenu une référence du secteur grâce à son écosystème extrêmement rationalisé et à sa dynamique d’entraînement fiable. Tu peux explorer le code source dans le dépôt GitHub de YOLOv5 ou accéder directement au modèle via la plateforme Ultralytics.

YOLOv7#

Introduit par Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao de l'Institut des sciences de l'information de l'Academia Sinica à Taïwan le 6 juillet 2022, YOLOv7 s'est fortement concentré 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 pour repousser les limites de la précision. Tu trouveras les détails dans leur article officiel Arxiv et dans le répertoire GitHub de YOLOv7. Pour une intégration transparente, consulte la documentation Ultralytics YOLOv7.

En apprends plus sur YOLOv7

Expérimentation fluide

Ces deux modèles sont entièrement intégrés au package Python Ultralytics, ce qui te permet de passer de l’un à l’autre en modifiant simplement la chaîne du modèle dans ton code !

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 hautement optimisée pour une extraction de caractéristiques rapide et une utilisation efficace de la 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 des GPU grand public standard. De plus, le framework Ultralytics prend nativement en charge une grande variété de tâches au-delà des BBox classiques, notamment la segmentation d’images et la classification d’images.

Conception de YOLOv7#

YOLOv7 a introduit plusieurs reparamétrisations structurelles ainsi que l’architecture E-ELAN, qui permet au réseau d’apprendre des caractéristiques plus variées sans détruire le chemin de gradient d’origine. Il implémente également une tête auxiliaire pour la supervision intermédiaire pendant l’entraînement. Bien que ces avancées produisent une précision moyenne (mAP) élevée, elles introduisent souvent des structures de tenseurs complexes qui peuvent rendre l’exportation vers des formats pour l’edge comme ONNX ou TensorRT légèrement plus difficile que les exportations rationalisées natives des modèles Ultralytics.

Analyse des performances#

Lorsqu’ils comparent ces modèles, les développeurs doivent trouver un équilibre entre mAPval, vitesse d’inférence et complexité computationnelle (FLOPs). Le tableau ci-dessous présente les performances des deux architectures évaluées sur le jeu de données 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 meilleure précision globale 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 constitue l’objectif principal.
  • Vitesse et efficacité : Ultralytics YOLOv5n est un modèle d’une efficacité remarquable, offrant une latence d’inférence fulgurante (1.12 ms sur T4 TensorRT) avec une empreinte mémoire minime de seulement 2.6M paramètres. Il constitue ainsi un choix inégalé pour les déploiements edge soumis à de fortes contraintes.
  • Équilibre des performances : La série YOLOv5 propose une gamme de modèles particulièrement équilibrée. YOLOv5l offre un excellent compromis : il est légèrement moins précis que YOLOv7l, tout en proposant un pipeline de déploiement très mature.

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 les modèles Ultralytics se démarquent véritablement.

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 un minimum de code répétitif, grâce à une documentation officielle exhaustive. Écosystème bien maintenu : Un développement actif garantit des mises à jour constantes, des corrections de bugs 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 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#

  • Évaluation comparative académique : Idéal pour les chercheurs qui doivent comparer de nouvelles techniques à une référence de 2022 bien documentée.
  • Traitement cloud sur GPU haut de gamme : Lors d’un déploiement sur du matériel serveur puissant, lorsque l’obtention du mAP maximal sur des scènes denses est plus importante que la simplicité de l’exportation.

Quand choisir YOLOv5#

  • Déploiements en production : Idéal pour les applications commerciales nécessitant une grande stabilité, des options simples de déploiement des modèles et une large compatibilité multiplateforme.
  • Appareils edge : 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 d’une simple détection vers l’estimation de pose ou la segmentation avec un framework unifié.
Découvrir d’autres architectures

Tu cherches des versions plus récentes ? Envisage d’explorer Ultralytics YOLOv8 ou Ultralytics YOLO11 pour profiter de nouvelles avancées en matière de détection sans ancres et de capacités d’apprentissage multi-tâches.

La prochaine génération : Ultralytics YOLO26#

Bien que YOLOv5 et YOLOv7 occupent une place importante dans l’histoire de l’IA appliquée à la vision, le paysage évolue constamment. Sorti en janvier 2026, Ultralytics YOLO26 représente la pointe absolue de la technologie de détection d’objets et surpasse les générations précédentes sur l’ensemble des métriques.

YOLO26 introduit plusieurs fonctionnalités qui changent radicalement la donne :

  • Conception de bout en bout sans NMS : S’appuyant sur des concepts mis au point dans les versions précédentes, YOLO26 fonctionne nativement de bout en bout. Cela élimine complètement le post-traitement de suppression non maximale (NMS), réduit fortement les goulots d’étranglement liés à la latence et simplifie considérablement la logique de déploiement.
  • Optimiseur MuSGD : Inspiré de Kimi K2 de Moonshot AI, cet optimiseur révolutionnaire combine la stabilité du SGD standard avec l’impulsion accélérée de Muon, en intégrant directement à la vision par ordinateur des innovations issues de l’entraînement avancé des LLM.
  • Vitesse améliorée sur CPU : En supprimant stratégiquement la perte focale de distribution (DFL), YOLO26 atteint une inférence CPU jusqu’à 43 % plus rapide, ce qui en fait le champion incontesté du déploiement sur les appareils edge et IoT basse consommation.
  • ProgLoss + STAL : Ces fonctions de perte avancées améliorent considérablement la reconnaissance des petits objets, une capacité essentielle pour l’imagerie aérienne et la robotique de précision.
  • Améliorations spécifiques aux tâches : Le modèle propose une fonction de perte de segmentation sémantique pour la génération de masques, une estimation résiduelle de log-vraisemblance (RLE) pour le suivi de pose et une fonction de perte angulaire spécialisée pour résoudre les problèmes complexes 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 à haute capacité de calcul, 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 premier ordre.

Cependant, si tu souhaites pérenniser tes pipelines et obtenir la combinaison ultime de vitesse, de simplicité et de précision à la pointe de la technologie, nous te recommandons vivement de migrer vers Ultralytics YOLO26. Il reprend la légendaire facilité d’utilisation de la plateforme Ultralytics tout en proposant des innovations architecturales révolutionnaires.

Commentaires