YOLOv9 vs PP-YOLOE+#
Le domaine de la détection d’objets en temps réel continue d’évoluer rapidement et offre aux ingénieurs en vision par ordinateur un vaste choix pour déployer des modèles très précis sur des infrastructures en périphérie et dans le cloud. Deux modèles importants dans ce domaine sont YOLOv9 et PP-YOLOE+. Bien que tous deux repoussent les limites de la précision et de la vitesse, ils sont issus de traditions de recherche et d’écosystèmes logiciels différents.
Cette comparaison technique approfondie examine leurs architectures, leurs méthodes d’entraînement, leurs indicateurs de performance et leurs applications concrètes idéales. Nous verrons également comment le vaste écosystème Ultralytics offre des avantages considérables aux développeurs qui privilégient la facilité d’utilisation, l’efficacité mémoire et la polyvalence du déploiement.
Origines des modèles et spécifications techniques#
Comprendre le contexte de ces modèles aide à situer leurs choix architecturaux et leurs dépendances aux frameworks.
YOLOv9 : résoudre le goulot d’étranglement de l’information#
Présenté début 2024, YOLOv9 s’attaque à la perte de données qui survient lorsque l’information circule dans des réseaux neuronaux profonds. Il s’agit d’un réseau neuronal convolutif hautement optimisé, conçu pour maximiser l’efficacité des paramètres.
- Auteurs : Chien-Yao Wang, Hong-Yuan Mark Liao
- Organisation : Institute of Information Science, Academia Sinica, Taïwan
- Date : 21 février 2024
- Arxiv : 2402.13616
- GitHub : WongKinYiu/yolov9
- Documentation : Documentation Ultralytics YOLOv9
PP-YOLOE+ : faire progresser l’écosystème Paddle#
Lancé par Baidu en 2022, PP-YOLOE+ est une amélioration itérative de PP-YOLOv2. Il utilise une approche sans ancres et introduit une stratégie dynamique d’attribution des étiquettes afin d’améliorer la convergence et la précision dans le framework PaddlePaddle.
- Auteurs : Auteurs de PaddlePaddle
- Organisation : Baidu
- Date : 2 avril 2022
- Arxiv : 2203.16250
- GitHub : PaddleDetection
- Documentation : Configuration de PP-YOLOE+
Comparaison des architectures#
Informations de gradient programmables vs CSPRepResStage#
L’innovation centrale de YOLOv9 est constituée des informations de gradient programmables (PGI). PGI sert de cadre de supervision auxiliaire, garantissant que les informations essentielles sur les gradients sont préservées et correctement propagées jusqu’aux couches peu profondes pendant l’entraînement. Ce mécanisme est associé au réseau généralisé d’agrégation efficace des couches (GELAN), qui combine les points forts de CSPNet et d’ELAN pour offrir une grande précision tout en réduisant considérablement le coût de calcul (FLOPs).
PP-YOLOE+ s’appuie sur un backbone spécialisé appelé CSPRepResStage. Il utilise des techniques de reparamétrisation (semblables à celles de RepVGG) pour accélérer l’inférence en fusionnant les couches convolutives lors du déploiement. Il utilise aussi la tête Efficient Task-aligned (ET-head) pour équilibrer les tâches de classification et de régression.
PP-YOLOE+ est robuste, mais l’architecture GELAN de YOLOv9 nécessite généralement moins de mémoire pendant l’entraînement et l’inférence, ce qui la rend particulièrement adaptée aux appareils d’IA en périphérie.
Comparaison des performances#
Lors de l’évaluation de modèles pour la production, le compromis entre mAP (précision moyenne), la vitesse d’inférence et la taille du modèle est crucial.
| Modèle | taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.2 | 26.7 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.1 | 76.8 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.5 | 102.8 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 58.1 | 192.5 |
| 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 |
Analyse#
- Efficacité des paramètres : YOLOv9 affiche une efficacité nettement supérieure. Par exemple, YOLOv9c atteint un mAP de 53.0 % avec seulement 25.5M de paramètres, tandis que PP-YOLOE+l nécessite plus du double de paramètres (52.2M) pour atteindre un mAP légèrement inférieur de 52.9 %. Cela réduit considérablement les besoins en mémoire de YOLOv9.
- Vitesse d’inférence : les modèles YOLOv9 sont très bien optimisés pour les accélérateurs matériels comme TensorRT et offrent des vitesses d’inférence compétitives sur les GPU NVIDIA T4, essentielles pour l’inférence en temps réel.
Méthodes d’entraînement et écosystème#
Le choix entre ces modèles dépend souvent de l’écosystème logiciel.
PP-YOLOE+ et PaddlePaddle#
PP-YOLOE+ est étroitement intégré à la suite PaddleDetection. Puissant, il oblige toutefois les utilisateurs à évoluer dans un environnement piloté par la ligne de commande et reposant fortement sur des fichiers de configuration. Pour les équipes profondément ancrées dans les écosystèmes PyTorch ou TensorFlow, passer à PaddlePaddle entraîne des frictions importantes et une courbe d’apprentissage plus raide.
Les atouts d’Ultralytics : des workflows simplifiés#
À l’inverse, YOLOv9 s’inscrit dans l’écosystème Ultralytics, très abouti. Conçu pour les développeurs et les chercheurs, Ultralytics privilégie une facilité d’utilisation exceptionnelle. L’API Python masque entièrement le code passe-partout complexe.
from ultralytics import YOLO
# Charger un modèle YOLOv9 préentraîné
model = YOLO("yolov9c.pt")
# Entraîne-le facilement sur un jeu de données personnalisé
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)
# Lancer l’inférence et visualiser les résultats
results = model("https://ultralytics.com/images/bus.jpg")
# Exporter au format ONNX pour un déploiement en production
model.export(format="onnx")Ce workflow met en évidence l’efficacité supérieure de l’entraînement des modèles Ultralytics. La prise en charge native de l’augmentation des données, de l’entraînement distribué et de la journalisation automatique sur des plateformes comme Weights & Biases ou MLflow est incluse par défaut.
YOLOv9 offre des performances exceptionnelles, mais nous recommandons vivement d’envisager le tout nouveau Ultralytics YOLO26 pour les nouveaux projets. YOLO26 propose une conception native de bout en bout sans NMS (optionnelle via nms=False), qui simplifie considérablement le déploiement. Grâce à la suppression de DFL (la perte focale de distribution est supprimée pour simplifier l’exportation et améliorer la compatibilité avec les appareils en périphérie et à faible consommation), il offre une inférence CPU jusqu’à 43 % plus rapide pour l’informatique en périphérie. Propulsé par l’optimiseur MuSGD, il garantit un entraînement stable et une convergence rapide. De plus, ProgLoss + STAL fournit des fonctions de perte améliorées qui améliorent nettement la reconnaissance des petits objets, essentielle pour l’IoT, la robotique et l’imagerie aérienne.
Polyvalence et prise en charge des tâches#
Les projets modernes de vision par ordinateur ne se limitent que rarement aux simples boîtes englobantes.
PP-YOLOE+ est principalement conçu pour la détection d’objets standard. Adapter son architecture à d’autres tâches nécessite un travail d’ingénierie personnalisé important.
À l’inverse, le framework Ultralytics est une véritable plateforme multitâche. Grâce à une API unifiée, les développeurs peuvent facilement passer de la détection d’objets standard à la segmentation d’instances complexe, à l’estimation de pose très précise, à la détection par boîtes englobantes orientées (OBB) pour l’imagerie aérienne et à la classification d’images. Cette polyvalence inégalée explique pourquoi les équipes d’entreprise choisissent régulièrement des modèles pris en charge par Ultralytics comme YOLOv9, YOLO11 et YOLO26.
Cas d’utilisation et applications idéaux#
- Analyse des villes intelligentes et gestion du trafic : la grande efficacité des paramètres et la faible latence de YOLOv9 (et de son successeur YOLO26) en font des modèles idéaux pour un déploiement sur du matériel en périphérie aux ressources limitées, comme les appareils NVIDIA Jetson, afin de surveiller la circulation et la sécurité urbaine.
- Gestion des stocks en magasin : pour détecter des articles de petite taille disposés en grand nombre sur des rayons, le PGI de YOLOv9 préserve efficacement les détails spatiaux fins et surpasse PP-YOLOE+ pour la détection des petits objets.
- Déploiements sur systèmes hérités : PP-YOLOE+ reste une option viable uniquement pour les équipes qui doivent explicitement utiliser la pile logicielle Baidu/PaddlePaddle dans une infrastructure existante.
Pour les chercheurs qui explorent les architectures basées sur les Transformers, Ultralytics prend également en charge RT-DETR nativement, dans la même API facile à utiliser, afin que tu aies toujours accès au modèle le mieux adapté à tes exigences de déploiement.