YOLOX contre YOLOv10#
L’évolution des modèles de vision par ordinateur en temps réel a été marquée par d’importantes avancées architecturales. YOLOX et YOLOv10 constituent deux étapes majeures de cette évolution. Sorti en 2021, YOLOX a réussi à rapprocher la recherche universitaire des applications industrielles en introduisant une conception sans ancres particulièrement efficace. Trois ans plus tard, YOLOv10 a révolutionné le domaine en éliminant le besoin de suppression non maximale (NMS) lors du post-traitement, repoussant ainsi les limites de l’efficacité et de la vitesse.
Cette comparaison technique approfondie examine les architectures, les métriques de performance et les cas d’usage idéaux des deux modèles, et fournit des informations pour t’aider à choisir le bon outil pour 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 mieux cerner leurs choix architecturaux et leurs environnements de déploiement visés.
Détails sur YOLOX
- Auteurs : Zheng Ge, Songtao Liu, Feng Wang, Zeming Li et Jian Sun
- Organisation : Megvii
- Date : 2021-07-18
- Arxiv : https://arxiv.org/abs/2107.08430
- GitHub : https://github.com/Megvii-BaseDetection/YOLOX
- Documentation : https://github.com/Megvii-BaseDetection/YOLOX/tree/main/docs
Détails sur YOLOv10
- Auteurs : Ao Wang, Hui Chen, Lihao Liu, Kai Chen, Zijia Lin, Jungong Han et Guiguang Ding
- Organisation : Université Tsinghua
- Date : 2024-05-23
- Arxiv : https://arxiv.org/abs/2405.14458
- GitHub : https://github.com/THU-MIG/yolov10
- Docs : https://docs.ultralytics.com/models/yolov10
Innovations architecturales#
Les principales différences entre YOLOX et YOLOv10 concernent leur gestion des prédictions de boîtes englobantes et du post-traitement.
YOLOX : pionnier de la conception sans ancres#
YOLOX a fait parler de lui en faisant é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 les réglages heuristiques nécessaires pour les jeux de données personnalisés. Il a également introduit une tête découplée, qui sépare 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 permis d’améliorer sensiblement la vitesse de convergence et la précision.
YOLOv10 : la révolution sans NMS#
YOLOX a simplifié la tête de détection, mais s’appuyait toujours sur la NMS pour filtrer les prédictions redondantes de boîtes englobantes. YOLOv10 s’est attaqué à ce goulot d’étranglement fondamental. Grâce à des assignations doubles cohérentes pendant l’entraînement, YOLOv10 réalise une détection native de bout en bout. Il utilise une tête one-to-many pendant l’entraînement pour garantir des signaux de supervision riches, puis une tête one-to-one pendant l’inférence pour produire directement les prédictions finales. Cette conception globale, qui optimise l’efficacité et la précision, élimine complètement la NMS et réduit considérablement la latence d’inférence sur les puces embarquées.
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 sans accroc sur du matériel spécialisé, ce qui améliore 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 pour la production, il est essentiel de trouver le juste équilibre entre précision et coût de calcul. Le tableau ci-dessous illustre les compromis entre les différentes tailles de YOLOX et de YOLOv10.
| Modèle | taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
| 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 |
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 moyenne de 46,3 %, contre 46,9 % pour YOLOX-m, mais avec moins d’un tiers des paramètres (7,2 M contre 25,3 M) et nettement moins de FLOPs. En outre, le modèle haut de gamme YOLOv10-X pousse le 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.
Les avantages de l’écosystème Ultralytics#
YOLOX reste une implémentation de recherche open source robuste, mais adopter YOLOv10 donne immédiatement accès à l’écosystème bien entretenu 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 exhaustive.
Les développeurs tirent largement parti des faibles besoins en mémoire du framework : l’entraînement des modèles Ultralytics consomme généralement bien moins de mémoire CUDA que les solutions lourdes basées sur des Transformer, comme RT-DETR. Cette empreinte mémoire réduite à l’entraînement permet d’utiliser des lots plus grands sur du matériel grand public, accélérant ainsi le passage de la collecte des données au déploiement du modèle. En outre, le framework offre une polyvalence inégalée et permet 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
# Charger un modèle YOLOv10 nano préentraîné
model = YOLO("yolov10n.pt")
# Entraîner le modèle sur le jeu de données COCO8
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Lancer l’inférence sur une image d’exemple
predictions = model.predict("https://ultralytics.com/images/bus.jpg")
# Exporter le modèle pour le déploiement en périphérie
model.export(format="engine", quantize=16)Grâce aux routines d’export intégrées, la conversion des modèles vers des formats comme TensorRT ou ONNX ne nécessite qu’une seule ligne de code et évite entièrement les étapes complexes de 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 propres à ton domaine.
Analyse vidéo en temps réel#
Pour les applications qui exigent une latence ultra-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, essentiels pour les systèmes de sécurité qui ne peuvent tolérer une latence variable due au post-traitement. Les modèles atteignent facilement des fréquences d’images élevées sur des appareils comme ceux de la gamme NVIDIA Jetson.
Références universitaires et microcontrôleurs edge#
YOLOX conserve son intérêt dans le milieu universitaire, où les chercheurs souhaitent disposer d’une référence à tête découplée claire pour expérimenter des stratégies d’assignation des étiquettes. De plus, le modèle YOLOX-Nano, particulièrement petit (moins d’un million de paramètres), peut être déployé sur des appareils edge soumis à de fortes contraintes de mémoire, à condition que le matériel prenne en charge les opérations de convolution classiques.
La référence ultime : Ultralytics YOLO26#
YOLOv10 a marqué une avancée considérable en supprimant la NMS, mais le domaine de la vision par ordinateur continue d’évoluer rapidement. Pour les développeurs qui veulent aujourd’hui mettre en œuvre des performances parmi les meilleures, nous recommandons vivement d’explorer YOLO26.
Dernière référence en date dans le domaine de l’IA visuelle, YOLO26 reprend les idées fondamentales de ses prédécesseurs et les pousse encore plus loin. Il offre l’équilibre de performances ultime et prend nativement en charge la détection, la segmentation, l’estimation de 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 : dans la continuité des avancées de YOLOv10, YOLO26 prend en charge l’inférence native de bout en bout (
nms=False) et offre des temps d’inférence plus rapides et déterministes, sans les goulots d’étranglement du post-traitement par NMS. - Inférence CPU jusqu’à 43 % plus rapide : le modèle est spécialement optimisé pour l’informatique edge et offre d’excellentes performances sur les processeurs mobiles et les appareils sans GPU dédié.
- Optimiseur MuSGD : inspiré de l’entraînement des grands modèles de langage (notamment Kimi K2 de Moonshot AI), YOLO26 utilise une approche hybride combinant SGD et Muon pour garantir un entraînement extrêmement stable et une convergence rapide.
- ProgLoss + STAL : ces fonctions de perte avancées améliorent sensiblement la reconnaissance des petits objets, un aspect essentiel dans des domaines exigeants comme l’imagerie aérienne et la navigation par drone.
- Suppression de la DFL : en supprimant la perte focale de distribution, YOLO26 simplifie le graphe du modèle et facilite l’export vers les appareils edge et à faible consommation.
- Améliorations propres aux tâches : que tu utilises l’estimation du maximum de vraisemblance résiduelle (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 à mettre à niveau leurs pipelines avec les outils d’entraînement et de déploiement les plus efficaces, passer à l’Ultralytics Platform et exploiter YOLO26 garantit de rester à la pointe de l’intelligence artificielle. Les utilisateurs intéressés par des architectures plus anciennes, mais stables, peuvent également consulter YOLO11 ou YOLOv8, qui bénéficient d’un vaste soutien communautaire et d’une robustesse éprouvée.