Passer au contenu

YOLOv5 vs YOLOX : Changements architecturaux et mesures de performance

Le paysage de la object detection a évolué rapidement, avec diverses architectures en lice pour un équilibre optimal entre la vitesse d'inférence et la précision de la détection. YOLOv5, développé par Ultralytics, et YOLOX, un modèle axé sur la recherche de Megvii, sont deux étapes importantes de ce parcours. Bien que les deux modèles soient issus de la lignée « You Only Look Once », ils divergent considérablement dans leurs philosophies architecturales, notamment en ce qui concerne les mécanismes de détection basés sur l'ancrage par rapport à ceux sans ancrage.

Cette comparaison explore les spécifications techniques, les différences architecturales et les métriques de performance des deux modèles afin d'aider les développeurs et les chercheurs à choisir l'outil adapté à leurs projets de vision par ordinateur.

Ultralytics YOLOv5 : La norme d’ingénierie

Lancé en 2020, YOLOv5 est rapidement devenu la norme industrielle pour la détection d'objets pratique. Contrairement à ses prédécesseurs, qui étaient principalement des projets de recherche universitaire, YOLOv5 a été conçu en mettant l'accent sur la convivialité, la facilité de déploiement et les performances dans le monde réel. Il a introduit un flux de travail simplifié basé sur PyTorch qui a rendu la formation et le déploiement de modèles personnalisés accessibles à un public plus large.

YOLOv5 utilise une architecture anchor-based, utilisant des anchor boxes prédéfinies pour prédire les emplacements des objets. Il intègre une fonctionnalité « AutoAnchor » qui fait évoluer les formes d’ancrage pour s’adapter aux ensembles de données personnalisés avant l’entraînement, garantissant ainsi une convergence optimale. Le modèle comprend un backbone CSPNet et un neck PANet, optimisés pour l’extraction et l’agrégation rapides des caractéristiques. Sa principale force réside dans sa vitesse d’inférence exceptionnelle et son faible encombrement mémoire, ce qui le rend idéal pour l’edge computing et les applications mobiles.

En savoir plus sur YOLOv5

YOLOX : Le concurrent sans ancrage

YOLOX, publié en 2021 par Megvii, a cherché à repousser les limites de la famille YOLO en adoptant une conception sans ancrage. Cette approche élimine le besoin de boîtes d’ancrage prédéfinies, prédisant plutôt directement les centres et les tailles des objets. Ce changement visait à simplifier le processus de conception et à améliorer la généralisation à travers diverses formes d’objets.

YOLOX introduit une architecture de tête découplée, séparant les tâches de classification et de régression en différentes branches. Théoriquement, cela permet au modèle d'apprendre des représentations de caractéristiques distinctes pour identifier ce qu'est un objet par rapport à il se trouve. De plus, il utilise une stratégie avancée d'attribution d'étiquettes connue sous le nom de SimOTA (Simplified Optimal Transport Assignment) pour attribuer dynamiquement des échantillons positifs pendant l'entraînement. Bien que ces innovations contribuent à une grande précision, elles s'accompagnent souvent d'une complexité de calcul accrue.

En savoir plus sur YOLOX

Vous recherchez les dernières technologies ?

Bien que YOLOv5 et YOLOX représentent des étapes importantes dans l'histoire de la vision par ordinateur, le domaine évolue rapidement. YOLO11, le dernier modèle d'Ultralytics, offre une précision et une vitesse supérieures à celles des deux, avec une architecture affinée qui prend en charge la détection, la segmentation, l'estimation de pose, et plus encore.

Analyse des performances : Vitesse vs. Précision

Lors de la comparaison de YOLOv5 et YOLOX, le compromis se concentre généralement sur la latence d'inférence par rapport à la précision absolue. YOLOv5 est méticuleusement optimisé pour la vitesse, en particulier sur les accélérateurs matériels utilisant TensorRT et ONNX Runtime. Comme le montrent les données ci-dessous, les modèles YOLOv5 présentent une latence significativement plus faible (vitesse plus élevée) pour des tailles de modèle équivalentes.

ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.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

Points clés à retenir

  • Vitesse d'inférence : YOLOv5 détient un avantage décisif en termes de vitesse. Par exemple, YOLOv5n atteint une latence TensorRT de seulement 1,12 ms, ce qui le rend exceptionnellement adapté au traitement vidéo à haute fréquence d'images sur des appareils périphériques comme le NVIDIA Jetson. En revanche, les plus petits modèles YOLOX manquent de données de référence comparables pour le CPU, et leur latence GPU est généralement plus élevée pour des niveaux de précision similaires.
  • Précision (mAP) : YOLOX a tendance à obtenir des scores de mAP légèrement plus élevés sur l’ensemble de données COCO, en particulier avec ses variantes plus grandes (YOLOX-x à 51,1 contre YOLOv5x à 50,7). Ceci est attribué à sa conception sans ancrage et à sa tête découplée, qui peuvent mieux gérer les variations d’objets. Cependant, ce gain marginal se fait souvent au prix d’une surcharge de calcul (FLOPs) nettement plus élevée.
  • Efficacité : Les modèles YOLOv5 nécessitent généralement moins de FLOPs pour une vitesse d'inférence donnée. La conception de head couplée de YOLOv5 est plus conviviale pour le matériel, ce qui permet une exécution plus rapide sur les CPU et les GPU.

