EfficientDet vs. YOLOX : une comparaison technique complète
Le choix de la bonne architecture de détection d'objets est une décision cruciale dans le développement de la vision par ordinateur. Deux modèles importants ont façonné le paysage : EfficientDet, développé par Google pour une extensibilité optimale, et YOLOX, un détecteur sans ancrage à haute performance de Megvii. Alors qu'EfficientDet se concentre sur la maximisation de la précision dans le cadre de budgets de calcul stricts en utilisant une mise à l'échelle composée, YOLOX donne la priorité à la vitesse d'inférence et à des pipelines d'entraînement simplifiés.
Ce guide propose une analyse détaillée de leurs architectures, de leurs performances et des scénarios de déploiement idéaux pour vous aider à choisir la solution la mieux adaptée à votre projet. En outre, nous explorons comment les alternatives modernes comme Ultralytics YOLO11 intègrent les forces de ces prédécesseurs dans un cadre unifié et convivial.
EfficientDet : Efficacité évolutive
EfficientDet a été introduit pour relever le défi de la mise à l'échelle efficace des modèles de détection d'objets. Contrairement aux architectures précédentes qui modifiaient les dimensions de manière arbitraire, EfficientDet utilise une méthode de mise à l'échelle composée qui modifie uniformément la résolution, la profondeur et la largeur.
Architecture et principales fonctionnalités
L'innovation principale d'EfficientDet réside dans son réseau pyramidal bidirectionnel (BiFPN). Les FPN traditionnels additionnent les caractéristiques de différentes échelles sans distinction, mais le BiFPN introduit des poids apprenables pour mettre l'accent sur les caractéristiques les plus importantes lors de la fusion. Combiné à un réseau EfficientNet, ce réseau permet au modèle d'atteindre une précision de pointe avec beaucoup moins de paramètres et d'opérations en virgule flottante par seconde (Floating Point Operations per Second).
- Échelle composée : La largeur du réseau, la profondeur et la résolution de l'image sont simultanément mises à l'échelle à l'aide d'un simple coefficient composé.
- BiFPN : Permet une fusion simple et rapide des caractéristiques multi-échelles.
- Efficacité : optimisée pour minimiser l'utilisation des ressources tout en maximisant la précision moyenne (mAP ).
Modèle de métadonnées
- Auteurs : Mingxing Tan, Ruoming Pang et Quoc V. Le
- Organisation :Google
- Date : 2019-11-20
- Arxiv :EfficientDet : Détection d'objets efficace et évolutive
En savoir plus sur EfficientDet
YOLOX : L'évolution sans ancrage
YOLOX représente une évolution de la série YOLO vers une conception sans ancrage. En supprimant le besoin de boîtes d'ancrage prédéfinies, YOLOX simplifie le processus de formation et améliore la généralisation dans divers ensembles de données.
Architecture et principales fonctionnalités
YOLOX découple la tête de détection, en séparant les tâches de classification et de régression dans des branches différentes. Cette conception de "tête découplée" conduit généralement à une convergence plus rapide et à de meilleures performances. En outre, il intègre SimOTA, une stratégie avancée d'attribution d'étiquettes qui assigne dynamiquement des échantillons positifs, réduisant ainsi le temps d'apprentissage et améliorant la précision.
- Sans ancrage : élimine la nécessité d'un réglage manuel de la boîte d'ancrage, ce qui réduit la complexité de la conception.
- Tête découplée : améliore les performances en séparant les tâches de classification et de localisation.
- Augmentation avancée : Utilise les augmentations Mosaic et MixUp pour une formation solide.
Modèle de métadonnées
- 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
Comparaison des performances et analyse comparative
Les compromis entre ces deux modèles sont distincts. EfficientDet est conçu pour l'efficacité des paramètres, ce qui en fait un concurrent de taille pour les applicationsCPU ou les scénarios où la taille du modèle (stockage) est la principale contrainte. À l'inverse, YOLOX est optimisé pour la latence duGPU , tirant parti d'opérations adaptées au matériel pour offrir des vitesses d'inférence rapides sur des appareils tels que NVIDIA T4 ou V100.
Le tableau ci-dessous met en évidence ces différences sur l'ensemble de données COCO . Notez que les modèles YOLOX offrent généralement des vitesses d'inférence plus rapides sur le matériel GPU par rapport aux variantes EfficientDet d'une précision similaire.
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Points clés à retenir
- Latence vs. débit : YOLOX-s atteint un temps de latence de 2,56 ms sur T4 TensorRT, significativement plus rapide que EfficientDet-d0 (3,92 ms), malgré un plus grand nombre de paramètres. Ceci illustre l'optimisation supérieure de YOLOX pour l'inférence en temps réel sur les GPU.
- Taille du modèle : EfficientDet-d0 reste très compétitif pour les appareils de bord avec un stockage extrêmement limité, avec un nombre de paramètres compact de 3,9M.
- Mise à l'échelle : EfficientDet-d7 atteint un mAP élevé de 53,7 mais au prix d'une latence élevée (128 ms), ce qui le rend moins adapté aux flux vidéo en direct que les modèles plus légers.
L'avantage Ultralytics
Si EfficientDet et YOLOX ont été les pionniers de techniques importantes, le domaine de la vision par ordinateur évolue rapidement. Ultralytics YOLO11 représente l'avant-garde, intégrant les meilleures leçons architecturales des générations précédentes dans un ensemble unifié et très performant.
Pour les développeurs et les chercheurs, Ultralytics offre des avantages indéniables par rapport aux modèles existants :
- Facilité d'utilisation : l'APIPython d'Ultralytics est conçue pour être simple. Vous pouvez charger un modèle, prédire sur une image et visualiser les résultats en quelques lignes de code seulement, ce qui réduit la barrière à l'entrée des solutions d'IA.
- Un écosystème complet : Contrairement aux référentiels autonomes, les modèles Ultralytics sont soutenus par un écosystème robuste. Cela inclut des intégrations transparentes avec des outils MLOps tels que Weights & Biases et ClearMLainsi qu'un soutien actif de la communauté.
- Équilibre des performances : Les modèlesYOLO d'Ultralytics sont conçus pour offrir un compromis optimal entre vitesse et précision. Ils surpassent souvent YOLOX en termes de temps de latence tout en égalant l'efficacité des paramètres d'EfficientDet.
- Exigences en matière de mémoire : Les modèles Ultralytics sont optimisés pour une utilisation réduite de la mémoire CUDA pendant l'apprentissage par rapport à de nombreuses architectures CNN anciennes ou basées sur des transformateurs, ce qui vous permet d'entraîner des lots plus importants sur du matériel standard.
- Polyvalence : Un seul cadre Ultralytics prend en charge la détection d'objets, la segmentation d'instances, l'estimation de la pose, la classification et les boîtes de délimitation orientées (OBB). Cette polyvalence élimine la nécessité d'apprendre différentes bases de code pour différentes tâches.
Exemple de déduction simple
Voyez à quel point il est facile de faire de l'inférence avec Ultralytics YOLO11 par rapport aux pipelines complexes existants :
from ultralytics import YOLO
# Load a pre-trained YOLO11n model
model = YOLO("yolo11n.pt")
# Run inference on a local image
results = model("bus.jpg")
# Display the results
results[0].show()
Conclusion : Cas d'utilisation idéaux
Le choix entre EfficientDet, YOLOX et Ultralytics YOLO dépend de vos contraintes spécifiques.
- Choisissez EfficientDet si votre application est déployée sur du matériel où l'espace de stockage et les FLOPs sont le goulot d'étranglement absolu, comme les microcontrôleurs embarqués de très petite taille. Sa mise à l'échelle fondée sur des principes permet un contrôle fin de la taille du modèle.
- Choisissez YOLOX si vous déployez sur des GPU et si vous avez besoin d'une vitesse brute. Son architecture permet d'éviter certains des frais généraux opérationnels des méthodes basées sur l'ancrage, ce qui la rend très efficace pour l'analyse vidéo en temps réel sur le matériel pris en charge.
- Choisissez Ultralytics YOLO11 pour la meilleure performance globale. Il combine la vitesse de YOLOX avec l'efficacité des conceptions architecturales modernes. De plus, son écosystème, sa documentation et son support multi-tâches réduisent considérablement le temps de développement, ce qui en fait le meilleur choix pour le prototypage rapide et les déploiements de production évolutifs.
Autres comparaisons de modèles
Approfondissez les différences techniques entre les principaux modèles de vision par ordinateur :