Passer au contenu

EfficientDet contre. YOLOv8 : une 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 deux architectures influentes : EfficientDet, développé par Google, et Ultralytics YOLOv8, un modèle de pointe d'Ultralytics. Bien qu'EfficientDet soit réputé pour son efficacité en termes de paramètres et de calcul, YOLOv8 excelle en offrant une combinaison supérieure de vitesse en temps réel, de haute précision et de polyvalence inégalée au sein d'un écosystème complet et convivial.

EfficientDet : Architecture évolutive et efficace

Auteurs : Mingxing Tan, Ruoming Pang, 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

EfficientDet a été introduit par l'équipe Google Brain, l'objectif principal étant de créer une famille de détecteurs d'objets hautement efficaces et évolutifs. Ses principales innovations résident dans son architecture et sa méthodologie de mise à l'échelle.

Architecture et principales fonctionnalités

La conception d'EfficientDet est axée sur deux composantes principales :

  1. BiFPN (Réseau de pyramide de caractéristiques bidirectionnel) : Contrairement aux FPN traditionnels de haut en bas, BiFPN permet une fusion de caractéristiques multi-échelles facile et rapide en introduisant des poids apprenables pour comprendre l’importance des différentes caractéristiques d’entrée et en appliquant des connexions de haut en bas et de bas en haut.
  2. Scaling composite : EfficientDet utilise un coefficient composite unique pour mettre à l’échelle uniformément la profondeur, la largeur et la résolution du backbone, du réseau de caractéristiques et des réseaux de prédiction de boîtes/classes. Ceci garantit une allocation équilibrée des ressources dans l’ensemble du modèle.

L'architecture utilise EfficientNet comme backbone, qui est déjà optimisé pour la précision et l'efficacité FLOP. Cette combinaison donne naissance à une famille de modèles (D0 à D7) qui peuvent être adaptés à différents budgets de calcul.

Points forts

  • Haute efficacité : Les modèles EfficientDet sont conçus pour minimiser le nombre de paramètres et les FLOPs, ce qui les rend très efficaces en termes de ressources de calcul pour un niveau de précision donné.
  • Scalabilité : La méthode de mise à l'échelle composite offre une voie claire pour augmenter ou réduire la taille du modèle, permettant aux développeurs de choisir une variante qui correspond à leurs contraintes matérielles spécifiques.
  • Forte précision : Atteint des scores mAP compétitifs, en particulier lorsqu’il est évalué par rapport à des modèles avec un nombre de paramètres similaires.

Faiblesses

  • Vitesse d'inférence : Bien qu'EfficientDet soit efficace en termes de FLOPs, il a souvent une latence d'inférence plus élevée que les modèles comme YOLOv8, en particulier sur le matériel GPU. Cela peut le rendre moins adapté aux applications nécessitant une inférence en temps réel réelle.
  • Polyvalence limitée : EfficientDet est principalement conçu pour la détection d'objets. Il ne prend pas en charge nativement d'autres tâches de vision telles que la segmentation ou l'estimation de pose, qui sont natives au framework YOLOv8.
  • Écosystème et facilité d'utilisation : L'implémentation originale est en TensorFlow, et bien que des ports PyTorch existent, elle n'a pas le même niveau d'outillage intégré, de documentation et de soutien communautaire actif que l'écosystème Ultralytics.

En savoir plus sur EfficientDet

Ultralytics YOLOv8 : le nec plus ultra en matière de vitesse et de polyvalence

Auteurs : Glenn Jocher, Ayush Chaurasia et Jing Qiu
Organisation : Ultralytics
Date : 2023-01-10
GitHub : https://github.com/ultralytics/ultralytics
Docs : https://docs.ultralytics.com/models/yolov8/

Ultralytics YOLOv8 est la dernière itération de la série YOLO très performante, s'appuyant sur des années de recherche et de développement pour fournir un modèle rapide, précis et incroyablement facile à utiliser. Il représente un progrès significatif tant en termes de performance que de conception de cadre.

Architecture et principales fonctionnalités

YOLOv8 introduit plusieurs améliorations architecturales, notamment une nouvelle tête de détection sans ancrage et un nouveau réseau dorsal basé sur CSP, appelé C2f. Ces modifications réduisent le nombre de paramètres tout en conservant une précision élevée et en permettant une inférence plus rapide. Le modèle est conçu dès le départ pour être une plateforme complète pour diverses tâches de vision par ordinateur.

