Passer au contenu

EfficientDet contre YOLOv7 : comparaison technique

Choisir le bon modèle de détection d'objets est une décision cruciale qui équilibre la précision, la vitesse et le coût de calcul. Cette page fournit une comparaison technique détaillée entre EfficientDet et YOLOv7, deux architectures influentes dans le domaine de la vision par ordinateur. EfficientDet est réputé pour son efficacité et son évolutivité exceptionnelles en matière de paramètres, tandis que YOLOv7 est célébré pour avoir repoussé les limites de la vitesse et de la précision de la détection en temps réel.

Nous explorerons leurs principales différences architecturales, leurs benchmarks de performance et leurs cas d'utilisation idéaux. Bien que les deux modèles aient leurs forces, pour de nombreuses applications modernes, les développeurs peuvent trouver des alternatives supérieures comme Ultralytics YOLOv8 et YOLO11 qui offrent une solution plus complète et conviviale.

EfficientDet : Architecture évolutive et efficace

EfficientDet, introduit par l'équipe Google Brain, est une famille de modèles de détection d'objets conçus pour une efficacité et une précision élevées. Son innovation clé réside dans une approche systématique de la mise à l'échelle des modèles et un nouveau réseau de fusion de caractéristiques.

Architecture et principales fonctionnalités

L'architecture d'EfficientDet repose sur trois composants principaux :

  • Backbone EfficientNet : Il utilise le EfficientNet très efficace comme backbone pour l'extraction de caractéristiques, qui est optimisé pour un équilibre supérieur entre la précision et le coût de calcul.
  • BiFPN (Réseau de pyramide de caractéristiques bidirectionnel) : Contrairement aux FPN traditionnels qui additionnent les caractéristiques de manière unidirectionnelle, BiFPN permet une fusion de caractéristiques multi-échelles avec des connexions pondérées, permettant des représentations de caractéristiques plus riches avec moins de paramètres.
  • Scaling composite : EfficientDet introduit une méthode de scaling composite 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. Ceci permet au modèle de passer du petit EfficientDet-D0 au grand D7, en s’adaptant aux différentes contraintes de ressources.

Points forts

  • Efficacité élevée des paramètres : Les modèles EfficientDet atteignent une précision compétitive avec beaucoup moins de paramètres et de FLOP par rapport aux autres modèles de leur époque.
  • Scalabilité : La méthode de mise à l'échelle composite offre une voie claire pour augmenter ou réduire la taille du modèle, le rendant adaptable à divers matériels, des appareils périphériques aux puissants serveurs cloud.
  • Fortes performances sur le CPU : Les petites variantes d’EfficientDet fonctionnent bien sur les CPU, ce qui les rend adaptées aux applications où le matériel GPU n’est pas disponible.

Faiblesses

  • Inférence GPU plus lente : Malgré son efficacité en termes de FLOP, EfficientDet peut être plus lent que les modèles comme YOLOv7 sur les GPU, car son architecture est moins optimisée pour le traitement parallèle.
  • Spécifique à une tâche : EfficientDet est principalement conçu pour la détection d'objets et ne possède pas la polyvalence multitâche native que l'on trouve dans les frameworks plus modernes.
  • Complexité : Les concepts de BiFPN et de mise à l'échelle composite, bien que puissants, peuvent ajouter de la complexité à la compréhension et à la personnalisation du modèle.

En savoir plus sur EfficientDet

YOLOv7 : Une nouvelle référence en matière de détection en temps réel

YOLOv7 est apparu comme un bond en avant significatif dans la série YOLO, établissant une nouvelle référence en matière de détecteurs d'objets en temps réel. Il a introduit plusieurs optimisations architecturales et d'entraînement pour améliorer la précision sans compromettre la vitesse d'inférence.

Architecture et principales fonctionnalités

Les gains de performance de YOLOv7 proviennent de plusieurs innovations clés :

  • Extended Efficient Layer Aggregation Network (E-ELAN) : Ce module, utilisé dans le backbone du modèle, améliore la capacité du réseau à apprendre et à converger efficacement en contrôlant les chemins de gradient.
  • Re-paramétrage du modèle : YOLOv7 utilise la convolution re-paramétrée planifiée, une technique qui fusionne plusieurs modules en un seul pendant l’inférence afin de réduire la surcharge de calcul et d’augmenter la vitesse.
  • Sac de cadeaux entraînable : Il introduit des techniques d'entraînement avancées, telles que les têtes auxiliaires qui approfondissent la supervision et la formation guidée grossière à fine, qui améliorent la précision sans augmenter le coût final de l'inférence.

