EfficientDet vs YOLOX#
Lors de la conception d’un pipeline moderne de vision par ordinateur, le choix du modèle est crucial, car il détermine à la fois la précision et la viabilité en temps réel. Ce guide technique propose une comparaison approfondie de deux architectures marquantes de l’évolution des réseaux neuronaux : EfficientDet de Google et YOLOX de Megvii. Nous analyserons leurs approches architecturales, évaluerons leurs performances mesurées et verrons comment elles se comparent à des solutions de pointe comme le nouvel Ultralytics YOLO26.
Présentation d’EfficientDet#
Présenté par l’équipe Google Brain, EfficientDet a introduit une approche très structurée de la mise à l’échelle des modèles, démontrant qu’il était possible d’obtenir une grande précision avec beaucoup moins de paramètres que les réseaux contemporains fortement paramétrés.
Détails d’EfficientDet :
- Auteurs : Mingxing Tan, Ruoming Pang et Quoc V. Le
- Organisation : Google
- Date : 2019-11-20
- ArXiv : 1911.09070
- GitHub : google/automl/efficientdet
- Documentation : documentation d’EfficientDet
Points forts de l’architecture#
EfficientDet repose sur le backbone EfficientNet et applique une méthode de mise à l’échelle composée qui ajuste uniformément la résolution, la profondeur et la largeur du réseau. Sa caractéristique phare est le réseau pyramidal de caractéristiques bidirectionnel (BiFPN), qui permet une fusion rapide et efficace des caractéristiques à plusieurs échelles. En utilisant des poids apprenables pour les différentes caractéristiques d’entrée, BiFPN veille à ce que le réseau privilégie les données spatiales les plus importantes.
Bien que les FLOP théoriques d’EfficientDet soient remarquablement faibles, sa dépendance à l’écosystème TensorFlow et à d’anciennes configurations d’AutoML peut compliquer son intégration aux flux de travail PyTorch modernes et rapides. De plus, son réseau complexe à plusieurs branches peut parfois entraîner une consommation de mémoire à l’entraînement supérieure aux attentes, comparée à celle des variantes YOLO modernes.
En savoir plus sur EfficientDet
Présentation de YOLOX#
Sorti deux ans plus tard, YOLOX cherchait à combler le fossé entre la recherche universitaire et le déploiement industriel en transformant l’architecture YOLO traditionnelle en un framework sans ancres.
Détails sur YOLOX :
- Auteurs : Zheng Ge, Songtao Liu, Feng Wang, Zeming Li et Jian Sun
- Organisation : Megvii
- Date : 2021-07-18
- ArXiv : 2107.08430
- GitHub : Megvii-BaseDetection/YOLOX
- Docs : Documentation de YOLOX
Points forts de l’architecture#
YOLOX a considérablement simplifié le paradigme de la détection d’objets. En adoptant une conception sans ancres, YOLOX a éliminé le besoin de régler des boîtes d’ancrage complexes et propres à chaque jeu de données, réduisant ainsi la charge heuristique. Il a également intégré une tête découplée, qui sépare les tâches de classification et de localisation, accélérant considérablement la convergence. De plus, l’introduction de la stratégie d’attribution d’étiquettes SimOTA a optimisé l’allocation dynamique des échantillons positifs pendant l’entraînement.
Malgré ces progrès, la gestion des dépôts YOLOX nécessite souvent de compiler manuellement des extensions C++ et de gérer des dépendances complexes, ce qui peut ralentir le déploiement de modèles pour les équipes moins expérimentées.
Comparaison des performances#
Lors de l’évaluation de modèles pour la production, il est essentiel de trouver un équilibre entre la précision moyenne (mAP) et la vitesse d’inférence. Le tableau ci-dessous compare directement les familles EfficientDet et YOLOX selon les benchmarks COCO standard.
| 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 |
EfficientDet atteint une grande précision avec ses variantes plus grandes d7, tandis que YOLOX offre une latence bien inférieure sur le matériel GPU (via TensorRT), ce qui en fait un meilleur choix pour les applications à FPS élevé, comme la conduite autonome ou le suivi sportif.
Cas d’utilisation et recommandations#
Le choix entre EfficientDet et YOLOX dépend des exigences spécifiques de ton projet, des contraintes de déploiement et de tes préférences en matière d’écosystème.
Quand choisir EfficientDet#
EfficientDet est un bon choix pour :
- Pipelines Google Cloud et TPU : systèmes étroitement intégrés aux API Google Cloud Vision ou à l’infrastructure TPU, où EfficientDet bénéficie d’une optimisation native.
- Recherche sur la mise à l’échelle composée : évaluation comparative universitaire axée sur l’étude des effets d’une mise à l’échelle équilibrée de la profondeur, de la largeur et de la résolution du réseau.
- Déploiement mobile avec LiteRT : projets nécessitant spécifiquement l’exportation vers LiteRT (anciennement TensorFlow Lite) pour Android ou les appareils Linux embarqués.
Quand choisir YOLOX#
YOLOX est recommandé pour :
- Recherche sur la détection sans ancres : recherche universitaire qui utilise l’architecture épurée sans ancres de YOLOX comme référence pour expérimenter de nouvelles têtes de détection ou fonctions de perte.
- Appareils périphériques ultralégers : déploiement sur des microcontrôleurs ou du matériel mobile ancien, où l’empreinte extrêmement réduite (0,91 M de paramètres) de la variante YOLOX-Nano est essentielle.
- Études sur l’assignation d’étiquettes SimOTA : projets de recherche qui étudient les stratégies d’assignation d’étiquettes basées sur le transport optimal et leur impact sur la convergence de l’entraînement.
Quand choisir Ultralytics (YOLO26)#
Pour la plupart des nouveaux projets, Ultralytics YOLO26 offre le meilleur équilibre entre performances et expérience développeur :
- Déploiement en périphérie sans NMS : les applications qui exigent des inférences à faible latence et constantes, sans la complexité du post-traitement par suppression non maximale.
- Environnements exclusivement CPU : les appareils dépourvus d’accélération GPU dédiée, où l’inférence CPU jusqu’à 43 % plus rapide de YOLO26 constitue un avantage décisif.
- Détection de petits objets : les situations difficiles, comme l’imagerie aérienne par drone ou l’analyse de capteurs IoT, où ProgLoss et STAL améliorent considérablement la précision pour les objets minuscules.
L’avantage Ultralytics : présentation de YOLO26#
Alors qu’EfficientDet et YOLOX ont représenté des avancées majeures à leur époque, la vision par ordinateur moderne exige davantage de polyvalence, des flux de travail simplifiés et une vitesse sans compromis. Pour les développeurs qui privilégient la simplicité d’utilisation, une empreinte mémoire réduite et un écosystème bien entretenu, nous recommandons vivement de passer à Ultralytics YOLO26, lancé en janvier 2026.
YOLO26 marque un changement de paradigme dans la lignée YOLO et surmonte méthodiquement les limites des anciens modèles comme YOLOX et EfficientDet :
- Conception de bout en bout sans NMS : Contrairement à EfficientDet et YOLOX, qui nécessitent une suppression non maximale (NMS) coûteuse en post-traitement, YOLO26 prend en charge nativement l’inférence de bout en bout grâce à sa tête facultative one-to-one (
nms=False). Cette approche élimine les goulots d’étranglement liés à la latence de NMS et simplifie considérablement le déploiement en périphérie. - Inférence CPU jusqu’à 43 % plus rapide : Grâce à des ajustements stratégiques de l’architecture et à la suppression de DFL (Distribution Focal Loss), YOLO26 est spécialement optimisé pour les environnements sans GPU dédié et offre d’excellentes performances sur du matériel d’IA en périphérie comme le Raspberry Pi.
- Optimiseur MuSGD : Inspiré par les innovations en matière d’entraînement des LLM (comme Kimi K2 de Moonshot AI), YOLO26 utilise une approche hybride combinant SGD et Muon. Cela garantit un entraînement extrêmement stable et une convergence plus rapide, bien supérieure à celle des anciens estimateurs TensorFlow.
- ProgLoss + STAL : Les fonctions de perte avancées améliorent notablement la reconnaissance des petits objets, une faiblesse historique de YOLOX et d’EfficientDet. C’est essentiel pour l’analyse par drone et l’IoT.
- Polyvalence remarquable : Alors qu’EfficientDet et YOLOX sont exclusivement des détecteurs de boîtes englobantes, YOLO26 prend nativement en charge la segmentation d’instances, l’estimation de pose (via l’estimation de la vraisemblance résiduelle) et les boîtes englobantes orientées (OBB).
Expérience utilisateur simplifiée et efficacité de l’entraînement#
L’un des principaux obstacles avec des modèles comme YOLOX est la configuration de l’environnement d’entraînement. L’API Python unifiée d’Ultralytics permet d’entraîner un modèle de pointe avec seulement quelques lignes de code. De plus, les modèles YOLO disposent de chargeurs de données hautement optimisés, qui consomment nettement moins de mémoire CUDA que les modèles reposant fortement sur les Transformers ou les anciens réseaux à branches multiples.
from ultralytics import YOLO
# Charger le modèle YOLO26n de pointe (l’inférence sans NMS est disponible avec nms=False)
model = YOLO("yolo26n.pt")
# Entraîner le modèle sur ton jeu de données personnalisé
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Exporter facilement le modèle vers ONNX ou OpenVINO pour le déploiement en périphérie
model.export(format="openvino")Conclusion : faire le bon choix#
Si tu maintiens un système hérité profondément intégré à l’écosystème TensorFlow, EfficientDet reste un choix stable, en particulier lorsque la mise à l’échelle composée à grande échelle est théoriquement nécessaire. En revanche, si tu recherches une vitesse pure sur d’anciennes bases de code sans ancres, YOLOX constitue un détecteur rapide et fiable.
Cependant, pour tout nouveau projet destiné à la production, le choix est sans équivoque Ultralytics YOLO26 (ou le très stable YOLO11 pour assurer la prise en charge des systèmes d’entreprise existants). Grâce à l’inférence facultative de bout en bout sans NMS, à des vitesses CPU nettement améliorées et à un pipeline de déploiement fluide sur des plateformes comme OpenVINO et TensorRT, YOLO26 garantit la pérennité de tes applications de vision par ordinateur, leur grande précision et leur facilité de maintenance.