Passer au contenu

YOLOX vs. YOLOv10 : une comparaison technique

Le domaine de la détection d'objets a connu une évolution rapide, motivée par le besoin de modèles qui équilibrent une grande précision avec des vitesses d'inférence en temps réel. YOLOX et YOLOv10 représentent deux étapes importantes dans cette chronologie. YOLOX, publié en 2021, a revitalisé la famille YOLO en introduisant une architecture sans ancrage, tandis que YOLOv10, publié en 2024, établit une nouvelle norme en éliminant le besoin de suppression non maximale (NMS), réduisant considérablement la latence d'inférence.

Cette analyse complète explore les innovations architecturales, les métriques de performance et les cas d'utilisation idéaux des deux modèles, aidant ainsi les développeurs et les chercheurs à sélectionner le meilleur outil pour leurs applications de vision par ordinateur.

YOLOX : Le pionnier sans ancrage

YOLOX a été introduit par Megvii en 2021, marquant un tournant par rapport aux conceptions basées sur l’ancrage qui dominaient les versions antérieures de YOLO. En adoptant un mécanisme sans ancrage et en intégrant des techniques avancées comme les têtes découplées et SimOTA, YOLOX a atteint des performances compétitives et a comblé le fossé entre les cadres de recherche et les applications industrielles.

Détails techniques :
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
Docs :https://yolox.readthedocs.io/en/latest/

Architecture et principales fonctionnalités

YOLOX s'est démarqué de ses prédécesseurs tels que YOLOv4 et YOLOv5 en mettant en œuvre plusieurs changements architecturaux clés conçus pour améliorer la généralisation et simplifier le pipeline d'entraînement.

  • Mécanisme sans ancres : En supprimant les boîtes d'ancrage prédéfinies, YOLOX élimine le besoin de réglage manuel des ancres, rendant le modèle plus robuste aux formes d'objets variées et réduisant le nombre de paramètres de conception.
  • Tête découplée : Contrairement aux têtes couplées qui partagent des caractéristiques pour la classification et la localisation, YOLOX utilise une tête découplée. Cette séparation permet à chaque tâche d'optimiser ses paramètres indépendamment, ce qui conduit à une convergence plus rapide et à une meilleure précision globale.
  • Attribution de label SimOTA : YOLOX a introduit SimOTA (Simplified Optimal Transport Assignment), une stratégie d'attribution dynamique de label qui traite le problème d'attribution comme une tâche de transport optimal. Cette méthode s'adapte efficacement aux différentes échelles d'objets et améliore la stabilité de la formation.
  • Augmentations fortes : Le pipeline d’entraînement intègre l’augmentation des données MixUp et Mosaic, qui ont été cruciales pour obtenir des résultats à la pointe de la technologie au moment de sa sortie.

Points forts et faiblesses

Points forts :

  • Haute précision : YOLOX offre de solides scores de mAP sur l'ensemble de données COCO, en particulier avec ses variantes plus grandes comme YOLOX-x.
  • Conception simplifiée : L'approche sans ancres réduit les hyperparamètres heuristiques, simplifiant la configuration du modèle.
  • Support existant : En tant que modèle établi, il a été largement testé dans divers contextes universitaires et industriels.

Faiblesses :

  • Latence plus élevée : Comparé aux détecteurs modernes, YOLOX s’appuie sur le post-traitement NMS, qui peut constituer un goulot d’étranglement pour les applications à très faible latence.
  • Coût de calcul : Il nécessite généralement plus de FLOPs et de paramètres que les modèles plus récents pour atteindre une précision similaire.
  • Intégration : Bien qu'il soit open source, il lui manque l'intégration transparente que l'on trouve dans l'écosystème Ultralytics, ce qui peut nécessiter plus d'efforts pour les pipelines de déploiement.

En savoir plus sur YOLOX

YOLOv10 : Détection de bout en bout en temps réel

Lancé en mai 2024 par des chercheurs de l’université Tsinghua, YOLOv10 représente un changement de paradigme dans la détection d’objets en temps réel. En éliminant le besoin de suppression non maximale (NMS) et en optimisant les composants du modèle pour l’efficacité, YOLOv10 atteint une vitesse et une précision supérieures avec une surcharge de calcul considérablement réduite.

Détails techniques :
Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
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/

Architecture et innovation

YOLOv10 se concentre sur la conception de modèles holistiques axés sur l'efficacité et la précision, en s'attaquant à la fois à l'architecture et au pipeline de post-traitement.

  • Entraînement sans NMS : La caractéristique la plus révolutionnaire est l'utilisation d'affectations doubles cohérentes. Cette stratégie permet d'entraîner le modèle avec des signaux de supervision riches tout en permettant une correspondance un-à-un pendant l'inférence. Cela élimine le besoin de NMS, un goulot d'étranglement de latence courant lors du déploiement.
  • Conception holistique du modèle : YOLOv10 utilise des têtes de classification légères, un sous-échantillonnage spatial-canal découplé et une conception de bloc guidée par le rang. Ces optimisations réduisent la redondance de calcul et l’utilisation de la mémoire sans sacrifier les performances.
  • Convolution à grand noyau : L'architecture utilise sélectivement des convolutions depth-wise à grand noyau pour étendre le champ réceptif, améliorant ainsi la détection des petits objets.

Forces et avantages

