YOLOv10 vs YOLOv7#
Les progrès rapides de la vision par ordinateur au cours des dernières années ont donné naissance à des architectures toujours plus efficaces pour les applications en temps réel. La comparaison entre YOLOv10 et YOLOv7 met en évidence une période de transition cruciale dans cette évolution. YOLOv7 a introduit des stratégies d’entraînement et une mise à l’échelle architecturale très efficaces, tandis que YOLOv10 a révolutionné le déploiement en supprimant la dépendance de longue date à la suppression non maximale (NMS).
Les deux modèles ont repoussé les limites de la détection d’objets à leur sortie, mais l’écosystème Ultralytics moderne et l’arrivée de modèles de nouvelle génération comme YOLO26 offrent des workflows bien supérieurs aux professionnels de l’IA d’aujourd’hui.
Profils et origines des modèles#
Comprendre les origines de ces modèles permet de mieux saisir les choix de conception architecturale et les recherches universitaires qui les sous-tendent.
Détails sur YOLOv10#
- Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
- Organisation : Université Tsinghua
- Date : 2024-05-23
- Arxiv : YOLOv10 : détection d’objets de bout en bout en temps réel
- GitHub : THU-MIG/yolov10
- Documentation : Documentation Ultralytics YOLOv10
Détails sur YOLOv7#
- Auteurs : Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao
- Organisation : Institute of Information Science, Academia Sinica, Taïwan
- Date : 2022-07-06
- Arxiv : YOLOv7 : un ensemble de techniques gratuites entraînables établit un nouvel état de l’art
- GitHub : WongKinYiu/yolov7
- Documentation : Documentation Ultralytics YOLOv7
Innovations architecturales#
L’approche YOLOv7#
Sorti en 2022, YOLOv7 s’est fortement concentré sur l’optimisation des chemins de gradient. Il a introduit l’Extended Efficient Layer Aggregation Network (E-ELAN), qui permettait au modèle d’apprendre des caractéristiques plus diversifiées sans détruire le chemin de gradient d’origine. De plus, les auteurs ont mis en œuvre une méthodologie d’« ensemble de techniques gratuites entraînables », utilisant des techniques de reparamétrisation pendant l’entraînement qui pouvaient être fusionnées lors de l’inférence afin de maintenir des vitesses d’exécution élevées. Malgré ces optimisations impressionnantes, YOLOv7 dépendait toujours fortement de NMS pour le post-traitement, entraînant une latence variable lors de l’analyse de scènes denses.
La percée de YOLOv10#
YOLOv10 s’est attaqué directement au goulot d’étranglement lié à NMS. En introduisant des assignations doubles cohérentes pendant l’entraînement, l’équipe de l’Université Tsinghua a rendu possible la détection de bout en bout sans NMS. Cette approche à deux têtes utilise une branche avec des assignations un-à-plusieurs afin de fournir des signaux de supervision riches pendant l’entraînement, et une autre branche avec des assignations un-à-un pour l’inférence sans NMS. Ce changement architectural garantit une latence d’inférence ultra-faible et constante, adaptée à l’analyse vidéo à haute vitesse. De plus, YOLOv10 adopte une conception de modèle globale axée sur l’efficacité et la précision, en éliminant les redondances de calcul présentes dans les générations précédentes.
La suppression du post-traitement NMS accélère l’inférence et simplifie considérablement le déploiement sur du matériel d’IA périphérique, comme les accélérateurs d’IA et les NPU, sur lesquels les opérations NMS personnalisées sont notoirement difficiles à compiler.
Comparaison des performances#
La comparaison des métriques brutes sur le jeu de données MS COCO met en évidence l’écart entre les générations. YOLOv10 offre un compromis bien plus avantageux entre le nombre de paramètres, les besoins en calcul et la précision.
| Modèle | taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 160.4 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Comme indiqué ci-dessus, YOLOv10x atteint un mAP supérieur de 54,4 % contre 53,1 % pour YOLOv7x, tout en utilisant moins de la moitié des paramètres (29,5 M contre 71,3 M). De plus, les modèles YOLOv10 légers (Nano et Small) offrent des vitesses de déploiement TensorRT exceptionnelles, ce qui les rend très intéressants pour les déploiements mobiles.
Les avantages de l’écosystème Ultralytics#
L’étude des articles sur les architectures est instructive, mais le développement moderne de la vision par ordinateur repose sur des frameworks robustes et bien entretenus. Choisir un modèle pris en charge par Ultralytics donne un avantage considérable aux développeurs qui souhaitent passer rapidement du prototype à la production.
Développement simplifié#
YOLOv10 est pris en charge nativement par le package Python standard d’Ultralytics, tandis que les checkpoints YOLOv7 entraînés en amont ne peuvent être exécutés dans Ultralytics qu’après exportation vers ONNX ou TensorRT. La prise en charge native offre une facilité d’utilisation inégalée et remplace des milliers de lignes de code standard par une API simple et intuitive. De plus, les modèles Ultralytics YOLO nécessitent beaucoup moins de mémoire CUDA pendant l’entraînement que les architectures Transformer lourdes, ce qui permet d’utiliser des tailles de lot plus importantes sur du matériel grand public.
Une polyvalence inégalée#
Alors que les anciens dépôts se concentrent souvent uniquement sur la détection de boîtes englobantes, le framework Ultralytics intégré prend en charge de manière fluide une grande variété de tâches. Que tu effectues de la segmentation d’instances, de l’estimation de pose ou de la détection par boîtes englobantes orientées (OBB), le workflow reste identique.
Exemple de code : workflows d’entraînement cohérents#
L’extrait de code suivant illustre le processus d’entraînement fluide, qui gère automatiquement l’augmentation de données et la planification du taux d’apprentissage :
from ultralytics import YOLO
# Charger le modèle souhaité (par exemple YOLOv10 ou YOLO26, recommandé)
model = YOLO("yolo26n.pt")
# Entraîner facilement le modèle sur ton jeu de données
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16, device=0)
# Exporter au format ONNX pour un déploiement rapide
model.export(format="onnx")Cas d’utilisation et recommandations#
Le choix entre YOLOv10 et YOLOv7 dépend des exigences spécifiques de ton projet, de tes contraintes de déploiement et de tes préférences en matière d’écosystème.
Quand choisir YOLOv10#
YOLOv10 est un excellent choix pour :
- Détection en temps réel sans NMS : les applications qui tirent parti de la détection de bout en bout sans suppression non maximale, ce qui réduit la complexité du déploiement.
- Équilibre entre vitesse et précision : les projets qui nécessitent un bon compromis entre vitesse d’inférence et précision de détection, pour différentes tailles de modèles.
- Applications à latence constante : les scénarios de déploiement où des temps d’inférence prévisibles sont essentiels, comme en robotique ou dans les systèmes autonomes.
Quand choisir YOLOv7#
YOLOv7 est recommandé pour :
- Évaluation comparative universitaire : reproduire les résultats de pointe de 2022 ou étudier les effets d’E-ELAN et des techniques d’ensemble de techniques gratuites entraînables.
- Recherche sur la reparamétrisation : étudier les convolutions reparamétrisées planifiées et les stratégies de mise à l’échelle composée des modèles.
- Pipelines personnalisés existants : projets dotés de pipelines fortement personnalisés autour de l’architecture spécifique de YOLOv7, difficiles à refactoriser.
Quand choisir Ultralytics (YOLO26)#
Pour la plupart des nouveaux projets, Ultralytics YOLO26 offre le meilleur équilibre entre performances et expérience développeur :
- Déploiement en périphérie sans NMS : les applications qui exigent des inférences à faible latence et constantes, sans la complexité du post-traitement par suppression non maximale.
- Environnements exclusivement CPU : les appareils dépourvus d’accélération GPU dédiée, où l’inférence CPU jusqu’à 43 % plus rapide de YOLO26 constitue un avantage décisif.
- Détection de petits objets : les situations difficiles, comme l’imagerie aérienne par drone ou l’analyse de capteurs IoT, où ProgLoss et STAL améliorent considérablement la précision pour les objets minuscules.
La nouvelle référence : découvrez YOLO26#
YOLOv10 a marqué une avancée majeure en 2024, mais le paysage de la vision par ordinateur évolue à une vitesse fulgurante. Pour tout nouveau développement, nous recommandons vivement le modèle de dernière génération : Ultralytics YOLO26. Sorti en janvier 2026, il représente le summum absolu de l’IA visuelle en temps réel et surpasse largement YOLOv7 et YOLOv10.
YOLO26 apporte des innovations sans précédent, conçues spécifiquement pour les environnements de déploiement modernes :
- Conception de bout en bout sans NMS : s’appuyant sur les fondations posées par YOLOv10, la tête optionnelle une-vers-une de YOLO26 (
nms=False) élimine le post-traitement NMS, simplifiant ainsi les pipelines de déploiement et assurant une inférence rapide et constante. - Inférence CPU jusqu’à 43 % plus rapide : optimisée pour l’informatique en périphérie et les appareils dépourvus de GPU dédiés, elle permet de réaliser d’importantes économies sur les coûts matériels.
- Suppression de DFL : la Distribution Focal Loss a été entièrement supprimée, ce qui simplifie radicalement la logique d’exportation et améliore considérablement la compatibilité avec les appareils périphériques à faible consommation et les microcontrôleurs.
- Optimiseur MuSGD : inspiré de Kimi K2 de Moonshot AI, cet hybride de SGD et de Muon introduit dans la vision par ordinateur les innovations d’entraînement des grands modèles de langage (LLM), pour une dynamique d’entraînement extrêmement stable et une convergence plus rapide.
- ProgLoss + STAL : ces fonctions de perte avancées améliorent considérablement la reconnaissance des petits objets, un domaine historiquement difficile et essentiel pour les drones, la robotique et la surveillance des villes intelligentes.
- Améliorations propres aux tâches : YOLO26 n’est pas qu’un détecteur. Il intègre une fonction de perte spécialisée pour la segmentation sémantique, l’estimation résiduelle de log-vraisemblance (RLE) pour une estimation de pose ultra-précise et des algorithmes spécialisés de perte angulaire qui éliminent les problèmes de limites des OBB.
Pour profiter de la meilleure expérience possible en matière de gestion de tes jeux de données, d’entraînement de YOLO26 et de déploiement de modèles dans le cloud, découvre la plateforme Ultralytics. Elle propose une interface sans code qui complète parfaitement le SDK Python.
Cas d'utilisation concrets#
Le choix de la bonne architecture dépend fortement de ton matériel et des contraintes de ton application.
Quand utiliser YOLOv7#
YOLOv7 reste un choix fiable pour maintenir des pipelines existants déjà profondément intégrés à ses structures de tenseurs spécifiques, ou pour reproduire des benchmarks universitaires de 2022 et 2023. Il offre d’excellentes performances sur les GPU de serveurs haut de gamme.
Quand utiliser YOLOv10#
YOLOv10 excelle dans les scénarios qui exigent une latence stricte et constante. Comme il fonctionne sans NMS, il convient parfaitement au comptage de foules denses ou à la détection de défauts de fabrication, où le nombre d’objets fluctue fortement, mais où le temps de traitement par image doit rester constant.
Quand utiliser YOLO26#
YOLO26 est le choix incontournable pour tout nouveau projet. Qu’il s’agisse de déployer des systèmes d’alarme de sécurité sophistiqués sur un Raspberry Pi standard ou d’exécuter des analyses vidéo cloud à grande échelle, ses vitesses CPU supérieures et sa détection avancée des petits objets le rendent largement supérieur aux générations précédentes.
Pour les développeurs qui souhaitent explorer d’autres architectures modernes, nous proposons également une prise en charge étendue des détecteurs basés sur Transformer comme RT-DETR et des modèles phares des générations précédentes comme Ultralytics YOLO11.