Points forts

  • Compromis exceptionnel vitesse-précision : YOLOv7 offre des vitesses d'inférence en temps réel exceptionnelles sur les GPU tout en conservant une très haute précision, surpassant de nombreux autres modèles.
  • Optimisations avancées de l'entraînement : L'approche « bag-of-freebies » lui permet d'atteindre des scores mAP plus élevés sans alourdir le modèle déployé.
  • Performance éprouvée : Il a été largement évalué sur des ensembles de données standard comme MS COCO, démontrant ainsi ses capacités.

Faiblesses

  • Entraînement nécessitant beaucoup de ressources : Les modèles YOLOv7 plus grands peuvent être gourmands en calcul et nécessitent une mémoire GPU importante pour l’entraînement.
  • Polyvalence limitée : Bien que le référentiel officiel comprenne des extensions pour des tâches telles que l’estimation de pose et la segmentation, il ne s’agit pas d’un framework multitâche intégré comme les nouveaux modèles Ultralytics.
  • Complexité : L’architecture et le pipeline d’entraînement sont complexes, ce qui peut constituer un obstacle pour les développeurs qui cherchent à personnaliser ou à comprendre en profondeur le modèle.

En savoir plus sur YOLOv7

Analyse des performances : Vitesse et précision

Lors de la comparaison d'EfficientDet et de YOLOv7, la principale différence réside dans leurs objectifs d'optimisation. EfficientDet privilégie l'efficacité des paramètres et des FLOP, tandis que YOLOv7 se concentre sur la maximisation de la vitesse d'inférence (FPS) sur le matériel GPU pour une précision donnée.

Modèle Taille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT
(ms)
paramètres
(M)
FLOPs
(B)
YOLOv7l 640 51.4 - 6.84 36.9 104.7
YOLOv7x 640 53.1 - 11.57 71.3 189.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

D'après le tableau, nous pouvons tirer plusieurs conclusions :

  • Précision : Le plus grand modèle EfficientDet (d7) atteint le mAP le plus élevé, mais YOLOv7x est très proche derrière.
  • Efficacité : Les modèles EfficientDet sont exceptionnellement légers en termes de paramètres et de FLOPs, en particulier les variantes plus petites. EfficientDet-d0 est un gagnant évident pour les environnements aux ressources limitées.
  • Vitesse : Les modèles YOLOv7 sont significativement plus rapides sur GPU (TensorRT). Par exemple, YOLOv7l atteint un mAP de 51,4 à seulement 6,84 ms, alors que l'EfficientDet-d5 comparable atteint un mAP de 51,5 mais prend beaucoup plus de temps, soit 67,86 ms. Cela rend YOLOv7 beaucoup plus adapté aux applications en temps réel nécessitant un débit élevé.

Pourquoi choisir les modèles Ultralytics YOLO ?

Bien que YOLOv7 offre d'excellentes performances, les modèles Ultralytics YOLO plus récents comme YOLOv8 et YOLO11 offrent des avantages significatifs :

  • Facilité d'utilisation : Les modèles Ultralytics sont fournis avec une API Python simplifiée, une documentation complète et des commandes CLI directes, ce qui simplifie l'entraînement, la validation et le déploiement.
  • Écosystème bien maintenu : Bénéficiez d'un développement actif, d'une forte communauté open source, de mises à jour fréquentes et d'une intégration avec des outils tels que Ultralytics HUB pour un MLOps transparent.
  • Équilibre des performances : Les modèles Ultralytics offrent un excellent compromis entre la vitesse et la précision, ce qui les rend adaptés à divers scénarios réels, des appareils périphériques aux serveurs cloud.
  • Efficacité de la mémoire : Les modèles Ultralytics YOLO sont conçus pour une utilisation efficace de la mémoire pendant l’entraînement et l’inférence, nécessitant souvent moins de mémoire CUDA que les modèles basés sur les transformeurs ou même certaines variantes d’EfficientDet ou YOLOv7.
  • Polyvalence : Les modèles tels que YOLOv8 et YOLO11 prennent en charge plusieurs tâches au-delà de la détection d’objets, notamment la segmentation, la classification, l’estimation de pose et la détection d’objets orientés (OBB), offrant une solution unifiée.
  • 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 évolutivité sur différents budgets de ressources. 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 prenant en charge plusieurs tâches de vision, les modèles Ultralytics tels que YOLOv8 et YOLO11 présentent souvent un choix plus intéressant pour un large éventail d'applications, 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 :



📅 Créé il y a 1 an ✏️ Mis à jour il y a 1 mois

Commentaires