Plongée architecturale en profondeur

La différence fondamentale réside dans la façon dont chaque modèle aborde le problème de la détection.

YOLOv5 (basé sur des anchors) : YOLOv5 utilise un ensemble prédéfini de boîtes d’ancrage. Pendant l’entraînement, le modèle apprend à ajuster ces boîtes pour qu’elles s’adaptent aux objets. Cette méthode repose sur la corrélation entre la taille de l’objet et la taille de la cellule de la grille.

  • Avantages : Formation stable, méthodologie établie, excellente performance sur les ensembles de données standard.
  • Inconvénients : Nécessite un réglage des hyperparamètres pour les ancres sur les ensembles de données exotiques (bien que l’AutoAnchor de YOLOv5 atténue ce problème).

YOLOX (sans ancrage) : YOLOX traite la détection d’objets comme un problème de régression ponctuelle. Il prédit la distance entre le centre de la cellule de la grille et les limites de l’objet.

  • Avantages : Réduit le nombre de paramètres de conception (pas d'ancres à régler), potentiel de meilleure généralisation sur les rapports d'aspect irréguliers.
  • Inconvénients : Peut être plus lent à converger pendant l’entraînement, et la tête découplée ajoute des couches qui augmentent la latence d’inférence.

Expérience utilisateur et écosystème

L'une des caractéristiques les plus déterminantes d'Ultralytics YOLOv5 est son écosystème robuste. Alors que YOLOX fournit une base de référence académique solide, YOLOv5 offre un framework prêt à l'emploi conçu pour les développeurs.

Facilité d'utilisation

YOLOv5 est réputé pour sa simplicité « de bout en bout ». De l'annotation des données à l'entraînement et au déploiement du modèle, l'écosystème Ultralytics rationalise chaque étape. Le modèle peut être chargé avec quelques lignes de code, et il prend en charge l'exportation automatique vers des formats tels que TFLite, CoreML et ONNX.

import torch

# Load a pretrained YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")

# Run inference on an image
results = model("https://ultralytics.com/images/zidane.jpg")

# Print results
results.print()

Polyvalence et maintenance

Les modèles Ultralytics ne se limitent pas à la détection. Le framework prend en charge la classification d'images et la segmentation d'instance, offrant une API unifiée pour plusieurs tâches. Cette polyvalence fait souvent défaut dans les référentiels spécifiques à la recherche comme YOLOX, qui se concentrent principalement sur la détection. De plus, la maintenance active par Ultralytics garantit la compatibilité avec les dernières versions de PyTorch et CUDA, réduisant ainsi la « dégradation du code » au fil du temps.

Cas d'utilisation idéaux

  • Choisissez Ultralytics YOLOv5 si :

    • Vous avez besoin de performances en temps réel sur les appareils périphériques (Raspberry Pi, téléphones mobiles).
    • Vous accordez la priorité à la facilité de déploiement et avez besoin d'un support intégré pour l'exportation vers TensorRT, CoreML ou TFLite.
    • Vous préférez un framework stable et bien documenté avec un support communautaire actif.
    • Votre application implique de la vidéosurveillance ou de la navigation autonome où une faible latence est essentielle.
  • Choisissez YOLOX si :

    • Vous menez des recherches universitaires portant spécifiquement sur les architectures sans ancrage.
    • Vous exigez le mAP maximal absolu pour une compétition ou un benchmark, quelle que soit la vitesse d'inférence.
    • Vous avez un ensemble de données spécialisé où les méthodes basées sur l'ancrage ont manifestement échoué (par exemple, des rapports d'aspect extrêmes), et AutoAnchor n'a pas résolu le problème.

Conclusion

YOLOv5 et YOLOX ont tous deux gagné leur place dans l'histoire de la vision par ordinateur. YOLOX a démontré la viabilité des détecteurs sans ancrage dans la famille YOLO, offrant une base solide pour la recherche académique. Cependant, pour la grande majorité des applications pratiques, Ultralytics YOLOv5 reste le choix supérieur en raison de sa vitesse, de son efficacité et de son écosystème convivial inégalés.

Pour ceux qui démarrent de nouveaux projets aujourd'hui, nous recommandons vivement d'explorer YOLO11. Il s'appuie sur les forces de YOLOv5 (facilité d'utilisation et vitesse) tout en intégrant des avancées architecturales modernes qui dépassent à la fois YOLOv5 et YOLOX en termes de précision et de polyvalence.

Autres comparaisons de modèles

Découvrez comment les modèles Ultralytics se comparent à d'autres architectures dans le domaine :


Commentaires