YOLOX vs EfficientDet : comparaison technique des architectures de détection d'objets
Le choix de l'architecture optimale pour la détection d'objets est une décision cruciale qui a un impact sur la latence, la précision et l'évolutivité des systèmes de vision par ordinateur. Cette comparaison examine en détail les différences techniques entre YOLOX, un détecteur haute performance sans ancrage développé par Megvii, et EfficientDet, l'architecture évolutive Google axée sur l'efficacité.
Si ces deux modèles ont façonné le paysage de la vision par ordinateur, les applications modernes exigent de plus en plus des solutions offrant un déploiement simplifié et des performances natives en périphérie. Nous explorerons également comment la technologie de pointe YOLO26 s'appuie sur ces héritages pour fournir des résultats supérieurs.
Métriques de performance et benchmarks
Le tableau suivant compare les performances de différents modèles à différentes échelles sur l'COCO . Les indicateurs clés comprennent la précision moyenne (mAP) et la latence d'inférence, mettant en évidence les compromis entre vitesse et précision.
| 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 |
YOLOX : L’évolution sans ancrage
YOLOX représente un changement significatif dans la YOLO en adoptant un mécanisme sans ancrage et en découplant la tête de détection. Cette conception simplifie le processus d'entraînement et améliore les performances sur divers ensembles de données.
Auteur : Zheng Ge, Songtao Liu, Feng Wang, Zeming Li et Jian Sun
Organisation : Megvii
Date : 18/07/2021
Arxiv : https://arxiv.org/abs/2107.08430
GitHub : https://github.com/Megvii-BaseDetection/YOLOX
Principales caractéristiques architecturales
- Tête découplée : contrairement YOLO précédentes YOLO qui utilisaient une tête couplée pour la classification et la localisation, YOLOX sépare ces tâches. Cela permet une convergence plus rapide et une meilleure précision.
- Conception sans ancrage : en supprimant les boîtes d'ancrage, YOLOX élimine le besoin d'un réglage manuel de l'ancrage, ce qui rend le modèle plus robuste face à des formes d'objets variées.
- Attribution d'étiquettes SimOTA : YOLOX introduit SimOTA, une stratégie avancée d'attribution d'étiquettes qui associe de manière dynamique les objets réels aux prédictions, équilibrant ainsi efficacement la fonction de perte.
Points forts et faiblesses
YOLOX excelle dans les scénarios nécessitant un équilibre entre vitesse et précision, en particulier lorsque les problèmes liés aux ancrages traditionnels (comme le déséquilibre) posaient problème. Cependant, son recours à des pipelines d'augmentation de données lourds peut parfois compliquer la configuration de l'entraînement pour les ensembles de données personnalisés.
EfficientDet : Efficacité évolutive
EfficientDet se concentre sur l'optimisation de l'efficacité grâce à une méthode de mise à l'échelle composite qui adapte uniformément la résolution, la profondeur et la largeur du réseau principal, du réseau de caractéristiques et des réseaux de prédiction de boîte/classe.
Auteurs : Mingxing Tan, Ruoming Pang et Quoc V. Le
Organisation : Google
Date : 20/11/2019
Arxiv : https://arxiv.org/abs/1911.09070
GitHub : google
Principales caractéristiques architecturales
- EfficientNet Backbone : utilise EfficientNet, optimisé pour les FLOP et l'efficacité des paramètres.
- BiFPN (Bidirectional Feature Pyramid Network) : couche de fusion de caractéristiques pondérée qui permet une fusion facile et rapide de caractéristiques à plusieurs échelles.
- Mise à l'échelle composée : méthode distincte qui met à l'échelle toutes les dimensions du réseau simultanément, plutôt que d'augmenter uniquement la profondeur ou la largeur de manière isolée.
Points forts et faiblesses
EfficientDet est très efficace pour les applications où la taille du modèle (stockage) est une contrainte majeure, comme les applications mobiles. Bien qu'il atteigne mAP élevé, sa vitesse d'inférence sur les GPU est souvent inférieure à YOLO en raison de la complexité du BiFPN et des convolutions séparables en profondeur, qui sont parfois moins optimisées dans le matériel que les convolutions standard.
Ultralytics : entrez YOLO26
Si YOLOX et EfficientDet ont joué un rôle central entre 2019 et 2021, le domaine a connu des progrès rapides. YOLO26, lancé par Ultralytics janvier 2026, représente la pointe de la technologie en matière d'IA visuelle, remédiant aux limites des générations précédentes grâce à des innovations révolutionnaires.
Facilité d'utilisation et écosystème
Les développeurs qui choisissent Ultralytics d'un écosystème unifié, « zero-to-hero ». Contrairement aux référentiels de recherche fragmentés de YOLOX ou EfficientDet, la Ultralytics et l'API Ultralytics vous permettent de former, valider et déployer des modèles de manière transparente. L'écosystème prend en charge l'itération rapide grâce à des fonctionnalités telles que l'annotation automatique et l'exportation en un clic vers des formats tels que ONNX et OpenVINO.
Caractéristiques de performance de nouvelle génération
YOLO26 introduit plusieurs avancées architecturales qui le rendent supérieur pour les déploiements modernes :
Conception NMS de bout en bout : YOLO26 est nativement de bout en bout, éliminant ainsi le besoin d'un post-traitement par suppression non maximale (NMS). Cela réduit la variance de latence et simplifie les pipelines de déploiement, un concept lancé dans YOLOv10 et perfectionné ici.
Optimiseur MuSGD : inspiré de l'entraînement des grands modèles linguistiques (LLM), l'optimiseur MuSGD combine la stabilité du SGD les propriétés d'élan du Muon. Il en résulte une convergence plus rapide pendant l'entraînement et des poids finaux plus robustes.
Efficacité Edge-First : en supprimant la perte focale de distribution (DFL), YOLO26 simplifie la structure de la couche de sortie. Cette modification, combinée à des optimisations architecturales, permet d'accélérer jusqu'à 43 % CPU par rapport aux générations précédentes, ce qui le rend nettement plus rapide qu'EfficientDet sur le matériel Edge.
ProgLoss + STAL : les nouvelles fonctions de perte ProgLoss et STAL apportent des améliorations notables dans la détection des petits objets, une faiblesse courante dans les modèles sans ancrage précédents. Cela est essentiel pour les applications dans l'imagerie aérienne et la robotique.
Conseil d'entraînement
L'optimiseur MuSGD de YOLO26 permet des taux d'apprentissage plus agressifs. Lorsque vous effectuez un apprentissage sur des ensembles de données personnalisés, pensez à utiliser le guide Ultralytics Tuning afin d'optimiser les performances.
Polyvalence et mémoire
Contrairement à YOLOX et EfficientDet, qui sont principalement des détecteurs, YOLO26 est un outil polyvalent et puissant. Il prend en charge nativement :
De plus, Ultralytics sont optimisés pour une utilisation efficace de la mémoire. L'entraînement d'un modèle YOLO26 nécessite généralement moins CUDA que les alternatives basées sur des transformateurs telles que RT-DETR, ce qui permet d'utiliser des lots plus importants sur des GPU grand public.
Exemple de code : Entraînement de YOLO26
Le passage à YOLO26 est très simple grâce àPython Ultralytics .
from ultralytics import YOLO
# Load the state-of-the-art YOLO26n model
model = YOLO("yolo26n.pt")
# Train on the COCO8 dataset
# The MuSGD optimizer and ProgLoss are handled automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
# NMS-free output is generated natively
results = model("https://ultralytics.com/images/bus.jpg")
Conclusion
Alors que YOLOX offre une base solide pour la recherche sans ancrage et qu'EfficientDet fournit une étude sur l'efficacité de la mise à l'échelle, YOLO26 se distingue comme le choix pragmatique pour 2026 et au-delà. Sa combinaison d'inférence NMS, CPU supérieure et du soutien robuste de Ultralytics en fait le candidat idéal pour les développeurs qui cherchent à repousser les limites de l'inférence en temps réel.
Pour ceux qui sont prêts à passer à la vitesse supérieure, découvrez toutes les fonctionnalités de YOLO26 dans notre documentation ou citez d'autres options modernes telles que YOLO11 pour des comparaisons avec les versions antérieures.