Points forts

  • Équilibre exceptionnel des performances : YOLOv8 réalise un compromis exceptionnel entre la vitesse et la précision, ce qui en fait un choix de premier ordre pour les applications en temps réel qui ne peuvent pas faire de compromis sur les performances. Comme le montre le tableau ci-dessous, les modèles YOLOv8 offrent systématiquement une latence plus faible sur les GPU.
  • Polyvalence inégalée : Contrairement aux modèles monotâches, YOLOv8 est un cadre multitâche qui prend en charge nativement la détection d’objets, la segmentation d’instance, la classification d’images, l’estimation de pose et le suivi d’objets au sein d’une architecture unique et unifiée.
  • Facilité d'utilisation : YOLOv8 est soutenu par l'écosystème robuste Ultralytics, qui comprend une API Python et une CLI simplifiées, une documentation exhaustive et une expérience utilisateur simple.
  • Écosystème bien maintenu : Les utilisateurs bénéficient d'un développement actif, d'une forte communauté open source, de mises à jour fréquentes et d'une intégration transparente avec des outils tels que Ultralytics HUB pour l'entraînement et le déploiement sans code.
  • Efficacité de l'entraînement : YOLOv8 se caractérise par des processus d'entraînement efficaces, des poids pré-entraînés facilement disponibles sur des ensembles de données tels que COCO, et nécessite généralement moins de mémoire CUDA que les architectures plus complexes.
  • Flexibilité de déploiement : Le framework est hautement optimisé pour l'exportation vers différents formats tels que ONNX et TensorRT, ce qui simplifie le déploiement sur divers matériels, des périphériques périphériques aux serveurs cloud.

Faiblesses

  • FLOPs vs. Latence : Bien qu'il soit incroyablement rapide en pratique, YOLOv8 peut avoir des FLOPs plus élevés qu'un modèle EfficientDet à un niveau mAP similaire. Cependant, son architecture est mieux optimisée pour le matériel GPU moderne, ce qui se traduit par une latence réelle plus faible.

En savoir plus sur YOLOv8

Analyse des performances : Précision vs. Vitesse

La principale différence entre EfficientDet et YOLOv8 devient claire lors de l'analyse de leurs métriques de performance. EfficientDet a été conçu pour optimiser la précision par FLOP, tandis que YOLOv8 est optimisé pour un débit élevé et une faible latence sur du matériel pratique.

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
YOLOv8n 640 37.3 80.4 1.47 3.2 8.7
YOLOv8s 640 44.9 128.4 2.66 11.2 28.6
YOLOv8m 640 50.2 234.7 5.86 25.9 78.9
YOLOv8l 640 52.9 375.2 9.06 43.7 165.2
YOLOv8x 640 53.9 479.1 14.37 68.2 257.8

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

  • Précision : YOLOv8x atteint le mAP le plus élevé de 53,9, dépassant légèrement le plus grand modèle EfficientDet-d7.
  • Vitesse : Les modèles YOLOv8 sont significativement plus rapides sur GPU (T4 TensorRT10), YOLOv8n étant plus de 2,5 fois plus rapide qu'EfficientDet-d0. Cet avantage de vitesse se maintient pour toutes les tailles de modèles, faisant de YOLOv8 le gagnant incontesté pour les applications en temps réel.
  • Efficacité : EfficientDet excelle en termes de FLOPs et de vitesse du CPU pour ses modèles plus petits. Par exemple, EfficientDet-d0 a le FLOPs le plus bas et le temps d’inférence CPU le plus rapide. Cependant, YOLOv8n a moins de paramètres, ce qui le rend très léger.

Conclusion : Quel modèle devriez-vous choisir ?

EfficientDet reste une architecture puissante et pertinente, en particulier pour les applications où les ressources de calcul (FLOPs) et la taille du modèle sont les contraintes les plus critiques. Sa conception évolutive offre un excellent moyen d'équilibrer la précision et l'efficacité sur les appareils dotés d'une puissance de traitement limitée.

Cependant, pour la grande majorité des applications de vision par ordinateur modernes, Ultralytics YOLOv8 est le choix supérieur. Il offre un ensemble global plus intéressant : une précision de pointe, des vitesses d'inférence ultra-rapides et une polyvalence inégalée. La capacité de gérer la détection, la segmentation, la pose et plus encore dans un cadre unique et facile à utiliser simplifie considérablement le développement et le déploiement. L'écosystème bien entretenu, la documentation complète et la communauté active offrent un niveau de soutien qui accélère tout projet, du concept à la production.

Pour les développeurs à la recherche d'une solution robuste, performante et pérenne, YOLOv8 est la recommandation claire. Pour ceux qui recherchent le tout dernier cri en matière de performances, les nouveaux modèles Ultralytics tels que YOLO11 repoussent encore les limites.

Explorer d'autres modèles

Pour poursuivre vos recherches, envisagez d'explorer d'autres comparaisons de modèles impliquant EfficientDet, YOLOv8 et d'autres architectures de pointe :



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

Commentaires