Points forts :

  • Efficacité de pointe : YOLOv10 offre un compromis inégalé entre vitesse et précision. La conception sans NMS réduit considérablement la latence de bout en bout.
  • Efficacité des paramètres : Il atteint une plus grande précision avec moins de paramètres par rapport aux générations précédentes, ce qui le rend idéal pour les appareils Edge AI comme Raspberry Pi.
  • Intégration Ultralytics : Faire partie de l'écosystème Ultralytics garantit qu'il est facile à utiliser, bien documenté et prend en charge divers formats d'exportation comme ONNX et TensorRT.

En savoir plus sur YOLOv10

Analyse des performances

Le tableau suivant compare les performances de YOLOX et YOLOv10 sur le jeu de données de référence COCO. Les métriques mettent en évidence des améliorations significatives en termes d'efficacité pour le modèle le plus récent.

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 : Les données démontrent clairement la supériorité de YOLOv10 en matière d’efficacité. Par exemple, YOLOv10-s atteint un mAP nettement supérieur de 46,7 % par rapport à YOLOX-s (40,5 %), tout en utilisant moins de paramètres (7,2 M contre 9,0 M). Notamment, YOLOv10-x surpasse YOLOX-x en précision (54,4 % contre 51,1 %) tout en étant considérablement plus rapide (12,2 ms contre 16,1 ms) et en nécessitant près de la moitié des paramètres (56,9 M contre 99,1 M). Cette efficacité fait de YOLOv10 un bien meilleur choix pour les systèmes en temps réel.

Aperçu de l'efficacité

L’élimination du post-traitement NMS par YOLOv10 signifie que les temps d’inférence sont plus stables et prévisibles, un facteur essentiel pour les applications critiques pour la sécurité comme les véhicules autonomes et la robotique industrielle.

Méthodologies de formation et écosystème

Alors que YOLOX a introduit des techniques d'augmentation avancées qui sont maintenant standard, YOLOv10 bénéficie du pipeline d'entraînement Ultralytics mature et convivial.

  • Facilité d'utilisation : Les modèles Ultralytics sont réputés pour leur API Python rationalisée. L'entraînement d'un modèle YOLOv10 ne nécessite que quelques lignes de code, alors que l'utilisation de YOLOX implique souvent des fichiers de configuration et une gestion des dépendances plus complexes.
  • Écosystème bien maintenu : YOLOv10 est entièrement intégré à la structure Ultralytics. Cela donne aux utilisateurs l’accès à des fonctionnalités comme le réglage automatique des hyperparamètres, une gestion fluide des ensembles de données via Ultralytics Explorer et diverses options de déploiement.
  • Efficacité de la mémoire : Les optimisations Ultralytics garantissent que les modèles tels que YOLOv10 consomment moins de mémoire CUDA pendant l’entraînement par rapport aux anciennes architectures ou aux modèles transformateurs lourds, ce qui permet d’utiliser des tailles de lots plus importantes sur les GPU grand public.

Exemple de code : Utilisation de YOLOv10

L'exemple suivant montre avec quelle facilité les développeurs peuvent charger un modèle YOLOv10 pré-entraîné et exécuter l'inférence sur une image à l'aide de la bibliothèque Ultralytics.

from ultralytics import YOLO

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

# Run inference on a local image
results = model("path/to/image.jpg")

# Display the results
results[0].show()

Cas d'utilisation idéaux

Les deux modèles ont leur place, mais l'architecture moderne de YOLOv10 le rend adapté à un plus large éventail d'applications contemporaines.

  • IA de périphérie et IoT : Le faible nombre de paramètres et la vitesse élevée de YOLOv10 le rendent parfait pour un déploiement sur des appareils aux capacités de calcul limitées, tels que NVIDIA Jetson ou les caméras intelligentes.
  • Fabrication à haute vitesse : Dans l’inspection industrielle, où les chaînes de montage se déplacent rapidement, l’inférence sans NMS de YOLOv10 garantit que la détection d’objets suit le rythme des chaînes de production sans goulots d’étranglement.
  • Surveillance et sécurité : Pour l’analyse simultanée de plusieurs flux vidéo, l’efficacité de calcul de YOLOv10 permet une plus grande densité de flux par serveur par rapport à YOLOX.
  • Bases de référence pour la recherche : YOLOX reste une base de référence précieuse pour les chercheurs qui étudient l’évolution des détecteurs sans ancrage et les méthodes d’affectation de transport optimal.

Conclusion

Bien que YOLOX ait joué un rôle essentiel dans la popularisation de la détection sans ancrage, YOLOv10 se distingue comme le choix supérieur pour le développement moderne. Son architecture innovante sans NMS, combinée à l'écosystème complet Ultralytics, offre une solution puissante à la fois plus rapide et plus précise.

Pour les développeurs à la recherche du meilleur équilibre entre performance, facilité d'utilisation et support à long terme, YOLOv10 est fortement recommandé. De plus, pour ceux qui ont besoin d'encore plus de polyvalence dans des tâches telles que l'estimation de pose ou la segmentation d'instance, le modèle robuste YOLO11 constitue une excellente alternative au sein du même cadre convivial.

En choisissant les modèles Ultralytics, vous vous assurez que vos projets sont construits sur une base de recherche de pointe, un soutien communautaire actif et une fiabilité prête pour la production.


Commentaires