YOLOv5 vs. PP-YOLOE+ : Une comparaison technique pour la détection d'objets
Le choix du modèle optimal de détection d'objets 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 YOLOv5un modèle légendaire réputé pour sa facilité d'utilisation et sa rapidité, et PP-YOLOE+, un modèle de haute précision issu de l'écosystème PaddlePaddle de Baidu. En analysant leurs architectures, leurs performances et leurs processus de déploiement, nous souhaitons 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 s'agissait du premier modèle YOLO implémenté nativement dans PyTorchsimplifiant ainsi le processus d'entraînement et de déploiement pour la communauté mondiale de la science des données. Sa philosophie de conception privilégie l'équilibre entre la vitesse d'inférence en temps réel et la haute précision, le tout dans un écosystème incroyablement convivial.
Auteurs : Glenn Jocher
Organisation :Ultralytics
Date : 2020-06-26
GitHubyolov5
Docsyolov5
Principaux points forts
- Facilité d'utilisation : YOLOv5 est réputé pour son expérience "prête à l'emploi". Grâce à une APIPython simplifiée et à des commandesCLI intuitives, les développeurs peuvent commencer à s'entraîner sur des ensembles de données personnalisés en quelques minutes.
- Un écosystème bien entretenu : 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 telles que 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 des instances et la classification des images, ce qui en fait un outil flexible pour diverses tâches de vision.
PP-YOLOE+ : une grande précision dans l'écosystème de la pagaie
PP-YOLOE+ est une évolution de la série YOLO , développée par les chercheurs de Baidu. Sorti en 2022, il constitue le modèle phare de la boîte à outils PaddleDetection. Il adopte une architecture sans ancrage 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 tels que COCO.
Auteurs : PaddlePaddle Auteurs
Organisation:Baidu
Date : 2022-04-02
ArXiv:https://arxiv.org/abs/2203.16250
GitHubPaddlePaddle
DocsPaddlePaddle
Architecture et fonctionnalités
PP-YOLOE+ utilise un réseau de base CSPRepResNet et une tête de détection unique sans prototype. Comme il s'agit d'un détecteur sans ancrage, 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, obtenant souvent des scores légèrement supérieurs à ceux des modèles comparables basés sur les ancres, au prix d'une complexité de calcul accrue. Cependant, sa dépendance au cadre PaddlePaddle peut représenter une courbe d'apprentissage pour les équipes standardisées sur PyTorch ou TensorFlow.
Analyse des performances : Métriques et efficacité
Lorsque l'on compare YOLOv5 et PP-YOLOE+, le compromis se situe généralement entre la précision brute et l'efficacité opérationnelle (rapidité et facilité de déploiement).
Vitesse et précision
Les modèles PP-YOLOE+ affichent généralement une mAP plus élevée.val sur l'ensemble de données COCO , ce qui démontre leur force en termes de capacité de détection pure. Par exemple, le système PP-YOLOE+l atteint un niveau remarquable de 52,9 mAP. Cependant, ce résultat s'accompagne souvent d'une latence plus élevée sur du matériel standard que pour YOLOv5.
Ultralytics YOLOv5 brille en vitesse d'inférence. Le YOLOv5n (Nano) est incroyablement léger, atteignant 28,0 mAP avec un temps d'inférence très rapide de 1,12 ms sur un GPU T4 utilisant la technologie TensorRT. Cela fait de YOLOv5 le choix le plus judicieux pour applications d'IA de pointe où la latence à la milliseconde est critique.
Efficacité du calcul
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 lors de l'apprentissage et de l'inférence que les architectures complexes sans ancrage ou les modèles basés sur des transformateurs. Cette efficacité facilite le déploiement sur du matériel à ressources limitées, comme 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 de formation et facilité d'utilisation
Les mesures "douces" de l'expérience du développeur dictent souvent le succès d'un projet. C'est là que la différence entre les deux modèles est la plus prononcée.
Ecosystème Ultralytics
YOLOv5 bénéficie de l'écosystème intégré Ultralytics , qui rationalise l'ensemble du pipeline MLOps.
- PyTorch Native : Le fait d'être construit sur PyTorch garantit la compatibilité avec la grande majorité des outils et des bibliothèques open-source.
- Intégrations transparentes : Prise en charge intégrée de Weights & Biases, Cometet ClearML facilite le suivi des expériences.
- Efficacité de la formation : Les poids pré-entraînés sont facilement disponibles et automatiquement téléchargés, ce qui permet un apprentissage par transfert rapide.
- Déploiement : Le mode d'exportation permet de convertir en un seul clic les fichiers ONNX, CoreML, TFLiteet bien d'autres encore.
Simplifier le 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 entraînements, rendant l'IA visionnaire accessible aux équipes de tous niveaux de compétence.
Écosystème PaddlePaddle
PP-YOLOE+ s'appuie sur PaddlePaddle, le cadre d'apprentissage en profondeur de Baidu. Bien que puissant et populaire en Asie, il a une empreinte plus faible dans la communauté des chercheurs occidentaux que PyTorch. L'adoption de PP-YOLOE+ nécessite souvent la mise en place d'un environnement séparé 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 soutien de la communauté sont moins étendus que ceux de YOLOv5.
Exemple de code : Simplicité de YOLOv5
Le code Python suivant montre comment il est facile de charger un modèle YOLOv5 pré-entraîné et d'effectuer l'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
Les points forts de YOLOv5
- Automatisation industrielle : Sa vitesse élevée permet de détecter les défauts en temps réel sur les lignes d'assemblage en mouvement rapide.
- Robotique autonome : Le faible encombrement de la mémoire en fait la solution idéale pour les robots dont le calcul embarqué est limité, tels que ceux utilisés dans le domaine de la logistique.
- Applications pour les villes intelligentes : Les performances efficaces de l CPU permettent un déploiement à grande échelle pour la surveillance du trafic sur l'infrastructure existante.
Où se situe PP-YOLOE+ ?
- Recherche de haute précision : Projets universitaires dans lesquels l'obtention du dernier 1% de mAP est plus importante que la vitesse d'inférence.
- Environnements centrés sur la pagaie : Environnements d'entreprise déjà fortement investis 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, le soutien solide de la communauté et la flexibilité du déploiement en font une solution à faible risque et à haut rendement. Sa capacité à se déployer sur pratiquement toutes les plateformes - 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 intéressante pour les utilisateurs qui ont spécifiquement besoin d'une architecture sans ancrage ou pour ceux qui sont déjà intégrés dans le flux de travail de 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 standard de PyTorch .
Explorer d'autres modèles
La vision par ordinateur évolue rapidement. Bien qu'il soit utile de comparer ces modèles établis, nous vous encourageons à explorer les dernières avancées de la famille Ultralytics YOLO , qui offre des performances et des fonctionnalités encore plus importantes.
- YOLO11: Le dernier modèle de pointe offrant une précision et une efficacité supérieures pour la détection, la segmentation et l'estimation de la pose.
- YOLOv8: un cadre unifié très populaire prenant en charge les tâches d'OBB et de classification.
- RT-DETR: un détecteur à base de transformateur optimisé pour les performances en temps réel.
Pour une vision plus large, consultez notre page principale de comparaison des modèles pour comparer différentes architectures en fonction de vos besoins spécifiques.