EfficientDet contre. PP-YOLOE+ : une comparaison technique
La sélection du modèle de détection d'objets optimal est une décision essentielle qui équilibre la précision, la vitesse d'inférence et le coût de calcul. Cette page fournit une comparaison technique détaillée entre EfficientDet et PP-YOLOE+, deux modèles très influents développés par Google et Baidu, respectivement. Nous explorerons leurs philosophies architecturales, leurs benchmarks de performance et leurs cas d'utilisation idéaux pour vous aider à choisir le meilleur modèle pour votre projet.
EfficientDet : Évolutivité et efficacité
EfficientDet, introduit par l'équipe Google Brain, est une famille de modèles de détection d'objets conçus pour une efficacité exceptionnelle des paramètres et du calcul. Il y parvient en mettant à l'échelle systématiquement la profondeur, la largeur et la résolution du modèle à l'aide d'une nouvelle méthode de mise à l'échelle composite.
- 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
L'architecture d'EfficientDet repose sur trois innovations principales :
- Backbone EfficientNet : Il utilise le EfficientNet très efficace comme backbone pour l'extraction de caractéristiques, qui a également été développé à l'aide d'une approche de mise à l'échelle composée.
- BiFPN (Réseau de pyramide de caractéristiques bidirectionnel) : Pour la fusion de caractéristiques, EfficientDet introduit BiFPN, un réseau de pyramide de caractéristiques bidirectionnel pondéré qui permet une fusion de caractéristiques multi-échelles simple et rapide. Il apprend l’importance des différentes caractéristiques d’entrée et applique des connexions de haut en bas et de bas en haut plus efficacement que les FPN traditionnels.
- Mise à l'échelle composite : Un principe clé d'EfficientDet est sa méthode de mise à l'échelle composite, qui met à l'échelle uniformément la résolution, la profondeur et la largeur du backbone, de BiFPN et de la tête de détection. Cela garantit une allocation équilibrée des ressources sur l'ensemble du modèle, ce qui entraîne des gains d'efficacité importants.
Points forts et faiblesses
-
Points forts :
- Efficacité élevée des paramètres : Offre une grande précision avec beaucoup moins de paramètres et de FLOP par rapport à de nombreuses autres architectures.
- Scalabilité : La famille de modèles (D0 à D7) offre un moyen clair et efficace d'adapter le modèle en fonction des contraintes de ressources, des appareils mobiles aux serveurs cloud à grande échelle.
- Forte précision : Atteint des scores mAP compétitifs, en particulier compte tenu de sa faible empreinte de calcul.
-
Faiblesses :
- Vitesse d'inférence : Bien qu'elle soit efficace sur le plan informatique, sa latence d'inférence brute peut être supérieure à celle des modèles spécifiquement optimisés pour les performances en temps réel, tels que la série Ultralytics YOLO.
- Dépendance au Framework : L'implémentation originale et le support principal sont pour TensorFlow, ce qui peut nécessiter des efforts supplémentaires pour les développeurs travaillant au sein de l'écosystème PyTorch.
Cas d'utilisation
EfficientDet est un excellent choix pour les applications où les ressources de calcul et la taille du modèle sont des contraintes primaires. Il excelle dans des scénarios tels que :
- IA en périphérie (Edge AI) : Déploiement sur des appareils aux ressources limitées tels que les smartphones ou les systèmes embarqués.
- Applications Cloud : Déploiement rentable dans des environnements cloud où la minimisation de la surcharge de calcul est cruciale.
- Vision mobile : Alimentation des fonctionnalités de vision par ordinateur sur l’appareil dans les applications mobiles.
En savoir plus sur EfficientDet
PP-YOLOE+ : Optimisé pour la précision et la vitesse
PP-YOLOE+, développé par Baidu, est un détecteur d'objets à une étape haute performance de la suite PaddleDetection. Il se concentre sur l'atteinte d'un équilibre optimal entre précision et vitesse, en s'appuyant sur l'architecture YOLO avec plusieurs améliorations clés.
- 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+ est un détecteur sans ancrage, ce qui simplifie le pipeline de détection en supprimant le besoin de boîtes d'ancrage prédéfinies. Ses principales caractéristiques sont les suivantes :
- Tête efficace alignée sur les tâches : Elle utilise une tête découplée pour les tâches de classification et de localisation et utilise l'apprentissage de l'alignement des tâches (TAL) pour les aligner, améliorant ainsi la précision de la détection.
- Backbone et Neck améliorés : Le modèle intègre un backbone amélioré et un réseau d’agrégation de chemins (PAN) pour une fusion efficace des caractéristiques à plusieurs échelles.
- Écosystème PaddlePaddle : Il est profondément intégré au framework de deep learning PaddlePaddle, bénéficiant des optimisations disponibles dans cet écosystème.
Points forts et faiblesses
-
Points forts :
- Excellent équilibre vitesse-précision : Fournit des scores mAP élevés tout en conservant des vitesses d’inférence très rapides, en particulier sur les GPU avec l’optimisation TensorRT.
- Conception sans ancres : Simplifie la structure du modèle et réduit le nombre d'hyperparamètres qui nécessitent un réglage.
- Performance élevée : Surpasse souvent d'autres modèles en termes de vitesse et de précision pour sa taille.
-
Faiblesses :
- Verrouillage de l'écosystème : Son optimisation et son support principaux sont destinés au framework PaddlePaddle, ce qui peut poser un problème aux utilisateurs extérieurs à cet écosystème.
- Communauté et ressources : Peut avoir une communauté mondiale plus petite et moins de ressources tierces par rapport aux modèles plus largement adoptés comme ceux d'Ultralytics.
Cas d'utilisation
PP-YOLOE+ est bien adapté aux applications qui exigent à la fois une haute précision et des performances rapides en temps réel.
- Automatisation industrielle : Pour les tâches telles que le contrôle qualité dans la fabrication et la détection des défauts.
- Commerce de détail intelligent : Alimenter des applications telles que l’IA pour la gestion des stocks et l’analyse client.
- Automatisation du recyclage : Amélioration de l'efficacité du recyclage en identifiant les matériaux pour le tri automatisé.
Face-à-face : Performances et formation
Lorsqu'on compare les deux modèles, leurs philosophies de conception différentes deviennent apparentes. EfficientDet privilégie l'efficacité des paramètres, tandis que PP-YOLOE+ se concentre sur l'obtention du meilleur compromis vitesse-précision.
Modèle | Taille (pixels) |
mAPval 50-95 |
Vitesse CPU ONNX (ms) |
Vitesse T4 TensorRT (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 |
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 |
D'après le tableau, nous pouvons constater que les modèles PP-YOLOE+ atteignent systématiquement des vitesses d'inférence plus rapides sur GPU (T4 TensorRT) et des scores mAP souvent plus élevés que les modèles EfficientDet de tailles comparables, voire supérieures. Par exemple, PP-YOLOE+l atteint une mAP de 52,9 à 8,36 ms, surpassant EfficientDet-d6, qui a un nombre de paramètres similaire, mais un temps d'inférence beaucoup plus lent et une précision légèrement inférieure.
L'avantage Ultralytics : Pourquoi les modèles YOLO se distinguent
Bien qu'EfficientDet et PP-YOLOE+ soient tous deux des modèles puissants, les développeurs à la recherche d'un framework moderne, polyvalent et convivial trouvent souvent un choix plus convaincant dans les modèles Ultralytics YOLO tels que YOLOv8 et le dernier Ultralytics YOLO11.
- Facilité d'utilisation : Les modèles Ultralytics sont conçus pour offrir une expérience utilisateur simplifiée, avec une API Python simple, une documentation complète et des commandes CLI directes qui simplifient l'entraînement, la validation et le déploiement.
- Écosystème bien maintenu : L'écosystème Ultralytics bénéficie 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 le MLOps de bout en bout.
- Compromis de performance : Les modèles Ultralytics sont réputés pour leur 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 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 d’autres architectures. Cela les rend plus accessibles aux utilisateurs disposant de ressources matérielles limitées.
- Polyvalence : Contrairement à l'approche monotâche d'EfficientDet et de PP-YOLOE+, les modèles comme YOLO11 sont multitâches, prenant en charge la détection d'objets, la segmentation d'instance, la classification d'images, l'estimation de pose et la détection d'objets orientés (OBB) au sein d'un framework unique et unifié.
- Efficacité de l'entraînement : Les utilisateurs bénéficient de processus d'entraînement efficaces, de poids pré-entraînés facilement disponibles sur des ensembles de données comme COCO, et de temps de convergence plus rapides.
Conclusion
EfficientDet excelle dans les applications où l'efficacité des paramètres et des FLOP est la priorité absolue, offrant une famille évolutive de modèles adaptés aux environnements aux ressources limitées. PP-YOLOE+ offre une combinaison puissante de haute précision et de vitesse en temps réel, en particulier pour les utilisateurs investis dans l'écosystème PaddlePaddle.
Cependant, pour la plupart des développeurs et des chercheurs d'aujourd'hui, les modèles Ultralytics tels que YOLOv10 et YOLO11 présentent un choix supérieur. Ils offrent un équilibre de pointe en matière de performances, un écosystème très convivial et bien entretenu, et une polyvalence inégalée dans de multiples tâches de vision par ordinateur, ce qui en fait la solution idéale pour un large éventail d'applications, de la recherche à la production.
Autres comparaisons de modèles
Pour une exploration plus approfondie, considérez ces comparaisons impliquant EfficientDet, PP-YOLOE+ et d'autres modèles pertinents :
- EfficientDet contre. YOLOv8
- PP-YOLOE+ vs. YOLOv10
- YOLO11 vs. EfficientDet
- YOLO11 vs. PP-YOLOE+
- RT-DETR vs. EfficientDet