YOLOv10 vs YOLOv5 : Une comparaison technique complète
Le choix de la bonne architecture de réseau neuronal est essentiel pour déployer des pipelines de vision par ordinateur performants en production. Cette page propose une analyse technique approfondie comparant YOLOv10 et YOLOv5, deux modèles très influents dans l'évolution de la détection d'objets en temps réel. Bien que les deux modèles aient eu un impact significatif sur la communauté IA, ils représentent des époques et des philosophies différentes en matière de conception d'architectures d'apprentissage profond.
Ce guide évalue ces architectures en fonction de la précision moyenne (mAP), de la latence d'inférence, de l'efficacité des paramètres et du support de l'écosystème, t'aidant ainsi à choisir le meilleur modèle pour tes besoins de déploiement.
Présentation des modèles
YOLOv10 : Détection d'objets en temps réel de bout en bout
Développé par des chercheurs de l'Université Tsinghua, YOLOv10 a introduit une approche novatrice de la détection d'objets en éliminant le besoin de post-traitement.
- Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
- Organisation : Tsinghua University
- Date : 23/05/2024
- Papier de recherche : arXiv:2405.14458
- Code source : Dépôt GitHub de YOLOv10
L'avancée majeure de YOLOv10 est sa conception de bout en bout sans NMS. Historiquement, les modèles YOLO s'appuyaient sur la non-maximum suppression (NMS) pour filtrer les boîtes englobantes redondantes. YOLOv10 utilise des assignations doubles cohérentes pour un entraînement sans NMS, ce qui réduit considérablement la variabilité de la latence d'inférence et simplifie la logique de déploiement. De plus, l'architecture bénéficie d'une conception holistique axée sur l'efficacité et la précision qui optimise minutieusement divers composants pour réduire la redondance computationnelle.
YOLOv5 : La référence de l'industrie en matière de convivialité
Sorti peu après la création du dépôt PyTorch d'Ultralytics, YOLOv5 a redéfini les attentes des développeurs vis-à-vis d'un framework d'IA de vision open source. Il reste l'une des architectures les plus largement déployées à travers le monde.
- Auteur : Glenn Jocher
- Organisation : Ultralytics
- Date : 26-06-2020
- Code source : Dépôt GitHub de YOLOv5
YOLOv5 est reconnu pour sa facilité d'utilisation et son écosystème très bien entretenu. Entièrement écrit en PyTorch, il offre une expérience « zéro à héros » fluide avec un support prêt à l'emploi pour l'entraînement, la validation et l'exportation vers des formats comme ONNX et TensorRT. Contrairement à YOLOv10, qui se concentre principalement sur la détection d'objets pure, YOLOv5 fait preuve d'une polyvalence exceptionnelle, prenant en charge la segmentation d'instances et la classification d'images via la même API Python unifiée.
Comparaison des performances et des métriques
Visualiser la relation entre la vitesse et la précision est essentiel pour identifier les modèles offrant la meilleure précision pour une contrainte de vitesse donnée. Comprendre ces métriques de performance est fondamental pour sélectionner un modèle qui s'aligne sur tes contraintes matérielles spécifiques.
| Modèle | taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | params (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 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45,4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
Analyse technique
- Précision (mAP) : YOLOv10 démontre un avantage générationnel clair en matière de précision. Par exemple, le modèle YOLOv10-X atteint un mAPval de 54,4 %, surpassant YOLOv5x (50,7 % de mAP). Ce bond est largement dû à la stratégie d'entraînement sans NMS et aux améliorations architecturales introduites en 2024.
- Latence d'inférence : Bien que les modèles YOLOv5 soient exceptionnellement rapides sur des benchmarks TensorRT T4 bruts (ex : YOLOv5n à 1,12 ms), YOLOv10 élimine entièrement l'étape de post-traitement NMS. Dans les déploiements pratiques de bout en bout, la conception sans NMS de YOLOv10 offre une latence plus constante et déterministe, ce qui est critique pour les applications en temps réel comme les véhicules autonomes et la robotique.
- Efficacité des paramètres : Les modèles YOLOv10 maintiennent un équilibre de performance très compétitif. YOLOv10-S atteint 46,7 % de mAP avec seulement 7,2 M de paramètres, tandis que YOLOv5s atteint 37,4 % de mAP avec 9,1 M de paramètres.
Lors du déploiement sur des appareils d'IA en périphérie comme le NVIDIA Jetson, les modèles sans logique NMS (comme YOLOv10 et YOLO26) se compilent souvent plus proprement vers TensorRT, évitant les opérations de secours vers le CPU.
Cas d'utilisation et recommandations
Le choix entre YOLOv10 et YOLOv5 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 YOLOv5
YOLOv5 est recommandé pour :
- Systèmes de production éprouvés : Déploiements existants où l'historique de stabilité de YOLOv5, sa documentation étendue et son immense soutien communautaire sont valorisés.
- Entraînement avec ressources limitées : Environnements dotés de ressources GPU limitées où le pipeline d'entraînement efficace et les exigences en mémoire plus faibles de YOLOv5 sont avantageux.
- Support étendu des formats d'exportation : Projets nécessitant un déploiement sur de nombreux formats, notamment ONNX, TensorRT, CoreML et TFLite.
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.
L'avantage Ultralytics
Bien que YOLOv10 offre d'excellentes capacités de détection, s'appuyer sur des dépôts universitaires peut parfois compliquer les pipelines de production. En utilisant le package Python officiel Ultralytics, tu accèdes à un écosystème unifié qui prend en charge à la fois YOLOv5 et YOLOv10, en plus de fonctionnalités avancées.
- Efficacité de l'entraînement : Les architectures YOLO d'Ultralytics sont profondément optimisées pour des exigences en mémoire plus faibles pendant l'entraînement. Contrairement aux modèles Transformer lourds (comme RT-DETR) qui nécessitent une mémoire CUDA massive, tu peux facilement entraîner YOLOv5 et YOLOv10 sur des GPU grand public standard.
- Intégration de l'écosystème : L'intégration avec la plateforme Ultralytics permet aux développeurs de gérer visuellement les jeux de données, de suivre les expériences via Weights & Biases et d'ajuster automatiquement les hyperparamètres.
Exemple de code : Entraînement fluide
Avec la bibliothèque Ultralytics, basculer entre ces architectures est aussi simple que de changer la chaîne de caractères du modèle. Le pipeline d'entraînement gère automatiquement l'augmentation des données, le redimensionnement et la configuration de l'optimiseur.
from ultralytics import YOLO
# To use YOLOv5:
# model = YOLO("yolov5s.pt")
# To use YOLOv10:
model = YOLO("yolov10s.pt")
# Train the model on a custom dataset
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
batch=16,
device=0, # Use GPU 0
)
# Export the trained model to ONNX format
path = model.export(format="onnx")La nouvelle génération : Ultralytics YOLO26
Si tu démarres un nouveau projet d'apprentissage automatique aujourd'hui, nous te recommandons vivement d'évaluer le dernier Ultralytics YOLO26. Sorti en janvier 2026, il représente l'état de l'art absolu en combinant les meilleures innovations des cinq dernières années.
YOLO26 intègre nativement la conception de bout en bout sans NMS initiée par YOLOv10, assurant un déploiement rapide et déterministe. De plus, YOLO26 introduit plusieurs avancées critiques :
- Inférence CPU jusqu'à 43 % plus rapide : En supprimant le module Distribution Focal Loss (DFL), YOLO26 obtient des gains de vitesse massifs sur les CPU standard, ce qui en fait le choix privilégié pour le déploiement mobile et les capteurs IoT à basse consommation.
- Optimiseur MuSGD : Inspiré par les techniques d'entraînement de grands modèles de langage (LLM) comme Kimi K2 de Moonshot AI, YOLO26 utilise un hybride de SGD et Muon. Cela garantit des entraînements incroyablement stables et une convergence bien plus rapide que les optimiseurs AdamW utilisés dans YOLOv10.
- ProgLoss + STAL : Ces fonctions de perte avancées apportent des améliorations notables dans la reconnaissance de petits objets, ce qui est crucial pour l'imagerie par drone et les applications de sécurité aérienne.
- Maîtrise spécifique aux tâches : Alors que YOLOv10 est strictement un détecteur de boîtes englobantes, YOLO26 propose des améliorations architecturales dédiées pour toutes les tâches, y compris l'estimation de log-vraisemblance résiduelle (RLE) pour la pose et des pertes angulaires spécialisées pour les boîtes englobantes orientées (OBB).
Si tu explores le paysage plus large de la détection d'objets, tu pourrais également être intéressé par la comparaison de ces architectures avec d'autres frameworks. Consulte nos analyses approfondies sur YOLO11 vs EfficientDet ou RT-DETR vs YOLOv8 pour des benchmarks plus complets.
Que tu te fies à l'héritage robuste de YOLOv5, à l'innovation sans NMS de YOLOv10, ou à la performance de pointe inégalée de YOLO26, l'écosystème Ultralytics fournit les outils nécessaires pour donner vie à tes applications d'IA de vision rapidement et efficacement.