YOLOv10 vs YOLOv5#
Choisir 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 qui ont fortement influencé 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é de l'IA, ils représentent des époques et des philosophies différentes dans la conception des architectures d'apprentissage profond.
Ce guide évalue ces architectures selon la précision moyenne (mAP), la latence d'inférence, l'efficacité en termes de paramètres et la prise en charge de l'écosystème, afin de t'aider à choisir le meilleur modèle pour tes besoins de déploiement.
Présentation des modèles#
YOLOv10 : détection d’objets de bout en bout en temps réel#
Développé par des chercheurs de l'université Tsinghua, YOLOv10 a introduit une nouvelle approche 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 : 2024-05-23
- Article de recherche : arXiv:2405.14458
- Code source : Dépôt GitHub de YOLOv10
La principale avancée de YOLOv10 réside dans sa conception de bout en bout sans NMS. Historiquement, les modèles YOLO s'appuyaient sur la suppression des maxima non maximaux (NMS) pour filtrer les boîtes englobantes redondantes. YOLOv10 utilise des assignations doubles cohérentes pour l'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. En outre, l'architecture repose sur une conception globale guidée par l'efficacité et la précision, qui optimise en profondeur différents composants afin de réduire la redondance des calculs.
En apprendre davantage sur YOLOv10
YOLOv5 : la référence du secteur en matière d'ergonomie#
Publié peu après la création du dépôt PyTorch d'Ultralytics, YOLOv5 a redéfini les attentes des développeurs envers un framework d'IA open source dédié à la vision. Il reste l'une des architectures les plus déployées au monde.
- Auteur : Glenn Jocher
- Organisation : Ultralytics
- Date : 2020-06-26
- Code source : Dépôt GitHub de YOLOv5
YOLOv5 est reconnu pour sa facilité d'utilisation et son écosystème très bien maintenu. Entièrement écrit en PyTorch, il offrait une expérience fluide « de zéro à héros », avec une prise en charge prête à l'emploi de l'entraînement, de la validation et de l'exportation vers des formats tels que ONNX et TensorRT. Contrairement à YOLOv10, principalement axé sur la détection d'objets, YOLOv5 fait preuve d'une grande polyvalence en prenant en charge la segmentation d'instances et la classification d'images au sein de la même API Python unifiée.
Comparaison des performances et des métriques#
Visualiser la relation entre vitesse et précision est essentiel pour identifier les modèles offrant la meilleure précision dans le cadre d'une contrainte de vitesse donnée. Comprendre ces métriques de performance est fondamental pour sélectionner un modèle adapté aux contraintes spécifiques de ton matériel.
| 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 |
| 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 présente un net avantage générationnel en matière de précision. Par exemple, le modèle YOLOv10-X atteint une mAPval de 54,4 %, dépassant YOLOv5x (50,7 % de mAP). Cette progression est largement due à 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 lors des benchmarks TensorRT bruts sur T4 (par exemple, 1,12 ms pour YOLOv5n), 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 essentiel pour les applications en temps réel telles que les véhicules autonomes et la robotique.
- Efficacité en termes de paramètres : Les modèles YOLOv10 conservent un équilibre 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 tels que le NVIDIA Jetson, les modèles dépourvus de logique NMS, comme YOLOv10 et YOLO26, se compilent souvent plus proprement avec TensorRT, en évitant les opérations de repli vers le CPU.
Cas d'utilisation et recommandations#
Le choix entre YOLOv10 et YOLOv5 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 YOLOv5#
YOLOv5 est recommandé pour :
- Systèmes éprouvés en production : les déploiements existants qui accordent de l'importance à la longue expérience de YOLOv5 en matière de stabilité, à sa documentation étendue et au soutien massif de sa communauté.
- Entraînement avec des ressources limitées : les environnements disposant de ressources GPU limitées, où le pipeline d'entraînement efficace de YOLOv5 et ses besoins en mémoire réduits constituent des avantages.
- Prise en charge étendue des formats d'exportation : les projets nécessitant un déploiement dans de nombreux formats, notamment ONNX, TensorRT, CoreML et TFLite.
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.
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 d'Ultralytics, tu accèdes à un écosystème unifié prenant en charge à la fois YOLOv5 et YOLOv10, ainsi que des fonctionnalités avancées.
- Efficacité de l'entraînement : les architectures YOLO d'Ultralytics sont fortement optimisées pour réduire les besoins en mémoire pendant l'entraînement. Contrairement aux modèles Transformer lourds, tels que RT-DETR, qui nécessitent une quantité massive de mémoire CUDA, tu peux entraîner confortablement YOLOv5 et YOLOv10 sur des GPU grand public standards.
- Intégration à l'écosystème : l'intégration avec Ultralytics Platform permet aux développeurs de gérer visuellement les jeux de données, de suivre les expériences avec Weights & Biases et d'optimiser automatiquement les hyperparamètres.
Exemple de code : entraînement fluide#
Avec la bibliothèque Ultralytics, passer d'une architecture à l'autre se résume à modifier la chaîne du modèle. Le pipeline d'entraînement gère automatiquement l'augmentation des données, la mise à l'échelle 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 prochaine génération : Ultralytics YOLO26#
Si tu démarres aujourd'hui un nouveau projet d'apprentissage automatique, nous te recommandons vivement d'évaluer le dernier modèle 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 introduite par YOLOv10, garantissant un déploiement rapide et déterministe. En outre, YOLO26 introduit plusieurs avancées essentielles :
- Inférence CPU jusqu'à 43 % plus rapide : en supprimant le module Distribution Focal Loss (DFL), YOLO26 accélère considérablement l'exécution sur les CPU standards, ce qui en fait le choix privilégié pour le déploiement mobile et les capteurs IoT basse consommation.
- Optimiseur MuSGD : inspiré de techniques d'entraînement des grands modèles de langage (LLM), telles que Kimi K2 de Moonshot AI, YOLO26 utilise une combinaison de SGD et de Muon. Cela garantit des entraînements extrêmement stables et une convergence considérablement accélérée par rapport aux optimiseurs AdamW utilisés dans YOLOv10.
- ProgLoss + STAL : ces fonctions de perte avancées améliorent sensiblement la reconnaissance des petits objets, un point essentiel pour les images prises 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 à toutes les tâches, notamment Residual Log-Likelihood Estimation (RLE) pour la pose et des fonctions de perte angulaire 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 vouloir comparer ces architectures à d'autres frameworks. Consulte nos analyses approfondies de YOLO11 vs EfficientDet ou de RT-DETR vs YOLOv8 pour obtenir des benchmarks plus complets.
Que tu t'appuies sur l'héritage éprouvé de YOLOv5, l'innovation sans NMS de YOLOv10 ou les performances de pointe inégalées de YOLO26, l'écosystème Ultralytics fournit les outils nécessaires pour donner vie rapidement et efficacement à tes applications d'IA pour la vision.