YOLOv10 vs YOLO11#
Le paysage de la vision par ordinateur évolue constamment, avec de nouvelles architectures qui repoussent les limites de ce qui est possible en traitement en temps réel. Pour les développeurs et les chercheurs qui évoluent dans ce domaine en rapide mutation, il est essentiel de comprendre les nuances entre les modèles de pointe. Cette comparaison détaillée examine les différences techniques, les compromis en matière de performances et les cas d'utilisation idéaux de YOLOv10 et d'Ultralytics YOLO11, deux frameworks de détection d'objets très performants.
Bien que les deux modèles obtiennent des résultats remarquables sur les jeux de données de référence, leurs philosophies de conception sous-jacentes et leurs intégrations à l'écosystème diffèrent considérablement. En examinant leurs architectures, nous pouvons déterminer quelle solution correspond le mieux à tes contraintes de déploiement et aux objectifs de ton projet.
YOLOv10 : détection de bout en bout pionnière sans NMS#
Sorti au printemps 2024, YOLOv10 a introduit une nouvelle approche du pipeline traditionnel de détection d'objets en s'attaquant directement à la surcharge de latence associée au post-traitement.
- Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
- Organisation : Tsinghua University
- Date : 23 mai 2024
- Article de recherche : arXiv:2405.14458
- Code source : THU-MIG/yolov10 on GitHub
- Documentation : YOLOv10 Docs
L'innovation phare de YOLOv10 est sa stratégie d'assignations doubles cohérentes, qui permet un entraînement sans NMS. Les détecteurs d'objets traditionnels reposent largement sur la suppression non maximale (NMS) pour filtrer les prédictions redondantes de boîtes englobantes. En supprimant cette étape, YOLOv10 réalise une véritable détection de bout en bout, réduisant la latence d'inférence et simplifiant le déploiement sur des accélérateurs matériels tels que les unités de traitement neuronal (NPUs), sur lesquels les opérations NMS personnalisées sont notoirement difficiles à optimiser.
En apprendre davantage sur YOLOv10
YOLO11 : polyvalence et performances guidées par l'écosystème#
Lancé plus tard la même année, YOLO11 représente le perfectionnement continu de la famille de modèles Ultralytics, en mettant l'accent sur un équilibre optimal entre vitesse, précision et expérience développeur.
- Auteurs : Glenn Jocher et Jing Qiu
- Organisation : Ultralytics
- Date : 27 septembre 2024
- Code source : Ultralytics on GitHub
- Intégration à la plateforme : Ultralytics Platform
YOLO11 est conçu pour la production. Bien qu'il excelle dans la détection standard de boîtes englobantes, sa véritable force réside dans sa polyvalence. Contrairement à YOLOv10, principalement axé sur la détection d'objets, YOLO11 prend nativement en charge la segmentation d'instances, l'estimation de pose, la classification d'images et les tâches de boîtes englobantes orientées (OBB) à l'aide d'une architecture unifiée. Il affiche des besoins en mémoire remarquablement faibles pendant l'entraînement, ce qui le rend très accessible aux équipes travaillant avec des GPU grand public, comparé aux architectures plus lourdes basées sur des Transformer.
Comparaison des performances et des métriques#
Lorsque tu compares ces modèles côte à côte, il est essentiel d'examiner leurs performances selon les différentes variantes de taille sur des benchmarks standards tels que le jeu de données COCO.
Le tableau ci-dessous met en évidence les différences de performances. YOLO11 devance fréquemment YOLOv10 en mAP dans la plupart des catégories de taille, tout en maintenant des vitesses d'inférence TensorRT très compétitives.
| 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 |
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
Pour reproduire localement ces vitesses d'inférence élevées, veille à exporter tes modèles vers des formats optimisés tels que OpenVINO pour les CPU Intel ou TensorRT pour les GPU NVIDIA.
Analyse approfondie de l’architecture#
Méthodologie et efficacité de l'entraînement#
L'architecture de YOLOv10 met l'accent sur la réduction de la redondance computationnelle. En optimisant les conceptions du backbone et du neck à l'aide d'une stratégie globale axée sur l'efficacité et la précision, les auteurs de Tsinghua University ont réussi à réduire considérablement le nombre de paramètres des modèles de gamme intermédiaire, comme YOLOv10m, par rapport aux itérations précédentes.
Cependant, l'efficacité de l'entraînement est une caractéristique majeure des modèles Ultralytics. YOLO11 utilise le package Python hautement perfectionné ultralytics, qui masque la complexité de l'optimisation des hyperparamètres. Ce framework gère automatiquement, dès l'installation, les augmentations avancées des données, la planification du taux d'apprentissage et l'entraînement distribué sur plusieurs GPU. L'architecture de YOLO11 présente également un excellent flux de gradients, ce qui se traduit par une convergence plus rapide et une utilisation réduite de la VRAM pendant la phase d'entraînement.
Facilité d'utilisation et avantage de l'écosystème#
Un facteur déterminant pour l'adoption en entreprise est l'écosystème bien maintenu. Les dépôts de recherche, bien qu'innovants, deviennent souvent inactifs après la publication initiale de l'article. L'écosystème Ultralytics, qui soutient YOLO11, offre une expérience développeur fluide de bout en bout.
Grâce à son intégration fluide avec des outils tels que Weights & Biases pour le suivi des expériences et Roboflow pour la gestion des jeux de données, YOLO11 accélère la transition du prototype à la production. La facilité d'utilisation est évidente dans l'API simplifiée, qui permet aux développeurs d'entraîner et d'exporter des modèles en seulement quelques lignes de code.
from ultralytics import YOLO
# Initialize the YOLO11 small model
model = YOLO("yolo11s.pt")
# Train the model efficiently with optimized memory handling
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device="0")
# Export to ONNX format for deployment flexibility
model.export(format="onnx")Cas d'utilisation et recommandations#
Le choix entre YOLOv10 et YOLO11 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 YOLO11#
YOLO11 est recommandé pour :
- Déploiement edge en production : applications commerciales sur des appareils tels que Raspberry Pi ou NVIDIA Jetson, pour lesquelles la fiabilité et la maintenance active sont primordiales.
- Applications de vision multitâches : projets nécessitant la détection, la segmentation, l'estimation de pose et les OBB dans un framework unifié unique.
- Prototypage et déploiement rapides : équipes qui doivent passer rapidement de la collecte de données à la production grâce à l'API Python Ultralytics simplifiée.
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.
Découvrir d’autres architectures#
Bien que YOLOv10 et YOLO11 soient d'excellents choix, ton cas d'utilisation spécifique pourrait tirer parti d'autres architectures disponibles dans la documentation. Pour le raisonnement séquentiel, les modèles Transformer tels que RT-DETR offrent une grande précision, bien qu'ils nécessitent généralement davantage de mémoire. À l'inverse, si tu as besoin de capacités zero-shot pour identifier de nouvelles classes sans réentraînement, YOLO-World propose une approche à vocabulaire ouvert guidée par des prompts en langage naturel.
La prochaine génération : YOLO26#
Pour les équipes qui recherchent le nec plus ultra, le Ultralytics YOLO26 récemment sorti combine les meilleures fonctionnalités des deux modèles présentés ci-dessus. Sorti en janvier 2026, YOLO26 est la recommandation ultime pour les scénarios de déploiement modernes.
S'appuyant sur les fondations de ses prédécesseurs, YOLO26 intègre nativement une conception de bout en bout sans NMS, éliminant efficacement les goulots d'étranglement du post-traitement auxquels YOLOv10 s'était attaqué en premier, mais au sein du framework Ultralytics robuste. En outre, YOLO26 intègre la suppression de DFL (perte focale de distribution), ce qui simplifie considérablement les graphes d'exportation des modèles et améliore la compatibilité avec les appareils IoT périphériques et basse consommation.
La stabilité de l'entraînement a également connu un bond générationnel avec l'introduction de l'optimiseur MuSGD, une approche hybride inspirée des méthodologies d'entraînement des LLM qui garantit une convergence extrêmement rapide. Associé à des fonctions de perte avancées telles que ProgLoss + STAL, YOLO26 apporte des améliorations notables à la reconnaissance des petits objets. Pour le déploiement sur des appareils edge standards, ces perfectionnements architecturaux se traduisent par une inférence CPU jusqu'à 43 % plus rapide, faisant de YOLO26 un choix inégalé pour toutes les tâches de vision par ordinateur.