YOLOv10 vs YOLOX : Évolution de la détection d'objets sans ancres et sans NMS

Le domaine de la vision par ordinateur est porté par des avancées rapides dans les architectures de détection d'objets en temps réel. Cette comparaison technique détaillée explore deux modèles influents qui ont repoussé les limites de l'efficacité et des paradigmes de conception : YOLOv10 et YOLOX. En examinant leurs différences architecturales, leurs métriques de performance et leurs méthodologies d'entraînement, les développeurs et les chercheurs peuvent prendre des décisions éclairées pour déployer des systèmes de vision robustes.

Contexte et origines des modèles

Comprendre les origines de ces modèles de deep learning offre un contexte précieux concernant leurs objectifs architecturaux et leurs cas d'utilisation ciblés.

YOLOv10 : Éliminer le NMS pour une véritable détection de bout en bout

Développé pour résoudre les goulots d'étranglement persistants liés à la latence, YOLOv10 a introduit une approche native de bout en bout dans la famille YOLO.

En savoir plus sur YOLOv10

YOLOX : Combler le fossé entre la recherche et l'industrie

YOLOX a émergé comme une version sans ancres du design traditionnel de YOLO, offrant une méthodologie plus simple avec des performances compétitives, spécifiquement ciblée pour faciliter le déploiement dans les communautés industrielles.

En savoir plus sur YOLOX

Points forts architecturaux et innovations

Les deux frameworks s'écartent des détecteurs traditionnels basés sur des ancres, mais ils résolvent des problèmes différents dans le pipeline de détection d'objets.

Architecture de YOLOX

YOLOX a apporté plusieurs mises à jour cruciales à l'écosystème en 2021. Sa contribution principale a été le passage à une conception de détecteur sans ancres (anchor-free). En éliminant les boîtes d'ancrage prédéfinies, YOLOX a considérablement réduit le nombre de paramètres de conception et le réglage heuristique requis pour différents jeux de données.

De plus, YOLOX utilise une tête découplée, séparant les tâches de classification et de régression. Cela a résolu le conflit entre les deux objectifs, accélérant significativement la convergence lors de l'entraînement. Il utilise également SimOTA pour une attribution d'étiquettes avancée, améliorant la gestion des scènes encombrées et des occlusions courantes dans le jeu de données COCO.

L'avantage du sans ancres

Les conceptions sans ancres, comme celle initiée par YOLOX, réduisent considérablement la complexité du réglage des modèles. Les développeurs n'ont plus besoin d'effectuer de clustering k-means sur des jeux de données personnalisés pour définir des tailles de boîtes d'ancrage optimales, ce qui permet d'économiser un temps de préparation précieux.

Architecture YOLOv10

Bien que YOLOX ait amélioré la tête de détection, il reposait toujours sur le Non-Maximum Suppression (NMS) pendant l'inférence, ce qui provoque une variabilité de la latence. YOLOv10 a spécifiquement ciblé ce défaut en introduisant une stratégie d'attribution double cohérente pour un entraînement sans NMS. Lors de l'entraînement, il utilise à la fois des attributions d'étiquettes un-à-plusieurs et un-à-un, mais lors de l'inférence, il abandonne complètement la tête un-à-plusieurs, produisant des prédictions propres sans post-traitement NMS.

YOLOv10 propose également une conception de modèle axée sur l'équilibre entre efficacité et précision. Il intègre des têtes de classification légères et un sous-échantillonnage découplé spatialement et par canal, réduisant considérablement le nombre de paramètres et les FLOPs sans sacrifier la précision.

Comparaison des performances

L'évaluation de ces modèles sur du matériel comme le GPU NVIDIA T4 révèle des avantages distincts selon l'échelle. Vous trouverez ci-dessous le tableau comparatif complet.

Modèletaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221,6
YOLOv10m64051.3-5.4815.459,1
YOLOv10b64052.7-6.5424.492,0
YOLOv10l64053.3-8.3329.5120,3
YOLOv10x64054,4-12.256.9160,4
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051,1-16.199.1281.9

Comme vu ci-dessus, YOLOv10 s'adapte exceptionnellement bien. La variante YOLOv10x atteint la plus haute précision (54,4 mAP), tandis que la variante YOLOv10n offre l'inférence la plus rapide en utilisant l'intégration TensorRT. À l'inverse, le modèle YOLOX nano, plus ancien, présente l'empreinte globale la plus petite pour les environnements fortement contraints.

Méthodologies d'entraînement et besoins en ressources

Lors de la mise en œuvre de modèles pour la production, l'écosystème d'entraînement et les demandes en ressources sont tout aussi critiques que la vitesse brute d'inférence.

YOLOX s'appuie souvent sur des configurations d'environnement plus anciennes qui peuvent être lourdes à gérer. De plus, sa base de code héritée nécessite plus de code répétitif pour réaliser un entraînement distribué sur plusieurs GPU ou une optimisation en précision mixte.

