YOLOv10 YOLOX : évolution de la détection d'objets sans ancrage et NMS
Le domaine de la vision par ordinateur est stimulé par les progrès rapides réalisés 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 mesures de performance et leurs méthodologies de formation, 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 du modèle
Comprendre les origines de ces modèles d'apprentissage profond fournit un contexte précieux concernant leurs objectifs architecturaux et leurs cas d'utilisation ciblés.
YOLOv10: élimination NMS une détection véritablement de bout en bout
Conçu pour résoudre les problèmes de latence persistants, YOLOv10 a introduit une approche native de bout en bout au sein de la famille YOLO.
- Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
- Organisation :Tsinghua University
- Date : 23 mai 2024
- ArXiv :2405.14458
- GitHub :THU-MIG/yolov10
- Docs :Documentation Ultralytics YOLOv10
YOLOX : combler le fossé entre la recherche et l'industrie
YOLOX est apparu comme une version sans ancre du YOLO traditionnel, offrant une méthodologie plus simple avec des performances compétitives, spécialement conçue pour faciliter le déploiement dans les communautés industrielles.
- Auteurs : Zheng Ge, Songtao Liu, Feng Wang, Zeming Li et Jian Sun
- Organisation :Megvii
- Date : 18 juillet 2021
- ArXiv :2107.08430
- GitHub :Megvii-BaseDetection/YOLOX
- Documentation:Documentation officielle de YOLOX
Points forts et innovations architecturales
Les deux frameworks divergent des détecteurs traditionnels basés sur des ancres, mais ils résolvent des problèmes différents dans la chaîne de détection d'objets.
Architecture YOLOX
YOLOX a apporté plusieurs mises à jour cruciales à l'écosystème en 2021. Sa principale contribution a été le passage à une conception de détecteur sans ancrage. En éliminant les 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 différents ensembles 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 permis de résoudre le conflit entre les deux objectifs, accélérant considérablement la convergence pendant l'entraînement. Il utilise également SimOTA pour l'attribution avancée d'étiquettes, améliorant ainsi le traitement des scènes encombrées et des occlusions courantes dans COCO .
Avantage de l'approche sans ancres
Les architectures sans ancres, telles que celle initiée par YOLOX, réduisent considérablement la complexité de l'ajustement des modèles. Les développeurs n'ont plus besoin d'effectuer un regroupement k-means sur des jeux de données personnalisés pour définir les tailles optimales des boîtes d'ancrage, ce qui permet de gagner un temps de préparation précieux.
Architecture YOLOv10
Bien que YOLOX ait amélioré la tête de détection, il s'appuyait toujours sur la suppression non maximale (NMS) pendant l'inférence, ce qui entraîne une variabilité de la latence. YOLOv10 a spécifiquement ciblé cette faille en introduisant une stratégie d'attribution double cohérente pour un entraînement NMS. Pendant l'entraînement, il utilise à la fois des attributions d'étiquettes un-à-plusieurs et un-à-un, mais pendant l'inférence, il abandonne complètement la tête un-à-plusieurs, produisant des prédictions propres sans NMS .
YOLOv10 se caractérise YOLOv10 par une conception holistique axée sur l'efficacité et la précision. Il intègre des têtes de classification légères et un sous-échantillonnage découplé des canaux spatiaux, ce qui réduit considérablement le nombre de paramètres et les FLOP sans sacrifier la précision.
Comparaison des performances
L'évaluation de ces modèles sur du matériel tel que le GPU NVIDIA GPU des avantages distincts en fonction de l'échelle. Vous trouverez ci-dessous un tableau comparatif complet.
| 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 |
| 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 |
Comme vu ci-dessus, YOLOv10 s'adapte exceptionnellement bien. Le YOLOv10x La variante atteint la plus grande précision (54.4 mAP), tandis que le YOLOv10n La variante offre l'inférence la plus rapide à l'aide de TensorRT intégration. À l'inverse, le modèle nano YOLOX traditionnel présente l'encombrement global le plus réduit pour les environnements fortement contraints.
Méthodologies de formation et ressources nécessaires
Lors de la mise en œuvre de modèles pour la production, l'écosystème de formation et les besoins en ressources sont tout aussi importants que la vitesse d'inférence brute.
YOLOX s'appuie souvent sur des configurations d'environnement plus anciennes qui peuvent être difficiles à gérer. De plus, son code source hérité nécessite davantage de code standard pour permettre l'entraînementGPU ou l'optimisation à précision mixte.
En revanche, YOLOv10 parfaitement aux PyTorch modernes, mais c'est Ultralytics qui transforme véritablement l'expérience des développeurs. Ultralytics se caractérisent par une utilisation nettement moindre CUDA pendant l'entraînement par rapport aux architectures basées sur des transformateurs telles que RT-DETR.
Exemple de code : Entraînement optimisé
Grâce à Ultralytics unifiée Ultralytics , vous pouvez facilement former des modèles de pointe en quelques lignes de Python. Cela évite la compilation manuelle d'opérateurs C++ ou de 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 permet d'accéder immédiatement à la précision mixte automatique, à l'augmentation automatisée des données et à l'intégration avec des outils tels que Weights & Biases prêts à l'emploi.
Cas d'utilisation et recommandations
Le choix entre YOLOv10 et YOLOX dépend des exigences spécifiques de votre projet, des contraintes de déploiement et des préférences de l'écosystème.
Quand choisir YOLOv10
YOLOv10 un choix judicieux pour :
- Détection en temps réel sans NMS : Applications qui bénéficient d'une détection de bout en bout sans Non-Maximum Suppression, réduisant ainsi la complexité du déploiement.
- Compromis équilibrés vitesse-précision: Projets nécessitant un équilibre solide entre la vitesse d'inférence et la précision de détection sur diverses échelles de modèles.
- Applications à latence constante : Scénarios de déploiement où des temps d'inférence prévisibles sont critiques, tels que la robotique ou les systèmes autonomes.
Quand choisir YOLOX
YOLOX est recommandé pour :
- Recherche sur la détection sans ancres : Recherche académique 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 hérité où l'empreinte extrêmement réduite (0,91M paramètres) de la variante YOLOX-Nano est critique.
- Études d'assignation d'étiquettes SimOTA: Projets de recherche étudiant les stratégies d'assignation d'étiquettes 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 offre la meilleure combinaison entre performances et 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 de la Non-Maximum Suppression.
- Environnements uniquement CPU : Les appareils sans accélération GPU dédiée, où l'inférence CPU de YOLO26, jusqu'à 43 % plus rapide, offre un avantage décisif.
- Détection de petits objets: Scénarios difficiles comme l'imagerie aérienne par drone ou l'analyse de capteurs IoT où ProgLoss et STAL augmentent significativement la précision sur les objets minuscules.
L'avenir de l'IA visuelle : découvrez YOLO26
Si YOLOv10 YOLOX constituent des étapes importantes, le domaine de la vision par ordinateur ne cesse d'évoluer. Pour les développeurs qui se lancent aujourd'hui dans de nouveaux projets, Ultralytics est la solution incontournable.
Sorti en janvier 2026, Ultralytics s'appuie sur la percée fondamentale de la conception de bout en bout NMS lancée par YOLOv10, en l'affinant pour offrir encore plus de stabilité et de vitesse.
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 largement supérieures sur les appareils edge sans GPU.
- Optimiseur MuSGD : Inspiré par la stabilité de l'entraînement des LLM, ce nouvel hybride de SGD et de 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 à 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 en charge nativement la segmentation d'instances, l'estimation de pose, la classification d'images et la détection d'OBB au sein d'une bibliothèque unique et unifiée.
Tirez parti de la Ultralytics
Pour un passage à la production simplifié, les développeurs peuvent utiliser la Ultralytics pour annoter des ensembles 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 aucune configuration requise.
Applications concrètes
Le choix du bon modèle détermine le succès des déploiements réels dans diverses industries.
Analyse vidéo haute vitesse
Pour le traitement de flux vidéo denses, tels que la gestion du trafic dans les villes intelligentes, YOLOv10 offre un avantage significatif grâce à son post-traitement NMS. L'élimination du NMS permet une latence faible et constante, ce qui le rend idéal pour être associé à des algorithmes de suivi tels que BoT-SORT.
Déploiement Legacy Edge
Pour les configurations académiques plus anciennes ou Android héritées fortement optimisées pour les paradigmes convolutifs purs, les modèles plus petits comme YOLOX-Tiny peuvent encore trouver des cas d'utilisation spécialisés où le maintien PyTorch plus anciens est un compromis acceptable.
Appareils modernes et appareils IoT
Pour les déploiements matériels de nouvelle génération, tels que la robotique, les drones et l'analyse des rayons dans les magasins, YOLO26 est la solution ultime. Sa CPU considérablement réduite et sa détection supérieure des petits objets le rendent particulièrement adapté à la navigation autonome et à la gestion granulaire des stocks.
Pour obtenir des comparaisons supplémentaires afin d'élargir votre boîte à outils d'apprentissage profond, vous pouvez également découvrir comment ces modèles se comparent à des alternatives telles que le modèle flexible YOLO11 ou le modèle RT-DETR.