YOLOv10 vs YOLOv7 : L'évolution de la détection d'objets en temps réel

La progression rapide de la vision par ordinateur ces dernières années a donné naissance à des architectures de plus en plus efficaces pour les applications en temps réel. Comparer YOLOv10 et YOLOv7 met en lumière 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 au Non-Maximum Suppression (NMS).

Les deux modèles ont repoussé les limites de la détection d'objets lors de leurs sorties respectives, mais l'écosystème Ultralytics moderne et l'introduction de modèles de nouvelle génération comme YOLO26 offrent des workflows bien supérieurs pour les praticiens en IA d'aujourd'hui.

Profils et origines des modèles

Comprendre les origines de ces modèles fournit un contexte précieux concernant leurs choix de conception architecturale et la recherche universitaire qui les sous-tend.

Détails de YOLOv10

En savoir plus sur YOLOv10

Détails de YOLOv7

En savoir plus sur YOLOv7

Innovations architecturales

L'approche de YOLOv7

Sorti en 2022, YOLOv7 s'est fortement concentré sur l'optimisation des chemins de gradient. Il a introduit le réseau E-ELAN (Extended Efficient Layer Aggregation Network), qui permet 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 de "sac d'astuces entraînable" (bag-of-freebies), utilisant des techniques de reparamétrage pendant l'entraînement qui pouvaient être fusionnées lors de l'inférence pour maintenir des vitesses d'exécution rapides. Malgré ces optimisations impressionnantes, YOLOv7 reposait toujours largement sur le NMS pour le post-traitement, créant une latence variable lors de l'analyse de scènes denses.

La percée de YOLOv10

YOLOv10 a directement résolu le goulot d'étranglement du NMS. En introduisant des assignations doubles cohérentes pendant l'entraînement, l'équipe de l'Université Tsinghua a permis une détection de bout en bout sans NMS. Cette approche à double tête utilise une branche avec des assignations un-à-plusieurs pour des signaux de supervision riches pendant l'entraînement, et une autre branche avec des assignations un-à-un pour une inférence sans NMS. Ce changement architectural assure une latence d'inférence ultra-faible et constante, adaptée à l'analyse vidéo haute vitesse. De plus, YOLOv10 emploie une conception de modèle axée sur l'efficacité et la précision globales, éliminant la redondance computationnelle présente dans les générations précédentes.

Impact du post-traitement

La suppression du post-traitement NMS accélère non seulement l'inférence, mais simplifie aussi considérablement le déploiement sur le matériel IA en périphérie, tel que les accélérateurs IA et les NPU où les opérations NMS personnalisées sont notoirement difficiles à compiler.

Comparaison des performances

Lorsque l'on compare les métriques brutes sur le jeu de données MS COCO, l'écart générationnel devient évident. YOLOv10 atteint un compromis beaucoup plus favorable entre paramètres, besoins computationnels et précision.

Modèletaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLOv10n64039.5-1.562,36,7
YOLOv10s64046.7-2.667.221,6
YOLOv10m64051.3-5.4815.459,1
YOLOv10b64052.7-6.5424.492,0
YOLOv10l64053.3-8.3329.5120,3
YOLOv10x64054,4-12.256.9160,4
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

Comme vu ci-dessus, YOLOv10x offre un mAP supérieur de 54,4 % par rapport aux 53,1 % de YOLOv7x, tout en utilisant environ 20 % de paramètres en moins. De plus, les modèles YOLOv10 légers (Nano et Small) offrent des vitesses de déploiement TensorRT exceptionnelles, les rendant très attrayants pour le déploiement mobile.

L'avantage de l'écosystème Ultralytics

Bien que l'étude des articles architecturaux 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 massif aux développeurs cherchant à passer rapidement du prototype à la production.

Développement rationalisé

YOLOv10 et YOLOv7 peuvent être accédés via le package Python standard d'Ultralytics. Cela offre une facilité d'utilisation inégalée, remplaçant des milliers de lignes de code répétitif 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 par rapport aux lourdes architectures Transformer, permettant l'utilisation de tailles de lots plus grandes sur du matériel grand public.

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 intégré Ultralytics 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 démontre 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 des exigences spécifiques de ton projet, des contraintes de déploiement et de tes préférences en matière d'écosystème.

Quand choisir YOLOv10

YOLOv10 est un choix solide pour :

  • Détection en temps réel sans NMS : Applications bénéficiant d'une détection de bout en bout sans suppression des non-maximums, réduisant la complexité de déploiement.
  • Compromis vitesse-précision équilibrés : Projets nécessitant un bon équilibre entre la vitesse d'inférence et la précision de détection sur différentes échelles de modèles.
  • Consistent-Latency Applications: Deployment scenarios where predictable inference times are critical, such as robotics or autonomous systems.

