Passer au contenu

YOLOv10 vs. YOLOX : Comparaison technique

Dans le paysage en évolution rapide de la vision par ordinateur, le choix du bon modèle de détection d'objets est crucial pour équilibrer les performances, l'efficacité et la facilité de déploiement. Cette comparaison technique explore les différences entre YOLOv10le dernier détecteur de bout en bout en temps réel de l'université de Tsinghua, et YOLOX, un modèle sans ancrage très réputé de Megvii.

Alors que YOLOX a introduit des innovations significatives en 2021 concernant les mécanismes de détection sans ancrage, YOLOv10 représente l'avant-garde de 2024, offrant une inférence NMS et une intégration plus étroite avec l'écosystèmeUltralytics .

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

YOLOv10 vise à combler le fossé entre l'efficacité du post-traitement et l'architecture du modèle. En introduisant une stratégie cohérente de double affectation pour un entraînement NMS, il élimine la nécessité d'une suppression non maximale (NMS) pendant l'inférence, ce qui réduit considérablement le temps de latence.

Détails techniques :

Architecture et atouts

YOLOv10 s'appuie sur les points forts des générations précédentes de YOLO , tout en optimisant l'architecture en termes d'efficacité et de précision. Il utilise un modèle holistique qui comprend des têtes de classification légères et un sous-échantillonnage découplé des canaux spatiaux.

  • InférenceNMS: La suppression du NMS change la donne pour les applications d'inférence en temps réel, en garantissant une latence prévisible et une charge de travail réduite de l'CPU sur les appareils périphériques.
  • Équilibre entre efficacité et précision : YOLOv10 atteint des performances de pointe avec un nombre de paramètres et de FLOPs inférieur à celui de ses prédécesseurs et de ses concurrents.
  • Intégration d'Ultralytics : En bénéficiant du soutien total de l'Agence européenne pour la sécurité et la santé au travail (ESA), l ultralytics signifie que les utilisateurs bénéficient d'un système unifié de gestion de l'information. API Pythonexportation transparente vers des formats tels que TensorRT et OpenVINOet une documentation complète.

L'avantage de l'écosystème

L'intégration de YOLOv10 dans l'écosystème Ultralytics offre un accès immédiat à des fonctionnalités avancées telles que l'auto-annotation, la formation en nuage et une solide communauté d'assistance.

Faiblesses

  • Architecture plus récente : En tant que version 2024, l'écosystème des didacticiels tiers se développe rapidement, mais ne peut pas encore atteindre le volume des anciens modèles.

En savoir plus sur YOLOv10

YOLOX : Le pionnier de la liberté d'ancrage

Lancé en 2021, YOLOX est passé à un mécanisme sans ancrage et à des têtes découplées, s'écartant ainsi des approches basées sur l'ancrage de YOLOv4 et YOLOv5. Il utilise SimOTA (Simplified Optimal Transport Assignment) pour l'attribution des étiquettes, ce qui constitue une avancée significative dans les stratégies d'attribution dynamique des étiquettes.

Détails techniques :

Architecture et atouts

YOLOX reste une référence solide dans la communauté des chercheurs en raison de sa conception propre et sans ancrage.

  • Mécanisme sans ancrage : En supprimant les points d'ancrage prédéfinis, YOLOX réduit la complexité de la conception et le nombre d'hyperparamètres à régler.
  • Tête découplée : la séparation des tâches de classification et de localisation a amélioré la vitesse de convergence et la précision par rapport aux anciennes conceptions à tête couplée.
  • Une base de référence solide : Il sert de référence fiable pour la recherche universitaire sur les têtes de détection et les stratégies d'affectation.

Faiblesses

  • Vitesse d'inférence : Bien qu'efficace à son époque, YOLOX est généralement à la traîne par rapport aux modèles plus récents tels que YOLOv10 et YOLO11 en termes de vitesse d'inférence brute, en particulier lorsque le temps du NMS est pris en compte.
  • Flux de travail fragmenté : Contrairement aux modèles Ultralytics , YOLOX nécessite souvent une base de code et une configuration d'environnement spécifiques, sans l'interface unifiée pour la formation, la validation et le déploiement que l'on trouve dans les cadres modernes.
  • Intensité des ressources : Plus de FLOPs et de paramètres pour des niveaux de précision similaires par rapport aux architectures modernes efficaces.

En savoir plus sur YOLOX

