YOLOv10 vs YOLOv7#
Les progrès rapides de la vision par ordinateur au cours des dernières années ont produit 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. Alors que YOLOv7 a introduit des stratégies d'entraînement et une mise à l'échelle architecturale très efficaces, YOLOv10 a révolutionné le déploiement en éliminant la dépendance historique à la suppression des maxima non maximaux (NMS).
Les deux modèles ont repoussé les limites de la détection d'objets lors de leur sortie respective, mais l'écosystème Ultralytics moderne et l'introduction de modèles de nouvelle génération comme YOLO26 offrent des flux de travail largement supérieurs aux professionnels de l'IA d'aujourd'hui.
Profils et origines des modèles#
Comprendre les origines de ces modèles fournit un contexte précieux sur leurs choix de conception architecturale et les recherches universitaires qui les sous-tendent.
Détails de YOLOv10#
- Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
- Organisation : Tsinghua University
- 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
En apprendre davantage sur YOLOv10
Détails de 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 : L'ensemble d'astuces gratuites entraînable é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 le réseau étendu d'agrégation de couches efficaces (E-ELAN), qui permettait au modèle d'apprendre des caractéristiques plus diversifiées sans détruire le chemin de gradient d'origine. En outre, les auteurs ont mis en œuvre une méthodologie de « sac d'astuces entraînable », 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 encore fortement de la suppression des maxima non maximaux (NMS) pour le post-traitement, ce qui entraînait 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é à la suppression des maxima non maximaux (NMS). En introduisant des assignations doubles cohérentes pendant l'entraînement, l'équipe de Tsinghua University a permis une détection de bout en bout sans NMS. Cette approche à deux têtes utilise une branche avec des assignations un-à-plusieurs pour 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. Cette évolution architecturale garantit une latence d'inférence constamment très faible, adaptée à l'analyse vidéo à haute vitesse. En outre, YOLOv10 utilise une conception de modèle globale guidée par l'efficacité et la précision, supprimant la redondance computationnelle présente dans les générations précédentes.
La suppression du post-traitement NMS accélère non seulement l'inférence, mais simplifie aussi considérablement le déploiement sur du matériel d'IA en périphérie, 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#
Lorsqu'on compare les métriques brutes sur le jeu de données MS COCO, l'écart entre les générations devient évident. YOLOv10 offre un compromis bien plus favorable entre le nombre de paramètres, les exigences computationnelles 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 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 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 environ 20 % de paramètres en moins. En outre, les modèles YOLOv10 légers (Nano et Small) offrent des vitesses exceptionnelles de déploiement TensorRT, ce qui les rend particulièrement attractifs pour le déploiement mobile.
L’avantage de l’écosystème Ultralytics#
Bien que l'étude d'articles consacrés à l'architecture soit instructive, le développement moderne en vision par ordinateur repose sur des frameworks robustes et bien maintenus. Choisir un modèle pris en charge par Ultralytics offre un avantage considérable aux développeurs qui souhaitent passer rapidement du prototype à la production.
Développement simplifié#
YOLOv10 et YOLOv7 sont tous deux accessibles via le paquet Python standard d'Ultralytics. Celui-ci offre une facilité d'utilisation inégalée en remplaçant des milliers de lignes de code répétitif par une API simple et intuitive. En outre, 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 strictement sur la détection de boîtes englobantes, le framework Ultralytics intégré prend en charge de manière transparente 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 de boîtes englobantes orientées (OBB), le flux de travail 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 des données et la planification du taux d'apprentissage :
from ultralytics import YOLO
# Load the desired model (YOLOv10, YOLOv7, or the recommended YOLO26)
model = YOLO("yolo26n.pt")
# Train the model effortlessly on your dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16, device=0)
# Export to ONNX format for rapid deployment
model.export(format="onnx")Cas d'utilisation et recommandations#
Le choix entre YOLOv10 et YOLOv7 dépend de tes exigences spécifiques, de tes contraintes de déploiement et de tes préférences en matière d'écosystème.
Quand choisir YOLOv10#
YOLOv10 est un choix pertinent pour :
- Détection en temps réel sans NMS : les applications qui bénéficient d’une détection de bout en bout sans suppression des non-maxima, réduisant ainsi la complexité du déploiement.
- Compromis équilibré entre vitesse et précision : les projets nécessitant un équilibre solide entre la vitesse d’inférence et la 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 la robotique ou 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 de E-ELAN et des techniques de sac d'astuces entraînable.
- 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 : les projets dotés de pipelines fortement personnalisés construits autour de l'architecture spécifique de YOLOv7, qui ne peuvent pas être facilement remaniés.
Quand choisir Ultralytics (YOLO26)#
Pour la plupart des nouveaux projets, Ultralytics YOLO26 offre le meilleur compromis entre performance et expérience développeur :
- Déploiement edge sans NMS : les applications nécessitant une inférence cohérente à faible latence, 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 scénarios difficiles comme les images aériennes prises par drone ou l'analyse de capteurs IoT, où ProgLoss et STAL améliorent considérablement la précision sur les objets minuscules.
La nouvelle référence : présentation de YOLO26#
Bien que YOLOv10 ait représenté un bond en avant majeur en 2024, le paysage de la vision par ordinateur évolue à une vitesse incroyable. 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 sommet absolu de l'IA de vision en temps réel, surpassant largement YOLOv7 et YOLOv10.
YOLO26 apporte des innovations inédites 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, YOLO26 élimine nativement le post-traitement NMS pour des pipelines de déploiement plus simples et une inférence rapide et cohérente.
- Jusqu'à 43 % d'inférence plus rapide sur CPU : fortement optimisé pour l'informatique en périphérie et les appareils dépourvus de GPU dédiés, il permet de réaliser d'importantes économies sur les coûts matériels.
- Suppression de DFL : la perte focale de distribution a été entièrement supprimée, ce qui simplifie radicalement la logique d'exportation et améliore considérablement la compatibilité avec les appareils en périphérie basse consommation et les microcontrôleurs.
- Optimiseur MuSGD : inspiré de Kimi K2 de Moonshot AI, cet hybride de SGD et de Muon introduit directement dans la vision par ordinateur des innovations d'entraînement des grands modèles de langage (LLM), produisant une dynamique d'entraînement extrêmement stable et une convergence plus rapide.
- ProgLoss + STAL : ces fonctions de perte avancées améliorent nettement la reconnaissance des petits objets, un domaine historiquement difficile qui est essentiel pour les drones, la robotique et la surveillance des villes intelligentes.
- Améliorations spécifiques aux tâches : YOLO26 n'est pas seulement un détecteur. Il comprend une fonction de perte spécialisée pour la segmentation sémantique, l'estimation de la log-vraisemblance résiduelle (RLE) pour un suivi de pose extrêmement précis et des algorithmes spécialisés de perte angulaire pour éliminer les problèmes de limites des OBB.
Pour une expérience optimale 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 offre une interface sans code qui complète parfaitement le SDK Python.
Cas d’utilisation réels#
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 nécessitant une latence stricte et invariable. Comme il fonctionne sans NMS, il est idéal pour le comptage de foules à forte densité 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 définitif pour tout projet lancé sur une nouvelle base. Du déploiement de systèmes d'alarme de sécurité sophistiqués sur un simple Raspberry Pi à l'exécution d'analyses vidéo massives dans le cloud, 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 souhaitant explorer des architectures modernes alternatives, nous proposons également une prise en charge étendue des détecteurs fondés sur les Transformer, comme RT-DETR, ainsi que des références des générations précédentes comme Ultralytics YOLO11.