EfficientDet vs YOLOv9: comparaison de l'architecture et des performances
Dans le domaine en constante évolution de la vision par ordinateur, le choix de l'architecture de détection d'objets appropriée est une décision cruciale qui a des répercussions sur tous les aspects, des coûts de formation à la latence de déploiement. Cette analyse technique fournit une comparaison complète entre EfficientDet, une architecture pionnière de Google sur une mise à l'échelle efficace, et YOLOv9, une version moderne de la YOLO qui introduit des informations de gradient programmables pour un apprentissage supérieur des caractéristiques.
Résumé
Bien qu'EfficientDet ait introduit des concepts révolutionnaires en matière de mise à l'échelle des modèles et de fusion des caractéristiques, il est désormais considéré comme une architecture obsolète. Son recours à des couches BiFPN complexes entraîne souvent des vitesses d'inférence plus lentes sur le matériel moderne par rapport aux conceptions rationalisées de la YOLO .
YOLOv9 représente une avancée significative, offrant une plus grande précision et des vitesses d'inférence nettement supérieures. De plus, dans le cadre de Ultralytics , YOLOv9 d'une API unifiée, d'un déploiement simplifié et d'un soutien communautaire solide, ce qui en fait le choix recommandé pour les environnements de production.
EfficientDet : Détection d'objets évolutive et efficace
EfficientDet a été conçu pour résoudre le problème de la mise à l'échelle efficace des détecteurs d'objets. Les modèles précédents se contentaient souvent d'agrandir la structure principale, ce qui ne tenait pas compte de l'équilibre entre la résolution, la profondeur et la largeur.
Principales caractéristiques architecturales
- Mise à l'échelle composite : EfficientDet propose une méthode de mise à l'échelle composite qui adapte uniformément la résolution, la profondeur et la largeur pour tous les réseaux dorsaux, les réseaux de caractéristiques et les réseaux de prédiction de boîtes/classes.
- BiFPN (Bidirectional Feature Pyramid Network) : une innovation clé qui permet une fusion facile des caractéristiques à plusieurs échelles. Contrairement aux FPN traditionnels, le BiFPN ajoute des chemins ascendants et supprime les nœuds ne comportant qu'une seule entrée, en intégrant des poids apprenables pour comprendre l'importance des différentes caractéristiques d'entrée.
- EfficientNet Backbone : il utilise EfficientNet comme base, qui est optimisé pour l'efficacité des paramètres.
Auteurs : Mingxing Tan, Ruoming Pang et Quoc V. Le
Organisation :Google
Date : 20/11/2019
Liens :Arxiv | GitHub
En savoir plus sur EfficientDet
YOLOv9 : Informations de gradient programmables
YOLOv9 traite un problème fondamental dans l'apprentissage profond : les goulots d'étranglement de l'information. Lorsque les données traversent les couches d'un réseau neuronal profond, des informations sont inévitablement perdues. YOLOv9 ce problème grâce à l'information de gradient programmable (PGI) et à une nouvelle architecture appelée GELAN.
Principales caractéristiques architecturales
- GELAN (Generalized Efficient Layer Aggregation Network) : cette architecture combine les meilleurs aspects de CSPNet et ELAN. Elle optimise les chemins de descente de gradient, garantissant que le modèle apprend des caractéristiques légères mais riches en informations.
- PGI (Programmable Gradient Information) : PGI fournit une branche de supervision auxiliaire qui guide le processus d'apprentissage, garantissant que la branche principale conserve les informations critiques nécessaires à une détection précise. Cela s'avère particulièrement utile pour détecter des cibles difficiles dans des environnements complexes.
- Simplicité : malgré ces complexités internes, la structure d'inférence reste rationalisée, évitant ainsi les coûts de calcul élevés associés au BiFPN utilisé dans EfficientDet.
Auteurs : Chien-Yao Wang et Hong-Yuan Mark Liao
Organisation : Institut des sciences de l'information, Academia Sinica, Taïwan
Date : 21/02/2024
Liens :Arxiv | GitHub
Comparaison technique des performances
Lorsque l'on compare ces modèles, le compromis entre l'efficacité des paramètres et la latence réelle d'exécution devient évident. Si EfficientDet est efficace en termes de paramètres, sa structure graphique complexe (BiFPN) est moins adaptée au GPU que les convolutions standard utilisées dans YOLOv9.
| 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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
Analyse des performances
YOLOv9 surpasse YOLOv9 EfficientDet en termes de rapport vitesse/précision. Par exemple, YOLOv9c atteint un mAP 53,0 %) comparable à celui d'EfficientDet-d6 (52,6 %), mais fonctionne plus de 12 fois plus vite sur un GPU T4 GPU 7,16 ms contre 89,29 ms). Cela fait de YOLOv9 choix idéal pour les applications en temps réel.
Formation et expérience de l'écosystème
Une différence majeure entre ces architectures réside dans la facilité d'utilisation et la prise en charge de l'écosystème offertes par Ultralytics.
Défis d'EfficientDet
La formation EfficientDet implique généralement la navigation dans l'APITensorFlow Detection ou dans des référentiels hérités. Ceux-ci peuvent être difficiles à configurer en raison de conflits de dépendances et manquent souvent de prise en charge pour des fonctionnalités modernes telles que la formation automatique en précision mixte ou l'intégration facile de la journalisation dans le cloud.
L'avantage Ultralytics
L'utilisation YOLOv9 le Ultralytics offre une expérience fluide. L'écosystème gère automatiquement l'augmentation des données, l'évolution des hyperparamètres et l'exportation.
- Facilité d'utilisation : vous pouvez commencer l'entraînement avec quelques lignes de code.
- Efficacité mémoire : Ultralytics sont optimisés pour utiliser moins de VRAM pendant l'entraînement, ce qui permet d'utiliser des lots plus volumineux sur les GPU grand public par rapport aux réseaux complexes à branches multiples.
- Polyvalence : au-delà de la détection, Ultralytics prend en charge la segmentation d'instances et l'estimation de poses, des fonctionnalités qui ne sont pas disponibles en natif dans les implémentations EfficientDet standard.
from ultralytics import YOLO
# Load a pretrained YOLOv9 model
model = YOLO("yolov9c.pt")
# Train on a custom dataset with a single command
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
Applications concrètes
Le choix du modèle a une incidence significative sur la faisabilité des différentes applications.
Cas d'utilisation idéaux pour EfficientDet
- Recherche universitaire : utile pour étudier les techniques de fusion des caractéristiques et les théories de mise à l'échelle des composés.
- Scénarios à faible puissance/faible vitesse : dans des cas très spécifiques où le matériel existant est codé en dur pour les backbones EfficientNet (par exemple, certains TPU Coral plus anciens), les variantes EfficientDet-Lite peuvent encore être pertinentes.
Cas d'utilisation idéaux pour YOLOv9
- Navigation autonome : la vitesse d'inférence élevée est essentielle pour les voitures autonomes qui doivent traiter les données en quelques millisecondes afin de garantir la sécurité.
- Analyse commerciale : pour des applications telles que la gestion des stocks, YOLOv9 la précision nécessaire pour distinguer des produits similaires sans ralentir les systèmes de caisse.
- Santé : dans le domaine de l'analyse d'images médicales, l'architecture PGI permet de conserver les détails fins nécessaires à la détection de petites anomalies dans les radiographies ou les IRM.
L'avenir : passage à YOLO26
Bien que YOLOv9 un outil puissant, Ultralytics de repousser les limites de l'IA visuelle. Pour les développeurs à la recherche d'une technologie de pointe, YOLO26 offre des avancées significatives par rapport à EfficientDet et YOLOv9.
YOLO26 introduit une conception de bout en bout NMS, éliminant complètement le besoin d'un post-traitement par suppression non maximale. Il en résulte des pipelines de déploiement plus simples et une inférence plus rapide. De plus, grâce au nouvel optimiseur MuSGD, un hybride de SGD Muon, YOLO26 offre un entraînement plus stable et une convergence plus rapide.
Pour le déploiement en périphérie, YOLO26 est optimisé pour CPU jusqu'à 43 % plus rapide et inclut la suppression DFL pour une meilleure compatibilité avec les appareils à faible consommation d'énergie. Que vous travailliez dans le domaine de la robotique ou de l'analyse vidéo à haut débit, YOLO26 représente la nouvelle norme.
Découvrez la puissance de YOLO26
Pour les utilisateurs intéressés par d'autres architectures de pointe, nous recommandons également d'explorer YOLO11 et RT-DETR dans la Ultralytics .