Analyse des performances

La comparaison ci-dessous met en évidence les progrès significatifs réalisés en matière d'efficacité et de précision au cours des trois années qui séparent ces modèles. Les mesures se concentrent sur la taille du modèle (paramètres), le coût de calcul (FLOPs) et la précisionmAP) sur l'ensemble de données COCO .

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

Observations critiques

  1. Précision par rapport à la taille : YOLOv10 fournit systématiquement une mAP plus élevée avec moins de paramètres. Par exemple, YOLOv10s atteint 46,7 mAP avec seulement 7,2M de paramètres, alors que YOLOXs atteint 40,5 mAP avec 9,0M de paramètres. Cela démontre l'efficacité architecturale supérieure de YOLOv10.
  2. Efficacité de calcul : Le nombre de FLOPs pour les modèles YOLOv10 est significativement plus bas. YOLOv10x fonctionne à 160,4 milliards de FLOPs contre 281,9 milliards de FLOPs pour YOLOXx, tout en le surpassant en termes de précision (54,4 contre 51,1 mAP.
  3. Vitesse d'inférence : La suppression du NMS et l'architecture optimisée permettent à YOLOv10 d'atteindre une latence plus faible. Les benchmarks T4 TensorRT montrent que YOLOv10x fonctionne à 12,2 ms, ce qui est significativement plus rapide que YOLOXx à 16,1 ms.

Cas d'utilisation idéaux

YOLOv10: La norme moderne

YOLOv10 est le choix privilégié pour la plupart des nouveaux projets de développement, en particulier ceux qui nécessitent.. :

  • Déploiement de l'IA en périphérie : Son faible encombrement mémoire et sa grande efficacité en font un outil idéal pour des appareils tels que le Raspberry Pi ou le NVIDIA Jetson.
  • Applications en temps réel : Les systèmes nécessitant un retour d'information immédiat, tels que la conduite autonome, la robotique et l'analyse vidéo, bénéficient de la faible latence NMS.
  • Développement rapide : L'écosystème Ultralytics permet une gestion des ensembles de données, la formation et le déploiement par l'intermédiaire de l'Agence européenne pour la sécurité et la santé au travail (ESA). ultralytics package.

YOLOX : Héritage et recherche

YOLOX reste pertinent pour :

  • Recherche universitaire : Les chercheurs qui étudient l'évolution des détecteurs sans ancrage ou des stratégies d'attribution d'étiquettes spécifiques comme SimOTA utilisent souvent YOLOX comme référence.
  • Systèmes existants : Les systèmes de production existants déjà optimisés pour YOLOX peuvent continuer à l'utiliser lorsque les coûts de mise à niveau l'emportent sur les gains de performance.

Utiliser YOLOv10 avec Ultralytics

L'un des principaux avantages de YOLOv10 est sa facilité d'utilisation. L'APIPython d'Ultralytics simplifie l'ensemble du flux de travail, du chargement des poids pré-entraînés à l'entraînement sur des données personnalisées.

Vous trouverez ci-dessous un exemple d'exécution de prédictions et d'entraînement d'un modèle YOLOv10 :

from ultralytics import YOLO

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

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

# Train the model on a custom dataset (COCO format)
model.train(data="coco8.yaml", epochs=100, imgsz=640)

Efficacité de la formation

Les modèlesYOLO d'Ultralytics sont connus pour leur efficacité en matière d'apprentissage, car ils nécessitent souvent moins de mémoire CUDA que les architectures plus anciennes ou les modèles basés sur des transformateurs. Cela permet de former des lots plus importants sur des GPU grand public standard.

Conclusion

YOLOX a joué un rôle essentiel dans la popularisation de la détection sans ancrage, YOLOv10 représente le prochain bond en avant dans la technologie de la vision par ordinateur. Avec son architecture NMS, son rapport précision/calcul supérieur et son intégration transparente dans l'écosystème robuste d'Ultralytics , YOLOv10 offre un ensemble convaincant pour les développeurs et les chercheurs.

Pour ceux qui cherchent à déployer une détection d'objets de pointe, YOLOv10 offre la vitesse et la précision nécessaires. Les développeurs intéressés par des fonctionnalités encore plus étendues, telles que l'estimation de la pose ou les boîtes de délimitation orientées, peuvent également envisager d'explorer la version polyvalente de YOLO11 ou le très répandu YOLOv8.


Commentaires