PP-YOLOE+ vs YOLOv9: comparaison complète des architectures de détection d'objets
La détection d'objets en temps réel continue d'évoluer rapidement, les chercheurs repoussant sans cesse les limites en matière de précision, de latence et d'efficacité des paramètres. Deux étapes importantes dans cette évolution sont PP-YOLOE+, développé par PaddlePaddle de Baidu, et YOLOv9, créé par les YOLOv7 originaux YOLOv7 . Cette comparaison explore les innovations architecturales, les mesures de performance et les réalités de déploiement de ces deux modèles puissants.
Métadonnées du modèle
PP-YOLOE+
Auteurs : PaddlePaddle
Organisation : Baidu
Date : 02/04/2022
Arxiv : https://arxiv.org/abs/2203.16250
GitHub : Référentiel PaddleDetection
Documentation : Documentation officielle PaddleDocs
YOLOv9
Auteurs : Chien-Yao Wang et Hong-Yuan Mark Liao
Organisation : Institut des sciences de l'information, Academia Sinica, Taïwan
Date : 21 février 2024
Arxiv : https://arxiv.org/abs/2402.13616
GitHub : YOLOv9
Documents : YOLOv9 Ultralytics YOLOv9
Analyse des performances
Lorsqu'ils comparent ces modèles, les développeurs examinent généralement le compromis entre mAP (précision moyenne) et la vitesse d'inférence. Le tableau ci-dessous montre que, si PP-YOLOE+ était un détecteur sans ancrage à la pointe de la technologie en 2022, YOLOv9 2024) utilise des principes architecturaux plus récents pour atteindre une efficacité paramétrique supérieure.
| 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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
Parmi les points à retenir, on peut citer :
- Efficacité des paramètres : YOLOv9t atteint une précision compétitive avec moins de la moitié des paramètres de PP-YOLOE+t (2,0 millions contre 4,85 millions), ce qui le rend beaucoup plus adapté aux appareils périphériques à mémoire limitée.
- Précision à grande échelle : pour les modèles plus volumineux, YOLOv9e surpasse PP-YOLOE+x en termes de mAP 55,6 % contre 54,7 %) tout en utilisant nettement moins de paramètres (57,3 millions contre 98,42 millions).
- Vitesse : YOLOv9 des vitesses d'inférence extrêmement compétitives sur les GPU NVIDIA , en particulier pour les variantes plus petites.
Différences architecturales
PP-YOLOE+: Détection sans ancres affinée
PP-YOLOE+ est une évolution de PP-YOLOv2, qui met l'accent sur un paradigme sans ancrage. Il utilise une structure CSPResNet et un cou CSPPAN simplifié. Ses principales caractéristiques sont les suivantes :
- Apprentissage par alignement des tâches (TAL) : stratégie d'attribution d'étiquettes qui sélectionne de manière dynamique des échantillons positifs en fonction d'une combinaison de scores de classification et de localisation.
- ET-Head : une tête efficace, conçue pour équilibrer vitesse et précision.
- Appariement dynamique : améliore la vitesse de convergence pendant l'entraînement par rapport à l'attribution statique d'ancres.
YOLOv9 : Informations de gradient programmables
YOLOv9 des changements fondamentaux à la manière dont les réseaux profonds traitent les flux de données. Il résout le problème du « goulot d'étranglement informationnel », qui se produit lorsque des données sont perdues lors de leur passage à travers les couches profondes.
- Architecture GELAN : le réseau d'agrégation de couches généralisé et efficace combine le meilleur de CSPNet et d'ELAN pour optimiser l'utilisation des paramètres.
- PGI (Programmable Gradient Information) : ce concept novateur utilise une branche réversible auxiliaire pour générer des gradients fiables pour la branche principale, garantissant ainsi que les caractéristiques profondes conservent les informations essentielles sur l'image d'entrée.
- Supervision auxiliaire : à l'instar des techniques utilisées dans les modèles de segmentation, YOLOv9 des têtes auxiliaires pendant l'entraînement afin d'améliorer les performances sans affecter la vitesse d'inférence (ces têtes étant supprimées lors du déploiement).
Pourquoi les informations sur les gradients sont importantes
Dans les réseaux neuronaux très profonds, les données d'entrée d'origine peuvent être « oubliées » lorsque les caractéristiques atteignent les couches finales. Le PGI YOLOv9 garantit que le modèle conserve une compréhension complète de l'objet, ce qui est particulièrement utile pour détecter des objets petits ou occultés dans des scènes complexes.
Écosystème et facilité d'utilisation
La différence la plus significative pour les développeurs réside dans l'écosystème et le flux de travail.
L'avantage Ultralytics
YOLOv9 entièrement intégré à Ultralytics . Cela signifie que vous pouvez former, valider et déployer le modèle à l'aide de la même API simple que celle utilisée pour YOLO11 et YOLO26.
Principaux avantages :
- API unifiée : passez d'une tâche à l'autre, comme la détection d'objets et l'estimation de pose, en modifiant simplement le fichier de poids du modèle.
- MLOps automatisé : l'intégration transparente avec la Ultralytics permet la formation dans le cloud, la gestion des ensembles de données et le déploiement de modèles en un seul clic.
- Efficacité mémoire : les boucles Ultralytics sont hautement optimisées et nécessitent souvent moins de mémoire VRAM que les frameworks concurrents. Il s'agit là d'un avantage crucial par rapport à de nombreux modèles basés sur des transformateurs qui requièrent d'énormes ressources informatiques.
- Polyvalence d'exportation : prise en charge native de l'exportation vers ONNX, OpenVINO, CoreML et TensorRT votre modèle fonctionne partout.
from ultralytics import YOLO
# Load a pretrained YOLOv9c model
model = YOLO("yolov9c.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Export to TensorRT for maximum GPU speed
model.export(format="engine")
Flux de travail PP-YOLOE+
PP-YOLOE+ s'appuie sur le PaddlePaddle . Bien que puissant, il nécessite l'adoption d'un écosystème spécifique qui se distingue du workflow PyTorch préféré par de nombreux chercheurs. Sa configuration implique souvent le clonage du PaddleDetection référentiel et gérer manuellement les fichiers de configuration, ce qui peut représenter une courbe d'apprentissage plus raide par rapport au pip install ultralytics expérience.
Cas d'utilisation et recommandations
Quand faut-il s'en tenir au PP-YOLOE+ ?
- Intégration héritée : si votre environnement de production repose déjà sur PaddlePaddle de Baidu.
- Matériel spécifique : si vous effectuez un déploiement sur du matériel spécialement optimisé pour Paddle Lite.
Quand choisirYOLO Ultralytics ?
Pour la grande majorité des nouveaux projets, YOLOv9 ou le plus récent YOLO26 sont les choix recommandés.
- Recherche et développement : l'architecture PGI de YOLOv9 un terrain de jeu riche aux chercheurs qui étudient le flux de gradient.
- Déploiement commercial : les options d'exportation robustes de Ultralytics facilitent le passage d'un PyTorch à une application de production C++ à l'aide de TensorRT ou OpenVINO.
- Edge Computing : grâce à leur efficacité paramétrique supérieure (mAP FLOP), Ultralytics sont idéaux pour les appareils alimentés par batterie, tels que les drones ou les caméras intelligentes.
Perspectives : La puissance de YOLO26
Bien que YOLOv9 un excellent modèle, le domaine a encore progressé avec la sortie de YOLO26. Si vous démarrez un nouveau projet aujourd'hui, YOLO26 offre plusieurs avantages décisifs par rapport à PP-YOLOE+ et YOLOv9.
YOLO26 représente la pointe de la technologie en matière d'efficacité de la vision par ordinateur :
- NMS de bout en bout : contrairement à PP-YOLOE+ et YOLOv9 nécessitent un post-traitement par suppression non maximale (NMS), YOLO26 est nativement NMS. Cela réduit la variabilité de la latence et simplifie considérablement les pipelines de déploiement.
- Optimiseur MuSGD : inspiré par les innovations dans la formation LLM (comme Kimi K2 de Moonshot AI), YOLO26 utilise l'optimiseur MuSGD pour une convergence plus rapide et des cycles de formation plus stables.
- Détection améliorée des petits objets : grâce à ProgLoss + STAL, YOLO26 excelle dans la détection des petits objets, un point faible traditionnel pour de nombreux détecteurs en temps réel.
- CPU : grâce à la suppression de la perte focale de distribution (DFL) et à d'autres optimisations, YOLO26 atteint CPU jusqu'à 43 % plus rapide, ce qui en fait le choix idéal pour les environnements sans serveur ou les appareils périphériques sans NPU dédiés.
Résumé
PP-YOLOE+ et YOLOv9 tous deux des jalons dans l'histoire de la détection d'objets. PP-YOLOE+ a perfectionné l'approche sans ancrage, tandis que YOLOv9 les concepts de supervision profonde via PGI. Cependant, pour les développeurs qui recherchent le meilleur équilibre entre précision, facilité d'utilisation et déploiement à l'épreuve du temps, Ultralytics , mené par YOLOv9 et le révolutionnaire YOLO26, offre la solution la plus robuste.
Explorer Plus
Vous vous intéressez à d'autres architectures ? Consultez nos comparaisons pour RT-DETR (basé sur un transformateur) ou YOLO11 pour trouver celle qui convient le mieux à votre application.