YOLOX vs. EfficientDet : Une comparaison technique
Le choix de la bonne architecture de détection d'objets est une décision essentielle dans le développement d'applications de vision par ordinateur. Deux modèles qui ont considérablement influencé le paysage sont YOLOX et EfficientDet. Bien que les deux visent à 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 fournit une comparaison technique approfondie de YOLOX, un détecteur sans ancrage à haute performance, et de EfficientDet, une architecture évolutive axée sur l'efficacité. Nous analyserons leurs architectures, leurs benchmarks et leurs méthodologies d'entraînement pour vous aider à décider quel modèle convient le mieux à vos contraintes existantes, tout en présentant 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 a représenté un tournant dans la lignée YOLO (You Only Look Once) en abandonnant le mécanisme basé sur des ancres 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épasser 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 utilisaient souvent une tête couplée où les tâches de classification et de localisation partageaient des paramètres, ce qui pouvait entraîner des conflits pendant l'entraînement. 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 sans ancre
La suppression des boîtes d’ancrage réduit le nombre de paramètres de conception que les développeurs doivent régler. Il se généralise également mieux aux objets ayant des proportions inhabituelles, car le modèle prédit les boîtes englobantes directement plutôt que 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 est basé sur le backbone EfficientNet et introduit une nouvelle technique de fusion de caractéristiques.
- Auteurs : Mingxing Tan, Ruoming Pang et Quoc V. Le
- Organisation : Google
- Date : 2019-11-20
- Arxiv :EfficientDet : detect d’objets évolutive et efficace
- GitHub :google/automl/efficientdet
Architecture et innovations clés
L'innovation principale d'EfficientDet est le BiFPN (Weighted Bi-directional Feature Pyramid Network). Contrairement à un réseau de pyramides de caractéristiques (FPN) traditionnel qui additionne les caractéristiques de différentes échelles de manière égale, BiFPN introduit des poids apprenables pour 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 un scaling composé. Au lieu de simplement mettre à l'échelle le backbone ou la résolution de l'image, il met à l'échelle uniformément 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 aux tâches allant des applications mobiles au traitement cloud haut de gamme.
En savoir plus sur EfficientDet
Analyse des performances : rapidité vs. efficacité
La différence fondamentale entre ces deux modèles réside dans leurs cibles d'optimisation. EfficientDet est optimisé pour l'efficacité théorique (FLOPs et paramètres), ce qui se traduit souvent bien par des performances CPU sur les appareils périphériques. YOLOX, à l'inverse, est optimisé pour l'inférence à haut débit sur les GPU, tirant parti des opérateurs denses que les accélérateurs gèrent bien.
Le tableau ci-dessous illustre ce compromis. Bien que EfficientDet-d0 soit extrêmement léger en termes de paramètres, YOLOX-s offre des vitesses d'inférence significativement plus rapides sur le matériel optimisé TensorRT malgré le fait qu'il ait plus 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
- Latence du GPU : 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 près de 3,7x plus rapidement 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 forte précision (47,5 mAP) avec seulement 12 millions de paramètres, alors que l’obtention d’une précision similaire avec YOLOX nécessite le modèle Medium avec plus du double de paramètres.
- Complexité de l’entraînement : YOLOX intègre nativement des techniques fortes d'augmentation des données comme Mosaic et MixUp, ce qui aide à former des modèles robustes à partir de zéro, tandis que EfficientDet s’appuie fortement sur les propriétés spécifiques du backbone EfficientNet et les règles de mise à l’échelle composées.
Ultralytics YOLO11 : L’alternative supérieure
Bien que YOLOX et EfficientDet aient été révolutionnaires à leur époque respective, le domaine de la vision par ordinateur évolue rapidement. Pour les applications modernes en 2024 et au-delà, Ultralytics YOLO11 offre une solution complète qui surpasse les deux architectures héritées en termes de vitesse, de précision et de convivialité.
Pourquoi choisir Ultralytics YOLO11 ?
- Équilibre des performances : YOLO11 est conçu pour offrir le meilleur compromis possible entre vitesse et précision. Il égale 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 YOLOX les plus rapides.
- Facilité d'utilisation : Contrairement aux référentiels de recherche complexes d'EfficientDet ou YOLOX, Ultralytics offre une API Python prête pour la production. Vous pouvez charger, entraîner et déployer un modèle en quelques lignes de code.
- Écosystème bien maintenu : Les modèles Ultralytics bénéficient d'un développement actif, de mises à jour fréquentes et d'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 : Bien que YOLOX et EfficientDet soient principalement des détecteurs d’objets, YOLO11 prend en charge un large éventail de tâches au sein d’un seul framework, notamment la segmentation d’instance, l’estimation de pose, les boîtes englobantes orientées (obb) et la classification.
- Efficacité de l'entraînement : YOLO11 utilise des blocs d'architecture raffinés qui réduisent les besoins en mémoire pendant l'entraînement par rapport aux anciennes architectures de transformateurs ou aux architectures dorsales complexes. Cela permet d'entraîner des modèles de pointe sur du matériel grand public.
Démarrage 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 appareils périphériques extrêmement contraints, fonctionnant uniquement avec le CPU, où le nombre de FLOP est le facteur limitatif absolu et que 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 configuration plus complexe par rapport aux frameworks modernes.
- Choisissez Ultralytics YOLO11 pour pratiquement tous les nouveaux projets commerciaux et de recherche. Que vous construisiez des véhicules autonomes, des analyses de villes intelligentes ou un contrôle de la qualité de la fabrication, YOLO11 fournit la robustesse, la vitesse 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 entièrement sans ancrage.
Cependant, Ultralytics YOLO11 synthétise les meilleures leçons de ces architectures (efficacité, conception sans ancres et optimisation GPU) dans un ensemble unifié et convivial. Grâce à son faible encombrement mémoire pendant l'entraînement, sa prise en charge de diverses tâches de vision par ordinateur et son intégration transparente avec les formats de déploiement tels que ONNX et CoreML, Ultralytics YOLO11 s'impose comme le choix recommandé pour les développeurs d'aujourd'hui.
Lectures complémentaires
Explorez d'autres comparaisons pour comprendre le paysage des modèles de détection d'objets :