Passer au contenu

EfficientDet vs. YOLOX : Une comparaison technique complète

Le choix de l'architecture de détection d'objets appropriée est une décision essentielle dans le développement de la vision par ordinateur. Deux modèles importants qui ont façonné le paysage sont EfficientDet, développé par Google pour une évolutivité optimale, et YOLOX, un détecteur sans ancrage haute performance de Megvii. Alors que EfficientDet se concentre sur la maximisation de la précision dans le cadre de budgets de calcul stricts en utilisant la mise à l'échelle composite, YOLOX privilégie la vitesse d'inférence et les pipelines d'entraînement simplifiés.

Ce guide fournit une analyse détaillée de leurs architectures, de leurs mesures de performance et de leurs scénarios de déploiement idéaux pour vous aider à choisir la solution la mieux adaptée à votre projet. De plus, 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 mettaient à l’échelle les dimensions arbitrairement, EfficientDet utilise une méthode de mise à l’échelle composée basée sur des principes qui met à l’échelle 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 de pyramides de caractéristiques bidirectionnel (BiFPN). Les FPN traditionnels additionnent les caractéristiques de différentes échelles sans distinction, mais BiFPN introduit des poids apprenables pour mettre en évidence les caractéristiques les plus importantes lors de la fusion. Combiné à un backbone EfficientNet, cela permet au modèle d'atteindre une précision de pointe avec beaucoup moins de paramètres et de FLOPs (Floating Point Operations per Second).

  • Mise à l’échelle composite : Met simultanément à l’échelle la largeur, la profondeur et la résolution de l’image du réseau à l’aide d’un simple coefficient composite.
  • BiFPN : Permet une fusion de caractéristiques multi-échelles facile et rapide.
  • Efficacité : optimisé pour minimiser l'utilisation des ressources tout en maximisant le mAP (précision moyenne moyenne).

Métadonnées du modèle

En savoir plus sur EfficientDet

YOLOX : L’évolution sans ancrage

YOLOX représente un tournant dans la série YOLO vers une conception sans ancres. En supprimant le besoin de boîtes d'ancrage prédéfinies, YOLOX simplifie le processus d'entraînement et améliore la généralisation à travers divers ensembles de données.

Architecture et principales fonctionnalités

YOLOX découple la tête de détection, séparant les tâches de classification et de régression en différentes branches. Cette conception de "tête découplée" conduit généralement à une convergence plus rapide et à de meilleures performances. De plus, il intègre SimOTA, une stratégie avancée d'attribution d'étiquettes qui attribue dynamiquement des échantillons positifs, réduisant ainsi le temps d'entraînement et améliorant la précision.

  • Sans ancres : Élimine le besoin de réglage manuel des boîtes d'ancrage, réduisant ainsi 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 un entraînement robuste.

Métadonnées du modèle

En savoir plus sur YOLOX

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 applications liées au CPU ou les scénarios où la taille du modèle (stockage) est la principale contrainte. Inversement, YOLOX est optimisé pour la latence du GPU, tirant parti des opérations compatibles avec le matériel pour fournir 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 de précision similaire.

ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
EfficientDet-d064034.610.23.923.92.54
EfficientDet-d164040.513.57.316.66.1
EfficientDet-d264043.017.710.928.111.0
EfficientDet-d364047.528.019.5912.024.9
EfficientDet-d464049.742.833.5520.755.2
EfficientDet-d564051.572.567.8633.7130.0
EfficientDet-d664052.692.889.2951.9226.0
EfficientDet-d764053.7122.0128.0751.9325.0
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9

Points clés à retenir

  • Latence vs. débit : YOLOX-s atteint un temps fulgurant de 2,56 ms sur TensorRT T4, ce qui est nettement plus rapide que EfficientDet-d0 (3,92 ms), malgré un plus grand nombre de paramètres. Cela 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 périphériques avec un stockage extrêmement limité, affichant un nombre de paramètres compact de 3,9 millions.
  • 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 par rapport aux modèles plus légers.

L'avantage Ultralytics

Bien que EfficientDet et YOLOX aient été les pionniers de techniques importantes, le domaine de la vision par ordinateur évolue rapidement. Ultralytics YOLO11 représente la fine pointe, intégrant les meilleures leçons architecturales des générations précédentes dans un ensemble unifié et haute performance.

Pour les développeurs et les chercheurs, Ultralytics offre des avantages considérables par rapport aux modèles existants :

  • Facilité d'utilisation : L'API Python Ultralytics est conçue pour la simplicité. Vous pouvez charger un modèle, prédire sur une image et visualiser les résultats en quelques lignes de code, ce qui réduit la barrière à l'entrée pour les solutions d'IA.
  • Écosystème complet : Contrairement aux référentiels autonomes, les modèles Ultralytics sont soutenus par un écosystème robuste. Cela comprend des intégrations transparentes avec des outils MLOps comme Weights & Biases et ClearML, ainsi qu’un soutien communautaire actif.
  • Équilibre des performances : Les modèles Ultralytics YOLO sont conçus pour offrir le compromis optimal entre vitesse et précision. Ils surpassent souvent YOLOX en termes de latence tout en égalant l'efficacité des paramètres d'EfficientDet.
  • Exigences de mémoire : Les modèles Ultralytics sont optimisés pour une utilisation plus faible de la mémoire CUDA pendant l’entraînement par rapport à de nombreuses architectures CNN plus 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 framework Ultralytics unique prend en charge la détection d’objets, la segmentation d’instance, l’estimation de pose, la classification et les boîtes englobantes orientées (OBB). Cette polyvalence élimine le besoin d’apprendre différents codes de base pour différentes tâches.

Exemple d'inférence simple

Voyez comme il est facile d'exécuter l'inférence avec Ultralytics YOLO11 par rapport aux pipelines hérités complexes :

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 très petits microcontrôleurs embarqués. Sa mise à l’échelle basée sur des principes permet un contrôle précis de la taille du modèle.
  • Choisissez YOLOX si vous déployez sur des GPU et que vous avez besoin de vitesse brute. Son architecture évite certaines des surcharges opérationnelles des méthodes basées sur l'ancrage, ce qui le 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 sa prise en charge multitâche réduisent considérablement le temps de développement, ce qui en fait le choix supérieur pour le prototypage rapide et les déploiements de production évolutifs.

Autres comparaisons de modèles

Explorez plus en profondeur les différences techniques entre les principaux modèles de vision par ordinateur :


Commentaires