YOLOX vs. YOLO: une plongée en profondeur dans l'évolution de la détection d'objets
Le paysage de la détection d'objets est en constante évolution, les chercheurs repoussant sans cesse les limites de la précision, de la vitesse d'inférence et de l'efficacité architecturale. YOLOX et YOLO sont deux contributions notables dans ce domaine. YOLOX a revitalisé la famille YOLO en introduisant un mécanisme sans ancrage, tandis que YOLO s'est appuyé sur la recherche d'architecture neuronale (NAS) pour optimiser les performances spécifiquement pour les applications industrielles.
Ce guide fournit une comparaison technique complète pour aider les développeurs et les chercheurs à comprendre les nuances de chaque modèle, leurs cas d'utilisation idéaux, et comment ils se comparent aux solutions modernes telles que Ultralytics YOLO11.
YOLOX : Le pionnier de la liberté d'ancrage
Développé par Megvii, YOLOX a représenté un changement significatif dans la lignée YOLO lors de sa sortie en 2021. En passant à une conception sans ancrage, il a simplifié le processus d'entraînement et éliminé le besoin de calculs complexes de la boîte d'ancrage, qui étaient un élément de base des itérations précédentes comme YOLOv4 et YOLOv5.
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
- Docs :https://yolox.readthedocs.io/en/latest/
Principales caractéristiques architecturales
YOLOX intègre plusieurs techniques avancées pour atteindre ses performances :
- Mécanisme sans ancrage : En prédisant directement les centres des objets, YOLOX réduit le nombre de paramètres de conception et d'étapes de réglage heuristique associés aux méthodes basées sur l'ancrage.
- Tête découplée : Contrairement aux têtes couplées qui traitent la classification et la régression ensemble, YOLOX sépare ces tâches. Ce découplage améliore la vitesse de convergence et la précision globale.
- SimOTA : une stratégie avancée d'attribution d'étiquettes appelée Simplified Optimal Transport Assignment (SimOTA) attribue dynamiquement des échantillons positifs à des vérités de base, optimisant ainsi l'objectif de formation de manière plus efficace que l'appariement statique.
Pourquoi Anchor-Free ?
Les détecteurs sans ancrage simplifient la conception du modèle en supprimant la nécessité d'ajuster manuellement les hyperparamètres de la boîte d'ancrage (comme la taille et le rapport d'aspect) pour des ensembles de données spécifiques. Cela permet souvent d'obtenir une meilleure généralisation pour diverses formes d'objets.
YOLO: Architecture neuronale optimisée pour la recherche
Lancé par le groupe Alibaba à la fin de l'année 2022, YOLO vise à combler le fossé entre les hautes performances et la faible latence. Il utilise des techniques d'apprentissage automatique pour découvrir des structures de réseau efficaces, ce qui en fait un concurrent de taille pour les applications industrielles nécessitant un traitement en temps réel.
Détails techniques :
- Auteurs : Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang et Xiuyu Sun
- Organisation :Alibaba Group
- Date : 2022-11-23
- Arxiv :https://arxiv.org/abs/2211.15444v2
- GitHub :https://github.com/tinyvision/DAMO-YOLO
- Docs :https://github.com/tinyvision/DAMO-YOLO/blob/master/README.md
Principales caractéristiques architecturales
YOLO introduit plusieurs "nouvelles technologies" dans l'écosystème YOLO :
- Réseau MAE-NAS : Le modèle utilise une épine dorsale générée par la recherche d'architecture neuronale (NAS) sur la base de la mesure de l'erreur absolue moyenne (MAE). Cela garantit que l'extracteur de caractéristiques est parfaitement adapté à la tâche de détection.
- RepGFPN : Une conception à cou lourd basée sur le Generalized Feature Pyramid Network (GFPN) qui utilise le re-paramétrage pour maximiser l'efficacité de la fusion des caractéristiques tout en maintenant la latence d'inférence à un faible niveau.
- ZeroHead : une tête de détection simplifiée qui réduit la charge de calcul sans sacrifier la précision des prédictions.
- AlignedOTA : une évolution de l'attribution des étiquettes qui aligne mieux les scores de classification sur la précision de la régression, garantissant que les prédictions de haute qualité sont prioritaires.
Analyse des performances
Lorsque l'on compare ces deux modèles, il est essentiel d'examiner les compromis entre la précisionmAP) et la vitesse d'inférence (latence). Le tableau ci-dessous montre que si YOLOX reste compétitif, l'architecture plus récente de YOLO offre généralement une vitesse supérieure sur le matériel GPU pour des niveaux de précision similaires.
| 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 |
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
Points de comparaison essentiels
- Vitesse et précision : YOLO(DAMO-YOLOt) atteint un mAP plus élevé (42,0) que YOLOX-Small (40,5) tout en fonctionnant plus rapidement (2,32 ms contre 2,56 ms) et en utilisant moins de FLOP. Cela démontre l'efficacité de l'épine dorsale optimisée NAS.
- Efficacité des paramètres : YOLOX-Nano est extrêmement léger (0,91 million de paramètres), ce qui en fait une option viable pour les dispositifs de bord à ressources extrêmement limitées où chaque octet compte, bien que YOLO n'offre pas de concurrent direct à cette échelle spécifique.
- Des performances de haut niveau : Alors que YOLOX-X atteint une précision de 51,1 mAP, il le fait avec un nombre massif de paramètres (99,1M). YOLO atteint une précision comparable de 50,8 mAP avec moins de la moitié des paramètres (42,1 millions), ce qui témoigne d'une conception plus moderne et plus efficace.
Cas d'utilisation et applications
Le choix entre YOLOX et YOLO dépend souvent de l'environnement de déploiement spécifique.
- YOLOX est bien adapté aux environnements de recherche et aux scénarios nécessitant une mise en œuvre simple et sans ancrage. Sa maturité signifie qu'il existe de nombreuses ressources communautaires et de nombreux tutoriels. Il s'agit d'un candidat de choix pour les tâches de détection d'objets à usage général nécessitant une compatibilité avec les systèmes existants.
- YOLO excelle dans les applications d'automatisation industrielle et de ville intelligente où une faible latence sur le matériel GPU est essentielle. Son architecture optimisée la rend idéale pour l'analyse vidéo à haut débit et la détection de défauts en temps réel dans la fabrication.
Ultralytics YOLO11: l'alternative supérieure
Bien que YOLOX et YOLO offrent de solides capacités de détection, ils sont largement limités à cette seule tâche et ne disposent pas d'un écosystème unifié et favorable. Pour les développeurs à la recherche d'une solution complète, Ultralytics YOLO11 représente l'état de l'art en matière d'IA visionnaire.
Les modèles Ultralytics sont conçus non seulement comme des architectures, mais aussi comme des outils de développement complets.
Pourquoi choisir Ultralytics YOLO11 ?
- Polyvalence des tâches : Contrairement à YOLOX et YOLO, qui se concentrent principalement sur la détection de boîtes englobantes, YOLO11 prend nativement en charge un large éventail de tâches de vision par ordinateur. Cela inclut la segmentation d'instances, l'estimation de la pose, la détection d'objets orientés (OBB) et la classification d'images.
- Facilité d'utilisation inégalée : l'APIPython d'Ultralytics vous permet d'entraîner, de valider et de déployer des modèles avec seulement quelques lignes de code. Il n'est pas nécessaire de cloner des dépôts complexes ou de configurer manuellement des chemins d'accès à l'environnement.
- Un écosystème bien entretenu : Ultralytics fournit des mises à jour fréquentes, assurant la compatibilité avec les dernières versions de PyTorch, ONNXet TensorRT. La communauté active et la documentation complète signifient que vous n'êtes jamais bloqué sans assistance.
- Efficacité de l'entraînement et mémoire : YOLO11 est conçu pour être efficace. Il nécessite généralement moins de mémoire GPU pendant l'entraînement que les anciennes architectures ou les modèles basés sur des transformateurs lourds, ce qui permet d'accélérer les itérations et de réduire les coûts de calcul dans le nuage.
- Équilibre des performances : YOLO11 s'appuie sur l'héritage des versions précédentes de YOLO pour offrir un équilibre optimal entre vitesse et précision, ce qui lui permet d'être déployé sur tous les types d'appareils, depuis les appareils NVIDIA Jetson jusqu'aux serveurs cloud d'entreprise.
Facilité d'utilisation avec Ultralytics
La formation d'un modèle YOLO11 est incroyablement simple par rapport aux cadres traditionnels.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt") # load a pretrained model
# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference
results = model("path/to/image.jpg")
Conclusion
YOLOX et YOLO ont tous deux gagné leur place dans l'histoire de la vision par ordinateur. YOLOX a popularisé avec succès le paradigme de l'absence d'ancrage, tandis que YOLO a démontré la puissance de la recherche d'architecture neuronale pour l'optimisation des détecteurs industriels. Cependant, pour les applications modernes nécessitant de la flexibilité, un soutien à long terme et des capacités multitâches, Ultralytics YOLO11 s'impose comme le premier choix. Son intégration dans un écosystème solide, combinée à des performances de pointe et à une empreinte mémoire minimale, permet aux développeurs de créer facilement des solutions d'IA évolutives et efficaces.
Explorer d'autres modèles
Pour une perspective plus large sur la façon dont ces modèles se comparent à d'autres architectures de pointe, consultez nos pages de comparaison détaillées :
- YOLO11 vs. DAMO-YOLO
- YOLOv8 vs. YOLOX
- RT-DETR vs. DAMO-YOLO
- YOLOv10 vs. YOLOX
- EfficientDet vs. YOLOX
- PP-YOLOE vs. DAMO-YOLO