Quand choisir YOLOv7

YOLOv7 est recommandé pour :

  • Benchmarking académique : Reproduire les résultats de pointe de 2022 ou étudier les effets des techniques E-ELAN et du sac d'astuces entraînable.
  • Recherche sur le reparamétrage : Étudier les convolutions reparamétrées planifiées et les stratégies de mise à l'échelle des modèles composés.
  • Pipelines personnalisés existants : Projets avec des pipelines fortement personnalisés construits autour de l'architecture spécifique de YOLOv7 qui ne peuvent pas être facilement refactorisés.

Quand choisir Ultralytics (YOLO26)

Pour la plupart des nouveaux projets, Ultralytics YOLO26 offre la meilleure combinaison de performance et d'expérience développeur :

  • Déploiement Edge sans NMS : Applications nécessitant une inférence cohérente et à faible latence sans la complexité du post-traitement par suppression des non-maximums.
  • Environnements 100 % CPU : Appareils sans accélération GPU dédiée, où l'inférence CPU jusqu'à 43 % plus rapide de YOLO26 offre un avantage décisif.
  • Détection de petits objets : Scénarios difficiles comme l'imagerie par drone aérien ou l'analyse de capteurs IoT, où ProgLoss et STAL améliorent considérablement la précision sur les objets minuscules.

La nouvelle norme : Présentation de YOLO26

Bien que YOLOv10 ait été un grand pas en avant en 2024, le paysage de la vision par ordinateur évolue incroyablement vite. 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 de vision en temps réel, remplaçant largement YOLOv7 et YOLOv10.

En savoir plus sur YOLO26

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 bases posées par YOLOv10, YOLO26 élimine nativement le post-traitement NMS pour des pipelines de déploiement plus simples et une inférence haute vitesse cohérente.
  • Inférence CPU jusqu'à 43 % plus rapide : Fortement optimisé pour l'informatique en périphérie et les appareils dépourvus de GPU dédiés, offrant d'énormes économies sur les coûts matériels.
  • Suppression de DFL : La perte focale de distribution (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 en périphérie à faible consommation et les microcontrôleurs.
  • Optimiseur MuSGD : Inspiré par Kimi K2 de Moonshot AI, cet hybride de SGD et Muon apporte les innovations d'entraînement des LLM (Large Language Model) directement dans la vision par ordinateur, produisant une dynamique d'entraînement incroyablement stable et une convergence plus rapide.
  • ProgLoss + STAL : Ces fonctions de perte avancées offrent des améliorations notables dans la reconnaissance d'objets de petite taille, un domaine historiquement difficile qui est critique pour les drones, la robotique et la surveillance intelligente des villes.
  • Améliorations spécifiques aux tâches : YOLO26 n'est pas juste un détecteur. Il inclut une perte de segmentation sémantique spécialisée, l'estimation de log-vraisemblance résiduelle (RLE) pour un suivi de pose ultra-précis, et des algorithmes de perte d'angle spécialisés pour éliminer les problèmes de frontière OBB.
Gestion des jeux de données et entraînement

Pour la meilleure expérience possible dans la gestion de tes jeux de données, l'entraînement de YOLO26 et le déploiement de modèles dans le cloud, explore la plateforme Ultralytics. Elle offre une interface sans code qui complète parfaitement le SDK Python.

Cas d'utilisation réels

La sélection 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 avec ses structures de tenseurs spécifiques ou pour répliquer des benchmarks académiques de 2022 et 2023. Il fonctionne admirablement sur les GPU de serveurs haut de gamme.

Quand utiliser YOLOv10

YOLOv10 brille dans les scénarios exigeant une latence stricte et immuable. Comme il est sans NMS, il est excellent pour le comptage de foules à haute densité ou la détection de défauts de fabrication où le nombre d'objets fluctue sauvagement mais où le temps de traitement par image doit rester constant.

Quand utiliser YOLO26

YOLO26 est le choix définitif pour tout projet nouveau. Du déploiement de systèmes d'alarme de sécurité sophistiqués sur un Raspberry Pi basique à l'exécution d'analyses vidéo massives basées sur le cloud, ses vitesses CPU supérieures et sa détection avancée de petits objets le rendent bien supérieur aux anciennes générations.

Pour les développeurs intéressés par l'exploration d'architectures modernes alternatives, nous fournissons également une prise en charge étendue des détecteurs basés sur Transformer comme RT-DETR et des piliers des générations précédentes comme Ultralytics YOLO11.

Commentaires