Link to this sectionYOLOv10 vs YOLOv5#
Choisir la bonne architecture de réseau de neurones est essentiel pour déployer avec succès des pipelines de computer vision 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 dans la conception d'architectures d'apprentissage profond.
Ce guide évalue ces architectures en fonction de la mean Average Precision (mAP), de la latence d'inférence, de l'efficacité des paramètres et du support de l'écosystème, pour t'aider à choisir le meilleur modèle selon tes besoins de déploiement.
Link to this sectionAperçus des modèles#
Link to this sectionYOLOv10 : 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 : Université Tsinghua
- Date : 2024-05-23
- Document de recherche : arXiv:2405.14458
- Code source : Dépôt GitHub YOLOv10
L'avancée déterminante de YOLOv10 réside dans 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, optimisant minutieusement divers composants pour réduire la redondance computationnelle.
Link to this sectionYOLOv5 : La référence de l'industrie en matière de convivialité#
Publié 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 visuelle open source. Il demeure 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 YOLOv5
YOLOv5 est reconnu pour sa facilité d'utilisation et son écosystème très bien maintenu. Entièrement écrit en PyTorch, il offre une expérience fluide "de zéro à héros" avec une prise en charge immédiate pour l'entraînement, la validation et l'exportation vers des formats tels que 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 au sein de la même API Python unifiée.
Link to this sectionComparaison des performances et des mesures#
Visualiser la relation entre la vitesse et la précision est essentiel pour identifier les modèles qui offrent la meilleure précision pour une contrainte de vitesse donnée. Comprendre ces indicateurs 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 |
Link to this sectionAnalyse technique#
- Précision (mAP) : YOLOv10 démontre un avantage générationnel clair en termes de précision. Par exemple, le modèle YOLOv10-X atteint une mAPval de 54,4 %, surpassant YOLOv5x (50,7 % 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 les 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 cohérente et déterministe, ce qui est crucial 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 millions de paramètres, tandis que YOLOv5s atteint 37,4 % de mAP avec 9,1 millions de paramètres.
Lors d'un déploiement sur des appareils d'edge AI 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 sur le CPU.
Link to this sectionCas d'utilisation et recommandations#
Le choix entre YOLOv10 et YOLOv5 dépend de tes exigences de projet spécifiques, de tes contraintes de déploiement et de tes préférences en matière d'écosystème.
Link to this sectionQuand choisir YOLOv10#
YOLOv10 est un choix solide pour :
- Détection temps réel sans NMS : Applications bénéficiant d'une détection de bout en bout sans NMS (Non-Maximum Suppression), ce qui réduit la complexité du déploiement.
- Compromis vitesse-précision équilibré : Projets nécessitant un bon équilibre entre la vitesse d'inférence et la précision de détection pour différentes tailles de modèles.
- Applications à latence constante : Scénarios de déploiement où des temps d'inférence prévisibles sont essentiels, comme dans la robotique ou les systèmes autonomes.
Link to this sectionQuand choisir YOLOv5#
YOLOv5 est recommandé pour :
- Systèmes de production éprouvés : Déploiements existants où la longue expérience de stabilité de YOLOv5, sa documentation étendue et le soutien massif de la communauté sont valorisés.
- Entraînement aux ressources limitées : Environnements avec des ressources GPU limitées où le pipeline d'entraînement efficace et les exigences mémoire inférieures de YOLOv5 sont avantageux.
- Prise en charge étendue des formats d'exportation : Projets nécessitant un déploiement sur de nombreux formats, dont ONNX, TensorRT, CoreML et TFLite.
Link to this sectionQuand 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 en périphérie sans NMS : Applications nécessitant une inférence cohérente et à faible latence sans la complexité du post-traitement par Non-Maximum Suppression.
- Environnements CPU uniquement : 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.
Link to this sectionL'avantage Ultralytics#
Bien que YOLOv10 offre d'excellentes capacités de détection, dépendre de dépôts académiques peut parfois compliquer les pipelines de production. En utilisant le package Python officiel d'Ultralytics, tu accèdes à un écosystème unifié qui prend en charge à la fois YOLOv5 et YOLOv10, ainsi que des fonctionnalités avancées.
- Efficacité de l'entraînement : Les architectures Ultralytics YOLO sont profondément optimisées pour réduire les besoins en mémoire pendant l'entraînement. Contrairement aux modèles lourds de type Transformer (comme RT-DETR) qui nécessitent une mémoire CUDA massive, tu peux confortablement entraîner YOLOv5 et YOLOv10 sur des GPU grand public standard.
- Intégration à 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 à l'aide de Weights & Biases et d'ajuster automatiquement les hyperparamètres.
Link to this sectionExemple de code : Entraînement fluide#
Avec la bibliothèque Ultralytics, basculer entre ces architectures est aussi simple que de modifier la chaîne 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")Link to this sectionLa nouvelle génération : Ultralytics YOLO26#
Si tu démarres un nouveau projet de machine learning aujourd'hui, nous te recommandons vivement d'évaluer le tout dernier Ultralytics YOLO26. Lancé 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, garantissant un déploiement rapide et déterministe. De plus, YOLO26 introduit plusieurs avancées majeures :
- Jusqu'à 43 % d'inférence CPU plus rapide : En supprimant le module Distribution Focal Loss (DFL), YOLO26 réalise 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é des techniques d'entraînement des grands modèles de langage (LLM) comme Kimi K2 de Moonshot AI, YOLO26 utilise un hybride de SGD et de Muon. Cela garantit des entraînements incroyablement stables et une convergence largement accélérée par rapport aux 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 critique pour les images de drones 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 offre des améliorations architecturales dédiées pour toutes les tâches, y compris l'estimation de la vraisemblance résiduelle (RLE) pour les poses et des pertes d'angle spécialisées pour les boîtes englobantes orientées (OBB).
Si tu explores le vaste domaine 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 t'appuies sur le solide héritage de YOLOv5, sur l'innovation sans NMS de YOLOv10, ou sur 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 visuelle rapidement et efficacement.