PP-YOLOE+ vs. EfficientDet : Une comparaison technique pour la détection d'objets
Le choix du bon modèle de détection d'objets est une décision essentielle qui a un impact sur les performances, l'évolutivité et l'efficacité des applications de vision par ordinateur. Dans cette comparaison technique, nous analysons deux architectures importantes : PP-YOLOE+, un détecteur sans ancrage haute performance de l'écosystème PaddlePaddle de Baidu, et EfficientDet, l'architecture évolutive de Google connue pour sa méthode de mise à l'échelle composite.
PP-YOLOE+: Optimisé pour la vitesse et la précision
PP-YOLOE+ représente une évolution significative dans la série YOLO, développé pour offrir un équilibre optimal entre la précision et la vitesse d'inférence. Basé sur le paradigme sans ancres, il simplifie le pipeline de détection tout en tirant parti de techniques avancées comme le Task Alignment Learning (TAL).
- Auteurs : Auteurs de PaddlePaddle
- Organisation :Baidu
- Date : 2022-04-02
- Arxiv :https://arxiv.org/abs/2203.16250
- GitHub :https://github.com/PaddlePaddle/PaddleDetection/
- Docs :https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.8.1/configs/ppyoloe/README.md
Principales caractéristiques architecturales
PP-YOLOE+ intègre un backbone CSPRepResNet, qui combine l'efficacité de CSPNet avec les capacités de reparamétrisation de ResNet. Cela permet au modèle de capturer des représentations de caractéristiques riches sans entraîner de coûts de calcul excessifs. Le neck utilise un réseau d'agrégation de chemins (PAN) pour une fusion efficace des caractéristiques multi-échelles, garantissant que les petits objets sont détectés avec une plus grande fiabilité.
Une caractéristique remarquable est la tête efficace alignée sur les tâches (ET-Head). Contrairement aux têtes couplées traditionnelles, l'ET-Head découple les tâches de classification et de localisation, en utilisant TAL pour aligner dynamiquement les meilleures ancres avec les objets de vérité terrain. Cette approche améliore considérablement la vitesse de convergence et la précision finale.
EfficientDet : Efficacité évolutive
EfficientDet a introduit une nouvelle approche de la mise à l'échelle des modèles, axée sur l'optimisation simultanée de la précision et de l'efficacité. Il est construit sur le backbone EfficientNet et introduit un réseau de pyramides de caractéristiques bidirectionnel pondéré (BiFPN).
- 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#readme
Principales caractéristiques architecturales
L'innovation principale d'EfficientDet est le BiFPN, qui permet une fusion de caractéristiques multi-échelle facile et rapide. Contrairement aux FPN précédents qui additionnaient les caractéristiques de manière égale, BiFPN attribue des poids à chaque caractéristique d'entrée, permettant au réseau d'apprendre l'importance des différentes caractéristiques d'entrée. De plus, EfficientDet utilise une méthode de mise à l'échelle composée qui met à l'échelle uniformément la résolution, la profondeur et la largeur pour tous les réseaux de backbone, de caractéristiques et de prédiction de boîtes/classes, fournissant une famille de modèles (D0 à D7) adaptés aux différentes contraintes de ressources.
En savoir plus sur EfficientDet
Analyse des performances : Vitesse vs. Précision
Lors de l'évaluation de ces modèles, le compromis entre la vitesse d'inférence et la précision moyenne (mAP) devient clair. Alors que EfficientDet a établi des normes élevées lors de sa sortie, les architectures plus récentes comme PP-YOLOE+ ont tiré parti de conceptions tenant compte du matériel pour obtenir des performances supérieures sur les GPU modernes.
| 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 |
Les données soulignent que PP-YOLOE+ surpasse considérablement EfficientDet en termes de latence d'inférence GPU. Par exemple, PP-YOLOE+l atteint un mAP plus élevé (52,9) que EfficientDet-d6 (52,6) tout en étant plus de 10 fois plus rapide sur un GPU T4 (8,36 ms contre 89,29 ms). EfficientDet conserve sa pertinence dans les scénarios où les FLOPs sont la principale contrainte, comme les CPU mobiles à très faible consommation, mais il a du mal à rivaliser dans les environnements de serveurs à haut débit.
Optimisation matérielle
Les choix architecturaux dans PP-YOLOE+ sont spécifiquement conçus pour être compatibles avec les accélérateurs matériels GPU comme TensorRT. Les opérations sont structurées pour maximiser le parallélisme, tandis que les connexions complexes dans le BiFPN d'EfficientDet peuvent parfois créer des goulots d'étranglement d'accès à la mémoire sur les GPU.
Points forts et faiblesses
Comprendre les avantages et les inconvénients de chaque modèle aide à sélectionner le bon outil pour des tâches de vision par ordinateur spécifiques.
PP-YOLOE+
- Points forts :
- Ratio Précision-Vitesse Élevé : Fournit un mAP de pointe avec des capacités d'inférence en temps réel sur les GPU.
- Sans ancres : Supprime le besoin d'un réglage complexe des boîtes d'ancrage, simplifiant ainsi la configuration de l'entraînement.
- Attribution dynamique des étiquettes : Utilise TAL pour un meilleur alignement entre la classification et la localisation.
- Faiblesses :
- Spécificité de l'écosystème : Fortement optimisé pour le framework PaddlePaddle, ce qui peut présenter une courbe d'apprentissage pour les utilisateurs habitués à PyTorch.
- Intensité des ressources : Les variantes plus grandes (L et X) nécessitent une mémoire importante, ce qui peut limiter le déploiement sur des appareils edge avec des limites de RAM strictes.
EfficientDet
- Points forts :
- Efficacité des paramètres : Obtention d’une haute précision avec relativement moins de paramètres par rapport aux anciens détecteurs.
- Scalabilité : La méthode de mise à l'échelle composite permet aux utilisateurs de basculer facilement entre les tailles de modèles (d0-d7) en fonction de la puissance de calcul disponible.
- BiFPN : Fusion de caractéristiques innovante qui gère efficacement les objets à différentes échelles.
- Faiblesses :
- Inférence lente : Malgré de faibles nombres de FLOPs, la structure complexe du graphe entraîne souvent des temps d'inférence plus lents dans le monde réel, en particulier sur les GPU.
- Vitesse d'entraînement : Peut être plus lent à entraîner par rapport aux détecteurs modernes à une étape en raison de la complexité de l'architecture.
Cas d'utilisation concrets
Ces modèles excellent dans différents environnements en fonction de leurs atouts architecturaux.
Fabrication et automatisation industrielle : PP-YOLOE+ est un excellent choix pour le contrôle de la qualité dans la fabrication. Sa vitesse d'inférence élevée permet de détecter les défauts en temps réel sur les chaînes de montage rapides où les millisecondes comptent.
Vente au détail et inventaire intelligents : Pour l'analyse de la vente au détail, comme la caisse automatisée ou la surveillance des rayons, la précision de PP-YOLOE+ garantit que les produits sont correctement identifiés, même dans des scènes encombrées.
Télédétection et imagerie aérienne : La capacité d'EfficientDet à s'adapter à des résolutions plus élevées (par exemple, D7) le rend utile pour analyser des images satellites ou de drones à haute résolution où la vitesse de traitement est moins critique que la détection de petites caractéristiques dans de grandes images.
Appareils périphériques à faible consommation d'énergie : Les petites variantes EfficientDet (D0-D1) sont parfois préférées pour le matériel edge AI hérité où le nombre total de FLOPs est la limite stricte et l'accélération GPU n'est pas disponible.
L'avantage Ultralytics : Pourquoi choisir YOLO11 ?
Bien que PP-YOLOE+ et EfficientDet offrent des solutions robustes, le modèle Ultralytics YOLO11 offre une expérience supérieure à la plupart des développeurs et des chercheurs. Il combine le meilleur des innovations architecturales modernes avec un écosystème centré sur l'utilisateur.
Pourquoi YOLO11 se démarque
- Facilité d'utilisation : Les modèles Ultralytics sont réputés pour leur convivialité "prête à l'emploi". Avec une simple API Python et une CLI intuitive, vous pouvez entraîner, valider et déployer des modèles en quelques minutes, contrairement aux fichiers de configuration souvent complexes requis par d'autres frameworks.
- Écosystème bien maintenu : La communauté Ultralytics est active et en pleine croissance. Des mises à jour régulières assurent la compatibilité avec les dernières versions de PyTorch, ONNX et CUDA, offrant une base stable pour les projets à long terme.
- Équilibre des performances : YOLO11 atteint un équilibre remarquable, dépassant souvent PP-YOLOE+ en vitesse tout en égalant ou en dépassant la précision. Il est conçu pour être agnostique au matériel, fonctionnant exceptionnellement bien sur les CPU, les GPU et les NPU.
- Efficacité de la mémoire : Comparés aux modèles basés sur transformateur ou aux architectures plus anciennes, les modèles Ultralytics YOLO sont optimisés pour une consommation de mémoire plus faible pendant l’entraînement. Cela permet des tailles de lots plus importantes et une convergence plus rapide sur du matériel standard.
- Polyvalence : Contrairement à EfficientDet qui est principalement un détecteur d’objets, YOLO11 prend en charge un large éventail de tâches, notamment la segmentation d’instance, l’estimation de pose, la détection d’objets orientés (OBB) et la classification au sein d’un seul framework unifié.
- Efficacité de l'entraînement : Grâce à des augmentations avancées et à des chargeurs de données optimisés, l'entraînement d'un modèle YOLO11 est rapide et efficace. De nombreux poids pré-entraînés sont disponibles, ce qui permet d'obtenir de puissants résultats d'apprentissage par transfert avec un minimum de données.
Exemple : Exécution de YOLO11 en Python
Il ne nécessite que quelques lignes de code pour charger un modèle YOLO11 pré-entraîné et exécuter l'inférence, ce qui démontre la simplicité du flux de travail Ultralytics.
from ultralytics import YOLO
# Load a pre-trained YOLO11n model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
Conclusion
PP-YOLOE+ et EfficientDet ont tous deux contribué de manière significative au domaine de la vision par ordinateur. PP-YOLOE+ est un concurrent sérieux pour les utilisateurs profondément intégrés dans l'écosystème Baidu nécessitant un débit GPU élevé. EfficientDet reste un exemple classique d'efficacité des paramètres et de conception évolutive.
Cependant, pour ceux qui recherchent une solution polyvalente, performante et conviviale pour les développeurs, Ultralytics YOLO11 est le choix recommandé. Sa combinaison de précision de pointe, de vitesse en temps réel et d'un écosystème de soutien en fait la plateforme idéale pour la création d'applications d'IA de nouvelle génération.
Pour d'autres comparaisons, pensez à explorer YOLO11 vs. EfficientDet ou PP-YOLOE+ vs. YOLOv10 pour voir comment ces modèles se comparent à d'autres architectures de pointe.