YOLOv5 vs YOLOX : Une Comparaison Technique
Choisir le bon modèle de détection d'objets est une décision cruciale qui équilibre la précision, la vitesse et la complexité du déploiement. Cette page fournit une comparaison technique détaillée entre deux modèles influents de la famille YOLO : Ultralytics YOLOv5 et YOLOX. Bien que les deux modèles offrent des performances en temps réel, ils sont basés sur des philosophies de conception fondamentalement différentes. YOLOv5 est un modèle basé sur des ancres, hautement optimisé, connu pour sa facilité d'utilisation et son efficacité exceptionnelles, tandis que YOLOX introduit une approche sans ancres pour repousser les limites de la précision. Nous allons approfondir leurs architectures, leurs mesures de performance et leurs cas d'utilisation idéaux pour vous aider à déterminer quel modèle convient le mieux aux besoins de votre projet.
Ultralytics YOLOv5 : la norme industrielle établie
Détails techniques :
- Auteurs : Glenn Jocher
- Organisation : Ultralytics
- Date : 2020-06-26
- GitHub : https://github.com/ultralytics/yolov5
- Documentation : https://docs.ultralytics.com/models/yolov5/
Architecture et principales fonctionnalités
Ultralytics YOLOv5 est devenu une référence de l’industrie en raison de son mélange remarquable de vitesse, de précision et de convivialité. Entièrement construit en PyTorch, YOLOv5 dispose d’une architecture robuste avec une dorsale CSPDarknet53, un neck PANet pour l’agrégation de caractéristiques et une tête de détection basée sur l’ancrage efficace. L’un de ses principaux atouts est son évolutivité, offrant une gamme de modèles allant du petit et rapide YOLOv5n au grand et précis YOLOv5x. Cette flexibilité permet aux développeurs de sélectionner le modèle parfait pour leurs besoins spécifiques en matière de calcul et de performance.
Points forts
- Vitesse et efficacité exceptionnelles : YOLOv5 est hautement optimisé pour une inférence rapide, ce qui en fait un choix de premier ordre pour les systèmes en temps réel sur divers matériels, des CPU aux GPU et aux appareils périphériques.
- Facilité d'utilisation : Reconnu pour son expérience utilisateur simplifiée, YOLOv5 offre une API Python et une CLI simples, complétées par une documentation exhaustive et de nombreux tutoriels.
- Écosystème bien maintenu : En tant que modèle Ultralytics, YOLOv5 bénéficie d'un écosystème mature et actif. Cela comprend un développement continu, une communauté large et solidaire, des mises à jour fréquentes et une intégration transparente avec des outils tels que Ultralytics HUB pour l'entraînement et le déploiement sans code.
- Efficacité de l'entraînement : Le modèle offre un processus d'entraînement efficace avec des poids pré-entraînés facilement disponibles sur des ensembles de données comme COCO, ce qui réduit considérablement le temps d'entraînement et les coûts de calcul.
- Polyvalence : YOLOv5 ne se limite pas à la détection d'objets ; il prend également en charge la segmentation d'instance et la classification d'images, ce qui en fait un outil polyvalent pour diverses tâches de vision par ordinateur.
- Faible utilisation de la mémoire : par rapport aux architectures plus complexes, YOLOv5 nécessite généralement moins de mémoire pour l’entraînement et l’inférence, ce qui le rend plus accessible aux utilisateurs disposant de ressources matérielles limitées.
Faiblesses
- Détection basée sur les ancres : Son recours à des boîtes d'ancrage prédéfinies peut parfois nécessiter un réglage minutieux pour obtenir des performances optimales sur les ensembles de données avec des objets de forme ou d'échelle inhabituelle, par rapport aux détecteurs sans ancres.
- Compromis en matière de précision : Bien qu’offrant un équilibre fantastique, les modèles YOLOv5 plus petits privilégient la vitesse, ce qui peut entraîner une précision légèrement inférieure par rapport aux architectures plus récentes et plus complexes comme YOLOX ou YOLOv9.
Cas d'utilisation
YOLOv5 excelle dans les applications où la vitesse et l’efficacité sont essentielles :
- Sécurité en temps réel : Permet la prévention du vol et la détection d’anomalies.
- Edge Computing : Déploiement efficace sur des appareils aux ressources limitées comme Raspberry Pi et NVIDIA Jetson.
- Automatisation industrielle : Amélioration du contrôle qualité dans le secteur de la fabrication, par exemple en améliorant l’efficacité du recyclage.
YOLOX : Une alternative sans ancres et à hautes performances
Détails techniques :
- 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
- Documentation : https://yolox.readthedocs.io/en/latest/
Architecture et principales fonctionnalités
YOLOX, introduit en 2021 par des chercheurs de Megvii, présente une approche sans ancrage de la détection d'objets. Ce choix de conception vise à simplifier le pipeline de détection et à améliorer la généralisation en éliminant le besoin de boîtes d'ancrage prédéfinies. Les principales innovations architecturales comprennent une tête découplée, qui sépare les tâches de classification et de localisation en différentes branches, et l'utilisation de stratégies d'entraînement avancées comme SimOTA, une technique d'attribution dynamique de labels qui aide le modèle à apprendre de meilleures représentations.
Points forts
- Détection sans ancres : Simplifie le pipeline de détection en supprimant la complexité et les hypothèses antérieures associées aux boîtes d'ancrage, ce qui peut conduire à de meilleures performances sur les objets avec des rapports d'aspect divers.
- Haute précision : Atteint une précision compétitive, en particulier avec ses modèles plus grands. La tête découplée et la stratégie avancée d’attribution d’étiquettes SimOTA sont des éléments clés de ses solides scores mAP.
Faiblesses
- Complexité : Bien que la conception sans ancres simplifie un aspect, l'introduction de têtes découplées et de stratégies avancées comme SimOTA peut accroître la complexité de la mise en œuvre et rendre le processus d'entraînement moins intuitif.
- Écosystème externe : YOLOX ne fait pas partie de la suite Ultralytics, ce qui signifie qu'il ne dispose pas d'une intégration transparente avec des outils puissants tels que Ultralytics HUB. Cela peut entraîner une courbe d'apprentissage plus abrupte et davantage d'efforts manuels pour la formation, le déploiement et la MLOps.
- Vitesse du CPU : La vitesse d'inférence sur le CPU pourrait être inférieure à celle des modèles hautement optimisés comme YOLOv5, en particulier pour les plus grandes variantes de YOLOX, ce qui la rend moins idéale pour certaines applications en temps réel liées au CPU.
Cas d'utilisation
YOLOX est bien adapté aux applications où la maximisation de la précision est la priorité absolue :
- Conduite autonome : Convient aux tâches de perception dans les véhicules autonomes où une haute précision est cruciale pour la sécurité.
- Robotique avancée : Idéal pour les environnements complexes où les robots ont besoin d’une détection d’objets précise pour la navigation et l’interaction.
- Recherche : Sert de base solide pour explorer les méthodologies sans ancres et les techniques d’entraînement avancées dans la recherche sur la détection d’objets.
Comparaison des performances et de la vitesse
Lors de la comparaison entre YOLOv5 et YOLOX, les compromis entre la vitesse, la précision et la taille du modèle deviennent évidents. YOLOv5 est conçu pour une efficacité exceptionnelle, offrant des vitesses d'inférence très rapides, en particulier sur CPU et lors de l'exportation vers des formats optimisés comme TensorRT. Cela en fait un choix redoutable pour les applications nécessitant des performances en temps réel sur une large gamme de matériel. YOLOX, d'autre part, vise une plus grande précision, son plus grand modèle, YOLOX-x, atteignant un mAP légèrement supérieur à celui de YOLOv5x. Cependant, ce gain de précision s'accompagne souvent d'un coût de calcul accru et de temps d'inférence plus lents.
Le tableau ci-dessous fournit une comparaison quantitative de différentes tailles de modèles pour YOLOv5 et YOLOX, évalués sur l'ensemble de données COCO val2017.
Modèle | Taille (pixels) |
mAPval 50-95 |
Vitesse CPU ONNX (ms) |
Vitesse T4 TensorRT10 (ms) |
paramètres (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
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 |
Conclusion et recommandation
YOLOv5 et YOLOX sont tous deux des modèles de détection d'objets puissants, mais ils répondent à des priorités différentes.
Ultralytics YOLOv5 reste le choix supérieur pour une vaste majorité d’applications du monde réel. Ses principaux avantages sont une facilité d’utilisation inégalée, une vitesse d’inférence exceptionnelle et un écosystème robuste et bien maintenu. Pour les développeurs et les équipes qui cherchent à passer rapidement et efficacement du concept à la production, le flux de travail simplifié de YOLOv5, sa documentation exhaustive et son intégration avec des outils comme Ultralytics HUB sont inestimables. Il offre un excellent équilibre entre vitesse et précision, ce qui le rend idéal pour le déploiement sur tout, des serveurs cloud haut de gamme aux appareils périphériques aux ressources limitées.
YOLOX est un modèle académique et de recherche solide qui démontre le potentiel des architectures sans ancrage. C'est un choix approprié pour les projets où l'obtention du mAP le plus élevé est l'objectif principal, et où l'équipe de développement est prête à gérer la complexité accrue et l'absence d'un écosystème intégré.
Pour la plupart des développeurs, chercheurs et entreprises, nous recommandons de commencer avec un modèle Ultralytics. Les avantages d'un framework unifié et activement développé qui prend en charge plusieurs tâches (détection, segmentation, pose, etc.) et offre une voie de mise à niveau claire vers des modèles plus récents comme YOLOv8 et YOLO11 offrent un avantage significatif à long terme. L'écosystème Ultralytics est conçu pour accélérer le développement et vous assurer de disposer du support et des outils nécessaires pour réussir.
Autres comparaisons de modèles
Si vous souhaitez comparer ces modèles avec d'autres de la famille YOLO et au-delà, consultez ces pages :