EfficientDet vsYOLO: une analyse approfondie de l'évolution de la détection d'objets
Dans le monde dynamique de la vision par ordinateur, la recherche d'un équilibre optimal entre précision et latence stimule une innovation constante. Deux architectures ont marqué leur époque respective : EfficientDet Google et YOLO d'Alibaba. Alors qu'EfficientDet a introduit une approche fondée sur des principes pour la mise à l'échelle des modèles,YOLO les limites des performances en temps réel grâce à la recherche d'architecture neuronale (NAS).
Ce guide fournit une comparaison technique complète de ces deux modèles, en analysant leurs particularités architecturales, leurs indicateurs de performance et leur adéquation avec les déploiements modernes. Pour les développeurs à la recherche de solutions de pointe, nous explorons également comment les nouveaux frameworks tels Ultralytics s'appuient sur ces fondements pour offrir une facilité d'utilisation et des performances supérieures.
Aperçu d'EfficientDet
Sorti fin 2019, EfficientDet a marqué un changement de paradigme dans la manière dont les modèles de détection d'objets étaient mis à l'échelle. Avant sa sortie, la mise à l'échelle était souvent effectuée de manière arbitraire. L'équipe de Google a introduit une méthode de mise à l'échelle composite qui adapte uniformément la résolution, la profondeur et la largeur, donnant naissance à une famille de modèles (D0-D7) adaptés à diverses contraintes en matière de ressources.
Auteurs : Mingxing Tan, Ruoming Pang et Quoc V. Le
Organisation :Google
Date : 20 novembre 2019
Arxiv :EfficientDet Paper
GitHub :google
Principales caractéristiques architecturales
- BiFPN (réseau pyramidal bidirectionnel pondéré) : contrairement aux FPN traditionnels, le BiFPN permet une fusion multi-échelle descendante et ascendante des caractéristiques. Il introduit des pondérations apprenables pour différentes caractéristiques d'entrée, reconnaissant que toutes les caractéristiques ne contribuent pas de manière égale à la sortie.
- Mise à l'échelle composée : un coefficient unifié $\phi$ contrôle la largeur, la profondeur et la résolution du réseau, garantissant ainsi une mise à l'échelle harmonieuse de la colonne vertébrale, du réseau de caractéristiques et des têtes de prédiction.
- EfficientNet Backbone : l'utilisation d'EfficientNet comme backbone permet une grande efficacité des paramètres, en tirant parti des couches de convolution inversée mobile (MBConv).
En savoir plus sur EfficientDet
Présentation de DAMO-YOLO
Développé par le groupe Alibaba en 2022,YOLO a été conçu en mettant l'accent sur les applications industrielles où la latence est primordiale. Il s'éloigne de la conception architecturale manuelle et utilise le NAS pour découvrir des structures efficaces adaptées à l'inférence haute performance.
Auteurs : Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang et Xiuyu Sun
Organisation :Alibaba Group
Date : 23 novembre 2022
Arxiv :YOLO
GitHub :YOLO
Principales innovations architecturales
- MAE-NAS Backbone : à l'aide d'une méthode appelée « Method-Aware Efficiency Neural Architecture Search »,YOLO des backbones spécialement optimisés pour la vitesse d'inférence, qui diffèrent considérablement du CSPNet conçu manuellement utilisé dans YOLOv5 ou YOLOv8.
- RepGFPN : un FPN généralisé efficace qui utilise la reparamétrisation (style RepVGG) pour fusionner les caractéristiques, réduisant ainsi la latence pendant l'inférence tout en conservant une expressivité élevée des caractéristiques pendant l'entraînement.
- ZeroHead : une tête de détection légère qui réduit considérablement la charge de calcul par rapport aux têtes découplées des modèles précédents.
- AlignedOTA : Une stratégie améliorée d’attribution d’étiquettes qui résout le problème de désalignement entre les tâches de classification et de régression pendant la formation.
Comparaison des performances
Le tableau suivant compare les performances d'EfficientDet etYOLO différentes échelles de modèle. Alors qu'EfficientDet offre une large gamme de tailles (jusqu'à D7 pour les tâches haute résolution),YOLO sur le « point idéal » de latence en temps réel (T/S/M/L).
| 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 |
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
Analyse
- Latence contre précision : YOLO une efficacité supérieure sur GPU . Par exemple,
DAMO-YOLOsatteint 46,0 mAP avec seulement 3,45 ms latence sur un GPU T4. En revanche,EfficientDet-d3atteint un niveau légèrement supérieur 47,5 mAP mais au prix de 19,59 ms—près de 5,5 fois plus lent. - Vieillissement de l'architecture : EfficientDet repose largement sur des convolutions séparables en profondeur. Bien qu'efficaces en termes de paramètres, ces opérations sont souvent limitées par la mémoire des GPU modernes, ce qui entraîne une utilisation moindre par rapport aux convolutions denses optimisées dans la structure NASYOLO.
- Exigences informatiques : EfficientDet-d7 nécessite d'énormes ressources informatiques (325 GFLOP) pour des gains marginaux en termes de précision (53,7 mAP), ce qui rend son déploiement difficile sur les appareils périphériques.
Formation et écosystème
L'expérience utilisateur diffère considérablement entre ces deux générations de modèles.
Écosystème EfficientDet
EfficientDet est profondément ancré dans l'écosystème Google et TensorFlow. Bien que puissant, les utilisateurs sont souvent confrontés à :
- Complexité des dépendances : passer de la version TensorFlow . TensorFlow à la version 2.x TensorFlow peut s'avérer difficile.
- Limitations des graphes statiques : l'exportation de modèles vers ONNX TensorRT nécessite TensorRT des scripts de conversion complexes qui peuvent ne pas prendre en charge toutes les opérations BiFPN de manière native.
YOLO
YOLO PyTorch, qui est généralement plus flexible pour la recherche. Cependant :
- Spécialisation : Il s'agit avant tout d'un référentiel de recherche. Bien qu'il soit excellent pour des tâches de détection spécifiques, il manque d'une utilité « prête à l'emploi » pour d'autres tâches telles que la segmentation ou l'estimation de la pose.
- Dépendance à la distillation : pour atteindre des performances optimales,YOLO utiliseYOLO la distillation à partir de modèles plus grands, ce qui ajoute de la complexité au pipeline d'entraînement.
Les questions liées à l'écosystème
Lorsque vous choisissez un modèle pour la production, ne tenez pas seulement compte du mAP de la facilité d'entraînement sur des données personnalisées. Un modèle qui nécessite plusieurs semaines d'intégration coûte souvent plus cher en temps d'ingénierie que le gain marginal de précision qu'il apporte.
Ultralytics : entrez YOLO26
Si EfficientDet etYOLO des étapes importantes dans le domaine de la vision par ordinateur, celui-ci a continué d'évoluer. Ultralytics représente la nouvelle génération d'IA dédiée à la vision, combinant l'efficacité architecturale des modèles basés sur le NAS et la facilité d'utilisation de Ultralytics .
Pourquoi passer à YOLO26 ?
YOLO26 résout les problèmes des architectures précédentes grâce à plusieurs fonctionnalités révolutionnaires :
- Conception de bout en bout NMS: contrairement à EfficientDet etYOLO, qui nécessitent un post-traitement par suppression non maximale (NMS), YOLO26 est nativement de bout en bout. Cela élimine un goulot d'étranglement majeur dans les pipelines de déploiement, réduisant la variabilité de la latence et simplifiant l'exportation vers des formats tels que CoreML TensorRT.
- Optimiseur MuSGD : inspiré par la stabilité de l'entraînement LLM, le nouvel optimiseur MuSGD (un hybride de SGD Muon) garantit une convergence plus rapide et des cycles d'entraînement plus stables, même sur des ensembles de données plus petits.
- ProgLoss + STAL : de nouvelles fonctions de perte (ProgLoss et Soft-Target Assignment Loss) apportent des améliorations significatives dans la détection des petits objets, un point faible traditionnel des modèles sans ancrage.
- OptimisationCPU Edge : grâce à la suppression du DFL (Distribution Focal Loss) et à des optimisations architecturales, YOLO26 atteint CPU jusqu'à 43 % plus rapide, ce qui en fait le choix idéal pour les déploiements Raspberry Pi et mobiles.
Résumé de la comparaison
| Fonctionnalité | EfficientDet | DAMO-YOLO | Ultralytics YOLO26 |
|---|---|---|---|
| Architecture | BiFPN + Mise à l'échelle des composés | NAS + RepGFPN | NMS de bout en bout |
| Post-traitement | NMS | NMS | Aucun (de bout en bout) |
| Assistance aux tâches | Détection | Détection | detect, segment, Pose, obb, classify |
| Plateforme | TensorFlow | PyTorch | Plateforme Ultralytics |
| Déploiement | Complexe | Modéré | Un clic (plus de 10 formats) |
Facilité d'utilisation et formation
L'une des caractéristiques déterminantes des Ultralytics est leur API unifiée. Que vous formiez un détecteur d'objets, un modèle OBB (Oriented Bounding Box) ou un modèle d'estimation de pose, le code reste cohérent et simple.
Voici à quel point il est facile de former un modèle YOLO26 de pointe à partir de vos données personnalisées :
from ultralytics import YOLO
# Load the latest YOLO26 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)
# Validate the model
metrics = model.val()
print(f"mAP50-95: {metrics.box.map}")
Cas d'utilisation concrets
Quand utiliser EfficientDet ?
EfficientDet reste pertinent dans les scénarios impliquant :
- Anciennes pipelines Google : systèmes profondément intégrés aux anciennes API Google Vision ou à l'infrastructure TPU .
- Référence académique : comme base standard pour la recherche sur la mise à l'échelle des composés.
Quand utiliserYOLO?
YOLO dans :
- Contraintes strictes GPU : chaînes de fabrication industrielles où chaque milliseconde compte et où le matériel est fixé à NVIDIA .
- Analyse vidéo : traitement de flux vidéo à fréquence d'images élevée où le débit (taille de lot 1) est la principale métrique.
Quand utiliser YOLO26 ?
YOLO26 est la solution recommandée pour :
- IA en périphérie : déploiement sur les téléphones mobiles, les drones ou les appareils IoT où l'inférence NMS simplifie la logique des applications et où CPU est essentielle.
- Applications multitâches : projets nécessitant une segmentation d'instance ou une estimation de pose parallèlement à la détection au sein d'une base de code unique.
- Développement rapide : équipes qui doivent passer de la collecte de données sur la Ultralytics au déploiement en quelques heures, et non en plusieurs semaines.
Conclusion
Alors qu'EfficientDet nous a enseigné l'importance de la mise à l'échelle et queYOLO la puissance du NAS, Ultralytics synthétise ces enseignements en une solution puissante prête à l'emploi. Avec sa conceptionNMS, sa polyvalence dans toutes les tâches et son écosystème bien entretenu, YOLO26 offre aux développeurs modernes la voie la plus solide vers le succès dans le domaine de la vision par ordinateur.
Pour approfondir l'étude des architectures de modèles, nous vous invitons à consulter les comparaisons avec YOLOv10 ou RT-DETR, qui explorent également les innovations basées sur les transformateurs.