YOLOv5 vs PP-YOLOE+#
Choisir la bonne architecture de réseau neuronal est essentiel pour tout projet moderne de vision par ordinateur. Lorsque les développeurs et les chercheurs évaluent des modèles de détection d'objets en temps réel, ils doivent souvent trouver un équilibre entre précision, vitesse d'inférence et facilité de déploiement. Cette comparaison technique examine YOLOv5 et PP-YOLOE+, leurs architectures, leurs métriques de performance et leurs méthodes d'entraînement, afin de t'aider à choisir la solution optimale pour ton application.
Comprendre les architectures#
Les deux modèles ont profondément marqué le domaine de l'IA pour la vision, mais ils abordent les défis de la détection d'objets au moyen de structures et de dépendances à des frameworks différentes.
Ultralytics YOLOv5 : la référence du secteur#
Publié à la mi-2020, Ultralytics YOLOv5 a révolutionné l'accessibilité des modèles de vision de pointe. Conçu nativement avec PyTorch, il a considérablement abaissé le seuil d'entrée pour les développeurs Python et les ingénieurs en ML du monde entier.
Détails sur YOLOv5 :
- Auteurs : Glenn Jocher
- Organisation : Ultralytics
- Date : 2020-06-26
- GitHub : ultralytics/yolov5
- Docs : Documentation de YOLOv5
YOLOv5 utilise un backbone CSPDarknet modifié, qui capture efficacement des représentations de caractéristiques riches tout en conservant un nombre de paramètres réduit. Il a introduit des boîtes d'ancrage à apprentissage automatique, en calculant automatiquement leurs dimensions optimales pour les jeux de données personnalisés avant même le début de l'entraînement. De plus, son intégration de l'augmentation de données par mosaïque améliore considérablement la capacité du modèle à détecter les petits objets et à généraliser dans des contextes spatiaux complexes.
L'un des principaux atouts de YOLOv5 est son incroyable polyvalence. Contrairement aux détecteurs d'objets classiques, la famille YOLOv5 prend en charge de manière fluide la classification d'images, la segmentation d'instances et la détection par boîtes englobantes au sein d'une API unifiée. Son architecture hautement optimisée se traduit également par une utilisation de la mémoire nettement inférieure pendant l'entraînement et l'inférence, comparativement aux lourds réseaux fondés sur Transformer.
PP-YOLOE+ : le concurrent basé sur PaddlePaddle#
Lancé environ deux ans plus tard, PP-YOLOE+ s'appuie sur les bases des versions précédentes de PP-YOLO. Développé pour mettre en valeur les capacités du framework d'apprentissage profond de Baidu, il introduit plusieurs améliorations architecturales visant à accroître la précision moyenne.
Détails de PP-YOLOE+ :
- Auteurs : Auteurs de PaddlePaddle
- Organisation : Baidu
- Date : 2022-04-02
- Arxiv : 2203.16250
- GitHub : PaddlePaddle/PaddleDetection
- Documentation : README de PP-YOLOE+
PP-YOLOE+ repose sur un paradigme sans ancres et utilise un backbone CSPRepResNet. Il intègre une puissante technique d'apprentissage de l'alignement des tâches et une tête efficace alignée sur les tâches pour améliorer la précision. Bien que PP-YOLOE+ obtienne des scores de précision impressionnants, son principal point faible réside dans sa dépendance stricte au framework PaddlePaddle. Cela entraîne souvent une courbe d'apprentissage abrupte et des frictions au sein de l'écosystème pour les équipes de recherche et les entreprises déjà fortement investies dans des environnements PyTorch ou TensorFlow.
Performances et benchmarks#
Pour évaluer ces modèles en production, il est essentiel de comprendre les compromis entre précision, vitesse d'inférence et nombre de paramètres. Le tableau ci-dessous présente les principales métriques de performance pour différentes variantes de taille.
| Modèle | taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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+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 |
Bien que PP-YOLOE+ atteigne des niveaux de précision élevés, YOLOv5 affiche systématiquement une inférence TensorRT plus rapide à toutes les échelles de modèle. Pour les déploiements en périphérie où la mémoire est limitée, YOLOv5n offre une vitesse inégalée et une empreinte extrêmement réduite.
Les modèles Ultralytics sont spécialement conçus pour optimiser l'efficacité de l'entraînement. Comparé aux lourds Transformers de vision comme RT-DETR, YOLOv5 utilise beaucoup moins de mémoire CUDA, ce qui te permet d'entraîner des modèles avec des lots plus grands ou sur du matériel grand public.
Les atouts d’Ultralytics : écosystème et facilité d’utilisation#
La véritable valeur d'une architecture d'apprentissage automatique dépasse les chiffres bruts : elle englobe toute l'expérience de développement. La plateforme Ultralytics et ses outils open source associés offrent un écosystème soigneusement conçu et bien maintenu, qui accélère considérablement les cycles de développement.
- Facilité d'utilisation : Ultralytics te dispense d'écrire du code passe-partout complexe. Tu peux entraîner, valider et tester des modèles via une API Python intuitive ou la CLI.
- Flexibilité du déploiement : l'exportation des modèles est extrêmement simple. En une seule commande, tu peux convertir les poids de ton YOLOv5 entraîné vers des formats comme ONNX, TensorRT ou OpenVINO, afin d'assurer une large compatibilité avec les environnements en périphérie et dans le cloud.
- Communauté active : cette communauté dynamique garantit des mises à jour fréquentes, une documentation complète et des solutions robustes aux problèmes courants de vision par ordinateur.
En revanche, PP-YOLOE+ dépend fortement des fichiers de configuration complexes propres à PaddleDetection, ce qui peut ralentir le prototypage rapide et compliquer l'intégration aux pipelines MLOps modernes.
Mises en œuvre pratiques et exemples de code#
La prise en main d'Ultralytics est remarquablement simple. Voici un exemple complet et exécutable montrant comment charger un modèle YOLOv5 préentraîné, l'entraîner sur un jeu de données personnalisé et exporter les résultats :
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 pendant 50 époques
train_results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Lancer l’inférence sur une image d’exemple
predict_results = model("https://ultralytics.com/images/bus.jpg")
# Exporter le modèle optimisé au format ONNX
path = model.export(format="onnx")Cas d’utilisation et recommandations#
Le choix entre YOLOv5 et PP-YOLOE+ dépend de tes exigences de projet, de tes contraintes de déploiement et de tes préférences en matière d'écosystème.
Quand choisir YOLOv5#
YOLOv5 est un excellent choix pour :
- Systèmes de production éprouvés : les déploiements existants où la longue expérience de stabilité de YOLOv5, sa documentation exhaustive et le soutien important de sa communauté sont appréciés.
- Entraînement avec des ressources limitées : les environnements disposant de ressources GPU limitées, où le pipeline d’entraînement efficace de YOLOv5 et ses besoins en mémoire réduits sont avantageux.
- Prise en charge étendue des formats d’exportation : les projets qui nécessitent un déploiement dans de nombreux formats, notamment ONNX, TensorRT, CoreML et LiteRT.
Quand choisir PP-YOLOE+#
PP-YOLOE+ est recommandé pour :
- Intégration à l’écosystème PaddlePaddle : Les organisations dotées d’une infrastructure existante reposant sur le framework et les outils PaddlePaddle de Baidu.
- Déploiement en périphérie avec Paddle Lite : Déploiement sur du matériel doté de noyaux d’inférence fortement optimisés spécifiquement pour Paddle Lite ou le moteur d’inférence Paddle.
- Détection côté serveur de haute précision : Scénarios privilégiant une précision de détection maximale sur de puissants serveurs GPU, sans contrainte liée aux dépendances du framework.
Quand choisir Ultralytics (YOLO26)#
Pour la plupart des nouveaux projets, Ultralytics YOLO26 offre le meilleur équilibre entre performances et expérience développeur :
- Déploiement en périphérie sans NMS : les applications qui exigent des inférences à faible latence et constantes, sans la complexité du post-traitement par suppression non maximale.
- Environnements exclusivement CPU : les appareils dépourvus d’accélération GPU dédiée, où l’inférence CPU jusqu’à 43 % plus rapide de YOLO26 constitue un avantage décisif.
- Détection de petits objets : les situations difficiles, comme l’imagerie aérienne par drone ou l’analyse de capteurs IoT, où ProgLoss et STAL améliorent considérablement la précision pour les objets minuscules.
Autres modèles de pointe à considérer#
YOLOv5 est une référence robuste et éprouvée, mais le domaine de la vision par ordinateur évolue rapidement. Pour les équipes qui démarrent de nouveaux projets, nous recommandons vivement d'explorer nos architectures plus récentes.
Ultralytics YOLO26#
Publié en janvier 2026, YOLO26 représente le sommet de nos travaux de recherche. Il apporte des améliorations majeures en matière de précision et de vitesse. Parmi ses principales innovations :
- Conception de bout en bout sans NMS : s'appuyant sur des concepts de YOLOv10, la tête optionnelle un-à-un de YOLO26 (
nms=False) évite le post-traitement par suppression non maximale (NMS), ce qui réduit la latence et simplifie la logique de déploiement. - Suppression de DFL : en supprimant Distribution Focal Loss, YOLO26 accélère l'inférence CPU jusqu'à 43 %, ce qui le rend extrêmement performant sur les appareils périphériques à faible consommation.
- Optimiseur MuSGD : inspiré de techniques avancées d'entraînement des LLM, cet hybride de SGD et de Muon garantit des entraînements exceptionnellement stables et une convergence plus rapide.
- ProgLoss + STAL : ces fonctions de perte avancées améliorent notablement la reconnaissance des petits objets, essentielle pour l'imagerie par drone et l'agriculture intelligente.
Tu peux également envisager YOLO11, qui offre d'excellentes performances et constitue un lien très fiable entre les systèmes existants et les capacités de pointe de YOLO26.
Cas d'utilisation concrets#
Le choix entre YOLOv5 et PP-YOLOE+ dépend en définitive de ton environnement de déploiement et des contraintes de ton projet.
Applications idéales de YOLOv5 : Les faibles besoins en ressources de YOLOv5 et son incroyable facilité d'utilisation en font le premier choix pour l'IA en périphérie. Il excelle dans les applications nécessitant des fréquences d'images élevées sur du matériel limité, comme la robotique en temps réel, l'intégration dans des applications mobiles et les systèmes de surveillance du trafic par plusieurs caméras. Sa capacité à prendre en charge la segmentation d'instances et la classification d'images au sein d'un même framework le rend très adaptable.
Applications idéales de PP-YOLOE+ : PP-YOLOE+ convient particulièrement aux situations où l'on privilégie une précision maximale sur des images statiques au détriment des contraintes de traitement en temps réel. Il est utilisé dans des créneaux spécialisés de chaînes d'inspection industrielle, notamment dans les secteurs manufacturiers asiatiques dotés de piles technologiques établies et fortement investies dans l'écosystème Baidu et PaddlePaddle.
En résumé, PP-YOLOE+ offre des résultats de précision élevés, mais les modèles Ultralytics YOLO réunissent de façon inégalée équilibre des performances, facilité de déploiement et conception adaptée aux développeurs, pour mener les projets de vision par ordinateur du concept à la production.