PP-YOLOE+ vs. EfficientDet : Une comparaison technique pour la détection d'objets
Le choix du modèle de détection d'objets optimal est crucial pour les applications de vision par ordinateur. Cette page offre une comparaison technique détaillée entre PP-YOLOE+ et EfficientDet, deux modèles importants, afin de vous aider à prendre une décision éclairée en fonction des exigences de votre projet. Nous examinerons en profondeur leurs conceptions architecturales, leurs benchmarks de performance et leur adéquation aux applications. Bien que les deux modèles aient apporté d'importantes contributions, ils représentent différentes étapes de l'évolution des détecteurs d'objets efficaces.
PP-YOLOE+ : Optimisé pour l'efficacité et la précision
PP-YOLOE+, développé par les auteurs de PaddlePaddle chez Baidu et publié le 2 avril 2022, est une version améliorée de la série PP-YOLOE. Il se concentre sur la fourniture d'une haute précision et d'un déploiement efficace, en particulier au sein de l'écosystème PaddlePaddle. Il se distingue comme un détecteur sans ancrage à une seule étape conçu pour un équilibre supérieur entre performance et vitesse dans les tâches de détection d'objets.
- Auteurs : Auteurs de PaddlePaddle
- Organisation : Baidu
- Date : 2022-04-02
- Arxiv : https://arxiv.org/abs/2203.16250
- GitHub : https://github.com/PaddlePaddle/PaddleDetection/
- Documentation : https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.8.1/configs/ppyoloe/README.md
Architecture et principales fonctionnalités
PP-YOLOE+ adopte une approche "anchor-free", qui simplifie la structure du modèle et le processus d'entraînement en supprimant le besoin de "anchor boxes" prédéfinies. Son architecture comprend une tête de détection découplée qui sépare les tâches de classification et de localisation, améliorant ainsi la précision globale. Le modèle utilise VariFocal Loss, une fonction de perte spécialisée, pour mieux gérer le déséquilibre entre les échantillons positifs et négatifs, affinant davantage la classification et la précision des "bounding box". L'architecture comprend des améliorations dans le backbone, le neck avec un Path Aggregation Network (PAN), et la tête pour améliorer à la fois la précision et la vitesse d'inférence.
Points forts et faiblesses
- Points forts : Haute précision pour son nombre de paramètres, la conception sans point d’ancrage simplifie l’implémentation, et il est bien pris en charge dans le framework PaddlePaddle. Le modèle affiche d’excellentes vitesses d’inférence GPU lorsqu’il est optimisé avec TensorRT.
- Points faibles : Principalement optimisé pour l'écosystème PaddlePaddle, ce qui peut limiter la flexibilité pour les utilisateurs d'autres frameworks populaires comme PyTorch. Son support communautaire et ses ressources disponibles peuvent être moins importants que ceux des modèles adoptés mondialement comme la série Ultralytics YOLO.
Cas d'utilisation
Les performances équilibrées et la conception moderne sans ancres font de PP-YOLOE+ un choix polyvalent pour diverses applications. Il est bien adapté aux tâches telles que l'inspection de la qualité industrielle, l'automatisation du recyclage et l'amélioration des opérations de vente au détail intelligente.
EfficientDet : Architecture évolutive et efficace
EfficientDet a été introduit par l'équipe Google Brain en novembre 2019. Il a établi une nouvelle norme en matière d'efficacité de la détection d'objets en introduisant une famille de modèles capables de s'adapter des appareils périphériques aux grands serveurs en nuage. Ses principales innovations sont axées sur la création d'une architecture hautement efficace et évolutive.
- 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
- Documentation : https://github.com/google/automl/tree/master/efficientdet
Architecture et principales fonctionnalités
L'architecture d'EfficientDet repose sur trois idées clés :
- Backbone EfficientNet : Utilise EfficientNet, un réseau très performant, comme backbone pour l'extraction de caractéristiques, conçu à l'aide d'une recherche d'architecture neuronale afin d'optimiser la précision et les FLOPs.
- BiFPN (Bi-directional Feature Pyramid Network) : Au lieu d’un FPN standard, EfficientDet introduit BiFPN, une méthode de fusion de caractéristiques multi-échelle plus efficace. Il permet un flux d’informations facile et rapide entre les différents niveaux de caractéristiques grâce à des connexions pondérées.
- Scaling composite : Une nouvelle méthode de scaling 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 détection à l’aide d’un simple coefficient composite. Ceci permet au modèle de passer de la petite variante D0 à la grande variante D7 d’une manière structurée et efficace.
Analyse des performances
Le tableau ci-dessous fournit une comparaison détaillée des performances. Bien qu'EfficientDet ait été à la pointe de la technologie lors de sa sortie, les benchmarks montrent que les modèles plus récents comme PP-YOLOE+ offrent des performances nettement supérieures, en particulier en termes de vitesse d'inférence sur GPU. Par exemple, PP-YOLOE+l atteint un mAP plus élevé (52,9) que EfficientDet-d5 (51,5), mais est plus de 8 fois plus rapide sur un GPU T4 avec TensorRT. Ceci met en évidence les progrès rapides de l'architecture des modèles et des techniques d'optimisation.
Modèle | Taille (pixels) |
mAPval 50-95 |
Vitesse CPU ONNX (ms) |
Vitesse T4 TensorRT10 (ms) |
paramètres (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
PP-YOLOE+t | 640 | 39.9 | - | 2.84 | 4.85 | 19.15 |
PP-YOLOE+s | 640 | 43.7 | - | 2.62 | 7.93 | 17.36 |
PP-YOLOE+m | 640 | 49.8 | - | 5.56 | 23.43 | 49.91 |
PP-YOLOE+l | 640 | 52.9 | - | 8.36 | 52.2 | 110.07 |
PP-YOLOE+x | 640 | 54.7 | - | 14.3 | 98.42 | 206.59 |
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 |
Points forts et faiblesses
- Points forts : Architecture révolutionnaire avec BiFPN et mise à l'échelle composite qui a influencé de nombreux modèles ultérieurs. Très évolutif sur une large gamme de budgets de calcul.
- Points faibles : Vitesses d'inférence plus lentes par rapport aux architectures modernes. La conception basée sur l'ancrage est plus complexe que les alternatives sans ancrage. L'implémentation originale est en TensorFlow, ce qui peut être un obstacle pour la communauté de recherche à dominance PyTorch.
Cas d'utilisation
EfficientDet reste une option viable pour les applications où l'évolutivité du modèle est essentielle et où les performances en temps réel extrêmes ne sont pas la contrainte principale. Il peut être utilisé pour le traitement par lots hors ligne d'images, les API de vision basées sur le cloud et certains scénarios d'IA en périphérie où ses variantes plus petites (D0-D2) peuvent offrir un bon compromis entre précision et ressources.
En savoir plus sur EfficientDet
Conclusion : Quel modèle devriez-vous choisir ?
PP-YOLOE+ et EfficientDet sont tous deux des modèles puissants, mais ils répondent à des besoins différents et représentent différents points dans la chronologie de la recherche sur la détection d'objets.
- PP-YOLOE+ est un choix judicieux si vous travaillez dans l'écosystème PaddlePaddle et que vous avez besoin d'un détecteur sans ancrage moderne, rapide et précis.
- EfficientDet reste un modèle phare en raison de ses innovations architecturales. Cependant, pour les nouveaux projets, ses performances ont été largement dépassées par les modèles plus récents.
Pour les développeurs et les chercheurs qui recherchent la meilleure combinaison de performance, de polyvalence et de facilité d'utilisation, nous recommandons de considérer la série Ultralytics YOLO. Les modèles tels que YOLOv8 et le dernier YOLO11 offrent plusieurs avantages clés :
- Équilibre des performances : Les modèles Ultralytics YOLO offrent un compromis de pointe entre vitesse et précision, ce qui les rend adaptés à la fois au déploiement périphérique en temps réel et aux applications cloud de haute précision.
- Polyvalence : Ce sont des modèles multifonctionnels qui prennent en charge non seulement la détection d'objets, mais aussi la segmentation d'instances, l'estimation de pose, la classification, et bien plus encore, le tout dans un cadre unique et unifié.
- Facilité d'utilisation : Les modèles sont fournis avec une API Python et une CLI simples, une documentation exhaustive et un processus de formation simple.
- Écosystème bien maintenu : Ultralytics fournit un écosystème robuste avec un développement actif, un fort soutien de la communauté et une intégration transparente avec des outils tels que Ultralytics HUB pour un MLOps rationalisé, de la gestion des ensembles de données au déploiement.
- Efficacité de l'entraînement : Les modèles Ultralytics YOLO sont connus pour leur entraînement efficace, nécessitant moins de mémoire et de temps que de nombreuses alternatives, et sont livrés avec une large gamme de poids pré-entraînés pour accélérer les projets personnalisés.
Pour des comparaisons plus détaillées, vous pourriez être intéressé à explorer comment ces modèles se comparent à d'autres architectures populaires comme YOLO11 vs. EfficientDet ou PP-YOLOE+ vs. YOLOv10.