PP-YOLOE+ vs YOLOv5#
Lorsqu’ils choisissent le bon framework de deep learning pour la vision par ordinateur, les développeurs comparent souvent les capacités de différentes architectures afin de trouver le meilleur équilibre entre vitesse, précision et facilité de déploiement. Dans cette analyse approfondie, nous examinerons les subtilités techniques de PP-YOLOE+ et YOLOv5. En analysant leurs architectures, leurs métriques de performance et leurs scénarios de déploiement idéaux, tu pourras prendre une décision éclairée pour ton prochain projet, qu’il concerne la robotique en temps réel, le déploiement edge ou l’analyse vidéo dans le cloud.
Origines et métadonnées des modèles#
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 permet de mieux contextualiser leurs choix de conception architecturale.
Détails de PP-YOLOE+ :
- Auteurs : Auteurs de PaddlePaddle
- Organisation : Baidu
- Date : 2022-04-02
- Arxiv : https://arxiv.org/abs/2203.16250
- GitHub : https://github.com/PaddlePaddle/PaddleDetection/
- Documentation : Fichier README de PaddleDetection
Détails sur YOLOv5 :
- Auteurs : Glenn Jocher
- Organisation : Ultralytics
- Date : 2020-06-26
- GitHub : https://github.com/ultralytics/yolov5
- Documentation : https://docs.ultralytics.com/models/yolov5
Comparaison des architectures#
Architecture de PP-YOLOE+#
PP-YOLOE+ est une évolution au sein de l’écosystème Baidu, fondée sur des modèles précédents comme PP-YOLOv2. Il introduit un backbone CSPRepResNet hautement optimisé, qui améliore l’extraction des caractéristiques en combinant les principes des réseaux partiels inter-étages (CSP) et les techniques de reparamétrisation. Le modèle conserve ainsi une grande précision pendant l’entraînement, puis adopte une architecture plus légère pour accélérer l’inférence.
De plus, PP-YOLOE+ utilise l’apprentissage de l’alignement des tâches (TAL) et une tête efficace alignée sur les tâches (ET-head). Cette combinaison vise à résoudre le désalignement entre les tâches de classification et de localisation, un goulot d’étranglement fréquent des détecteurs d’objets denses. Malgré ses qualités structurelles, l’architecture est étroitement liée au framework PaddlePaddle, ce qui peut compliquer son intégration pour les équipes qui ont standardisé d’autres bibliothèques de machine learning courantes.
Architecture de YOLOv5#
À l’inverse, YOLOv5 a été conçu nativement avec PyTorch, la référence du secteur pour la recherche universitaire comme pour la production en entreprise. Il utilise un backbone CSPDarknet53 modifié, réputé pour son excellent flux de gradient et son nombre de paramètres réduit.
L’algorithme AutoAnchor est l’une des caractéristiques emblématiques de YOLOv5 : il vérifie et ajuste dynamiquement la taille des boîtes d’ancrage en fonction de ton jeu de données personnalisé avant l’entraînement. Cela élimine le réglage manuel des hyperparamètres des boîtes englobantes. Le neck Path Aggregation Network (PANet) du modèle assure une fusion robuste des caractéristiques à plusieurs échelles, ce qui le rend très efficace pour détecter des objets de tailles variées.
Comme YOLOv5 repose directement sur PyTorch, son export vers des formats optimisés comme ONNX et TensorRT nécessite beaucoup moins de configuration intermédiaire que les modèles liés à des frameworks locaux.
Analyse des performances#
L’évaluation de ces modèles exige d’examiner le compromis entre la précision moyenne moyenne (mAP) et la latence. Le tableau suivant présente les métriques pour différentes tailles de modèle.
| 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 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
PP-YOLOE+ obtient des scores mAP très compétitifs pour les modèles de grande taille (comme la variante X), mais YOLOv5 offre une vitesse supérieure et moins de paramètres dans les modèles les plus petits. YOLOv5 Nano (YOLOv5n) ne compte que 1,9 million de paramètres, ce qui le rend particulièrement adapté aux appareils edge contraints, où la mémoire est limitée. De plus, l’entraînement des modèles YOLO consomme généralement moins de mémoire CUDA que celui des modèles lourds basés sur Transformer, comme RT-DETR.
L’avantage Ultralytics#
Lors du choix d’une architecture, les métriques brutes ne représentent qu’une partie de l’équation. L’expérience développeur, la prise en charge de l’écosystème et les pipelines de déploiement déterminent souvent la réussite d’un projet en conditions réelles. C’est là que les modèles Ultralytics se distinguent.
Une simplicité d'utilisation inégalée#
L’API Python d’Ultralytics masque le code passe-partout complexe. Les développeurs peuvent lancer l’entraînement, valider les performances et déployer les modèles en toute simplicité. La documentation est complète, régulièrement mise à jour et soutenue par une vaste communauté mondiale open source.
Polyvalence entre les tâches#
PP-YOLOE+ est un détecteur d’objets spécialisé, tandis que l’écosystème Ultralytics permet aux utilisateurs d’aborder plusieurs tâches de vision par ordinateur au moyen d’une API unifiée. Avec YOLOv5 et ses successeurs, tu peux facilement passer des boîtes englobantes standard aux workflows de segmentation d’images et de classification.
Exemple de code : entraînement de YOLOv5#
Pour commencer, quelques lignes de code suffisent. Cette simplicité accélère considérablement les cycles de recherche et développement.
from ultralytics import YOLO
# Charger un petit modèle YOLOv5 préentraîné
model = YOLO("yolov5su.pt") # YOLOv5u : poids YOLOv5 sans ancres pour le package ultralytics
# Entraîner le modèle sur le jeu de données COCO8
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Lancer une inférence rapide sur une image
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()Cas d'utilisation concrets#
Quand choisir PP-YOLOE+ : Si ton organisation est profondément ancrée dans la pile logicielle de Baidu ou s’appuie fortement sur du matériel spécialisé nécessitant le framework PaddlePaddle, PP-YOLOE+ est un modèle performant. Il est souvent utilisé dans des chaînes de fabrication spécialisées en Asie, où il existe déjà une intégration historique avec Paddle.
Quand choisir YOLOv5 : Pour la grande majorité des développeurs, chercheurs et entreprises à l’international, YOLOv5 reste une valeur sûre. Ses racines PyTorch le rendent immédiatement compatible avec des outils de suivi comme Weights & Biases, et il s’exporte facilement vers TensorRT pour l’accélération sur GPU NVIDIA, ou vers CoreML pour les appareils Apple. Il excelle dans des domaines variés, du suivi des cultures agricoles à la navigation de drones à grande vitesse.
L’avenir de la détection : Ultralytics YOLO26#
YOLOv5 est un modèle emblématique, mais la vision par ordinateur a continué de progresser. Pour tout nouveau développement, nous recommandons vivement de passer à YOLO26, lancé en janvier 2026. Disponible directement sur Ultralytics Platform, YOLO26 redéfinit complètement l’efficacité.
Principales innovations de YOLO26 :
- Conception de bout en bout sans NMS : la tête optionnelle à correspondance un à un de YOLO26 (
nms=False) ignore entièrement le post-traitement par suppression non maximale. Cela réduit considérablement la variabilité de la latence et simplifie le pipeline de déploiement. - Jusqu’à 43 % d’inférence CPU plus rapide : en supprimant stratégiquement Distribution Focal Loss (DFL), YOLO26 augmente considérablement la vitesse sur les appareils edge sans GPU.
- Optimiseur MuSGD : inspiré des grands modèles de langage de premier plan, cet optimiseur hybride stabilise la dynamique de l’entraînement et permet une convergence beaucoup plus rapide sur des jeux de données personnalisés.
- Améliorations propres aux tâches : il intègre des fonctions de perte avancées comme ProgLoss et STAL, qui offrent une précision inégalée sur les objets minuscules. Il prend nativement en charge la détection par boîtes englobantes orientées (OBB) pour l’imagerie aérienne.
Si tu explores les modèles de vision de pointe, tu peux aussi comparer la génération précédente YOLO11 ou des approches basées sur Transformer comme RT-DETR. En définitive, son écosystème robuste et ses avancées architecturales de pointe font d’Ultralytics le choix privilégié pour les tâches modernes de vision par ordinateur.