Ultralytics YOLO27 :

YOLOX vs YOLOv10#

L’évolution des modèles de vision par ordinateur en temps réel a été marquée par d’importants bonds architecturaux. Deux étapes déterminantes de cette évolution sont YOLOX et YOLOv10. Sorti en 2021, YOLOX a réussi à combler le fossé entre la recherche universitaire et les applications industrielles en introduisant une architecture sans ancres particulièrement efficace. Trois ans plus tard, YOLOv10 a révolutionné le domaine en supprimant le besoin de suppression non maximale (NMS) lors du post-traitement, repoussant les limites de l’efficacité et de la vitesse.

Cette comparaison technique complète examine les architectures, les métriques de performance et les cas d’utilisation idéaux de ces deux modèles, afin de t’aider à choisir l’outil adapté à ton prochain projet de détection d’objets.

Origines et métadonnées des modèles#

Comprendre les origines de ces modèles permet de contextualiser leurs choix architecturaux et leurs environnements de déploiement prévus.

Détails de YOLOX

En apprends plus sur YOLOX

Détails de YOLOv10

En apprendre davantage sur YOLOv10

Innovations architecturales#

Les principales différences entre YOLOX et YOLOv10 résident dans leur gestion des prédictions de boîtes englobantes et du post-traitement.

YOLOX : une architecture sans ancres pionnière#

YOLOX a fait évoluer la famille YOLO vers une architecture sans ancres. En prédisant le centre d’un objet plutôt qu’en s’appuyant sur des boîtes d’ancrage prédéfinies, YOLOX a considérablement réduit le nombre de paramètres de conception et de réglages heuristiques nécessaires pour les jeux de données personnalisés. Il a également introduit une tête découplée, séparant les tâches de classification et de régression en voies distinctes. Cette approche a résolu le conflit entre l’identification de ce qu’est un objet et la détermination de l’endroit où il se trouve, ce qui a entraîné une amélioration notable de la vitesse de convergence et de la précision.

YOLOv10 : la révolution sans NMS#

YOLOX a simplifié la tête de détection, mais s’appuyait toujours sur le NMS pour filtrer les prédictions redondantes de boîtes englobantes. YOLOv10 s’est attaqué à ce goulet d’étranglement fondamental. Grâce à l’utilisation d’assignations doubles cohérentes pendant l’entraînement, YOLOv10 réalise une détection native de bout en bout. Il utilise une tête un-à-plusieurs pendant l’entraînement afin de garantir des signaux de supervision riches, puis une tête un-à-un lors de l’inférence pour produire directement les prédictions finales. Cette conception globale, axée sur l’efficacité et la précision, élimine entièrement le NMS et réduit considérablement la latence d’inférence sur les puces embarquées.

L’impact de la suppression du NMS

La suppression non maximale est souvent une opération complexe à accélérer sur les unités de traitement neuronal (NPUs). En la supprimant, YOLOv10 permet à l’ensemble du graphe du modèle de s’exécuter de manière fluide sur du matériel spécialisé, améliorant considérablement la compatibilité avec des frameworks d’optimisation comme OpenVINO et TensorRT.

Métriques et comparaison des performances#

Lors de l’évaluation de modèles destinés à la production, il est essentiel de trouver un équilibre entre précision et coût de calcul. Le tableau ci-dessous illustre les compromis entre différentes tailles de YOLOX et de YOLOv10.

Modèletaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
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
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

Analyse des données#

Les métriques démontrent clairement le bond générationnel de YOLOv10. Par exemple, YOLOv10-S atteint une précision moyenne de 46,7 %, contre 46,9 % pour YOLOX-m, mais avec moins d’un tiers des paramètres (7.2M contre 25.3M) et beaucoup moins de FLOPs. De plus, le modèle haut de gamme YOLOv10-X porte la mAP à 54,4 %, ce qui le rend très compétitif pour les tâches exigeant une grande précision tout en restant plus rapide que l’ancienne architecture YOLOX-x.

L’avantage de l’écosystème Ultralytics#

Bien que YOLOX reste une implémentation de recherche open source robuste, l’adoption de YOLOv10 te donne immédiatement accès à l’écosystème bien maintenu d’Ultralytics. Choisir un modèle pris en charge par Ultralytics garantit une expérience utilisateur fluide, caractérisée par une API simple et une documentation complète.

Les développeurs tirent grandement parti des besoins en mémoire du framework ; l’entraînement des modèles Ultralytics consomme généralement beaucoup moins de mémoire CUDA que les alternatives lourdes fondées sur des Transformer, comme RT-DETR. Cette empreinte d’entraînement efficace permet d’utiliser des tailles de lot plus importantes sur du matériel grand public, accélérant le passage de la collecte des données au déploiement du modèle. De plus, le framework offre une polyvalence inégalée, permettant de passer facilement de la détection d’objets à la segmentation d’instances et à l’estimation de pose avec un minimum de modifications du code.

