Passer au contenu

YOLOv7 vs. YOLOX : Une comparaison technique détaillée

Dans le paysage en rapide évolution de la vision par ordinateur, la famille de modèles YOLO (You Only Look Once) a constamment établi la norme en matière de détection d'objets en temps réel. Deux étapes importantes dans cette histoire sont YOLOv7 et YOLOX. Bien que les deux modèles visent à équilibrer la vitesse et la précision, ils divergent considérablement dans leurs philosophies architecturales, en particulier en ce qui concerne les méthodologies basées sur l'ancrage par rapport aux méthodologies sans ancrage.

Ce guide fournit une comparaison technique approfondie pour aider les chercheurs et les ingénieurs à sélectionner le bon outil pour leurs applications de vision par ordinateur spécifiques. Nous analyserons leurs architectures, leurs performances de référence et explorerons pourquoi les alternatives modernes comme Ultralytics YOLO11 offrent souvent une expérience de développement supérieure.

Métriques de performance : vitesse et précision

Lors de l'évaluation des détecteurs d'objets, le compromis entre la latence d'inférence et la précision moyenne (mAP) est primordial. Le tableau ci-dessous présente une comparaison directe entre les variantes YOLOv7 et YOLOX 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)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
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

Analyse des résultats

Les données mettent en évidence des avantages distincts pour chaque famille de modèles en fonction des contraintes de déploiement. YOLOv7 démontre une efficacité exceptionnelle dans la catégorie haute performance. Par exemple, YOLOv7l atteint un mAP de 51,4 % avec seulement 36,9M de paramètres, surpassant YOLOXx (51,1 % mAP, 99,1M de paramètres) tout en utilisant beaucoup moins de ressources de calcul. Cela fait de YOLOv7 un candidat idéal pour les scénarios où l'efficacité du GPU est essentielle, mais où la mémoire est limitée.

À l'inverse, YOLOX excelle dans la catégorie des modèles légers. Le modèle YOLOX-Nano (0,91 M de paramètres) offre une solution viable pour les appareils périphériques à très faible consommation où même les plus petits modèles YOLO standard pourraient être trop lourds. Ses multiplicateurs profondeur-largeur évolutifs permettent un réglage précis sur une large gamme de profils matériels.

YOLOv7 : Bag-of-Freebies optimisé

Lancé en juillet 2022, YOLOv7 a introduit plusieurs innovations architecturales conçues pour optimiser le processus d'entraînement sans entraîner de coûts d'inférence.

  • Auteurs : Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao
  • Organisation : Institut des sciences de l'information, Academia Sinica, Taïwan
  • Date : 2022-07-06
  • Article :Lien Arxiv
  • GitHub :Dépôt YOLOv7

En savoir plus sur YOLOv7

Points forts architecturaux

YOLOv7 se concentre sur les « méthodes d’optimisation gratuites entraînables », c’est-à-dire les méthodes d’optimisation qui améliorent la précision pendant l’entraînement, mais qui sont supprimées ou fusionnées pendant l’inférence. Les principales caractéristiques sont les suivantes :

  1. E-ELAN (Extended Efficient Layer Aggregation Network) : Une structure dorsale améliorée qui renforce la capacité du modèle à apprendre diverses caractéristiques en contrôlant les chemins de gradient les plus courts et les plus longs.
  2. Adaptation du modèle : Au lieu d'adapter simplement la profondeur ou la largeur, YOLOv7 utilise une méthode d'adaptation composite pour les modèles basés sur la concaténation, maintenant une structure optimale lors de la mise à l'échelle.
  3. Tête auxiliaire grossière à fine : Une tête de perte auxiliaire est utilisée pendant la formation pour aider à la supervision, qui est ensuite reparamétrée dans la tête principale pour l’inférence.

Re-paramétrisation

YOLOv7 utilise la reparamétrisation planifiée, où des modules d'entraînement distincts sont fusionnés mathématiquement en une seule couche convolutionnelle pour l'inférence. Cela réduit considérablement la latence d'inférence sans sacrifier la capacité d'apprentissage des caractéristiques acquise pendant l'entraînement.

YOLOX : L’évolution sans ancrage

YOLOX, publié en 2021, a représenté un changement dans le paradigme YOLO en s’éloignant des boîtes d’ancrage pour adopter un mécanisme sans ancrage, semblable aux approches de segmentation sémantique.

  • Auteurs : Zheng Ge, Songtao Liu, Feng Wang, Zeming Li et Jian Sun
  • Organisation : Megvii
  • Date : 2021-07-18
  • Article :Lien Arxiv
  • GitHub :Dépôt YOLOX

