YOLOv10 vs YOLOv8#
La détection d’objets en temps réel a évolué rapidement, avec une succession d’architectures révolutionnaires qui cherchent chacune à repousser les limites de la précision, de la vitesse d’inférence et de l’efficacité des calculs. Dans ce guide technique complet, nous comparons deux étapes majeures de la vision par ordinateur : YOLOv10 et Ultralytics YOLOv8. YOLOv8 a établi une référence très polyvalente et prête pour la production, tandis que YOLOv10 a introduit des changements architecturaux visant spécifiquement à éliminer les goulots d’étranglement du post-traitement.
Il est essentiel de comprendre les avantages, les architectures et les métriques de performance propres à ces modèles pour les développeurs et les chercheurs qui souhaitent déployer des solutions d’IA visuelle de pointe dans des situations réelles.
Spécifications techniques et auteurs#
Pour évaluer efficacement ces modèles, il est utile de connaître leur origine et le principal axe de recherche de leurs équipes respectives.
YOLOv10 : efficacité de bout en bout#
Développé par des chercheurs de l’Université Tsinghua, YOLOv10 a été conçu pour réduire la surcharge de calcul induite par les étapes de post-traitement des générations précédentes.
- Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
- Organisation : Université Tsinghua
- Date : 2024-05-23
- Arxiv : 2405.14458
- GitHub : THU-MIG/yolov10
- Documentation : Documentation YOLOv10
Ultralytics YOLOv8 : la référence polyvalente#
Sorti au début de 2023, YOLOv8 est rapidement devenu une référence du secteur grâce à son architecture robuste et à son intégration inégalée dans l’écosystème plus large du machine learning.
- Auteurs : Glenn Jocher, Ayush Chaurasia et Jing Qiu
- Organisation : Ultralytics
- Date : 2023-01-10
- GitHub : ultralytics/ultralytics
Innovations architecturales#
Les deux modèles apportent des améliorations significatives à l’architecture YOLO traditionnelle, même s’ils ciblent des aspects légèrement différents du pipeline.
Architecture de YOLOv10#
La caractéristique phare de YOLOv10 est sa stratégie d’entraînement sans NMS. Traditionnellement, les détecteurs d’objets s’appuient sur la suppression non maximale (NMS) pendant l’inférence pour filtrer les boîtes englobantes qui se chevauchent. Cette étape peut ajouter de la latence et compliquer le déploiement de bout en bout. YOLOv10 utilise des assignations doubles cohérentes pendant l’entraînement, ce qui permet au modèle de prédire nativement une seule boîte englobante précise par objet. De plus, il utilise une conception de modèle globale axée sur l’efficacité et la précision, qui optimise différents composants afin de réduire considérablement le nombre de FLOPs et de paramètres.
Architecture de YOLOv8#
YOLOv8 a introduit une tête de détection sans ancres, abandonnant les approches avec ancres de ses prédécesseurs. Cela réduit le nombre de prédictions de boîtes et accélère les opérations NMS. En outre, YOLOv8 intègre le module C2f (goulot d’étranglement partiel entre étapes avec deux convolutions), qui améliore la propagation du gradient et permet au réseau d’apprendre des représentations de caractéristiques plus riches sans augmenter considérablement le coût de calcul. Sa tête découplée sépare les tâches de classification et de régression, ce qui permet une convergence plus rapide et une meilleure précision globale.
Performances et benchmarks#
Lors du déploiement de modèles sur des appareils périphériques ou des serveurs cloud, l’équilibre entre vitesse et précision est primordial. Le tableau ci-dessous compare directement les deux modèles dans différentes tailles.
| Modèle | taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 160.4 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.1 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
Remarque : les tirets (-) indiquent des métriques qui n’ont pas été officiellement rapportées dans des conditions de test identiques.
Comme le montrent les données, YOLOv10 affiche une efficacité remarquable en matière de paramètres, égalant ou dépassant souvent le mAP de ses équivalents YOLOv8 tout en utilisant moins de paramètres et de FLOPs. Cependant, YOLOv8 reste extrêmement compétitif et propose une intégration TensorRT hautement optimisée qui garantit une latence d’inférence minimale sur les GPU modernes.
Pour les déploiements en production, l’utilisation de formats comme ONNX ou TensorRT peut considérablement accélérer l’inférence. YOLOv8 et YOLOv10 prennent tous deux en charge l’exportation fluide vers ces formats de graphe hautement optimisés.
Écosystème, efficacité de l’entraînement et polyvalence#
Le choix d’un modèle ne se limite pas aux benchmarks théoriques ; l’expérience de développement et l’écosystème associé sont tout aussi essentiels.
L’avantage Ultralytics#
L’un des principaux atouts de YOLOv8 est son intégration étroite dans l’écosystème Ultralytics. Cet environnement offre une expérience qui permet de passer de zéro à expert, caractérisée par une API Python très intuitive et une documentation complète. Contrairement aux dépôts axés sur la recherche, qui peuvent nécessiter des configurations d’environnement complexes, les modèles Ultralytics sont réputés pour leur facilité d’utilisation.
De plus, YOLOv8 est intrinsèquement polyvalent. Alors que YOLOv10 est optimisé uniquement pour la détection d’objets, le framework Ultralytics permet aux développeurs de passer facilement de la détection d’objets à la segmentation d’instances, à la classification d’images, à l’estimation de pose et aux tâches de boîtes englobantes orientées (OBB), au sein d’une même bibliothèque et d’une même structure d’API.
Besoins en mémoire et entraînement#
Les modèles Ultralytics YOLO sont conçus pour optimiser l’efficacité de l’entraînement. Leur utilisation de mémoire pendant l’entraînement et l’inférence est généralement inférieure à celle des modèles Transformer complexes, ce qui permet aux développeurs d’entraîner des modèles de pointe sur du matériel grand public ou des instances cloud standard sans manquer de mémoire CUDA. Des hyperparamètres par défaut bien réglés et l’augmentation de données intégrée contribuent à assurer une convergence rapide.
Voici un exemple pratique qui montre à quel point il est simple d’entraîner et de valider un modèle à l’aide de l’API Python Ultralytics :
from ultralytics import YOLO
# Charger un modèle préentraîné (YOLOv8 recommandé pour les tâches générales)
model = YOLO("yolov8n.pt")
# Entraîner le modèle sur le jeu de données COCO8 avec gestion automatique de la mémoire
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device=0)
# Exécuter l’inférence sur une image de test
predictions = model("https://ultralytics.com/images/zidane.jpg")
predictions[0].show()La nouvelle génération : YOLO26#
Bien que YOLOv8 et YOLOv10 représentent des jalons remarquables, le domaine du machine learning évolue constamment. Pour les développeurs qui démarrent de nouveaux projets, nous recommandons vivement d’utiliser YOLO26, le dernier modèle phare d’Ultralytics, sorti en janvier 2026.
YOLO26 réunit les meilleures avancées architecturales de ces dernières années dans un framework unique et hautement optimisé. Il reprend la conception de bout en bout sans NMS, inaugurée par des modèles comme YOLOv10, ce qui simplifie les pipelines de déploiement et réduit la variabilité de la latence. De plus, YOLO26 introduit l’optimiseur MuSGD, une approche hybride inspirée par la stabilité de l’entraînement des LLM qui garantit une convergence plus rapide et plus stable.
Principales améliorations de YOLO26 :
- Inférence CPU jusqu’à 43 % plus rapide : YOLO26 est fortement optimisé pour les appareils périphériques grâce à la suppression de la Distribution Focal Loss (DFL).
- ProgLoss + STAL : des fonctions de perte avancées qui améliorent considérablement la reconnaissance des petits objets, essentielle pour l’imagerie par drone et les capteurs IoT.
- Améliorations propres aux tâches : des architectures spécialisées pour la segmentation, l’estimation de pose et les OBB, garantissant des performances de premier ordre dans tous les domaines de la vision.
Cas d’utilisation idéaux et stratégies de déploiement#
Pour choisir entre ces architectures, tiens compte des besoins spécifiques de ton environnement de déploiement :
- Choisis YOLOv10 si : tu travailles sur un pipeline de détection d’objets pur où chaque gain d’efficacité en matière de paramètres compte, et que tu souhaites expérimenter les premières implémentations d’architectures sans NMS.
- Choisis Ultralytics YOLOv8 si : tu as besoin d’un modèle très stable, prêt pour la production et pris en charge par la robuste plateforme Ultralytics. C’est le choix idéal si ton projet nécessite plusieurs tâches (par exemple, détecter des objets puis les segmenter) à l’aide d’une base de code unifiée et facile à maintenir.
- Choisis YOLO26 (recommandé) si : tu veux le meilleur équilibre entre une précision de pointe, une efficacité native de bout en bout sans NMS et les vitesses les plus élevées possibles sur CPU et matériel périphérique.
Si tu explores le paysage plus large, tu pourrais aussi vouloir comparer ces modèles à YOLO11 ou découvrir des intégrations spécifiques au déploiement en périphérie, comme Intel OpenVINO, afin d’accélérer davantage tes applications d’IA visuelle. Grâce aux outils unifiés fournis par Ultralytics, le déploiement de solutions robustes de vision par ordinateur n’a jamais été aussi accessible.