EfficientDet vs YOLOX : changements architecturaux dans la détection d'objets
L'évolution de la vision par ordinateur a été marquée par des moments charnières où de nouvelles architectures ont redéfini l'équilibre entre vitesse et précision. EfficientDet et YOLOX constituent deux de ces étapes importantes. Alors qu'EfficientDet a introduit le concept d'efficacité évolutive grâce à la mise à l'échelle composée, YOLOX a comblé le fossé entre la recherche universitaire et l'application industrielle grâce à sa conception sans ancrage.
Ce guide fournit une comparaison technique complète de ces deux modèles influents, en analysant leurs architectures, leurs mesures de performance et leurs cas d'utilisation idéaux afin de vous aider à choisir l'outil adapté à votre projet. Nous explorons également comment des solutions modernes telles que Ultralytics s'appuient sur ces fondements pour offrir des performances de nouvelle génération.
Analyse comparative des performances
Pour comprendre les compromis entre ces architectures, il est essentiel d'examiner leurs performances sur des benchmarks standard tels que COCO . Le tableau ci-dessous illustre la corrélation entre la taille des modèles et la précision (mAP) et la vitesse d'inférence sur GPU CPU GPU .
| 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 : Efficacité évolutive
Développé par l'équipe Google , EfficientDet représente une approche systématique de la mise à l'échelle des modèles. Il a été conçu pour optimiser l'efficacité dans un large éventail de contraintes de ressources, des appareils mobiles aux accélérateurs haut de gamme.
- Auteurs : Mingxing Tan, Ruoming Pang et Quoc V. Le
- Organisation :Google
- Date : Novembre 2019
- Arxiv :EfficientDet : detect d’objets évolutive et efficace
- GitHub :google/automl/efficientdet
En savoir plus sur EfficientDet
Principales caractéristiques architecturales
EfficientDet repose sur l'infrastructure EfficientNet, qui utilise la mise à l'échelle composée pour adapter de manière uniforme la profondeur, la largeur et la résolution du réseau. Une innovation majeure a été le BiFPN (Bi-directional Feature Pyramid Network), qui permet une fusion facile et rapide des caractéristiques à plusieurs échelles. Contrairement aux FPN traditionnels, le BiFPN introduit des poids apprenables pour différentes caractéristiques d'entrée, soulignant l'importance de cartes de caractéristiques spécifiques lors de la fusion.
Cas d'utilisation idéaux
EfficientDet excelle dans les scénarios où la taille du modèle et les FLOP sont les principales contraintes, comme les applications mobiles ou les appareils alimentés par batterie. Son architecture est particulièrement bien adaptée au traitement d'images statiques, où la latence est moins critique que l'efficacité des paramètres. Cependant, ses couches de fusion de caractéristiques complexes peuvent parfois entraîner des vitesses d'inférence plus lentes sur les GPU par rapport à des architectures plus simples comme YOLO.
Mise à l'échelle des composés
La philosophie fondamentale d'EfficientDet est que la mise à l'échelle d'un modèle ne doit pas être arbitraire. En équilibrant simultanément la profondeur, la largeur et la résolution, EfficientDet atteint une meilleure précision avec moins de paramètres que les modèles mis à l'échelle dans une seule dimension.
YOLOX : Innovation sans ancre
YOLOX marque une rupture significative par rapport aux conceptions basées sur des ancres de ses prédécesseurs (comme YOLOv4 et YOLOv5). Développé par Megvii, il réintroduit le mécanisme sans ancrage dans la YOLO , simplifiant ainsi le processus d'entraînement et améliorant les performances.
- Auteurs : Zheng Ge, Songtao Liu, Feng Wang, Zeming Li et Jian Sun
- Organisation :Megvii
- Date : juillet 2021
- Arxiv:YOLOX : Dépasser la série YOLO en 2021
- GitHub :Megvii-BaseDetection/YOLOX
Principales caractéristiques architecturales
YOLOX intègre une tête découplée, qui sépare les tâches de classification et de régression en différentes branches. Ce choix de conception résout le conflit entre la confiance de classification et la précision de localisation, ce qui accélère la convergence. De plus, YOLOX utilise SimOTA (Simplified Optimal Transport Assignment) pour l'attribution dynamique d'étiquettes, qui est robuste face à divers hyperparamètres et améliore la précision de détection.
Cas d'utilisation idéaux
YOLOX est très efficace pour les tâches générales de détection d'objets qui exigent un équilibre entre vitesse et précision. Il est largement utilisé dans les bases de référence de recherche en raison de sa structure de code claire et de sa conception plus simple par rapport aux détecteurs basés sur des ancrages. Il fonctionne bien dans les environnements dynamiques, ce qui le rend adapté à l'analyse vidéo et aux systèmes autonomes de base.
Ultralytics : au-delà des architectures traditionnelles
Si EfficientDet et YOLOX restent des références importantes, le domaine a connu une évolution rapide. Le développement moderne nécessite des outils qui non seulement fonctionnent bien, mais qui sont également faciles à intégrer, à former et à déployer. C'est là que Ultralytics excelle.
Des modèles comme YOLO11 et le modèle de pointe YOLO26 offrent des avantages significatifs par rapport à ces architectures traditionnelles :
- Facilité d'utilisation : Ultralytics une Python unifiée, « zero-to-hero ». Vous pouvez entraîner un modèle, le valider et l'exporter pour le déployer en quelques lignes de code seulement. Cela contraste fortement avec les fichiers de configuration complexes et les référentiels fragmentés des anciens modèles de recherche.
- Équilibre des performances : Ultralytics sont conçus pour offrir un compromis optimal entre vitesse et précision. Ils surpassent systématiquement leurs prédécesseurs sur les indicateurs standard tout en conservant une latence réduite.
- Efficacité mémoire : contrairement aux modèles basés sur des transformateurs ou aux architectures plus anciennes et plus lourdes,YOLO Ultralytics nécessitent beaucoup moins CUDA pendant l'entraînement. Cela permet d'utiliser des lots plus importants sur des GPU grand public, démocratisant ainsi l'accès à l'IA haute performance.
- Écosystème bien entretenu : grâce à des mises à jour fréquentes, un soutien actif de la communauté et une documentation complète, Ultralytics la pérennité de vos projets. La Ultralytics simplifie encore davantage la gestion des ensembles de données et l'entraînement des modèles.
Coup de projecteur : YOLO26
Pour les développeurs à la recherche de la technologie la plus avancée, YOLO26 représente le summum en matière d'efficacité et de performances.
- NMS de bout en bout : en éliminant la suppression non maximale (NMS), YOLO26 simplifie les pipelines de déploiement et réduit la variabilité de la latence d'inférence.
- Optimisation en périphérie : grâce à des fonctionnalités telles que la suppression de la perte focale de distribution (DFL), YOLO26 est jusqu'à 43 % plus rapide en termes CPU , ce qui le rend idéal pour les applications d'IA en périphérie.
- Polyvalence : au-delà de la détection, YOLO26 prend en charge nativement la segmentation, l'estimation de pose et l'OBB, offrant ainsi une boîte à outils complète pour diverses tâches de vision.
Résumé de la comparaison
| Fonctionnalité | EfficientDet | YOLOX | Ultralytics YOLO26 |
|---|---|---|---|
| Architecture | BiFPN + EfficientNet | Tête découplée sans ancrage | De bout en bout, NMS |
| Focus | Efficacité des paramètres | Recherche et détection générale | Déploiement en temps réel et à la pointe de la technologie |
| Facilité d'utilisation | Modéré (TensorFlow ) | Bon (PyTorch) | Excellent (API unifiée) |
| Déploiement | Complexe (NMS ) | Complexe (NMS ) | Simple (NMS) |
| Tâches | Détection | Détection | Détection, Seg, Pose, OBB, Classification |
Exemple de code : Formation avec Ultralytics
La simplicité de Ultralytics permet une itération rapide. Voici à quel point il est facile de commencer à entraîner un modèle de pointe par rapport aux configurations complexes des frameworks traditionnels :
from ultralytics import YOLO
# Load a pre-trained YOLO26 model (recommended for transfer learning)
model = YOLO("yolo26n.pt")
# Train the model on the COCO8 dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
Que vous travailliez dans le domaine de l'automatisation industrielle ou de la surveillance des villes intelligentes, choisir un cadre moderne et pris en charge comme Ultralytics vous Ultralytics passer moins de temps à vous battre avec le code et plus de temps à résoudre des problèmes concrets.
Lectures complémentaires
Explorez d'autres comparaisons pour approfondir votre compréhension du paysage de la détection d'objets :