YOLOv7 vs. PP-YOLOE+ : 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 en vision par ordinateur, nécessitant un équilibre minutieux entre la précision, la vitesse et les ressources de calcul. Cette page fournit une comparaison technique détaillée entre YOLOv7 et PP-YOLOE+, deux modèles influents qui ont établi des benchmarks élevés dans le domaine. Nous explorerons leurs conceptions architecturales, leurs mesures de performance et leurs cas d'utilisation idéaux pour vous aider à faire un choix éclairé pour vos projets.
YOLOv7 : Optimisé pour la vitesse et la précision
YOLOv7 représente une étape importante dans la famille YOLO, saluée pour son équilibre exceptionnel entre la vitesse d'inférence en temps réel et la haute précision. Elle a introduit de nouvelles optimisations architecturales et d'entraînement qui ont repoussé les limites de ce qui était possible pour les détecteurs d'objets au moment de sa sortie.
- Auteurs : Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao
- Organisation : Institute of Information Science, Academia Sinica, Taiwan
- Date : 2022-07-06
- ArXiv : https://arxiv.org/abs/2207.02696
- GitHub : https://github.com/WongKinYiu/yolov7
- Docs : https://docs.ultralytics.com/models/yolov7/
Architecture et principales fonctionnalités
L’architecture de YOLOv7 intègre plusieurs innovations clés détaillées dans son document. L’une de ses principales contributions est le réseau d’agrégation de couches efficace étendu (E-ELAN), une nouvelle conception de backbone qui améliore la capacité d’apprentissage du réseau sans perturber le chemin de gradient, ce qui conduit à une extraction de caractéristiques plus efficace.
De plus, YOLOv7 utilise une approche de "sac de cadeaux gratuits entraînable". Cela implique l'utilisation de techniques d'optimisation avancées et de stratégies d'entraînement, telles que la perte guidée grossière à fine, qui améliorent la précision de la détection sans ajouter de coût de calcul pendant l'inférence. Le modèle exploite également des techniques de reparamétrisation pour créer une architecture plus efficace pour le déploiement une fois l'entraînement terminé.
Performance et cas d'utilisation
YOLOv7 est réputé pour ses performances exceptionnelles, en particulier dans les scénarios qui exigent un traitement à haute vitesse sans compromettre de manière significative la précision. Son efficacité en fait un excellent choix pour l'inférence en temps réel sur le matériel GPU.
Les applications idéales incluent :
- Systèmes autonomes : Alimente les systèmes de perception dans les véhicules autonomes et les drones où une faible latence est essentielle pour la sécurité.
- Sécurité et surveillance : Utilisé dans les systèmes de sécurité avancés pour la détection immédiate des menaces dans les flux vidéo en direct.
- Robotique : Permet aux robots de percevoir leur environnement et d’interagir avec lui en temps réel, ce qui est essentiel pour l’automatisation de la fabrication et de la logistique.
Points forts et faiblesses
- Points forts : Compromis de pointe entre vitesse et précision, architecture très efficace pour l'inférence GPU et stratégies d'apprentissage avancées qui améliorent les performances.
- Points faibles : En tant que modèle basé sur des ancres, il peut nécessiter un réglage minutieux des configurations de boîtes d'ancrage pour des performances optimales sur des ensembles de données personnalisés. Le processus d'entraînement pour les variantes plus importantes peut être gourmand en calcul.
PP-YOLOE+ : Sans ancres et polyvalente
PP-YOLOE+, développé par Baidu, est un détecteur sans ancrage haute performance de la suite PaddleDetection. Il se distingue par son évolutivité et ses performances élevées dans une gamme de tailles de modèles, tout en simplifiant le pipeline de détection en éliminant les boîtes d'ancrage.
- 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
Documentation PP-YOLOE+ (PaddleDetection)
Architecture et principales fonctionnalités
L'innovation principale de PP-YOLOE+ est sa conception sans ancres, qui simplifie le modèle en supprimant le besoin de boîtes d'ancrage prédéfinies et leurs hyperparamètres associés. Cela rend le modèle plus flexible et plus facile à adapter à différentes formes et tailles d'objets. Il dispose d'une tête découplée pour les tâches de classification et de localisation, ce qui permet de résoudre les conflits d'optimisation entre les deux. Le modèle utilise également VariFocal Loss, une fonction de perte spécialisée, pour donner la priorité aux exemples difficiles pendant l'entraînement. La version « + » comprend des améliorations du backbone, du neck (Path Aggregation Network) et de la tête pour améliorer les performances.
Performance et cas d'utilisation
PP-YOLOE+ fournit une famille de modèles (t, s, m, l, x) qui offrent un compromis flexible entre vitesse et précision. Cette évolutivité le rend adaptable à diverses contraintes matérielles, des appareils périphériques aux ressources limitées aux puissants serveurs cloud.
Les applications idéales incluent :
- Automatisation industrielle : Convient à l'inspection de la qualité dans la fabrication où un équilibre entre vitesse et précision est nécessaire.
- Analyse de vente au détail : Peut être utilisé pour la gestion des stocks en rayon et l’analyse du comportement des clients.
- Surveillance environnementale : Son efficacité est bénéfique pour les applications comme le recyclage et le tri des déchets automatisés.
Points forts et faiblesses
- Points forts : La conception sans ancres simplifie l'architecture et le processus de formation. Il offre une excellente évolutivité avec plusieurs tailles de modèles et atteint un bon équilibre précision/vitesse.
- Points faibles : Le modèle est principalement conçu pour le framework d'apprentissage profond PaddlePaddle, ce qui peut nécessiter des efforts supplémentaires pour l'intégration dans les flux de travail basés sur PyTorch. Son support communautaire et ses outils tiers sont moins étendus que ceux de la famille YOLO.
Comparaison comparative des performances
Lors de la comparaison de YOLOv7 et PP-YOLOE+, le choix dépend souvent des exigences de performance spécifiques et du matériel. YOLOv7 excelle généralement dans la fourniture d'un débit maximal sur les GPU, comme le montrent ses mesures de FPS élevées. PP-YOLOE+, d'autre part, offre une sélection plus granulaire de modèles, permettant aux développeurs de choisir le point de compromis exact dont ils ont besoin. Par exemple, PP-YOLOE+s est exceptionnellement rapide, tandis que PP-YOLOE+x atteint un mAP très élevé au détriment de la vitesse.
Modèle | Taille (pixels) |
mAPval 50-95 |
Vitesse CPU ONNX (ms) |
Vitesse T4 TensorRT10 (ms) |
paramètres (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
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 |
Pourquoi Ultralytics YOLO est le meilleur choix
Bien que YOLOv7 et PP-YOLOE+ soient des modèles puissants, les développeurs et les chercheurs à la recherche d'un framework moderne, polyvalent et convivial trouveront une valeur supérieure dans l'écosystème Ultralytics, en particulier avec des modèles comme Ultralytics YOLOv8 et le dernier YOLO11.
Voici pourquoi les modèles Ultralytics YOLO se distinguent :
- Facilité d'utilisation : Ultralytics offre une API Python simplifiée et une CLI qui rendent la formation, la validation et le déploiement incroyablement simples. Ceci est soutenu par une documentation exhaustive et de nombreux tutoriels.
- Écosystème bien maintenu : Les modèles font partie d'un écosystème complet qui comprend un développement actif, une large communauté open source et une intégration avec des outils tels que Ultralytics HUB pour un MLOps transparent.
- Polyvalence : Les modèles Ultralytics tels que YOLOv8 et YOLO11 ne se limitent pas à la détection d'objets. Ils offrent une prise en charge intégrée d'autres tâches de vision clés, notamment la segmentation d'instance, l'estimation de pose, la classification et la détection d'objets orientés (OBB), offrant ainsi une solution unifiée.
- Performance et efficacité : Les modèles Ultralytics sont conçus pour un équilibre optimal entre vitesse et précision. Ils sont également efficaces en termes de mémoire, nécessitant souvent moins de mémoire CUDA pour l’entraînement et l’inférence par rapport à d’autres architectures, ce qui constitue un avantage important.
- Efficacité de l'entraînement : Grâce à la disponibilité immédiate de poids pré-entraînés sur des ensembles de données tels que COCO et à des processus d'entraînement efficaces, l'obtention d'un modèle personnalisé très performant est plus rapide et plus accessible.
Conclusion
YOLOv7 est un choix formidable pour les applications où la performance GPU en temps réel est la priorité absolue. PP-YOLOE+ offre une excellente scalabilité et une approche simplifiée sans ancrage, mais sa dépendance au framework PaddlePaddle peut être une limitation pour de nombreux développeurs.
Pour la plupart des applications modernes, cependant, les modèles Ultralytics comme YOLOv8 et YOLO11 présentent une option plus convaincante et à l'épreuve du temps. Ils combinent des performances de pointe avec une expérience utilisateur inégalée, une prise en charge étendue des tâches et un écosystème robuste et bien entretenu. Cela en fait le choix idéal pour les développeurs et les chercheurs qui cherchent à créer et à déployer efficacement des solutions de vision par ordinateur de haute qualité.
Explorer d'autres modèles
Pour une exploration plus approfondie, consultez ces comparaisons impliquant YOLOv7, PP-YOLOE+ et d'autres modèles de pointe :
- YOLOv7 vs. YOLOv8
- PP-YOLOE+ vs. YOLOv8
- YOLOX vs. YOLOv7
- RT-DETR vs. YOLOv7
- Explorez les derniers modèles comme YOLOv10 et YOLO11.