EfficientDet contre YOLOv7 : une comparaison technique
Choisir le bon modèle de détection d'objets est une décision cruciale qui équilibre les exigences de précision, de vitesse et de coût de calcul. Cette page fournit une comparaison technique détaillée entre deux modèles influents : EfficientDet, réputé pour son efficacité exceptionnelle en termes de paramètres, et YOLOv7, un modèle phare pour la détection d'objets en temps réel. En examinant leurs architectures, leurs mesures de performance et leurs cas d'utilisation idéaux, nous visons à fournir les informations nécessaires pour sélectionner le meilleur modèle pour votre projet, tout en soulignant les avantages des alternatives plus modernes.
EfficientDet : Évolutivité et efficacité
EfficientDet a été introduit par l'équipe Google Brain en tant que famille de détecteurs d'objets hautement efficaces et évolutifs. Son innovation principale réside dans l'optimisation de l'architecture du modèle et des principes de mise à l'échelle afin d'obtenir de meilleures performances avec moins de paramètres et de ressources de calcul (FLOPs).
- Auteurs : Mingxing Tan, Ruoming Pang et Quoc V. Le
- Organisation : Google
- Date : 2019-11-20
- Arxiv: https://arxiv.org/abs/1911.09070
- GitHub : https://github.com/google/automl/tree/master/efficientdet
- Docs : https://github.com/google/automl/tree/master/efficientdet#readme
Architecture et principales fonctionnalités
La conception d'EfficientDet repose sur trois composantes clés :
- Backbone EfficientNet : Il utilise le EfficientNet très efficace comme backbone pour l'extraction de caractéristiques, qui a été conçu à l'aide de la recherche d'architecture neurale (NAS).
- BiFPN (Réseau de pyramide de caractéristiques bidirectionnel) : Au lieu d’un FPN standard, EfficientDet introduit BiFPN, qui permet une fusion de caractéristiques multi-échelles plus riche avec des connexions pondérées, améliorant ainsi la précision avec une surcharge minimale.
- Mise à l'échelle composite : Une nouvelle méthode de mise à l'échelle qui met à l'échelle uniformément la profondeur, la largeur et la résolution du backbone, du réseau de caractéristiques et de la tête de prédiction à l'aide d'un seul coefficient composite. Cela permet de faire évoluer le modèle de l'EfficientDet-D0 léger au D7 très précis, répondant ainsi à un large éventail de budgets de calcul.
Points forts et faiblesses
Points forts :
- Efficacité Exceptionnelle : Offre une haute précision pour un nombre donné de paramètres et de FLOPs, le rendant très rentable pour l'entraînement et le déploiement.
- Scalabilité : La méthode de mise à l'échelle composite offre une voie claire pour augmenter ou réduire la taille du modèle en fonction des contraintes matérielles, des appareils edge AI aux puissants serveurs cloud.
- Fortes performances sur les bancs d’essai standard : A obtenu des résultats à la fine pointe de la technologie sur l’ensemble de données COCO lors de sa sortie, ce qui démontre son efficacité.
Faiblesses :
- Vitesse d'inférence plus lente : Bien qu'elle soit efficace en termes de FLOPs, son architecture peut entraîner une latence plus élevée par rapport aux modèles spécialement conçus pour l'inférence en temps réel, comme la famille YOLO.
- Spécificité de la tâche : EfficientDet est principalement un modèle de détection d’objets et ne possède pas la polyvalence multitâche native que l’on trouve dans les frameworks modernes.
- Complexité : Les concepts de BiFPN et de mise à l'échelle composite, bien que puissants, peuvent être plus complexes à mettre en œuvre à partir de zéro que les architectures plus simples.
YOLOv7 : Repousser les performances en temps réel
YOLOv7, développé par les auteurs du YOLOv4 original, a établi une nouvelle norme pour les détecteurs d'objets en temps réel en améliorant considérablement la vitesse et la précision. Il a introduit de nouvelles techniques d'entraînement et des optimisations architecturales pour repousser les limites de ce qui était possible sur le matériel GPU.
- Auteurs : Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao
- Organisation : Institut des sciences de l'information, Academia Sinica, Taïwan
- Date : 2022-07-06
- Arxiv: https://arxiv.org/abs/2207.02696
- GitHub : https://github.com/WongKinYiu/yolov7
- Docs : https://docs.ultralytics.com/models/yolov7/
Architecture et principales fonctionnalités
Les avancées de YOLOv7 proviennent de plusieurs domaines clés :
- Réformes architecturales : Il introduit un réseau d’agrégation de couches efficaces étendu (E-ELAN) pour améliorer la capacité d’apprentissage du réseau sans détruire le chemin de gradient d’origine.
- Sac de cadeaux entraînable : Une contribution majeure est l'utilisation de stratégies d'optimisation pendant l'entraînement qui améliorent la précision sans augmenter le coût de l'inférence. Cela comprend des techniques telles que la convolution re-paramétrée et la formation guidée grossière à fine.
- Adaptation de modèle : YOLOv7 fournit des méthodes pour adapter les modèles basés sur la concaténation, garantissant que l'architecture reste optimale lorsqu'elle est mise à l'échelle pour une plus grande précision.
Points forts et faiblesses
Points forts :
- Compromis Vitesse-Précision Supérieur : Au moment de sa sortie, il offrait le meilleur équilibre entre la mAP et la vitesse d’inférence parmi les détecteurs en temps réel.
- Entraînement efficace : L'approche « bag-of-freebies » lui permet d'atteindre une grande précision avec des cycles d'entraînement plus efficaces par rapport aux modèles qui nécessitent un entraînement plus long ou un post-traitement plus complexe.
- Performance éprouvée : C'est un modèle bien établi avec de solides résultats sur les benchmarks, ce qui en fait un choix fiable pour les applications à haute performance.
Faiblesses :
- Gourmand en ressources : Les modèles YOLOv7 plus grands nécessitent des ressources GPU importantes pour l'entraînement.
- Polyvalence limitée : Bien qu’il existe des versions communautaires pour d’autres tâches, le modèle officiel est axé sur la détection d’objets. Les frameworks intégrés comme Ultralytics YOLOv8 offrent une prise en charge native de la segmentation, de la classification et de l’estimation de pose.
- Complexité : La combinaison des changements architecturaux et des techniques d'entraînement avancées peut être complexe à comprendre et à personnaliser entièrement.
Analyse des performances : Efficacité vs. Vitesse
La principale différence entre EfficientDet et YOLOv7 réside dans leur philosophie de conception. EfficientDet privilégie l'efficacité de calcul (FLOPs) et le nombre de paramètres, tandis que YOLOv7 privilégie la vitesse d'inférence brute (latence) sur les 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 |
YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Comme le montre le tableau, les plus petits modèles EfficientDet sont extrêmement légers en termes de paramètres et de FLOPs. Cependant, YOLOv7x atteint un mAP comparable à EfficientDet-d6/d7 avec une latence significativement plus faible sur un GPU T4, ce qui souligne sa pertinence pour les applications en temps réel.
Pourquoi choisir les modèles Ultralytics YOLO ?
Bien qu'EfficientDet et YOLOv7 soient tous deux des modèles puissants, le domaine de la vision par ordinateur a évolué rapidement. Les nouveaux modèles Ultralytics YOLO tels que YOLOv8 et YOLO11 offrent des avantages substantiels qui en font un choix supérieur pour le développement moderne.
- Facilité d'utilisation : Les modèles Ultralytics sont conçus en pensant à l'utilisateur, avec une API Python simplifiée, une documentation exhaustive et des commandes CLI simples qui rendent la formation, la validation et le déploiement incroyablement simples.
- Écosystème bien maintenu : Les utilisateurs bénéficient d'un développement actif, d'une grande communauté open source, de mises à jour fréquentes et d'une intégration transparente avec des outils tels que Ultralytics HUB pour un MLOps de bout en bout.
- Compromis de performance : Les modèles Ultralytics offrent un excellent compromis entre vitesse et précision, ce qui les rend adaptés à un large éventail de scénarios réels, des appareils périphériques aux plateformes cloud.
- Efficacité de la mémoire : Les modèles Ultralytics YOLO sont conçus pour une utilisation efficace de la mémoire. Ils nécessitent souvent moins de mémoire CUDA pour l’entraînement que les modèles basés sur les transformeurs et même certaines variantes d’EfficientDet ou YOLOv7, ce qui permet l’entraînement sur une plus large gamme de matériel.
- Polyvalence : Les modèles tels que YOLOv8 et YOLO11 ne sont pas que des détecteurs. Ce sont des cadres multitâches qui prennent en charge la segmentation d’instance, la classification d’images, l’estimation de pose et la détection d’objets orientés (OBB) prêtes à l’emploi.
- Efficacité de l'entraînement : Bénéficiez de processus d'entraînement efficaces, de poids pré-entraînés facilement disponibles sur des ensembles de données tels que COCO, et de temps de convergence plus rapides.
Conclusion
EfficientDet excelle dans les scénarios où l'efficacité des paramètres et des FLOP est primordiale, offrant une excellente évolutivité sur différents budgets de ressources. C'est un choix judicieux pour les applications sur des appareils aux ressources limitées ou dans des environnements cloud à grande échelle où le coût de calcul est un facteur majeur. YOLOv7 repousse les limites de la détection d'objets en temps réel, offrant une vitesse et une précision exceptionnelles, en particulier sur le matériel GPU, en tirant parti de techniques d'entraînement avancées.
Cependant, pour les développeurs à la recherche d'un framework moderne, polyvalent et convivial avec de solides performances, une excellente documentation et un écosystème complet, les modèles Ultralytics tels que YOLOv8 et YOLO11 présentent un choix plus intéressant. Ils offrent une solution unifiée pour un large éventail de tâches de vision, simplifiant ainsi le pipeline de développement, de la recherche au déploiement en production.
Autres comparaisons de modèles
Pour une exploration plus approfondie, considérez ces comparaisons impliquant EfficientDet, YOLOv7 et d'autres modèles pertinents :
- EfficientDet vs YOLOv8
- EfficientDet vs YOLOv5
- YOLOv7 contre YOLOv8
- YOLOv7 contre YOLOv5
- RT-DETR vs YOLOv7
- YOLOX vs YOLOv7
- Explorez les derniers modèles comme YOLOv10 et YOLO11.