Passer au contenu

YOLOX vs YOLOv7: comparaison technique complète

L'évolution de la détection d'objets en temps réel a été stimulée par des avancées architecturales continues. Deux étapes importantes dans cette évolution sont YOLOX et YOLOv7. Lancés à un an d'intervalle, ces deux modèles ont introduit des approches novatrices dans le paradigme standard de la détection d'objets, améliorant considérablement le compromis entre vitesse et précision.

Cette page fournit une analyse technique approfondie de YOLOX et YOLOv7, en comparant leurs architectures, leurs mesures de performance et leurs cas d'utilisation idéaux afin d'aider les développeurs à choisir l'outil adapté à leurs déploiements en vision par ordinateur.

YOLOX : pionnier dans la détection sans ancrage

Présenté par les chercheurs de Megvii en juillet 2021, YOLOX a marqué un tournant majeur en s'éloignant des conceptions traditionnelles basées sur des ancrages. En comblant le fossé entre la recherche universitaire et les applications industrielles, YOLOX a simplifié la tête de détection et amélioré les performances globales.

Détails clés du modèle :

Innovations architecturales

YOLOX a introduit une approche sans ancrage, qui a considérablement réduit le nombre de paramètres de conception et d'ajustements heuristiques nécessaires pour les ensembles de données personnalisés. Il a mis en œuvre une tête découplée, séparant les tâches de classification et de régression, ce qui a amélioré la vitesse et la précision de convergence. De plus, YOLOX a utilisé des stratégies avancées d'augmentation des données telles que MixUp Mosaic pour améliorer la robustesse du modèle.

En savoir plus sur YOLOX

Avantage sans ancre

En éliminant les boîtes d'ancrage, YOLOX réduit la charge de calcul nécessaire pour calculer l'intersection sur l'union (IoU) entre les prédictions et les vérités terrain pendant l'entraînement, ce qui se traduit par une réduction des besoins CUDA et des temps d'entraînement plus courts.

YOLOv7 : Bag-of-Freebies entraînable

Publié en juillet 2022 par des chercheurs de l'Institut des sciences de l'information de l'Académie Sinica à Taïwan, YOLOv7 les limites de la détection d'objets en temps réel. Il a introduit le concept de « trainable bag-of-freebies » (sac de cadeaux entraînables), établissant de nouvelles références de pointe sur COCO MS COCO dès sa sortie.

Détails clés du modèle :

Innovations architecturales

L'architecture YOLOv7 s'articule autour du réseau E-ELAN (Extended Efficient Layer Aggregation Network), qui permet au modèle d'apprendre en continu des caractéristiques plus diverses sans dégrader le chemin du gradient. De plus, YOLOv7 des techniques de reparamétrage du modèle, ce qui permet de simplifier les réseaux d'entraînement complexes à branches multiples en réseaux à chemin unique plus rapides pendant l'inférence.

En savoir plus sur YOLOv7

Comparaison des performances

Lorsqu'on évalue ces modèles pour des applications concrètes, il est essentiel de comprendre leurs performances à différentes échelles. Le tableau ci-dessous compare les mesures standard pour différentes tailles de YOLOX et YOLOv7.

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
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

Analyse

  • Précision : YOLOv7 atteint YOLOv7 un mAP plus élevé mAP que les modèles YOLOX équivalents. Par exemple, YOLOv7x atteint mAP 53,1 mAP 51,1 pour YOLOXx.
  • Vitesse : Bien que les deux modèles soient hautement optimisés pour GPU à l'aide de TensorRT, l'architecture E-ELAN YOLOv7 offre un débit légèrement supérieur pour les applications haut de gamme, tandis que YOLOX conserve une excellente latence sur les appareils périphériques plus petits.
  • Polyvalence : YOLOv7 son répertoire au-delà des boîtes englobantes en fournissant nativement des poids pour la segmentation d'instances et l'estimation de poses, ce qui le rend plus polyvalent que le référentiel YOLOX de base.

Applications concrètes

Le choix entre ces modèles dépend souvent de votre environnement de déploiement spécifique.

Edge Computing et IoT

Pour les appareils périphériques limités tels que Raspberry Pi ou les anciens processeurs mobiles, YOLOX-Nano et YOLOX-Tiny sont très intéressants. Leur nombre minimal de paramètres et leur nature sans ancrage les rendent plus faciles à déployer dans des environnements à faible consommation d'énergie pour des tâches telles que le suivi de mouvement de base ou les applications de sonnettes intelligentes.

Analyse vidéo haute fidélité

Pour le traitement de flux haute résolution dans le cadre de la détection de défauts industriels ou de la surveillance du trafic dense, YOLOv7 est supérieur. Son agrégation robuste des caractéristiques lui permet de conserver une grande précision même lorsque les objets sont partiellement occultés ou varient considérablement en taille.

Cas d'utilisation et recommandations

Le choix entre YOLOX et YOLOv7 des exigences spécifiques de votre projet, des contraintes de déploiement et des préférences de votre écosystème.

Quand choisir YOLOX

