YOLOv10 YOLOv7: l'évolution de la détection d'objets en temps réel
Les progrès rapides réalisés ces dernières années dans le domaine de la vision par ordinateur ont permis de mettre au point des architectures de plus en plus efficaces pour les applications en temps réel. Comparaison entre YOLOv10 et YOLOv7 met en évidence une période de transition cruciale dans cette évolution. Alors que YOLOv7 des stratégies d'entraînement et une mise à l'échelle architecturale très efficaces, YOLOv10 le déploiement en éliminant 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 lors de leur sortie respective, mais Ultralytics moderne Ultralytics et l'introduction de modèles de nouvelle génération tels que YOLO26 offrent des flux de travail bien supérieurs aux praticiens de l'IA d'aujourd'hui.
Profils et origines des modèles
Comprendre les origines de ces modèles fournit un contexte précieux concernant les choix architecturaux qui ont présidé à leur conception et les recherches universitaires qui les ont inspirés.
YOLOv10
- Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
- Organisation : Université Tsinghua
- Date : 2024-05-23
- Arxiv : YOLOv10: Détection d'objets en temps réel de bout en bout
- GitHub : THU-MIG/yolov10
- Documents : YOLOv10 Ultralytics YOLOv10
YOLOv7
- Auteurs : Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao
- Organisation : Institut des sciences de l'information, Academia Sinica, Taïwan
- Date : 06/07/2022
- Arxiv : YOLOv7: un sac de cadeaux personnalisable à la pointe de la technologie
- GitHub : WongKinYiu/yolov7
- Documents : YOLOv7 Ultralytics YOLOv7
Innovations architecturales
YOLOv7
Sorti en 2022, YOLOv7 fortement YOLOv7 sur l'optimisation des chemins de gradient. Il a introduit le réseau E-ELAN (Extended Efficient Layer Aggregation Network), qui a permis au modèle d'apprendre des caractéristiques plus diverses sans détruire le chemin de gradient d'origine. De plus, les auteurs ont mis en œuvre une méthodologie « trainable bag-of-freebies », utilisant des techniques de reparamétrage pendant l'entraînement qui pouvaient être fusionnées pendant l'inférence afin de maintenir des vitesses d'exécution rapides. Malgré ces optimisations impressionnantes, YOLOv7 dépendait YOLOv7 fortement du NMS le post-traitement, ce qui créait une latence variable lors de l'analyse de scènes denses.
YOLOv10 de YOLOv10
YOLOv10 directement YOLOv10 le problème NMS . En introduisant des attributions doubles cohérentes pendant l'entraînement, l'équipe de l'université Tsinghua a permis une détection de bout en bout NMS. Cette approche à double tête utilise une branche avec des attributions un-à-plusieurs pour des signaux de supervision riches pendant l'entraînement, et une autre branche avec des attributions un-à-un pour une inférence NMS. Ce changement d'architecture garantit une latence d'inférence cohérente et ultra-faible, adaptée à l'analyse vidéo à grande vitesse. De plus, YOLOv10 une conception de modèle holistique axée sur l'efficacité et la précision, éliminant la redondance informatique présente dans les générations précédentes.
Impact du post-traitement
La suppression NMS accélère non seulement l'inférence, mais simplifie également considérablement le déploiement sur le matériel IA de pointe, tel que les accélérateurs IA et les NPU, où NMS personnalisées sont réputées difficiles à compiler.
Comparaison des performances
Lorsque l'on compare les mesures brutes sur COCO MS COCO , l'écart entre les générations devient évident. YOLOv10 un compromis beaucoup plus favorable entre les paramètres, les exigences informatiques 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 on peut le voir ci-dessus, YOLOv10x offre un mAP supérieur mAP 54,4 % par rapport à celui de YOLOv7x (53,1 %), tout en utilisant environ 20 % de paramètres en moins. De plus, les YOLOv10 légers YOLOv10 (Nano et Small) offrent des vitesses TensorRT exceptionnelles, ce qui les rend très attractifs pour les déploiements mobiles.
L'avantage de l'écosystème Ultralytics
Bien que l'étude des documents architecturaux soit instructive, le développement moderne de la vision par ordinateur repose sur des cadres robustes et bien entretenus. Le choix d'un modèle Ultralytics offre un avantage considérable aux développeurs qui souhaitent passer rapidement du prototype à la production.
Développement simplifié
YOLOv10 YOLOv7 tous deux accessibles via lePython standard Ultralytics . Celui-ci offre une facilité d'utilisation inégalée, remplaçant des milliers de lignes de code standard par une API simple et intuitive. De plus,YOLO Ultralytics YOLO nécessitent beaucoup moins CUDA pendant l'entraînement que les architectures de transformateurs lourdes, ce qui permet d'utiliser des lots plus importants sur du matériel grand public.
Polyvalence inégalée
Alors que les référentiels plus anciens se concentrent souvent strictement sur la détection des cadres de sélection, le Ultralytics intégré Ultralytics prend en charge de manière transparente une grande variété de tâches. Que vous effectuiez une segmentation d'instance, une estimation de pose ou une détection de cadre de sélection orienté (OBB), le flux de travail reste identique.
Exemple de code : Workflows de formation cohérents
L'extrait de code suivant illustre le processus d'entraînement transparent, 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 YOLOv7 des exigences spécifiques de votre projet, des contraintes de déploiement et des préférences de votre écosystème.
Quand choisir YOLOv10
YOLOv10 un choix judicieux pour :
- Détection en temps réelNMS: applications bénéficiant d'une détection de bout en bout sans suppression non maximale, réduisant ainsi la complexité du déploiement.
- Compromis équilibré entre vitesse et précision : projets nécessitant un équilibre solide entre la vitesse d'inférence et la précision de détection à différentes échelles de modèle.
- Applications à latence constante : scénarios de déploiement où des temps d'inférence prévisibles sont essentiels, tels que la robotique ou les systèmes autonomes.
Quand choisir YOLOv7
YOLOv7 recommandé pour :
- Benchmarking académique : reproduction des résultats de pointe de 2022 ou étude des effets des techniques E-ELAN et trainable bag-of-freebies.
- Recherche sur la reparamétrisation : étude des convolutions reparamétrisées planifiées et des stratégies de mise à l'échelle des modèles composites.
- Pipelines personnalisés existants : projets avec des pipelines fortement personnalisés, construits autour de l'architecture spécifique YOLOv7, qui ne peuvent pas être facilement refactorisés.
Quand choisir Ultralytics YOLO26)
Pour la plupart des nouveaux projets, Ultralytics offre la meilleure combinaison entre performances et expérience développeur :
- DéploiementNMS suppressionNMS maximale (NMS: applications nécessitant une inférence cohérente et à faible latence sans la complexité du post-traitement par suppression non maximale.
- EnvironnementsCPU: appareils sans GPU dédiée, où CPU jusqu'à 43 % plus rapide de YOLO26 offre un avantage décisif.
- Détection de petits objets : scénarios complexes tels que l'imagerie aérienne par drone ou l'analyse par capteurs IoT, où ProgLoss et STAL améliorent considérablement la précision sur les objets minuscules.
La nouvelle norme : présentation de YOLO26
Si YOLOv10 une avancée considérable en 2024, le domaine de la vision par ordinateur évolue à une vitesse fulgurante. Pour tous les nouveaux développements, nous recommandons vivement le modèle de dernière génération : Ultralytics . Lancé en janvier 2026, il représente le summum absolu de l'IA de vision en temps réel, surpassant largement YOLOv7 YOLOv10.
YOLO26 apporte des innovations sans précédent spécialement conçues pour les environnements de déploiement modernes :
- Conception NMS de bout en bout : s'appuyant sur les bases posées par YOLOv10, YOLO26 élimine nativement NMS pour des pipelines de déploiement plus simples et une inférence rapide et cohérente.
- CPU jusqu'à 43 % plus rapide : fortement optimisé pour l'informatique en périphérie et les appareils dépourvus de GPU dédiés, ce qui permet de réaliser d'importantes économies sur les coûts matériels.
- Suppression du DFL : le Distribution Focal Loss (perte focale de distribution) a été entièrement supprimé, ce qui simplifie considérablement la logique d'exportation et améliore grandement la compatibilité avec les appareils périphériques et les microcontrôleurs à faible consommation d'énergie.
- MuSGD Optimizer : inspiré du Kimi K2 de Moonshot AI, cet hybride de SGD Muon apporte les innovations de l'entraînement des modèles linguistiques à grande échelle (LLM) directement dans la vision par ordinateur, offrant une dynamique d'entraînement incroyablement stable et une convergence plus rapide.
- ProgLoss + STAL : ces fonctions de perte avancées apportent des améliorations notables dans 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 à certaines tâches : YOLO26 n'est pas seulement un détecteur. Il inclut une perte de segmentation sémantique spécialisée, une estimation de la vraisemblance logarithmique résiduelle (RLE) pour un suivi ultra-précis de la pose, et des algorithmes de perte angulaire spécialisés pour éliminer les problèmes de limites OBB.
Gestion des ensembles de données et formation
Pour une expérience optimale dans la gestion de vos ensembles de données, la formation de YOLO26 et le déploiement de modèles dans le cloud, découvrez la Ultralytics . Elle offre une interface sans code qui complète parfaitement le Python .
Cas d'utilisation concrets
Le choix de l'architecture appropriée dépend fortement de votre matériel et des contraintes liées à vos applications.
Quand utiliser YOLOv7
YOLOv7 un choix fiable pour maintenir les pipelines existants qui sont déjà profondément intégrés à ses tensor spécifiques ou pour reproduire les benchmarks académiques de 2022 et 2023. Il fonctionne admirablement bien sur les GPU de serveurs haut de gamme.
Quand utiliser YOLOv10
YOLOv10 dans les scénarios nécessitant une latence stricte et constante. Comme il NMS nécessite NMS, il est idéal pour le comptage de foules à haute densité ou la détection de défauts de fabrication, où le nombre d'objets fluctue considérablement, mais où le temps de traitement par image doit rester constant.
Quand utiliser YOLO26
YOLO26 est le choix incontournable pour tout projet entièrement nouveau. Qu'il s'agisse de déployer des systèmes d'alarme sophistiqués sur un simple Raspberry Pi ou d'exécuter des analyses vidéo massives basées sur le cloud, sa CPU supérieure 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 intéressés par l'exploration d'architectures modernes alternatives, nous fournissons également une assistance complète pour les détecteurs basés sur des transformateurs tels que RT-DETR et les incontournables de la génération précédente comme Ultralytics YOLO11.