Passer au contenu

YOLOX vs. YOLOv10: Comparaison technique

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

Cette analyse complète explore les innovations architecturales, les mesures de performance et les cas d'utilisation idéaux pour les deux modèles, afin d'aider les développeurs et les chercheurs à choisir le meilleur outil pour leurs applications de vision par ordinateur.

YOLOX : Le pionnier de la liberté d'ancrage

YOLOX a été introduit par Megvii en 2021, marquant un changement par rapport aux conceptions basées sur l'ancrage qui ont dominé les versions précédentes de YOLO . En adoptant un mécanisme sans ancrage et en intégrant des techniques avancées telles que 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 de formation.

  • Mécanisme sans ancrage : En supprimant les boîtes d'ancrage prédéfinies, YOLOX élimine la nécessité d'un réglage manuel des ancrages, ce qui rend le modèle plus robuste face à des formes d'objets variées et réduit le nombre de paramètres de conception.
  • Tête découplée : Contrairement aux têtes couplées qui partagent les 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 de manière indépendante, ce qui se traduit par une convergence plus rapide et une meilleure précision globale.
  • Attribution d'étiquettes SimOTA : YOLOX a introduit SimOTA (Simplified Optimal Transport Assignment), une stratégie dynamique d'attribution d'étiquettes qui traite le problème d'attribution comme une tâche de transport optimale. Cette méthode s'adapte efficacement à différentes échelles d'objets et améliore la stabilité de la formation.
  • Des augmentations fortes : Le pipeline de formation intègre les augmentations de données MixUp et Mosaic, qui ont joué un rôle crucial dans l'obtention de résultats de pointe au moment de sa publication.

Points forts et faiblesses

Points forts :

  • Précision élevée : YOLOX obtient d'excellents scores mAP sur l'ensemble de donnéesCOCO , en particulier avec ses variantes les plus grandes comme YOLOX-x.
  • Conception simplifiée : L'approche sans ancrage réduit les hyperparamètres heuristiques, ce qui simplifie la configuration du modèle.
  • Le soutien de l'héritage : Il s'agit d'un modèle établi qui a été largement testé dans divers contextes universitaires et industriels.

Faiblesses :

  • Latence plus élevée : Par rapport aux détecteurs modernes, YOLOX s'appuie sur le post-traitement NMS , qui peut être un goulot d'étranglement pour les applications à très faible latence.
  • Coût de calcul : il nécessite généralement plus de FLOP 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 ne bénéficie pas de 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

Publié en mai 2024 par des chercheurs de l'université de Tsinghua, YOLOv10 représente un changement de paradigme dans la détection d'objets en temps réel. En éliminant la nécessité d'une suppression non maximaleNMS et en optimisant les composants du modèle pour plus d'efficacité, YOLOv10 atteint une vitesse et une précision supérieures avec un surcoût de calcul considérablement réduit.

Détails techniques :
Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
Organisation : Université de Tsinghua
Date : 2024-05-23
Arxiv:https://arxiv.org/abs/2405.14458
GitHub:https://github.com/THU-MIG/yolov10
Docsultralytics

Architecture et innovation

YOLOv10 se concentre sur la conception d'un modèle holistique axé sur l'efficacité et la précision, en s'intéressant à la fois à l'architecture et au pipeline de post-traitement.

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

Points forts et avantages

Points forts :

  • Une efficacité de pointe : YOLOv10 offre un compromis inégalé entre vitesse et précision. La conception 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 que les générations précédentes, ce qui le rend idéal pour les appareils d'intelligence artificielle de pointe tels que le Raspberry Pi.
  • Intégration d'Ultralytics : Faire partie de l'écosystème Ultralytics garantit qu'il est facile à utiliser, bien documenté et qu'il prend en charge différents formats d'exportation tels que ONNX et TensorRT.

En savoir plus sur YOLOv10

Analyse des performances

Le tableau suivant compare les performances de YOLOX et de YOLOv10 sur l'ensemble de données de référenceCOCO . Les mesures mettent en évidence des améliorations significatives de l'efficacité du 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 termes d'efficacité. Par exemple, YOLOv10 atteint un mAP significativement plus élevé de 46,7 % par rapport à YOLOX-s (40,5 %), tout en utilisant moins de paramètres (7,2M contre 9,0M). Notamment, YOLOv10 dépasse YOLOX-x en termes de précision (54,4 % contre 51,1 %) tout en étant nettement 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 du NMS par YOLOv10 signifie que les temps d'inférence sont plus stables et prévisibles, un facteur essentiel pour les applications critiques en matière de 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 désormais standard, YOLOv10 bénéficie du pipeline de formation Ultralytics , mature et convivial.

  • Facilité d'utilisation : Les modèles Ultralytics sont réputés pour leur APIPython simplifiée. La formation 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.
  • Un écosystème bien entretenu : YOLOv10 est entièrement intégré dans le cadre Ultralytics . Cela permet aux utilisateurs d'accéder à des fonctionnalités telles que l'ajustement automatique des hyperparamètres, la gestion transparente 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 lors de l'apprentissage par rapport aux anciennes architectures ou aux modèles à transformateur lourd, ce qui permet d'augmenter la taille des lots sur les GPU grand public.

Exemple de code : Utilisation de YOLOv10

L'exemple suivant montre comment les développeurs peuvent facilement charger un modèle YOLOv10 pré-entraîné et exécuter une inférence sur une image en utilisant 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 lui permet de s'adapter à un plus large éventail d'applications contemporaines.

  • Edge AI et IoT : Le faible nombre de paramètres et la vitesse élevée de YOLOv10 le rendent parfait pour le déploiement sur des appareils avec un calcul limité, tels que NVIDIA Jetson ou des caméras intelligentes.
  • Fabrication à grande vitesse : Dans le domaine de l'inspection industrielle, où les bandes transporteuses se déplacent rapidement, l'inférence NMS de YOLOv10 garantit que la détection d'objets suit le rythme des lignes de production sans goulot 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 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 optimale du transport.

Conclusion

YOLOX a joué un rôle essentiel dans la popularisation de la détection sans ancrage, YOLOv10 s'impose comme le meilleur choix pour les développements modernes. Son architecture innovante NMS, combinée à l'écosystème complet d'Ultralytics , offre une solution puissante, à la fois plus rapide et plus précise.

YOLOv10 est vivement recommandé aux développeurs qui recherchent le meilleur équilibre en termes de performances, de facilité d'utilisation et d'assistance à long terme. En outre, pour ceux qui ont besoin d'une plus grande polyvalence dans des tâches telles que l'estimation de la pose ou la segmentation d'instances, la version robuste de YOLO11 constitue une excellente alternative dans le 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, de support communautaire actif et de fiabilité prête à la production.


Commentaires