En revanche, YOLOv10 s'intègre parfaitement aux flux de travail PyTorch modernes, mais c'est l'écosystème Ultralytics qui transforme véritablement l'expérience du développeur. Les modèles Ultralytics se caractérisent par une utilisation de la mémoire CUDA nettement plus faible lors de l'entraînement par rapport aux architectures basées sur les Transformers comme RT-DETR.

Exemple de code : Entraînement simplifié

En utilisant l'API unifiée Ultralytics, tu peux entraîner de manière transparente des modèles de pointe en quelques lignes de Python. Cela évite la compilation manuelle d'opérateurs C++ ou des fichiers de configuration complexes.

from ultralytics import YOLO

# Initialize a pre-trained YOLOv10 model
model = YOLO("yolov10s.pt")

# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Validate the model's performance
metrics = model.val()

# Export the optimized model to ONNX format
model.export(format="onnx")

Cette syntaxe simple offre un accès immédiat à la précision mixte automatique, à l'augmentation de données automatisée et à l'intégration avec des outils comme Weights & Biases dès la sortie de boîte.

Cas d'utilisation et recommandations

Choisir entre YOLOv10 et YOLOX 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 YOLOX

YOLOX est recommandé pour :

  • Recherche sur la détection sans ancres (anchor-free) : Recherche universitaire utilisant l'architecture propre et sans ancres de YOLOX comme base pour expérimenter de nouvelles têtes de détection ou fonctions de perte.
  • Appareils Edge ultra-légers : Déploiement sur des microcontrôleurs ou du matériel mobile ancien où l'empreinte extrêmement faible de la variante YOLOX-Nano (0,91M de paramètres) est critique.
  • Études d'assignation de labels SimOTA : Projets de recherche étudiant les stratégies d'assignation de labels basées sur le transport optimal et leur impact sur la convergence de l'entraînement.

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'avenir de la vision par IA : Place à YOLO26

Bien que YOLOv10 et YOLOX représentent des étapes majeures, le paysage de la vision par ordinateur progresse sans relâche. Pour les développeurs qui démarrent de nouveaux projets aujourd'hui, Ultralytics YOLO26 est la recommandation définitive.

Sorti en janvier 2026, Ultralytics YOLO26 s'appuie sur la percée fondamentale de la conception sans NMS de bout en bout initiée par YOLOv10, en l'affinant pour une stabilité et une vitesse encore plus grandes.

YOLO26 se distingue par plusieurs avancées majeures :

  • Inférence CPU jusqu'à 43 % plus rapide : En supprimant stratégiquement la Distribution Focal Loss (DFL), YOLO26 atteint des performances nettement supérieures sur les appareils périphériques sans GPU.
  • Optimiseur MuSGD : Inspiré par la stabilité de l'entraînement des LLM, cet hybride novateur de SGD et Muon assure une convergence plus rapide et des exécutions d'entraînement très stables.
  • ProgLoss + STAL : Ces fonctions de perte avancées apportent des améliorations notables dans la reconnaissance des petits objets, un facteur critique pour l'imagerie aérienne et les capteurs IoT.
  • Polyvalence inégalée : Contrairement à YOLOX, qui est strictement un détecteur d'objets, YOLO26 prend nativement en charge la Segmentation d'instances, l' Estimation de pose, la Classification d'images et la Détection OBB au sein d'une bibliothèque unique et unifiée.

En savoir plus sur YOLO26

Tire parti de la plateforme Ultralytics

Pour le chemin le plus simple vers la production, les développeurs peuvent utiliser la Plateforme Ultralytics pour annoter des jeux de données, entraîner des modèles YOLO26 dans le cloud et les déployer sur n'importe quel appareil périphérique sans configuration requise.

Applications concrètes

Le choix du bon modèle dicte le succès des déploiements dans le monde réel à travers diverses industries.

Analyse vidéo haute vitesse

Pour le traitement de flux vidéo denses, tels que la gestion du trafic urbain intelligent, YOLOv10 offre un avantage significatif grâce à son post-traitement sans NMS. Éliminer le goulot d'étranglement du NMS permet une faible latence constante, ce qui le rend idéal pour l'associer à des algorithmes de suivi comme BoT-SORT.

Déploiement sur périphérie ancienne

Pour les configurations académiques plus anciennes ou les applications Android héritées fortement optimisées pour les paradigmes purement convolutionnels, des modèles plus petits comme YOLOX-Tiny peuvent encore trouver des cas d'utilisation spécialisés où le maintien d'environnements PyTorch plus anciens est un compromis accepté.

Appareils modernes en périphérie et IoT

Pour les déploiements matériels de nouvelle génération, comme la robotique, les drones et l'analyse des rayons en magasin, YOLO26 est la solution ultime. Sa latence CPU considérablement réduite et sa détection supérieure des petits objets le qualifient de manière unique pour la navigation autonome et la gestion granulaire des stocks.

Pour des comparaisons supplémentaires afin d'élargir ta boîte à outils de deep learning, tu peux également explorer comment ces modèles se comparent à des alternatives comme le flexible YOLO11 ou le RT-DETR propulsé par des Transformers.

Commentaires