YOLOX est un choix judicieux pour :

  • Recherche sur la détection sans ancrage : recherche universitaire utilisant l'architecture propre et sans ancrage de YOLOX comme base pour expérimenter de nouvelles têtes de détection ou fonctions de perte.
  • Dispositifs périphériques ultra-légers : déploiement sur des microcontrôleurs ou du matériel mobile existant où l'empreinte extrêmement réduite (0,91 M de paramètres) de la variante YOLOX-Nano est essentielle.
  • Études sur l'attribution des étiquettes SimOTA : projets de recherche visant à étudier les stratégies optimales d'attribution des étiquettes basées sur le transport et leur impact sur la convergence de l'apprentissage.

Quand choisir YOLOv7

YOLOv7 recommandé pour :

  • Benchmarking académique : reproduction des résultats de pointe de 2022 ou étude des effets des techniques E-ELAN et trainable bag-of-freebies.
  • Recherche sur la reparamétrisation : étude des convolutions reparamétrisées planifiées et des stratégies de mise à l'échelle des modèles composites.
  • Pipelines personnalisés existants : projets avec des pipelines fortement personnalisés, construits autour de l'architecture spécifique YOLOv7, qui ne peuvent pas être facilement refactorisés.

Quand choisir Ultralytics YOLO26)

Pour la plupart des nouveaux projets, Ultralytics offre la meilleure combinaison entre performances et expérience développeur :

  • DéploiementNMS suppressionNMS maximale (NMS: applications nécessitant une inférence cohérente et à faible latence sans la complexité du post-traitement par suppression non maximale.
  • EnvironnementsCPU: appareils sans GPU dédiée, où CPU jusqu'à 43 % plus rapide de YOLO26 offre un avantage décisif.
  • Détection de petits objets : scénarios complexes tels que l'imagerie aérienne par drone ou l'analyse par capteurs IoT, où ProgLoss et STAL améliorent considérablement la précision sur les objets minuscules.

L'avantage Ultralytics

Bien que YOLOX et YOLOv7 tous deux des implémentations de recherche puissantes, passer d'un référentiel de recherche à un environnement de production évolutif peut s'avérer intimidant. C'est là que la Ultralytics prend tout son sens.

Ultralytics fournissent une Python unifiée, qui traite la formation, la validation et le déploiement des modèles comme des tâches rationalisées et standardisées. Vous évitez ainsi les casse-tête liés à la gestion des dépendances tierces complexes ou des opérateurs C++ personnalisés courants dans les architectures plus anciennes.

De plus,YOLO Ultralytics nécessitent beaucoup moins CUDA pendant l'entraînement que les détecteurs basés sur des transformateurs tels que RT-DETR. Cela permet aux praticiens d'utiliser des lots plus importants, ce qui stabilise l'entraînement et accélère la convergence sur des ensembles de données personnalisés.

Intégrations prises en charge

Ultralytics prend en charge Ultralytics l'exportation de modèles vers des formats standard tels que ONNX, OpenVINOet CoreML avec un simple indicateur booléen, ce qui simplifie considérablement le processus de déploiement du modèle.

Exemple de code : Formation avec Ultralytics

Ultralytics vous permet de charger, d'entraîner et d'exécuter facilement des inférences à l'aide de YOLOv7 d'architectures plus récentes en quelques lignes de code seulement.

from ultralytics import YOLO

# Load a pre-trained YOLOv7 model
model = YOLO("yolov7.pt")

# Train the model on a custom dataset (e.g., COCO8)
# The API handles data loading, augmentation, and memory management automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on a test image
predictions = model("path/to/image.jpg")
predictions[0].show()

L'avenir : Ultralytics

Si YOLOv7 YOLOX représentent des étapes historiques importantes, les technologies de pointe évoluent rapidement. Lancé en janvier 2026, Ultralytics introduit des paradigmes révolutionnaires qui supplantent les modèles précédents.

En savoir plus sur YOLO26

  • Conception NMS de bout en bout : YOLO26 élimine nativement le post-traitement par suppression non maximale (NMS). Cela réduit considérablement les goulots d'étranglement liés à la latence et garantit des temps d'exécution déterministes sur différentes configurations matérielles.
  • CPU jusqu'à 43 % plus rapide : en supprimant la perte focale de distribution (DFL) et en optimisant la profondeur du réseau, YOLO26 est spécialement conçu pour les appareils périphériques dépourvus GPU dédié.
  • Optimiseur MuSGD : inspiré des techniques avancées d'entraînement LLM, l'optimiseur MuSGD (un hybride de SGD Muon) offre une stabilité d'entraînement exceptionnelle et une convergence plus rapide.
  • Détection améliorée des petits objets : l'intégration des fonctions de perte ProgLoss + STAL apporte des améliorations significatives dans la reconnaissance des petits objets éloignés, ce qui est essentiel pour la cartographie par drone et la surveillance de sécurité.
  • Prise en charge native des tâches : YOLO26 prend entièrement en charge les boîtes englobantes orientées (OBB), la segmentation d'instances et l'estimation de pose de manière native au sein d'une même API rationalisée.

Pour tout développeur moderne qui se lance aujourd'hui dans un nouveau projet de vision par ordinateur, l'évaluation Ultralytics sur la plateforme est la voie recommandée pour obtenir le meilleur équilibre possible entre vitesse, précision et simplicité de déploiement. Pour ceux qui effectuent une mise à niveau à partir de générations précédentes telles que YOLO11 ou YOLOv8, la transition nécessite uniquement de modifier la chaîne du modèle, ce qui permet de bénéficier instantanément de capacités supérieures.


Commentaires