Exemple d’entraînement et d’inférence#

L’API unifiée permet de valider des idées extrêmement rapidement. L’extrait suivant montre à quel point il est facile d’entraîner et de déployer un modèle YOLOv10 avec le backend PyTorch :

from ultralytics import YOLO

# Load a pre-trained YOLOv10 nano model
model = YOLO("yolov10n.pt")

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

# Run inference on a sample image
predictions = model.predict("https://ultralytics.com/images/bus.jpg")

# Export the model for edge deployment
model.export(format="engine", quantize=16)

Grâce aux routines d’export intégrées, convertir des modèles dans des formats comme TensorRT ou ONNX ne nécessite qu’une seule ligne de code, contournant entièrement les obstacles complexes liés à la compilation.

Cas d’utilisation idéaux et scénarios de déploiement#

Le choix entre ces architectures dépend principalement des contraintes de ton matériel et des exigences spécifiques de ton domaine.

Analyse vidéo en temps réel#

Pour les applications nécessitant une latence extrêmement faible, comme la conduite autonome ou la surveillance du trafic en temps réel, YOLOv10 est le meilleur choix. Sa conception de bout en bout sans NMS garantit des temps d’exécution déterministes, ce qui est essentiel pour les systèmes de sécurité où une latence variable du post-traitement ne peut être tolérée. Les modèles atteignent facilement des fréquences d’images élevées sur des appareils comme la série NVIDIA Jetson.

Bases de référence universitaires et microcontrôleurs de périphérie#

YOLOX conserve son intérêt dans les contextes universitaires où les chercheurs souhaitent disposer d’une base de référence propre à tête découplée pour expérimenter avec des stratégies d’assignation des étiquettes. De plus, le YOLOX-Nano exceptionnellement compact (moins d’un million de paramètres) peut être déployé sur des microcontrôleurs de périphérie fortement contraints, où la mémoire se mesure en kilo-octets, à condition que le matériel prenne en charge les opérations de convolution standard.

La référence ultime : Ultralytics YOLO26#

Bien que YOLOv10 ait marqué un bond considérable en supprimant le NMS, le domaine de la vision par ordinateur progresse rapidement. Pour les développeurs qui souhaitent mettre en œuvre dès aujourd’hui des performances absolument inégalées, nous recommandons vivement d’explorer YOLO26.

Lancé comme la nouvelle référence en IA appliquée à la vision, YOLO26 reprend les idées fondamentales de ses prédécesseurs et les propulse à un niveau supérieur. Il offre l’équilibre ultime en matière de performances et prend nativement en charge la détection, la segmentation, la pose et les boîtes englobantes orientées.

Voici pourquoi YOLO26 est le choix recommandé pour les pipelines modernes de vision par ordinateur :

  • Conception de bout en bout sans NMS : S’appuyant sur les avancées de YOLOv10, YOLO26 est nativement conçu de bout en bout, garantissant des temps d’inférence plus rapides et déterministes, sans goulets d’étranglement liés au post-traitement.
  • Jusqu’à 43 % d’inférence plus rapide sur CPU : Il est spécifiquement optimisé pour l’informatique de périphérie, garantissant des performances exceptionnelles sur les processeurs mobiles et les appareils dépourvus de GPU dédiés.
  • Optimiseur MuSGD : Inspiré de l’entraînement des grands modèles de langage (plus précisément de Kimi K2 de Moonshot AI), YOLO26 utilise une combinaison de SGD et de Muon pour un entraînement particulièrement stable et une convergence rapide.
  • ProgLoss + STAL : Ces fonctions de perte avancées améliorent notablement la reconnaissance des petits objets, ce qui est essentiel dans des domaines exigeants comme l’imagerie aérienne et la navigation par drone.
  • Suppression de DFL : En supprimant Distribution Focal Loss, YOLO26 simplifie le graphe du modèle pour permettre un export fluide vers les appareils de périphérie et basse consommation.
  • Améliorations spécifiques aux tâches : Que tu utilises Residual Log-Likelihood Estimation (RLE) pour l’estimation de pose ou une fonction de perte angulaire spécialisée pour les OBB, YOLO26 est ajusté avec précision pour chaque grande tâche de vision.

Pour les développeurs prêts à moderniser leurs pipelines avec les outils d’entraînement et de déploiement les plus efficaces disponibles, passer à l’Ultralytics Platform et tirer parti de YOLO26 garantit que tu restes à la pointe de l’intelligence artificielle. Les utilisateurs intéressés par des architectures plus anciennes mais stables peuvent également consulter YOLO11 ou YOLOv8 pour bénéficier d’un soutien étendu de la communauté et d’une robustesse éprouvée.

Commentaires