Passer au contenu

YOLOX vs. YOLOv7 : Une comparaison technique

Choisir le bon modèle de détection d'objets est une décision essentielle pour tout projet de vision par ordinateur, car elle a un impact direct sur les performances, la vitesse et la faisabilité du déploiement. Cette page offre une comparaison technique détaillée entre deux modèles influents de la famille YOLO : YOLOX et YOLOv7. Nous explorerons leurs différences architecturales, leurs bancs d'essai de performance et leurs cas d'utilisation idéaux afin de vous aider à faire un choix éclairé.

YOLOX : L'excellence sans ancrage

YOLOX a été introduit comme un détecteur sans ancrage haute performance, visant à simplifier le pipeline de détection tout en améliorant les performances par rapport aux versions précédentes de YOLO. Sa philosophie de conception comble le fossé entre la recherche académique et l'application industrielle en rationalisant le processus de formation.

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 se distingue par plusieurs innovations architecturales clés qui le différencient de ses prédécesseurs :

  • Conception sans ancres : En éliminant les boîtes d'ancrage prédéfinies, YOLOX réduit le nombre de paramètres de conception et la complexité associée au réglage des ancres. Cela rend le modèle plus flexible et plus apte à se généraliser à des objets de formes et de tailles diverses, en particulier sur des ensembles de données comme COCO.
  • Tête découplée : Contrairement aux têtes couplées qui effectuent la classification et la localisation simultanément, YOLOX utilise une tête découplée. Il est démontré que cette séparation résout un conflit entre les deux tâches, ce qui conduit à une convergence plus rapide pendant l’apprentissage et à une précision plus élevée.
  • Augmentation avancée des données : Le modèle exploite de puissantes techniques d'augmentation des données, notamment MixUp et Mosaic, afin d’améliorer sa robustesse et de prévenir le surapprentissage. Vous pouvez en apprendre davantage sur ces techniques dans notre guide sur l'augmentation des données.
  • Attribution de label SimOTA : YOLOX introduit une stratégie avancée d’attribution de label appelée SimOTA (Simplified Optimal Transport Assignment). Elle attribue dynamiquement des échantillons positifs pour l’entraînement, ce qui améliore l’efficacité de l’entraînement et aide le modèle à mieux apprendre les caractéristiques.

Points forts et faiblesses

Points forts :

  • Pipeline simplifié : L’approche sans ancres simplifie le processus de formation et de déploiement en supprimant le besoin de clustering et de réglage des ancres.
  • Forte généralisation : La combinaison d’une conception sans ancrage et d’une puissante augmentation des données aide le modèle à bien se généraliser à de nouveaux domaines et ensembles de données.
  • Bon équilibre des performances : YOLOX offre un compromis solide entre vitesse et précision sur ses différentes échelles de modèles.

Faiblesses :

  • Dépassé par les modèles plus récents : Bien qu'efficace, YOLOX a été surpassé en termes de vitesse et de précision par des architectures plus récentes telles que YOLOv7 et les modèles Ultralytics suivants.
  • Limites de l'écosystème : YOLOX ne fait pas partie d'un écosystème intégré comme Ultralytics, ce qui peut rendre le déploiement et le MLOps plus difficiles. Il manque une intégration transparente avec des outils tels que Ultralytics HUB.

En savoir plus sur YOLOX

YOLOv7 : Le summum de la vitesse et de la précision

Dès sa sortie, YOLOv7 a établi une nouvelle référence en matière de détecteurs d’objets en temps réel, démontrant des améliorations remarquables en termes de vitesse et de précision. Il a réalisé cela en introduisant plusieurs optimisations architecturales et stratégies de formation.

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
Arxiv : https://arxiv.org/abs/2207.02696
GitHub : https://github.com/WongKinYiu/yolov7
Docs : https://docs.ultralytics.com/models/yolov7/

Architecture et principales fonctionnalités

Les performances supérieures de YOLOv7 sont enracinées dans ses composants architecturaux avancés et ses améliorations d'entraînement :

  • E-ELAN (Extended Efficient Layer Aggregation Network) : Ce module clé du backbone permet au réseau d’apprendre des caractéristiques plus diverses en contrôlant les chemins de gradient, améliorant ainsi l’apprentissage sans perturber le flux de gradient.
  • Sac de cadeaux entraînable : YOLOv7 introduit un ensemble de méthodes d'entraînement qui améliorent la précision sans augmenter le coût de l'inférence. Cela comprend des techniques telles que la formation guidée grossière à fine et les têtes auxiliaires qui guident le processus d'apprentissage.
  • Adaptation de modèle : Le modèle introduit des méthodes d'adaptation composées pour la profondeur et la largeur, optimisées pour les architectures basées sur la concaténation, garantissant des performances efficaces pour différentes tailles de modèle.
  • Convolution reparamétrée : YOLOv7 utilise la reparamétrisation de modèle pour améliorer les performances, une technique qui est depuis devenue populaire dans la conception de réseaux modernes.

