YOLOv8 vs. PP-YOLOE+ : Une comparaison technique
Lors de la sélection d'un modèle de détection d'objets, les développeurs doivent peser les compromis entre la précision, la vitesse d'inférence et la facilité de mise en œuvre. Cette page fournit une comparaison technique détaillée entre deux modèles puissants : Ultralytics YOLOv8, un modèle polyvalent et largement adopté d'Ultralytics, et PP-YOLOE+, un modèle de haute précision de Baidu. Nous allons approfondir leurs différences architecturales, leurs benchmarks de performance et leurs cas d'utilisation idéaux pour vous aider à déterminer la meilleure solution pour vos projets de vision par ordinateur.
Ultralytics YOLOv8 : polyvalence et performances
Ultralytics YOLOv8 est un modèle de pointe développé par Ultralytics, s'appuyant sur le succès des versions précédentes de YOLO. Il est conçu comme un cadre unifié pour l'entraînement de modèles pour la détection d'objets, la segmentation d'instance, la classification d'images, l'estimation de pose, et plus encore. Sa combinaison de performance, de flexibilité et de facilité d'utilisation en a fait un favori parmi les développeurs et les chercheurs.
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/
Architecture et principales fonctionnalités
YOLOv8 présente une conception sans ancres avec un nouveau backbone C2f qui améliore les capacités d’extraction des caractéristiques tout en restant léger. Il est intégré nativement à PyTorch, ce qui le rend très accessible et facile à modifier.
Un avantage clé de YOLOv8 réside dans l’écosystème Ultralytics bien maintenu. Il offre une expérience utilisateur rationalisée grâce à une API Python et une CLI simples, une documentation complète et un support communautaire actif. Le modèle est très polyvalent, prenant en charge plusieurs tâches de vision dans un seul framework, une fonctionnalité souvent absente des modèles plus spécialisés. De plus, YOLOv8 démontre une excellente efficacité d’entraînement, avec des temps d’entraînement plus rapides et des besoins en mémoire inférieurs par rapport à de nombreuses alternatives. Son intégration avec Ultralytics HUB simplifie l’ensemble du pipeline MLOps, de l’étiquetage des données au déploiement.
Points forts
- Excellent compromis de performance : Offre un bon compromis entre vitesse et précision, ce qui le rend adapté à un large éventail d’applications, des appareils périphériques aux serveurs cloud.
- Polyvalence : Un framework de modèle unique prend en charge la détection, la segmentation, la classification, l’estimation de pose et les boîtes englobantes orientées, offrant une flexibilité inégalée.
- Facilité d'utilisation : Une API conviviale, une documentation complète et une communauté vaste et active facilitent la prise en main et la résolution des problèmes.
- Écosystème bien maintenu : Bénéficie de mises à jour continues, de nouvelles fonctionnalités et d'une intégration transparente avec des outils MLOps tels que Weights & Biases et Comet.
- Flexibilité de déploiement : Facilement exportable vers différents formats tels que ONNX, TensorRT et OpenVINO, permettant une inférence optimisée sur divers matériels.
Faiblesses
- Bien que très compétitif, le plus grand modèle PP-YOLOE+ peut atteindre un mAP légèrement supérieur sur le jeu de données COCO, mais au prix d'un nombre de paramètres significativement plus élevé et d'une inférence plus lente.
Cas d'utilisation
Les performances équilibrées et la polyvalence de YOLOv8 le rendent idéal pour :
- Analyse vidéo en temps réel : Alimente les systèmes de sécurité, la surveillance du trafic et la gestion des foules.
- Automatisation industrielle : Automatisation du contrôle qualité dans la fabrication et amélioration de la logistique d’entrepôt.
- Analyse de vente au détail : Amélioration de la gestion des stocks et analyse du comportement des clients.
- Soins de santé : Aide à l’analyse d’images médicales pour des tâches telles que la détection de tumeurs.
PP-YOLOE+ : Haute précision dans l'écosystème PaddlePaddle
PP-YOLOE+ est un modèle de détection d'objets développé par Baidu dans le cadre de sa suite PaddleDetection. Il s'agit d'un détecteur sans ancrage à une seule étape qui se concentre sur l'obtention d'une grande précision tout en conservant une efficacité raisonnable. Le modèle est construit sur le framework de deep learning PaddlePaddle.
Auteurs : Auteurs 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
Architecture et principales fonctionnalités
PP-YOLOE+ introduit plusieurs améliorations architecturales, notamment une tête découplée pour la classification et la régression, ainsi qu'une fonction de perte spécialisée appelée Task Alignment Learning (TAL). Il utilise des backbones tels que ResNet ou CSPRepResNet combinés à un neck Path Aggregation Network (PAN) pour une fusion efficace des caractéristiques. Ces choix de conception contribuent à sa haute précision, en particulier dans les variantes de modèles plus grands.
Points forts
- Haute précision : Le plus grand modèle, PP-YOLOE+x, atteint un score mAP très élevé sur le benchmark COCO.
- Conception efficace sans ancres : Simplifie le pipeline de détection en supprimant le besoin de boîtes d'ancrage prédéfinies.
- Optimisé pour PaddlePaddle : Étroitement intégré à l'écosystème PaddlePaddle, ce qui peut être un avantage pour les développeurs qui utilisent déjà ce framework.
Faiblesses
- Dépendance au Framework : Sa dépendance principale au framework PaddlePaddle limite son accessibilité pour la communauté au sens large, qui utilise largement PyTorch.
- Polyvalence limitée : PP-YOLOE+ est principalement un détecteur d'objets et ne prend pas en charge nativement les tâches multiples telles que la segmentation, la classification et l'estimation de pose que l'on retrouve dans YOLOv8.
- Utilisation des ressources plus élevée : Comme le montre le tableau des performances, les modèles PP-YOLOE+ ont généralement plus de paramètres et de FLOP que leurs homologues YOLOv8 pour des niveaux de précision similaires.
- Écosystème moins étendu : Le soutien de la communauté, la documentation et les intégrations de tiers ne sont pas aussi complets que ceux offerts pour Ultralytics YOLOv8.
Cas d'utilisation
PP-YOLOE+ est bien adapté aux applications où l'obtention d'une précision maximale est la priorité absolue et où l'équipe de développement est standardisée sur le framework PaddlePaddle.
- Détection de défauts industriels : Identification des plus petits défauts dans la fabrication où la précision est essentielle.
- Recherche scientifique spécialisée : Projets qui nécessitent la plus grande précision de détection possible sur des ensembles de données spécifiques.
- Automatisation de la vente au détail : Tâches de haute précision comme les systèmes de caisse automatisés.
Analyse des performances et analyse comparative
La comparaison des performances ci-dessous met en évidence les principales différences entre YOLOv8 et PP-YOLOE+. Bien que PP-YOLOE+x atteigne le mAP le plus élevé, il le fait avec 44 % de paramètres en plus que YOLOv8x. En revanche, les modèles YOLOv8 démontrent systématiquement une efficacité supérieure, offrant une meilleure vitesse et des besoins en ressources moindres. Par exemple, YOLOv8n est nettement plus rapide sur CPU et GPU que n'importe quel modèle PP-YOLOE+ tout en utilisant le moins de paramètres et de FLOPs. Cette efficacité fait de YOLOv8 un choix plus pratique pour le déploiement dans le monde réel, en particulier sur les périphériques edge aux ressources limitées.
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 |
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 |
Conclusion : Quel modèle devriez-vous choisir ?
Pour la grande majorité des développeurs et des applications, Ultralytics YOLOv8 est le choix supérieur. Il offre un équilibre exceptionnel entre vitesse, précision et efficacité des ressources, difficile à battre. Sa véritable force réside toutefois dans sa polyvalence et l'écosystème robuste qui l'entoure. La capacité à gérer plusieurs tâches de vision par ordinateur dans un cadre unique et facile à utiliser, combinée à une documentation complète, un soutien communautaire actif et des intégrations MLOps transparentes, fait de YOLOv8 un outil incroyablement puissant et pratique.
PP-YOLOE+ est un modèle louable qui repousse les limites de la précision au sein du framework PaddlePaddle. Il constitue une option viable pour les équipes déjà investies dans l'écosystème Baidu ou pour les applications de niche où l'objectif est d'obtenir la dernière fraction de pourcentage de mAP, quel que soit le coût en termes de taille du modèle et de flexibilité du framework.
En fin de compte, si vous recherchez un modèle flexible, rapide et facile à utiliser, bien pris en charge et capable de s’adapter à une grande variété de tâches, YOLOv8 est le grand gagnant.
Explorer d'autres modèles
Si vous souhaitez explorer d'autres modèles de pointe, assurez-vous de consulter nos autres pages de comparaison :