YOLOv7 vs. YOLOX : Comparaison technique détaillée
Dans le paysage en évolution rapide 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 de cette histoire sont YOLOv7 et YOLOX. Si ces deux modèles visent à concilier vitesse et précision, ils divergent considérablement dans leur philosophie architecturale, notamment en ce qui concerne les méthodologies basées sur l'ancrage et celles sans ancrage.
Ce guide propose une comparaison technique approfondie afin d'aider les chercheurs et les ingénieurs à sélectionner l'outil le mieux adapté à leurs applications spécifiques de vision par ordinateur. Nous analyserons leurs architectures, comparerons leurs performances et explorerons les raisons pour lesquelles des alternatives modernes comme Ultralytics YOLO11 offrent souvent une expérience supérieure aux développeurs.
Mesures de performance : Vitesse et précision
Lors de l'évaluation des détecteurs d'objets, le compromis entre la latence de l'inférence et la précision moyennemAP est primordial. Le tableau ci-dessous présente une comparaison directe entre YOLOv7 et les variantes de YOLOX sur l'ensemble de donnéesCOCO .
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
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 fait preuve d'une efficacité exceptionnelle dans le domaine des hautes performances. Par exemple, YOLOv7l atteint un mAP 51,4 % avec seulement 36,9 millions de paramètres, surpassant YOLOXx (51,1 % mAP, 99,1 millions de paramètres) tout en utilisant beaucoup moins de ressources de calcul. Cela fait de YOLOv7 un candidat de choix pour les scénarios où l'efficacité duGPU est essentielle mais où la mémoire est limitée.
À l'inverse, YOLOX brille dans la catégorie des produits légers. Le modèle YOLOX-Nano (0,91 M de paramètres) offre une solution viable pour les dispositifs de périphérie à très faible consommation d'énergie, pour lesquels même les plus petits modèles YOLO standard pourraient être trop lourds. Ses multiplicateurs de profondeur et de largeur évolutifs permettent un réglage fin sur une large gamme de profils matériels.
YOLOv7: Sac de fret optimisé
Publié en juillet 2022, YOLOv7 a introduit plusieurs innovations architecturales conçues pour optimiser le processus de formation 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ôtYOLOv7
Points forts de l'architecture
YOLOv7 se concentre sur les méthodes d'optimisation de type "bag-of-freebies" qui améliorent la précision lors de l'apprentissage, mais qui sont supprimées ou fusionnées lors de l'inférence. Les principales caractéristiques sont les suivantes :
- 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.
- Mise à l'échelle du modèle : Au lieu de simplement mettre à l'échelle la profondeur ou la largeur, YOLOv7 utilise une méthode de mise à l'échelle composée pour les modèles basés sur la concaténation, ce qui permet de maintenir une structure optimale lors de la mise à l'échelle.
- 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 re-paramétrée dans la tête principale pour l'inférence.
Re-paramétrage
YOLOv7 utilise un re-paramétrage planifié, où des modules de formation distincts sont mathématiquement fusionnés en une seule couche convolutive pour l'inférence. Cela permet de réduire considérablement le temps de latence de l'inférence sans sacrifier la capacité d'apprentissage des caractéristiques acquise au cours de la formation.
YOLOX : L'évolution sans ancrage
YOLOX, lancé en 2021, représente un changement dans le paradigme YOLO en s'éloignant des boîtes d'ancrage au profit d'un mécanisme sans ancrage, similaire 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 de l'architecture
YOLOX a simplifié le pipeline de détection en supprimant le besoin de réglage manuel de la boîte d'ancrage, ce qui était un problème courant dans les versions précédentes comme YOLOv4 et YOLOv5.
- Mécanisme sans ancrage : En prédisant directement le centre des objets, YOLOX élimine les hyperparamètres complexes associés aux ancres, ce qui améliore la généralisation sur divers ensembles de données.
- 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 permet une convergence plus rapide et une meilleure précision.
- SimOTA : une stratégie avancée d'attribution d'étiquettes qui assigne dynamiquement les échantillons positifs à la vérité terrain avec le coût le plus bas, en équilibrant efficacement les pertes de classification et de régression.
Pourquoi les modèles Ultralytics sont le choix privilégié
Bien que YOLOv7 et YOLOX diffèrent dans leur architecture, ils sont tous deux surpassés en termes de facilité d'utilisation et de support de l'écosystème par les modèlesYOLO modernes d'Ultralytics . Pour les développeurs à la recherche d'une solution robuste et à l'épreuve du temps, la transition vers YOLO11 offre des avantages indéniables.
1. Ecosystème unifié et facilité d'utilisation
YOLOv7 et YOLOX nécessitent souvent de cloner des dépôts GitHub spécifiques, de gérer des dépendances complexes et d'utiliser des formats de données disparates. En revanche, Ultralytics propose un paquetage installable par 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 des performances supérieur
Comme l'illustrent les tests de référence, les modèles Ultralytics modernes offrent un meilleur compromis entre vitesse et précision. YOLO11 utilise une architecture optimisée sans ancrage qui tire parti des avancées de YOLOX (conception sans ancrage) et de YOLOv7 (optimisation du gradient). Il en résulte des modèles qui sont non seulement plus rapides pour l'inférenceCPU , mais qui nécessitent également moins de mémoire CUDA pendant l'apprentissage, 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é de manière native à une série de tâches de vision par ordinateur sans modifier l'API :
- Segmentation d'instances: Compréhension des objets au niveau du pixel.
- Estimation de la pose: Détection de points clés sur les corps humains.
- Détection d'objets orientés (OBB) : Détection d'objets en rotation (par exemple, images aériennes).
- Classification: Attribution d'une étiquette de classe à une image entière.
4. Déploiement transparent et MLOps
Faire passer un modèle de la recherche à la production est un défi 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 des modèles. De plus, les intégrations avec Ultralytics HUB permettent une gestion des ensembles de données basée sur le web, une formation à distance et un déploiement en un clic sur les appareils périphériques.
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 l'efficacité de l'approche "bag-of-freebies". YOLOX a démontré avec succès la viabilité de la détection sans ancrage, en simplifiant le pipeline et en améliorant la généralisation.
Cependant, pour les flux de développement modernes, Ultralytics YOLO11 s'impose comme le meilleur choix. Il combine les forces architecturales de ses prédécesseurs avec une APIPython inégalée, des besoins en mémoire réduits et la prise en charge d'une gamme complète de tâches de vision. Qu'il s'agisse d'un déploiement sur un appareil périphérique ou sur un serveur cloud, la communauté active et la documentation complète de l'écosystème Ultralytics garantissent un passage en douceur à la production.
Explorer d'autres modèles
Si vous êtes intéressé par d'autres comparaisons techniques, consultez les ressources suivantes :
- YOLOv7 vs. YOLOv8: un regard sur le saut générationnel en matière de performance.
- RT-DETR vs. YOLOv7: Comparaison des transformateurs avec les CNN.
- YOLO11 vs. YOLOv10: les dernières avancées en matière de détection en temps réel.