Points forts et faiblesses

Points forts :

  • Compromis exceptionnel vitesse-précision : YOLOv7 offre un équilibre exceptionnel entre un mAP élevé et des vitesses d'inférence rapides, ce qui le rend idéal pour les applications en temps réel.
  • Efficacité de l'entraînement : L'approche "sac de cadeaux" lui permet d'atteindre une grande précision avec un entraînement efficace.
  • Performance éprouvée : Il a établi une nouvelle référence pour les détecteurs d'objets en temps réel sur des ensembles de données standard.

Faiblesses :

  • Complexité architecturale : La combinaison d’E-ELAN, des têtes auxiliaires et d’autres fonctionnalités rend l’architecture plus complexe que les modèles plus simples.
  • Entraînement nécessitant beaucoup de ressources : L’entraînement des modèles YOLOv7 plus grands peut nécessiter des ressources de calcul et une mémoire GPU importantes.
  • Polyvalence limitée : Bien que le référentiel officiel propose des extensions communautaires pour des tâches telles que l’estimation de pose, il ne s’agit pas d’un framework intrinsèquement multitâche comme les nouveaux modèles Ultralytics.

En savoir plus sur YOLOv7

Comparaison des performances : YOLOX vs. YOLOv7

Lors de la comparaison des performances, les deux modèles offrent une gamme de tailles pour s'adapter à différents budgets de calcul. YOLOX fournit une famille évolutive de Nano à X, tandis que YOLOv7 se concentre sur la fourniture de performances de premier ordre avec ses variantes plus grandes.

Modèle Taille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
YOLOXnano 416 25.8 - - 0.91 1.08
YOLOXtiny 416 32.8 - - 5.06 6.45
YOLOXs 640 40.5 - 2.56 9.0 26.8
YOLOXm 640 46.9 - 5.43 25.3 73.8
YOLOXl 640 49.7 - 9.04 54.2 155.6
YOLOXx 640 51.1 - 16.1 99.1 281.9
YOLOv7l 640 51.4 - 6.84 36.9 104.7
YOLOv7x 640 53.1 - 11.57 71.3 189.9

D'après le tableau, il est clair que les modèles YOLOv7 atteignent généralement des scores mAP plus élevés. Par exemple, YOLOv7l surpasse YOLOXx en précision (51,4 % contre 51,1 %) avec beaucoup moins de paramètres (36,9M contre 99,1M) et de FLOPs (104,7B contre 281,9B), et est beaucoup plus rapide sur un GPU T4. Cela met en évidence l'efficacité architecturale supérieure de YOLOv7.

Pourquoi les modèles Ultralytics YOLO sont le choix préféré

Bien que YOLOX et YOLOv7 aient été des avancées significatives, les nouveaux modèles Ultralytics YOLO comme YOLOv8 et YOLO11 offrent une expérience plus moderne, polyvalente et conviviale.

  • Facilité d'utilisation : Les modèles Ultralytics sont conçus en pensant au développeur, avec une API Python simplifiée, une documentation exhaustive et des commandes CLI simples qui rendent la formation, la validation et le déploiement simples.
  • Écosystème bien maintenu : Bénéficiez d'un écosystème robuste avec un développement actif, une large communauté open source, des mises à jour fréquentes et une intégration transparente avec des outils tels que Ultralytics HUB pour un MLOps de bout en bout.
  • Polyvalence : Les modèles tels que YOLOv8 et YOLO11 sont de véritables cadres multitâches, prenant en charge la détection d’objets, la segmentation, la classification, l’estimation de pose et la détection d’objets orientés (OBB) prêtes à l’emploi.
  • Performance et efficacité : Les modèles Ultralytics offrent un excellent équilibre entre vitesse et précision, sont optimisés pour une utilisation efficace de la mémoire et conviennent à une large gamme de matériel, des appareils périphériques aux serveurs cloud.

Conclusion

YOLOX et YOLOv7 sont tous deux de puissants modèles de détection d'objets qui ont repoussé les limites de ce qui est possible en vision par ordinateur. YOLOX est louable pour sa conception innovante sans ancrage, qui simplifie le pipeline de détection. YOLOv7 se distingue par sa vitesse et sa précision exceptionnelles, ce qui en fait un choix judicieux pour les applications en temps réel exigeantes.

Cependant, pour les développeurs et les chercheurs d'aujourd'hui, les modèles Ultralytics tels que YOLOv8 et YOLO11 représentent la prochaine étape. Ils offrent des performances supérieures, une plus grande polyvalence et un écosystème plus complet et convivial, ce qui en fait le choix recommandé pour la création de solutions d'IA de vision modernes et performantes.

Autres comparaisons de modèles

Pour des informations plus approfondies, explorez d'autres comparaisons de modèles :



📅 Créé il y a 1 an ✏️ Mis à jour il y a 1 mois

Commentaires