En savoir plus sur la comparaison YOLOX

Points forts architecturaux

YOLOX a simplifié le pipeline de détection en supprimant le besoin de réglage manuel des boîtes d'ancrage, ce qui était un point sensible courant dans les versions précédentes comme YOLOv4 et YOLOv5.

  1. Mécanisme sans ancres : En prédisant directement le centre des objets, YOLOX élimine les hyperparamètres complexes associés aux ancres, améliorant ainsi la généralisation sur divers ensembles de données.
  2. Tête découplée : Contrairement aux versions antérieures de YOLO qui couplaient la classification et la localisation dans une seule tête, YOLOX les sépare. Cela conduit à une convergence plus rapide et à une meilleure précision.
  3. SimOTA : Une stratégie avancée d'attribution de label qui attribue dynamiquement des échantillons positifs à la vérité terrain avec le coût le plus bas, équilibrant efficacement les pertes de classification et de régression.

Pourquoi les modèles Ultralytics sont-ils le choix préféré ?

Bien que YOLOv7 et YOLOX diffèrent en termes d'architecture, les deux sont surpassés en termes de convivialité et de support de l'écosystème par les modèles Ultralytics YOLO modernes. Pour les développeurs à la recherche d'une solution robuste et pérenne, la transition vers YOLO11 offre des avantages distincts.

1. Écosystème unifié et facilité d'utilisation

YOLOv7 et YOLOX nécessitent souvent le clonage de référentiels GitHub spécifiques, la gestion d’exigences de dépendance complexes et l’utilisation de formats disparates pour les données. En revanche, Ultralytics offre un package installable via pip qui unifie toutes les tâches.

from ultralytics import YOLO

# Load a model (YOLO11n recommended for speed)
model = YOLO("yolo11n.pt")

# Train on a custom dataset with a single line
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

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

2. Équilibre de performance supérieur

Comme l'illustrent les benchmarks, les modèles Ultralytics modernes atteignent un meilleur compromis entre la vitesse et la précision. YOLO11 utilise une architecture sans ancrage optimisée qui tire parti des avancées de YOLOX (conception sans ancrage) et de YOLOv7 (optimisation du chemin de gradient). Il en résulte des modèles qui sont non seulement plus rapides sur l'inférence CPU, mais qui nécessitent également moins de mémoire CUDA pendant l'entraînement, ce qui les rend accessibles sur une plus large gamme de matériel.

3. Polyvalence entre les tâches

YOLOv7 et YOLOX sont principalement conçus pour la détection d’objets. Les modèles Ultralytics étendent cette capacité en mode natif à une suite de tâches de vision par ordinateur sans modifier l’API :

4. Déploiement et MLOps transparents

Faire passer un modèle de la recherche à la production est difficile avec les anciens frameworks. L'écosystème Ultralytics comprend des modes d'exportation intégrés pour ONNX, TensorRT, CoreML et OpenVINO, ce qui simplifie le déploiement de modèles. De plus, les intégrations avec Ultralytics HUB permettent la gestion des ensembles de données en ligne, la formation à distance et le déploiement en un clic sur les appareils périphériques.

En savoir plus sur YOLO11

Conclusion

YOLOv7 et YOLOX ont tous deux apporté des contributions significatives au domaine de la vision par ordinateur. YOLOv7 a optimisé l'architecture pour des performances maximales sur les appareils GPU, maximisant ainsi l'efficacité de l'approche "sac de cadeaux". YOLOX a démontré avec succès la viabilité de la détection sans ancrage, simplifiant ainsi le pipeline et améliorant la généralisation.

Cependant, pour les flux de travail de développement modernes, Ultralytics YOLO11 se distingue comme le choix supérieur. Il combine les atouts architecturaux de ses prédécesseurs avec une API python inégalée, des besoins en mémoire plus faibles et une prise en charge d'une gamme complète de tâches de vision. Que vous déployiez sur un appareil périphérique ou un serveur cloud, la communauté active et la documentation exhaustive de l'écosystème Ultralytics garantissent un chemin plus fluide vers la production.

Explorer d'autres modèles

Si vous souhaitez d'autres comparaisons techniques, explorez ces ressources :


Commentaires