YOLOv5 vs. PP-YOLOE+ : Une comparaison technique pour la détection d'objets
Le choix du modèle de détection d'objets optimal est une décision cruciale qui a un impact sur l'efficacité, la précision et l'évolutivité des projets de vision par ordinateur. Ce guide complet compare Ultralytics YOLOv5, un modèle légendaire réputé pour sa convivialité et sa vitesse, à PP-YOLOE+, un modèle de haute précision de l'écosystème PaddlePaddle de Baidu. En analysant leurs architectures, leurs mesures de performance et leurs flux de travail de déploiement, nous visons à aider les développeurs et les chercheurs à choisir la meilleure solution pour leurs besoins spécifiques.
Ultralytics YOLOv5 : La norme en matière de convivialité et de rapidité
YOLOv5, publié par Ultralytics en 2020, a fondamentalement changé le paysage de l'IA de vision en rendant la détection d'objets de pointe accessible à tous. Contrairement à ses prédécesseurs, il a été le premier modèle YOLO implémenté nativement dans PyTorch, simplifiant ainsi le processus de formation et de déploiement pour la communauté mondiale de la science des données. Sa philosophie de conception privilégie un équilibre entre la vitesse d'inférence en temps réel et la haute précision, le tout regroupé dans un écosystème incroyablement convivial.
Auteur : Glenn Jocher
Organisation :Ultralytics
Date : 2020-06-26
GitHub :https://github.com/ultralytics/yolov5
Docs :https://docs.ultralytics.com/models/yolov5/
Principaux atouts
- Facilité d'utilisation : YOLOv5 est célèbre pour son expérience « prête à l'emploi ». Grâce à une API Python simplifiée et à des commandes CLI intuitives, les développeurs peuvent commencer à s'entraîner sur des ensembles de données personnalisés en quelques minutes.
- Écosystème bien maintenu : Soutenu par Ultralytics, il bénéficie de mises à jour fréquentes et d’une communauté massive et active. Cela garantit un soutien à long terme et une richesse de connaissances partagées sur des plateformes comme GitHub Issues.
- Équilibre des performances : Il offre des vitesses d'inférence en temps réel exceptionnelles, en particulier sur les appareils périphériques tels que le Raspberry Pi, sans sacrifier une précision significative.
- Polyvalence : Au-delà de la détection standard, YOLOv5 prend en charge la segmentation d’instance et la classification d’images, ce qui en fait un outil flexible pour diverses tâches de vision.
PP-YOLOE+: Haute précision dans l'écosystème Paddle
PP-YOLOE+ est une évolution de la série PP-YOLO, développée par des chercheurs de Baidu. Sorti en 2022, il sert de modèle phare au sein de la boîte à outils PaddleDetection. Il adopte une architecture sans ancres et des stratégies d'entraînement avancées pour repousser les limites de la précision sur des ensembles de données de référence comme COCO.
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
Architecture et fonctionnalités
PP-YOLOE+ utilise un backbone CSPRepResNet et une tête de détection unique sans prototype. Étant un détecteur sans ancres, il réduit la complexité du réglage des hyperparamètres liés aux boîtes d'ancrage. Il excelle dans les scénarios où la maximisation de la précision moyenne (mAP) est l'objectif principal, atteignant souvent des scores légèrement supérieurs à ceux des modèles comparables basés sur des ancres, au prix d'une complexité de calcul accrue. Cependant, sa dépendance au framework PaddlePaddle peut présenter une courbe d'apprentissage pour les équipes standardisées sur PyTorch ou TensorFlow.
Analyse des performances : métriques et efficacité
Lors de la comparaison de YOLOv5 et PP-YOLOE+, le compromis se situe généralement entre la précision brute et l'efficacité opérationnelle (vitesse et facilité de déploiement).
Vitesse vs. Précision
Les modèles PP-YOLOE+ affichent généralement un mAP plus élevéval sur l’ensemble de données COCO, démontrant leur force en matière de capacité de détection pure. Par exemple, le PP-YOLOE+l atteint un mAP remarquable de 52,9. Cependant, cela s'accompagne souvent d'une latence plus élevée sur le matériel standard par rapport à YOLOv5.
Ultralytics YOLOv5 excelle dans vitesse d'inference. Le YOLOv5n Le modèle (Nano) est incroyablement léger, atteignant 28,0 mAP avec un temps d'inférence ultra-rapide de 1,12 ms sur un GPU T4 en utilisant TensorRT. Cela fait de YOLOv5 le choix supérieur pour applications d'IA en périphérie où la latence en millisecondes est critique.
Efficacité computationnelle
Les modèles YOLOv5 sont conçus en tenant compte des contraintes de mémoire. Ils nécessitent généralement moins de mémoire CUDA pendant l'entraînement et l'inférence par rapport aux architectures complexes sans ancrage ou aux modèles basés sur des transformateurs. Cette efficacité facilite un déploiement plus fluide sur du matériel aux ressources limitées, tels que les modules NVIDIA Jetson, sans efforts d'optimisation importants.
| 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 |
Écosystème d'entraînement et convivialité
Les mesures « douces » de l'expérience développeur dictent souvent le succès d'un projet. Ici, la différence entre les deux modèles est la plus prononcée.
Écosystème Ultralytics
YOLOv5 bénéficie de l’écosystème Ultralytics intégré, qui rationalise l’ensemble du pipeline MLOps.
- Natif PyTorch : Être construit sur PyTorch assure la compatibilité avec la grande majorité des outils et bibliothèques open source.
- Intégrations Transparentes : La prise en charge intégrée de Weights & Biases, Comet et ClearML facilite le suivi des expériences.
- Efficacité de l'entraînement : Les poids pré-entraînés sont facilement disponibles et téléchargés automatiquement, ce qui permet un apprentissage par transfert rapide.
- Déploiement : Le mode d’exportation prend en charge la conversion en un clic vers ONNX, CoreML, TFLite, et plus encore.
Simplification du flux de travail avec Ultralytics HUB
Vous pouvez entraîner, prévisualiser et déployer des modèles YOLOv5 sans écrire une seule ligne de code en utilisant Ultralytics HUB. Cette plateforme web gère vos ensembles de données et vos exécutions d'entraînement, rendant l'IA de vision accessible aux équipes de tous niveaux.
Écosystème PaddlePaddle
PP-YOLOE+ s'appuie sur PaddlePaddle, le framework de deep learning de Baidu. Bien que puissant et populaire en Asie, il a une empreinte plus petite dans la communauté de recherche occidentale par rapport à PyTorch. L'adoption de PP-YOLOE+ nécessite souvent la mise en place d'un environnement distinct et l'apprentissage de la syntaxe spécifique à Paddle (paddle.io, paddle.nn). Alors que le documentation est complet, l'écosystème d'outils tiers et le support de la communauté sont moins importants que ceux de YOLOv5.
Exemple de code : Simplicité de YOLOv5
Le code python suivant montre à quel point il est facile de charger un modèle YOLOv5 pré-entraîné et d'effectuer une inférence en utilisant PyTorch Hub.
import torch
# Load a YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)
# Define an image source
img = "https://ultralytics.com/images/zidane.jpg"
# Run inference
results = model(img)
# Print results to console
results.print()
# Show the image with bounding boxes
results.show()
Cas d'utilisation concrets
Où YOLOv5 excelle
- Automatisation Industrielle : Sa vitesse élevée permet la détection des défauts en temps réel sur les chaînes de montage rapides.
- Robotique autonome : La faible surcharge de mémoire le rend idéal pour les robots avec une capacité de calcul embarquée limitée, tels que ceux utilisés dans la logistique.
- Applications pour villes intelligentes : Les performances efficaces du CPU permettent un déploiement à grande échelle pour la surveillance du trafic sur l'infrastructure existante.
Où PP-YOLOE+ s'intègre
- Recherche de haute précision : Projets universitaires où l’extraction du dernier 1 % de mAP est plus importante que la vitesse d’inférence.
- Environnements centrés sur Paddle : Environnements d’entreprise ayant déjà beaucoup investi dans l’infrastructure de l’écosystème Baidu.
Conclusion : Quel modèle vous convient le mieux ?
Pour la grande majorité des développeurs et des applications commerciales, Ultralytics YOLOv5 reste le choix recommandé. Sa facilité d'utilisation inégalée, son support communautaire robuste et sa flexibilité de déploiement en font une solution à faible risque et à rendement élevé. La possibilité de déployer sur pratiquement n'importe quelle plateforme—des téléphones mobiles aux serveurs cloud—avec un minimum de friction lui confère un avantage décisif dans les environnements de production.
PP-YOLOE+ est une alternative puissante pour les utilisateurs qui ont spécifiquement besoin d'une architecture sans ancrage ou ceux qui sont déjà intégrés dans le flux de travail PaddlePaddle. Sa grande précision est louable, mais la fragmentation de l'écosystème peut ralentir le développement pour ceux qui sont habitués aux flux de travail PyTorch standard.
Explorer d'autres modèles
La vision par ordinateur évolue rapidement. Bien que la comparaison de ces modèles établis soit précieuse, nous vous encourageons à explorer les dernières avancées de la famille Ultralytics YOLO, qui offrent des performances et des fonctionnalités encore plus intéressantes.
- YOLO11: Le dernier modèle à la pointe de la technologie offrant une précision et une efficacité supérieures pour la detect, la segment et l'estimation de pose.
- YOLOv8 : Un framework unifié très populaire prenant en charge les tâches OBB et de classification.
- RT-DETR : Un détecteur basé sur un transformateur optimisé pour les performances en temps réel.
Pour une vue d'ensemble, consultez notre page principale de comparaison de modèles afin de comparer différentes architectures par rapport à vos exigences spécifiques.