YOLOv5 vs PP-YOLOE+ : Une comparaison technique détaillée
Choisir le bon modèle de détection d'objets est une décision cruciale qui équilibre la précision, la vitesse et la facilité de mise en œuvre. Cette page fournit une comparaison technique approfondie entre deux modèles importants : Ultralytics YOLOv5, une norme industrielle largement adoptée, connue pour sa polyvalence et ses performances, et PP-YOLOE+, un modèle de haute précision de l'écosystème PaddlePaddle de Baidu. Nous allons explorer leurs différences architecturales, leurs benchmarks de performance et leurs cas d'utilisation idéaux pour vous aider à faire un choix éclairé pour vos projets de vision par ordinateur.
Ultralytics YOLOv5 : la norme industrielle établie
Ultralytics YOLOv5 est devenu une référence dans la communauté de la vision par ordinateur depuis sa sortie. Il est célébré pour son équilibre exceptionnel entre vitesse et précision, ce qui en fait un choix très pratique pour un large éventail d’applications réelles. Son développement dans PyTorch et l’écosystème complet qui l’entoure en ont fait un favori parmi les développeurs et les chercheurs.
Auteur : Glenn Jocher
Organisation : Ultralytics
Date : 2020-06-26
GitHub : https://github.com/ultralytics/yolov5
Docs : https://docs.ultralytics.com/models/yolov5/
Architecture et principales fonctionnalités
L'architecture de YOLOv5 témoigne d'une conception efficace, entièrement construite en PyTorch pour une flexibilité et une facilité d'utilisation maximales.
- Backbone : Il utilise un backbone CSPDarknet53, une variante de Darknet qui intègre des modules Cross Stage Partial (CSP) pour réduire le calcul tout en conservant des capacités d’extraction de caractéristiques élevées.
- Cou : Un réseau d’agrégation de chemins (PANet) est utilisé pour l’agrégation de caractéristiques, combinant efficacement les caractéristiques de différents niveaux de la colonne vertébrale pour améliorer la détection à différentes échelles.
- Head : YOLOv5 utilise une tête de détection basée sur des ancres, qui prédit les boîtes englobantes en fonction d’un ensemble de boîtes d’ancrage prédéfinies. Cette approche est hautement optimisée pour la vitesse.
- Scalabilité : Disponible en différentes tailles (n, s, m, l, x), permettant aux utilisateurs de sélectionner un modèle adapté à leurs besoins spécifiques, des modèles légers pour les appareils périphériques aux modèles plus grands pour une précision maximale.
Points forts et faiblesses
Points forts :
- Équilibre exceptionnel des performances : YOLOv5 offre un compromis fantastique entre la vitesse d'inférence et la précision de la détection, ce qui le rend adapté à de nombreux scénarios d'inférence en temps réel.
- Facilité d'utilisation : Réputé pour son expérience utilisateur simplifiée, ses interfaces Python et CLI simples et sa documentation exhaustive.
- Écosystème bien maintenu : Bénéficie de l'écosystème Ultralytics intégré, comprenant un développement actif, une communauté large et solidaire, des mises à jour fréquentes et des outils tels que Ultralytics HUB pour la formation sans code.
- Efficacité de l'entraînement : Offre des processus d'entraînement efficaces, des poids pré-entraînés facilement disponibles et des besoins en mémoire généralement inférieurs à ceux de nombreuses alternatives.
- Polyvalence : Prend en charge plusieurs tâches, notamment la détection d'objets, la segmentation d'instance et la classification d'images.
Faiblesses :
- Bien que très précis, les modèles plus récents peuvent surpasser ses scores mAP sur des benchmarks comme COCO.
- Sa dépendance aux boîtes d’ancrage peut nécessiter un réglage plus fin des hyperparamètres pour les ensembles de données avec des formes d’objets non conventionnelles par rapport aux méthodes sans ancrage.
Cas d'utilisation
La vitesse et la polyvalence de YOLOv5 le rendent idéal pour :
- Suivi d'objets en temps réel : Parfait pour la surveillance, la robotique et les systèmes autonomes, comme indiqué dans notre guide de segmentation et de suivi d'instance.
- Déploiement sur des appareils périphériques (Edge Device Deployment) : Les modèles efficaces (YOLOv5n, YOLOv5s) fonctionnent efficacement sur des appareils aux ressources limitées comme Raspberry Pi et NVIDIA Jetson.
- Automatisation industrielle : Utilisée dans le contrôle qualité, la détection des défauts et l’automatisation du recyclage.
PP-YOLOE+ : Haute précision dans l'écosystème PaddlePaddle
PP-YOLOE+, développé par Baidu, est un détecteur d'objets à une étape sans ancres, intégré au framework d'apprentissage profond PaddlePaddle. Il s'appuie sur le modèle PP-YOLOE, en introduisant des améliorations visant à repousser les limites de la précision tout en maintenant l'efficacité.
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+ intègre plusieurs choix de conception modernes pour maximiser les performances.
- Conception sans ancres : Elle élimine le besoin de boîtes d'ancrage prédéfinies, ce qui peut simplifier le pipeline et réduire l'ajustement des hyperparamètres. Vous pouvez en découvrir davantage sur les détecteurs sans ancres dans notre glossaire.
- Backbone : Utilise un backbone efficace comme CSPRepResNet, conçu pour une représentation puissante des caractéristiques.
- Cou : Utilise un réseau d’agrégation de chemins (PAN) dont le principe est similaire à celui de YOLOv5 pour une fusion robuste des caractéristiques.
- Head : Comporte une tête découplée (ET-Head) qui sépare les tâches de classification et de régression, ce qui conduit souvent à une précision améliorée.
- Fonction de perte : utilise des techniques avancées telles que l’apprentissage de l’alignement des tâches (TAL) et la perte VariFocal pour améliorer l’alignement entre les scores de classification et la précision de la localisation.
Points forts et faiblesses
Points forts :
- Potentiel de haute précision, en particulier avec les variantes de modèles plus grandes qui arrivent souvent en tête des classements.
- L'approche sans ancres peut simplifier le réglage des hyperparamètres dans certains cas.
- Vitesses d'inférence efficaces, en particulier lorsqu'elles sont optimisées avec TensorRT.
- Bien intégré dans l'écosystème PaddlePaddle.
Faiblesses :
- Principalement optimisé pour le framework PaddlePaddle, ce qui peut limiter l'utilisation pour la majorité des développeurs qui préfèrent PyTorch.
- La communauté et les ressources disponibles sont plus petites comparées à l'écosystème étendu entourant les modèles Ultralytics YOLO.
- L'accent est moins mis sur la facilité d'utilisation et la simplicité du déploiement, ce qui nécessite souvent plus de code passe-partout et de connaissances spécifiques au framework.
Cas d'utilisation
PP-YOLOE+ est adapté pour :
- Inspection de qualité industrielle : Une grande précision est bénéfique pour la détection des défauts subtils dans l'IA dans la fabrication.
- Commerce de détail intelligent : Les applications telles que la gestion des stocks et l’analyse de la clientèle peuvent bénéficier de sa précision.
- Projets centrés sur PaddlePaddle : C'est le choix idéal pour les développeurs qui ont déjà investi dans le framework PaddlePaddle ou qui l'ont normalisé.
Performances et analyses comparatives : YOLOv5 vs. PP-YOLOE+
Lorsqu'on compare les performances, le choix dépend fortement du matériel cible et de l'objectif principal (vitesse vs. précision).
- Précision (mAP) : Les modèles PP-YOLOE+ atteignent généralement des scores mAPval plus élevés sur l'ensemble de données COCO par rapport à leurs homologues YOLOv5 de taille similaire. Pour les applications où chaque fraction de point de pourcentage de précision compte, PP-YOLOE+ est un concurrent sérieux.
- Vitesse d'inférence : Ultralytics YOLOv5 démontre une vitesse supérieure, en particulier sur les CPU. Le modèle YOLOv5n est exceptionnellement rapide, ce qui le rend parfait pour les applications en temps réel sur une large gamme de matériel. Bien que PP-YOLOE+ soit rapide sur les GPU avec TensorRT, YOLOv5 conserve un fort avantage en termes de performance par watt, en particulier sur les appareils périphériques.
- Efficacité (Paramètres et FLOPs) : les modèles YOLOv5 sont conçus pour être légers. Par exemple, YOLOv5n a beaucoup moins de paramètres et de FLOPs que PP-YOLOE+s, ce qui facilite son déploiement dans des environnements où les ressources sont limitées.
Modèle | Taille (pixels) |
mAPval 50-95 |
Vitesse CPU ONNX (ms) |
Vitesse T4 TensorRT10 (ms) |
paramètres (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
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 |
Formation, convivialité et écosystème
Au-delà des performances brutes, l'expérience développeur est un facteur essentiel. C'est là qu'Ultralytics YOLOv5 brille vraiment.
-
YOLOv5 : L'écosystème Ultralytics est conçu pour la productivité des développeurs. Étant native de PyTorch, elle s'intègre parfaitement dans le flux de travail d'apprentissage profond le plus populaire. La Facilité d'utilisation est inégalée, avec une API simple et bien documentée qui permet l'entraînement, la validation et l'inférence avec seulement quelques lignes de code. L'Écosystème bien maintenu offre un avantage considérable, avec des mises à jour constantes, une immense communauté pour le support et des intégrations avec des outils comme Weights & Biases et ClearML. De plus, l'Efficacité de l'entraînement est un objectif central, avec des modèles qui s'entraînent rapidement et nécessitent moins de mémoire.
-
PP-YOLOE+ : L'entraînement est limité au framework PaddlePaddle. Bien que puissant, cela crée un obstacle pour les développeurs qui ne connaissent pas son écosystème. La documentation et le support de la communauté, bien que bons, ne sont pas aussi vastes ou accessibles que ceux de YOLOv5. Son intégration dans un pipeline basé sur PyTorch nécessite des étapes supplémentaires et des conversions potentielles, ce qui ajoute de la complexité au cycle de vie MLOps.
Conclusion : Quel modèle devriez-vous choisir ?
YOLOv5 et PP-YOLOE+ sont tous deux d'excellents modèles, mais ils répondent à des besoins différents.
Ultralytics YOLOv5 est le choix recommandé pour la grande majorité des projets. Son équilibre exceptionnel entre vitesse et précision, combiné à un écosystème convivial pour les développeurs sans précédent, en fait l’option la plus pratique et la plus efficace. Que vous soyez un débutant prototypant une nouvelle idée ou un expert déployant un système robuste sur du matériel périphérique, la facilité d’utilisation, la polyvalence et le fort soutien communautaire de YOLOv5 accéléreront votre cycle de développement et assureront le succès.
PP-YOLOE+ est un outil spécialisé qui excelle dans les scénarios où l'obtention du mAP le plus élevé possible est l'objectif principal, et où l'équipe de développement maîtrise déjà le framework PaddlePaddle. C'est un modèle puissant pour la recherche et pour les applications où la précision ne peut être compromise, à condition que vous soyez prêt à travailler dans son écosystème spécifique.
Explorer d'autres modèles
Ultralytics continue de repousser les limites de ce qui est possible en matière de détection d'objets. Pour ceux qui recherchent des performances et des fonctionnalités encore supérieures, nous recommandons d'explorer les modèles plus récents tels que YOLOv8 et le YOLO11 à la pointe de la technologie. Ces modèles s'appuient sur les fondations de YOLOv5, offrant une précision améliorée, davantage de tâches prises en charge et une efficacité encore plus grande. Vous trouverez plus de comparaisons sur notre page de comparaison principale.