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 issus d'équipes d'ingénierie très compétentes mais ciblent des écosystèmes légèrement différents. Comprendre leurs origines fournit un contexte précieux pour leurs choix de conception architecturale.
Détails de PP-YOLOE+ :
- Auteurs: Auteurs PaddlePaddle
- Organisation : Baidu
- Date : 2022-04-02
- Arxiv : https://arxiv.org/abs/2203.16250
- GitHub : PaddlePaddle
- Docs : README de PaddleDetection
YOLOv5 :
- Auteurs : Glenn Jocher
- Organisation : Ultralytics
- Date : 2020-06-26
- GitHub : yolov5
- Docs : https://docs.ultralytics.com/models/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 de caractéristiques en combinant les principes des réseaux Cross Stage Partial (CSP) avec des techniques de re-paramétrisation. Cela permet au modèle de maintenir une grande précision pendant l'entraînement tout en se compactant en une architecture plus rationalisée pour une inférence plus rapide.
De plus, PP-YOLOE+ utilise le Task Alignment Learning (TAL) et une tête Efficient Task-aligned (ET-head). Cette combinaison vise à résoudre le désalignement entre les tâches de classification et de localisation, un goulot d'étranglement courant dans les détecteurs d'objets denses. Bien que structurellement impressionnante, l'architecture est étroitement liée au framework PaddlePaddle, ce qui peut poser des défis d'intégration pour les équipes qui se standardisent sur d'autres bibliothèques de 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.
Une caractéristique de YOLOv5 est son algorithme AutoAnchor, qui vérifie et ajuste dynamiquement les tailles des boîtes d'ancrage en fonction de votre jeu 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 réseau d'agrégation de chemins (PANet) du modèle assure une fusion robuste des caractéristiques multi-échelles, le rendant très efficace pour detecter des objets de tailles variées.
PyTorch simplifié
Puisque YOLOv5 est directement basé sur PyTorch, l'exportation vers des formats optimisés comme ONNX et TensorRT nécessite beaucoup moins de configuration de 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 Nano (YOLOv5n) ne nécessite que 2,6 millions de paramètres, ce qui le rend très adapté aux appareils périphériques contraints où les exigences en matière de mémoire sont strictes. De plus, l'entraînement des modèles YOLO consomme généralement moins de mémoire CUDA par rapport aux alternatives lourdes basées sur des transformeurs comme 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 : Entraînement de 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 intégrée à la pile logicielle de Baidu ou dépend fortement de matériel spécialisé qui exige le framework PaddlePaddle, PP-YOLOE+ est une solution performante. Il est fréquemment utilisé dans les pipelines de fabrication spécialisés en Asie où une intégration héritée avec Paddle existe.
Quand choisir YOLOv5 : Pour la grande majorité des développeurs, chercheurs et entreprises internationaux, YOLOv5 reste une solution puissante. Ses racines PyTorch le rendent instantanément compatible avec des outils comme Weights & Biases pour le suivi, et il s'exporte proprement vers TensorRT pour l'accélération GPU NVIDIA ou CoreML pour les appareils Apple. Il excelle dans divers domaines allant de la surveillance des cultures agricoles à la navigation de drones à haute vitesse.
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 de bout en bout sans NMS : YOLO26 élimine entièrement le post-traitement de suppression non maximale. Cela réduit la variabilité de latence et simplifie drastiquement le pipeline de déploiement.
- Inférence CPU jusqu'à 43 % plus rapide : En supprimant stratégiquement la Distribution Focal Loss (DFL), YOLO26 augmente considérablement la vitesse sur les appareils edge sans GPU.
- Optimiseur MuSGD : Inspiré par les principaux grands modèles linguistiques, cet optimiseur hybride stabilise la dynamique d'entraînement et permet une convergence beaucoup plus rapide sur des jeux de données personnalisés.
- Améliorations spécifiques aux tâches: Intègre des fonctions de perte avancées comme ProgLoss et STAL, offrant une précision sans précédent sur les petits objets. Il prend en charge nativement la détection des boîtes englobantes orientées (OBB) pour l'imagerie aérienne.
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.