YOLOv8 vs. EfficientDet : Une comparaison technique
Choisir le bon modèle de détection d'objets implique un compromis entre la précision, la vitesse et le coût de calcul. Cette page fournit une comparaison technique détaillée entre deux architectures influentes : Ultralytics YOLOv8, un modèle de pointe reconnu pour sa vitesse et sa polyvalence, et EfficientDet, une famille de modèles de Google conçus pour une efficacité exceptionnelle des paramètres. Bien que les deux soient puissants, ils découlent de philosophies de conception différentes, ce qui les rend adaptés à différentes applications.
Ultralytics YOLOv8 : polyvalence et performances
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 un détecteur d’objets à une étape de pointe qui s’appuie sur les réussites des versions précédentes de YOLO. Il s’est imposé comme un framework très polyvalent et puissant en introduisant des améliorations architecturales clés. Il s’agit notamment d’une nouvelle architecture dorsale CSPDarknet, d’un réseau C2f pour une meilleure fusion des caractéristiques et d’une tête découplée sans point d’ancrage. Cette conception améliore non seulement les performances, mais offre également une flexibilité dans un large éventail de tâches de vision par ordinateur.
Points forts de YOLOv8
- Équilibre des performances : YOLOv8 offre un excellent compromis entre la vitesse d’inférence et la précision, ce qui le rend adapté à divers déploiements réels, des appareils périphériques aux puissants serveurs cloud.
- Polyvalence : Un avantage majeur de YOLOv8 est sa prise en charge native de plusieurs tâches de vision dans un framework unique et unifié. Cela inclut la détection d'objets, la segmentation d'instance, la classification d'images, l'estimation de la pose et les boîtes englobantes orientées (OBB).
- Facilité d'utilisation : Le modèle fait partie d'un écosystème bien entretenu qui privilégie l'expérience utilisateur. Il offre une API Python simplifiée et une CLI simple, prises en charge par une documentation exhaustive et de nombreux tutoriels.
- Efficacité de l'entraînement : YOLOv8 se caractérise par des processus d'entraînement efficaces et fournit des poids pré-entraînés facilement disponibles, ce qui simplifie le développement de modèles personnalisés. Il nécessite généralement moins de mémoire CUDA pour l'entraînement par rapport aux architectures plus complexes.
- Écosystème bien maintenu : Les utilisateurs bénéficient d'un développement continu, 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 des flux de travail MLOps de bout en bout.
Faiblesses de YOLOv8
- Les modèles plus grands comme YOLOv8x exigent d'importantes ressources de calcul pour l'entraînement et le déploiement.
- Peut nécessiter une optimisation supplémentaire comme la quantification pour le déploiement sur du matériel extrêmement limité en ressources.
Cas d'utilisation idéaux pour YOLOv8
YOLOv8 est idéal pour les applications qui exigent une grande précision et des performances en temps réel, telles que la robotique avancée, les systèmes de sécurité intelligents et l'infrastructure de ville intelligente. Sa polyvalence en fait également un choix de premier ordre pour les projets qui peuvent s'étendre à d'autres tâches de vision au-delà de la simple détection d'objets.
EfficientDet : Évolutivité et efficacité
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
EfficientDet est une famille de modèles de détection d'objets introduite par l'équipe de Google Brain. Son innovation principale est l'accent mis sur l'efficacité et l'évolutivité. L'architecture utilise un backbone EfficientNet, un nouveau réseau de pyramide de caractéristiques bidirectionnel (BiFPN) pour une fusion efficace des caractéristiques multi-échelles, et une méthode de mise à l'échelle composée. Cette méthode 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, permettant d'adapter le modèle à différentes contraintes de ressources.
Points forts d'EfficientDet
- Haute efficacité : EfficientDet est conçu pour minimiser le nombre de paramètres et les FLOPs tout en maximisant la précision, ce qui en fait l’une des architectures les plus efficaces sur le plan du calcul pour son époque.
- Scalabilité : L'approche de mise à l'échelle composite fournit une famille de modèles (D0 à D7) qui peuvent être sélectionnés en fonction du budget de calcul disponible, des appareils mobiles aux serveurs cloud à grande échelle.
- Précision : Les modèles EfficientDet plus grands atteignent une précision compétitive sur des benchmarks standard comme l'ensemble de données COCO.
Faiblesses d'EfficientDet
- Vitesse d'inférence : Bien qu'EfficientDet soit efficace en termes de FLOPs, cela ne se traduit pas toujours par les vitesses d'inférence réelles les plus rapides, en particulier sur les GPU, par rapport aux architectures comme YOLOv8 qui sont hautement optimisées pour le traitement parallèle.
- Polyvalence limitée : EfficientDet est principalement un modèle de détection d'objets et ne prend pas en charge nativement d'autres tâches telles que la segmentation ou l'estimation de pose que l'on retrouve dans le framework Ultralytics.
- Écosystème et maintenance : Le référentiel officiel n'est pas aussi activement maintenu avec de nouvelles fonctionnalités et intégrations que l'écosystème Ultralytics, ce qui peut rendre son adoption et son déploiement plus difficiles pour les développeurs.
Cas d'utilisation idéaux pour EfficientDet
EfficientDet excelle dans les scénarios où le nombre de paramètres et le coût de calcul théorique (FLOPs) sont les contraintes les plus critiques. C'est un choix judicieux pour les applications sur certains appareils edge AI où la taille du modèle est strictement limitée ou dans les environnements cloud où la minimisation du coût de calcul est une priorité.
En savoir plus sur EfficientDet
Comparaison directe des performances : Vitesse, précision et efficacité
Lors de la comparaison de YOLOv8 et EfficientDet, il est clair qu'ils sont optimisés pour des objectifs différents. YOLOv8 privilégie un meilleur équilibre entre la vitesse d'inférence et la précision dans le monde réel, tandis que EfficientDet se concentre sur la minimisation des paramètres du modèle et des FLOPs.
Modèle | Taille (pixels) |
mAPval 50-95 |
Vitesse CPU ONNX (ms) |
Vitesse T4 TensorRT10 (ms) |
paramètres (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
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 |
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 observer :
- Précision vs. Paramètres : Les modèles YOLOv8 atteignent systématiquement des scores mAP plus élevés que les modèles EfficientDet avec un nombre de paramètres similaire, voire supérieur. Par exemple, YOLOv8s (11,2 M de paramètres) atteint 44,9 mAP, surpassant EfficientDet-d2 (8,1 M de paramètres) à 43,0 mAP.
- Vitesse d'inférence : YOLOv8 démontre un avantage significatif en termes de vitesse d'inférence, en particulier sur les GPU avec l'optimisation TensorRT. Le modèle YOLOv8x est plus de 8 fois plus rapide que le modèle EfficientDet-d7 comparable sur un GPU T4, malgré un plus grand nombre de paramètres. YOLOv8 affiche également des vitesses d'inférence CPU beaucoup plus rapides.
- Compromis en matière d’efficacité : Bien que les modèles EfficientDet aient des FLOPs inférieurs, cela ne se traduit pas directement par une inférence plus rapide. L’architecture de YOLOv8 est mieux adaptée à l’accélération matérielle moderne, ce qui réduit la latence dans les scénarios pratiques.
Pourquoi choisir les modèles Ultralytics YOLO ?
Bien qu'EfficientDet ait été un modèle révolutionnaire pour son époque, les nouveaux modèles Ultralytics YOLO comme YOLOv8 et le dernier YOLO11 offrent des avantages significatifs pour les développeurs et les chercheurs modernes:
- Performance supérieure : Les modèles Ultralytics offrent un meilleur équilibre entre la vitesse et la précision, ce qui est essentiel pour l’inférence en temps réel.
- Architecture moderne : Ils intègrent les dernières avancées en matière d'apprentissage profond, telles que la détection sans ancrage et les réseaux avancés de fusion de caractéristiques.
- Écosystème complet : L’écosystème Ultralytics offre une expérience transparente de l’entraînement au déploiement, avec une assistance, une documentation et des intégrations complètes.
- Capacités multi-tâches : La capacité à gérer la détection, la segmentation et plus encore dans un seul cadre permet de gagner du temps de développement et de réduire la complexité.
Conclusion
EfficientDet reste une architecture remarquable, en particulier pour son approche innovante de la mise à l'échelle et de l'efficacité des modèles. C'est un choix judicieux pour les applications où la minimisation du nombre de paramètres et des FLOPs est la priorité absolue.
Cependant, pour la grande majorité des applications de vision par ordinateur modernes, YOLOv8 présente une option plus intéressante. Il offre une vitesse supérieure, une plus grande précision et une polyvalence inégalée. Combiné à l'écosystème Ultralytics convivial et activement maintenu, YOLOv8 permet aux développeurs de créer et de déployer des solutions d'IA haute performance plus rapidement et plus efficacement. Pour ceux qui recherchent la solution la plus avancée et la plus facile à utiliser, les modèles Ultralytics sont le choix recommandé.
Autres comparaisons de modèles
Pour une exploration plus approfondie, consultez ces comparaisons impliquant YOLOv8, EfficientDet et d'autres modèles pertinents :
- YOLOv8 vs. YOLOv7
- EfficientDet contre. YOLOv7
- YOLOv8 vs. YOLOv5
- EfficientDet contre. YOLOv5
- RT-DETR vs. YOLOv8
- RT-DETR vs. EfficientDet
- Explorez les derniers modèles comme YOLOv10 et YOLO11.