PP-YOLOE+ vs YOLOv5: exploration des architectures de détection d'objets
Lorsqu'ils choisissent le framework d'apprentissage profond adapté à la vision par ordinateur, les développeurs se retrouvent souvent à comparer les capacités de différentes architectures afin de trouver l'équilibre parfait entre vitesse, précision et facilité de déploiement. Dans cette analyse approfondie, nous explorerons les nuances techniques entre PP-YOLOE+ et YOLOv5. En analysant leurs architectures, leurs mesures de performance et leurs scénarios de déploiement idéaux, vous pourrez prendre une décision éclairée pour votre prochain projet, qu'il s'agisse de robotique en temps réel, de déploiement en périphérie ou d'analyse vidéo basée sur le cloud.
Origines du modèle et métadonnées
Les deux modèles sont le fruit du travail d'équipes d'ingénieurs hautement compétentes, mais ciblent des écosystèmes légèrement différents. Comprendre leurs origines fournit un contexte précieux pour comprendre les choix architecturaux qui ont été faits.
Détails de PP-YOLOE+ :
- Auteurs: Auteurs PaddlePaddle
- Organisation : Baidu
- Date : 2022-04-02
- Arxiv : https://arxiv.org/abs/2203.16250
- GitHub : PaddlePaddle
- Docs : PaddleDetection README
YOLOv5 :
- Auteurs : Glenn Jocher
- Organisation : Ultralytics
- Date : 26 juin 2020
- GitHub : yolov5
- Documents : yolov5
Comparaison architecturale
Architecture de PP-YOLOE+
PP-YOLOE+ est une évolution au sein de l'écosystème Baidu, qui s'appuie sur les modèles précédents tels que PP-YOLOv2. Il introduit une optimisation poussée CSPRepResNet backbone, qui améliore l'extraction des caractéristiques en combinant les principes des réseaux Cross Stage Partial (CSP) avec des techniques de reparamétrage. Cela permet au modèle de conserver une grande précision pendant l'entraînement tout en se réduisant à une architecture plus rationalisée pour une inférence plus rapide.
De plus, PP-YOLOE+ utilise l'apprentissage par alignement des tâches (TAL) et une tête alignée sur les tâches (ET-head). Cette combinaison vise à résoudre le problème de désalignement entre les tâches de classification et de localisation, un goulot d'étranglement courant dans les détecteurs d'objets denses. Bien qu'impressionnante sur le plan structurel, l'architecture est étroitement liée au PaddlePaddle , ce qui peut poser des défis d'intégration pour les équipes qui standardisent d'autres bibliothèques ML courantes.
Architecture YOLOv5
En revanche, YOLOv5 conçu nativement dans PyTorch, la norme industrielle pour la recherche universitaire et la production en entreprise. Il utilise une structure CSPDarknet53 modifiée, connue pour son flux de gradient et son efficacité paramétrique exceptionnels.
L'une des caractéristiques distinctives de YOLOv5 son algorithme AutoAnchor, qui vérifie et ajuste dynamiquement la taille des boîtes d'ancrage en fonction de votre ensemble de données personnalisé spécifique avant l'entraînement. Cela élimine le réglage manuel des hyperparamètres pour les boîtes englobantes. Le cou du modèle Path Aggregation Network (PANet) assure une fusion robuste des caractéristiques à plusieurs échelles, ce qui le rend très efficace pour détecter des objets de tailles variables.
PyTorch simplifié
Comme YOLOv5 directement basé sur PyTorch, l'exportation vers des formats optimisés tels que ONNX et TensorRT beaucoup moins de configuration middleware que les modèles liés à des frameworks localisés.
Analyse des performances
Pour évaluer ces modèles, il faut examiner le compromis entre la précision moyenne (mAP) et la latence. Le tableau suivant présente les mesures pour différentes tailles de modèles.
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Alors que PP-YOLOE+ obtient mAP très compétitifs à des échelles plus grandes (telles que la variante X), YOLOv5 une vitesse supérieure et un nombre de paramètres réduit. à l'extrémité inférieure du spectre. Le YOLOv5 (YOLOv5n) ne nécessite que 2,6 millions de paramètres, ce qui le rend particulièrement adapté aux appareils périphériques contraints où les exigences en matière de mémoire sont strictes. De plus, l'entraînement YOLO consomme généralement moins CUDA que les alternatives lourdes basées sur des transformateurs telles que RT-DETR.
L'avantage Ultralytics
Lors du choix d'une architecture, les métriques brutes ne sont qu'une partie de l'équation. L'expérience des développeurs, le soutien de l'écosystème et les pipelines de déploiement déterminent souvent le succès réel d'un projet. C'est là que Ultralytics prennent tout leur sens.
Facilité d'utilisation inégalée
Python pour Ultralytics le code standard complexe. Les développeurs peuvent lancer la formation, valider les performances et déployer des modèles en toute transparence. La documentation est complète, régulièrement mise à jour et soutenue par une vaste communauté open source mondiale.
Polyvalence dans toutes les tâches
Alors que PP-YOLOE+ est un détecteur d'objets dédié, Ultralytics permet aux utilisateurs d'effectuer plusieurs tâches de vision par ordinateur à partir d'une seule API unifiée. Avec YOLOv5 et ses successeurs, vous pouvez passer sans effort des cadres de sélection standard aux workflows de segmentation et de classification d'images.
Exemple de code : Formation YOLOv5
Quelques lignes de code suffisent pour démarrer. Cette simplicité accélère considérablement les cycles de recherche et développement.
from ultralytics import YOLO
# Load a pretrained YOLOv5 small model
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run fast inference on an image
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()
Cas d'utilisation concrets
Quand choisir PP-YOLOE+ : Si votre organisation est profondément ancrée dans la pile logicielle Baidu ou dépend fortement d'un matériel spécialisé qui nécessite le PaddlePaddle , PP-YOLOE+ est une solution performante. Il est fréquemment utilisé dans les pipelines de fabrication spécialisés à travers l'Asie où existe une intégration héritée avec Paddle.
Quand choisir YOLOv5: Pour la grande majorité des développeurs, chercheurs et entreprises internationaux, YOLOv5 une solution très performante. Ses PyTorch lui confèrent une compatibilité immédiate avec des outils tels que Weights & Biases pour le suivi, et il s'exporte proprement vers TensorRT pourGPU NVIDIA ou CoreML les appareils Apple. Il excelle dans divers domaines, allant de la surveillance des cultures agricoles à la navigation à grande vitesse des drones.
L'avenir de la détection : Ultralytics
Bien que YOLOv5 un modèle emblématique, la frontière de la vision par ordinateur a progressé. Pour tous les nouveaux développements, nous recommandons vivement de passer à YOLO26, sorti en janvier 2026. Disponible en toute transparence via la Ultralytics , YOLO26 redéfinit complètement l'efficacité.
Principales innovations dans YOLO26 :
- Conception NMS de bout en bout : YOLO26 élimine complètement le post-traitement par suppression non maximale. Cela réduit considérablement la variabilité de la latence et simplifie considérablement le pipeline de déploiement.
- CPU jusqu'à 43 % plus rapide : en supprimant stratégiquement la perte focale de distribution (DFL), YOLO26 augmente considérablement la vitesse sur les appareils périphériques sans GPU.
- Optimiseur MuSGD : inspiré des principaux modèles linguistiques à grande échelle, cet optimiseur hybride stabilise la dynamique d'entraînement et permet une convergence beaucoup plus rapide sur des ensembles de données personnalisés.
- Améliorations spécifiques à certaines tâches : intègre des fonctions de perte avancées telles que ProgLoss et STAL, offrant une précision sans précédent sur les objets minuscules. Prend en charge nativement la détection OBB (Oriented Bounding Box) pour les images aériennes.
Si vous explorez les modèles de vision de pointe, vous pourriez également être intéressé par une comparaison avec la génération précédente YOLO11 ou des approches basées sur des transformateurs comme RT-DETR. En fin de compte, l'écosystème robuste, combiné à des avancées architecturales de pointe, fait Ultralytics le choix idéal pour les tâches modernes de vision par ordinateur.