YOLOX vs. EfficientDet : Une comparaison technique
Le choix de la bonne architecture de détection d'objets est une décision cruciale dans le développement d'applications de vision par ordinateur. YOLOX et EfficientDet sont deux modèles qui ont considérablement influencé le paysage. Bien qu'ils visent tous deux à résoudre le problème de la localisation et de la classification des objets dans les images, ils abordent la tâche avec des philosophies de conception fondamentalement différentes.
Ce guide propose une comparaison technique approfondie entre YOLOX, un détecteur sans ancrage très performant, et EfficientDet, une architecture évolutive axée sur l'efficacité. Nous analyserons leurs architectures, leurs benchmarks et leurs méthodologies de formation pour vous aider à décider quel modèle correspond à vos contraintes patrimoniales, tout en présentant également Ultralytics YOLO11 comme l'alternative moderne et recommandée pour des performances de pointe.
YOLOX : L'évolution sans ancrage
Lancé en 2021 par des chercheurs de Megvii, YOLOX représente un changement dans la lignée YOLO (You Only Look Once) en abandonnant le mécanisme basé sur l'ancrage qui avait défini les itérations précédentes.
- Auteurs : Zheng Ge, Songtao Liu, Feng Wang, Zeming Li et Jian Sun
- Organisation :Megvii
- Date : 2021-07-18
- Arxiv :YOLOX : Dépassement de la série YOLO en 2021
- GitHub :Megvii-BaseDetection/YOLOX
Architecture et innovations clés
YOLOX se distingue par une structure de tête découplée. Les détecteurs traditionnels utilisent souvent une tête couplée où les tâches de classification et de localisation partagent des paramètres, ce qui peut entraîner des conflits lors de l'apprentissage. YOLOX sépare ces tâches en différentes branches, ce qui améliore considérablement la vitesse de convergence et la précision finale.
La caractéristique la plus remarquable est sa conception sans ancrage. En supprimant le besoin de boîtes d'ancrage prédéfinies, YOLOX élimine le réglage heuristique associé à la génération d'ancres. Il est associé à SimOTA (Simplified Optimal Transport Assignment), une stratégie avancée d'attribution d'étiquettes qui assigne dynamiquement les échantillons positifs aux vérités de base, équilibrant ainsi le processus d'apprentissage plus efficacement que les seuils statiques de IoU .
Avantages de la liberté d'ancrage
La suppression des boîtes d'ancrage réduit le nombre de paramètres de conception que les développeurs doivent régler. La généralisation est également meilleure pour les objets présentant des rapports d'aspect inhabituels, car le modèle prédit directement les boîtes de délimitation au lieu d'ajuster une forme de boîte prédéfinie.
EfficientDet : Efficacité évolutive
EfficientDet, développé par l'équipe Google Brain en 2019, se concentre sur l'obtention de la plus grande précision possible dans le cadre de budgets de calcul spécifiques. Il s'appuie sur l'épine dorsale EfficientNet et introduit une nouvelle technique de fusion des caractéristiques.
- Auteurs : Mingxing Tan, Ruoming Pang et Quoc V. Le
- Organisation : Google
- Date : 2019-11-20
- Arxiv :EfficientDet : Détection d'objets efficace et évolutive
- GitHub :google
Architecture et innovations clés
La principale innovation d'EfficientDet est le BiFPN (Weighted Bi-directional Feature Pyramid Network). Contrairement à un réseau pyramidal traditionnel (FPN) qui additionne les caractéristiques de différentes échelles de manière égale, le BiFPN introduit des poids qui peuvent être appris afin de comprendre l'importance des différentes caractéristiques d'entrée. Il permet également à l'information de circuler à la fois de haut en bas et de bas en haut de manière répétée.
EfficientDet utilise également une mise à l'échelle composée. Au lieu de mettre à l'échelle uniquement le backbone ou la résolution de l'image, il met à l'échelle de manière uniforme la résolution, la profondeur et la largeur du réseau. Il en résulte une famille de modèles (D0 à D7) qui fournit une courbe cohérente d'efficacité par rapport à la précision, ce qui le rend très adaptable à des tâches allant des applications mobiles au traitement en nuage haut de gamme.
En savoir plus sur EfficientDet
Analyse des performances : Vitesse et efficacité
La différence fondamentale entre ces deux modèles réside dans leurs objectifs d'optimisation. EfficientDet est optimisé pour l'efficacité théorique (FLOPs et Paramètres), ce qui se traduit souvent par des performances CPU sur les périphériques. YOLOX, à l'inverse, est optimisé pour l'inférence à haut débit sur les GPU, en exploitant les opérateurs denses que les accélérateurs gèrent bien.
Le tableau ci-dessous illustre ce compromis. Alors qu'EfficientDet-d0 est extrêmement léger en termes de paramètres, YOLOX-s offre des vitesses d'inférence significativement plus rapides sur TensorRT malgré un plus grand nombre de paramètres.
| 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 |
| EfficientDet-d0 | 640 | 34.6 | 10.2 | 3.92 | 3.9 | 2.54 |
| EfficientDet-d1 | 640 | 40.5 | 13.5 | 7.31 | 6.6 | 6.1 |
| EfficientDet-d2 | 640 | 43.0 | 17.7 | 10.92 | 8.1 | 11.0 |
| EfficientDet-d3 | 640 | 47.5 | 28.0 | 19.59 | 12.0 | 24.9 |
| EfficientDet-d4 | 640 | 49.7 | 42.8 | 33.55 | 20.7 | 55.2 |
| EfficientDet-d5 | 640 | 51.5 | 72.5 | 67.86 | 33.7 | 130.0 |
| EfficientDet-d6 | 640 | 52.6 | 92.8 | 89.29 | 51.9 | 226.0 |
| EfficientDet-d7 | 640 | 53.7 | 122.0 | 128.07 | 51.9 | 325.0 |
Observations critiques
- Temps de latence duGPU : YOLOX démontre des performances supérieures sur les accélérateurs. YOLOX-l atteint la même précision (49,7 mAP) qu'EfficientDet-d4 mais s'exécute presque 3,7 fois plus vite sur un GPU T4 (9,04 ms contre 33,55 ms).
- Efficacité des paramètres : EfficientDet excelle lorsque le stockage est la principale contrainte. EfficientDet-d3 offre une grande précision (47,5 mAP) avec seulement 12 millions de paramètres, alors que pour obtenir une précision similaire avec YOLOX, il faut le modèle Medium avec plus du double de paramètres.
- Complexité de l'apprentissage : YOLOX incorpore nativement des techniques d'augmentation des données comme Mosaic et MixUp , ce qui aide à l'apprentissage de modèles robustes à partir de zéro, alors qu'EfficientDet s'appuie fortement sur les propriétés spécifiques de l'épine dorsale EfficientNet et sur des règles d'échelonnement composées.
Ultralytics YOLO11: l'alternative supérieure
Si YOLOX et EfficientDet ont été révolutionnaires à leurs époques respectives, le domaine de la vision par ordinateur évolue rapidement. Pour des applications modernes en 2024 et au-delà, Ultralytics YOLO11 offre une solution complète qui surpasse les deux architectures existantes en termes de vitesse, de précision et de facilité d'utilisation.
Pourquoi choisir Ultralytics YOLO11 ?
- Équilibre des performances : YOLO11 est conçu pour offrir le meilleur compromis possible entre vitesse et précision. Il atteint ou dépasse généralement la précision maximale d'EfficientDet-d7 tout en conservant des vitesses d'inférence plus proches des variantes les plus rapides de YOLOX.
- Facilité d'utilisation : Contrairement aux référentiels de recherche complexes d'EfficientDet ou de YOLOX, Ultralytics offre une APIPython prête à la production. Vous pouvez charger, entraîner et déployer un modèle en quelques lignes de code seulement.
- Un écosystème bien entretenu : Les modèles Ultralytics sont soutenus par un développement actif, des mises à jour fréquentes et une communauté dynamique. L'écosystème intégré comprend Ultralytics HUB pour une gestion transparente des ensembles de données et l'entraînement des modèles.
- Polyvalence : Alors que YOLOX et EfficientDet sont principalement des détecteurs d'objets, YOLO11 prend en charge un large éventail de tâches dans un cadre unique, notamment la segmentation des instances, l'estimation de la pose, les boîtes de délimitation orientées (OBB) et la classification.
- Efficacité de la formation : YOLO11 utilise des blocs d'architecture raffinés qui réduisent les besoins en mémoire pendant la formation par rapport aux anciens transformateurs ou aux architectures complexes. Il est ainsi possible d'entraîner des modèles de pointe sur du matériel grand public.
Démarrer avec YOLO11
L'exécution de prédictions avec YOLO11 est incroyablement simple. L'extrait de code suivant montre comment charger un modèle pré-entraîné et exécuter l'inférence sur une image.
from ultralytics import YOLO
# Load the YOLO11n model (nano version for speed)
model = YOLO("yolo11n.pt")
# Perform object detection on an image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
Cas d'utilisation idéaux
- Choisissez EfficientDet uniquement si vous déployez sur des périphériques extrêmement limités au CPU, où le nombre de FLOP est le facteur limitant absolu, et si vous avez des dépendances héritées.
- Choisissez YOLOX si vous avez besoin d'une base solide pour la recherche académique sur les détecteurs sans ancrage sur GPU, mais soyez conscient de la complexité de la configuration par rapport aux frameworks modernes.
- Choisissez Ultralytics YOLO11 pour pratiquement tous les nouveaux projets commerciaux et de recherche. Qu'il s'agisse de la construction de véhicules autonomes, de l'analyse des villes intelligentes ou du contrôle de la qualité de la fabrication, YOLO11 offre la robustesse, la rapidité et l'outillage nécessaires pour passer efficacement du prototype à la production.
Conclusion
YOLOX et EfficientDet ont tous deux contribué de manière significative à l'avancement de la détection d'objets. EfficientDet a prouvé que la mise à l'échelle des modèles pouvait être scientifique et structurée, tandis que YOLOX a popularisé avec succès les pipelines de détection sans ancrage.
Cependant, Ultralytics YOLO11 synthétise les meilleures leçons de ces architectures - efficacité, conception sans ancrage et optimisation du GPU - dans un ensemble unifié et convivial. Avec son empreinte mémoire réduite lors de l'entraînement, sa prise en charge de diverses tâches de vision par ordinateur et son intégration transparente avec des formats de déploiement tels que ONNX et CoreML, Ultralytics YOLO11 est aujourd'hui le choix recommandé pour les développeurs.
Lectures complémentaires
Explorez d'autres comparaisons pour comprendre le paysage des modèles de détection d'objets :