Passer au contenu

YOLOv9 vs. PP-YOLOE+ : une comparaison technique

Le choix de l'architecture de détection d'objets optimale est une décision cruciale pour les ingénieurs en vision par ordinateur, équilibrant le besoin de haute précision avec les contraintes computationnelles. Ce guide complet compare YOLOv9, un modèle de pointe introduisant de nouvelles techniques d'information de gradient, et PP-YOLOE+, un détecteur robuste optimisé pour le framework PaddlePaddle. Nous analysons leurs innovations architecturales, leurs benchmarks de performance et leur adéquation au déploiement pour vous aider à déterminer la meilleure solution pour vos applications de vision par ordinateur.

YOLOv9 : Informations de gradient programmables pour un apprentissage amélioré

YOLOv9 représente un bond significatif dans l'évolution des détecteurs d'objets en temps réel. Sorti début 2024, il aborde les problèmes fondamentaux liés à la perte d'informations dans les réseaux neuronaux profonds, établissant de nouvelles références en matière de précision et d'efficacité des paramètres.

Auteurs: Chien-Yao Wang et Hong-Yuan Mark Liao
Organisation:Institute of Information Science, Academia Sinica, Taiwan
Date: 2024-02-21
Arxiv:https://arxiv.org/abs/2402.13616
GitHub:https://github.com/WongKinYiu/yolov9
Documentation:https://docs.ultralytics.com/models/yolov9/

L'architecture introduit deux concepts révolutionnaires : l'information de gradient programmable (PGI) et le réseau d'agrégation de couches efficace généralisé (GELAN). À mesure que les réseaux deviennent plus profonds, les données essentielles au calcul de la fonction de perte peuvent être perdues, un phénomène connu sous le nom de goulot d'étranglement de l'information. Le PGI résout ce problème en générant des gradients fiables via une branche réversible auxiliaire, garantissant que les caractéristiques profondes conservent les informations critiques. Simultanément, GELAN optimise l'utilisation des paramètres, permettant au modèle d'atteindre une précision supérieure avec moins de ressources de calcul par rapport aux architectures basées sur la convolution en profondeur.

Intégré à l'écosystème Ultralytics, YOLOv9 bénéficie d'une conception centrée sur l'utilisateur qui simplifie les flux de travail complexes. Les développeurs peuvent exploiter une API Python unifiée pour la formation, la validation et le déploiement, ce qui réduit considérablement le temps entre le prototype et la production. Cette intégration assure également la compatibilité avec un large éventail d'ensembles de données et de formats d'exportation.

En savoir plus sur YOLOv9

PP-YOLOE+ : Haute précision au sein de l'écosystème PaddlePaddle

PP-YOLOE+ est une version évoluée de PP-YOLOE, développée par Baidu dans le cadre de la suite PaddleDetection. Il est spécifiquement conçu pour fonctionner efficacement sur le framework PaddlePaddle, offrant un équilibre solide entre vitesse et précision pour les applications industrielles.

Auteurs : Auteurs de PaddlePaddle
Organisation :Baidu
Date : 2022-04-02
Arxiv :https://arxiv.org/abs/2203.16250
GitHub :https://github.com/PaddlePaddle/PaddleDetection/
Documentation :https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.8.1/configs/ppyoloe/README.md

PP-YOLOE+ utilise un mécanisme sans ancrage, supprimant le besoin de boîtes d'ancrage prédéfinies, ce qui simplifie le processus de réglage des hyperparamètres. Son backbone utilise généralement CSPRepResNet, et il dispose d'une conception de tête unique alimentée par l'apprentissage de l'alignement des tâches (TAL). Cette approche aligne les tâches de classification et de localisation pour améliorer la qualité des résultats de la détection. Bien que très performant, PP-YOLOE+ est étroitement lié à l'écosystème PaddlePaddle, ce qui peut présenter une courbe d'apprentissage pour les équipes standardisées sur PyTorch ou TensorFlow.

Dépendance à l'égard de l'écosystème

Bien que PP-YOLOE+ offre des performances compétitives, sa dépendance au framework PaddlePaddle peut limiter l'interopérabilité avec la gamme plus large d'outils et de bibliothèques basés sur PyTorch couramment utilisés dans la communauté de recherche occidentale.

En savoir plus sur PP-YOLOE+

Analyse des performances : Vitesse, précision et efficacité

Lors de la comparaison de ces deux architectures, YOLOv9 démontre un avantage évident en termes d'efficacité des paramètres et de précision maximale. L'intégration de GELAN permet à YOLOv9 de traiter les données visuelles plus efficacement, ce qui se traduit par des scores de précision moyenne (mAP) plus élevés sur l'ensemble de données COCO, tout en maintenant souvent une latence plus faible.

ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0
PP-YOLOE+t64039.9-2.844.8519.15
PP-YOLOE+s64043.7-2.627.9317.36
PP-YOLOE+m64049.8-5.5623.4349.91
PP-YOLOE+l64052.9-8.3652.2110.07
PP-YOLOE+x64054.7-14.398.42206.59

Points clés à retenir

  • Efficacité des paramètres : Le modèle YOLOv9-T atteint des performances comparables à celles des modèles plus grands tout en utilisant seulement 2,0 M de paramètres, soit beaucoup moins que la variante PP-YOLOE+t à 4,85 M. Cela rend YOLOv9 particulièrement adapté aux appareils Edge AI avec un stockage limité.
  • Précision maximale :YOLOv9 atteint une précision remarquable mAP 55,6 %, dépassant le plus grand modèle PP-YOLOE+x (54,7 % mAP malgré l'utilisation d'environ 40 % de paramètres en moins (57,3 millions contre 98,42 millions). Cela met en évidence la supériorité architecturale de GELAN pour maximiser les capacités d'extraction des caractéristiques.
  • Vitesse d'inférence : Bien que PP-YOLOE+s affiche un léger avantage en termes de latence brute sur les GPU T4, les modèles YOLOv9 offrent généralement un meilleur compromis, offrant une précision nettement supérieure pour des coûts de calcul similaires. Par exemple, YOLOv9-C surpasse PP-YOLOE+l en précision (53,0 % contre 52,9 %) tout en étant plus rapide (7,16 ms contre 8,36 ms) et plus léger.

Méthodologie d'entraînement et facilité d'utilisation

L'expérience développeur diffère considérablement entre les deux modèles, principalement en raison de leurs frameworks sous-jacents et de leur support d'écosystème.

Avantage de l'écosystème Ultralytics

Choisir YOLOv9 via Ultralytics donne accès à une suite complète d'outils conçus pour rationaliser le cycle de vie du machine learning.

  • API simple : L'entraînement d'un modèle ne nécessite que quelques lignes de code, en faisant abstraction des complexités.
  • Efficacité de la mémoire : Les modèles Ultralytics YOLO sont optimisés pour une utilisation plus faible de la mémoire pendant l’entraînement par rapport aux architectures basées sur des transformateurs, ce qui permet d’utiliser des tailles de lots plus importantes sur du matériel grand public.
  • Polyvalence : Au-delà de la détection, le framework Ultralytics prend en charge la segmentation d’instance, l’estimation de pose et la classification, offrant une interface unifiée pour diverses tâches.
  • Entraînement efficace : Grâce à l’augmentation avancée des données et aux poids pré-entraînés facilement disponibles, les développeurs peuvent atteindre la convergence plus rapidement, ce qui permet d’économiser de précieuses heures de GPU.

Flux de travail simplifié avec Ultralytics

Vous pouvez charger, entraîner et valider un modèle YOLOv9 en quelques lignes de python, en tirant parti du moteur Ultralytics robuste pour le réglage automatisé des hyperparamètres et le suivi des expériences.

from ultralytics import YOLO

# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")

# Train the model on a custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Validate the model's performance
metrics = model.val()

Environnement PaddlePaddle

PP-YOLOE+ nécessite la bibliothèque PaddleDetection. Bien que puissant, il nécessite une familiarité avec l'écosystème Baidu. La configuration de l'environnement, la conversion des ensembles de données au format requis et l'exportation des modèles pour le déploiement peuvent être plus complexes pour les utilisateurs qui ne sont pas déjà intégrés à l'infrastructure PaddlePaddle.

Cas d'utilisation idéaux

Comprendre les forces de chaque modèle aide à sélectionner le bon outil pour des applications du monde réel spécifiques.

Quand choisir YOLOv9

  • Systèmes autonomes : Pour les voitures autonomes et la robotique où la maximisation de la précision est essentielle pour la sécurité, le mAP supérieur de YOLOv9-E offre la fiabilité nécessaire.
  • Déploiement Edge : Le modèle léger YOLOv9-T est parfait pour le déploiement sur les appareils Raspberry Pi ou NVIDIA Jetson pour des tâches telles que le comptage de personnes ou l’analyse intelligente de la vente au détail.
  • Recherche et développement : L’écosystème bien entretenu et la prise en charge de PyTorch le rendent idéal pour les chercheurs qui créent des prototypes de nouvelles solutions de vision par ordinateur ou qui intègrent des capacités de suivi d’objets.
  • Environnements aux ressources limitées : Les applications nécessitant des performances élevées avec une VRAM limitée bénéficient de l'architecture efficace de YOLOv9 et de son faible encombrement mémoire.

Quand choisir PP-YOLOE+

  • Utilisateurs de PaddlePaddle : Pour les organisations qui utilisent déjà l’infrastructure de Baidu, PP-YOLOE+ offre une intégration transparente et une optimisation native.
  • Inspection Industrielle (Chine) : Compte tenu de sa forte adoption sur le marché asiatique, on le trouve souvent dans les pipelines de fabrication qui reposent sur du matériel d’inférence Paddle spécifique.

Conclusion

Bien que les deux modèles soient des concurrents redoutables dans le paysage de la détection d'objets, YOLOv9 apparaît comme le choix supérieur pour la majorité des développeurs et des entreprises du monde entier. Son utilisation innovante de l'information de gradient programmable (PGI) offre une précision de pointe avec une efficacité remarquable, surpassant PP-YOLOE+ dans les mesures clés tout en utilisant beaucoup moins de paramètres.

De plus, l'écosystème Ultralytics améliore YOLOv9 en offrant une facilité d'utilisation inégalée, une documentation complète et une communauté dynamique. Que vous construisiez des systèmes d'alarme de sécurité, que vous analysiez des images médicales ou que vous développiez une infrastructure de ville intelligente, YOLOv9 offre l'équilibre entre performance et polyvalence nécessaire pour réussir.

Autres modèles à considérer

Si vous explorez l'IA de vision de pointe, considérez ces autres modèles puissants d'Ultralytics :

  • YOLO11 : La dernière évolution de la série YOLO, offrant des vitesses encore plus rapides et une plus grande précision pour les applications de pointe.
  • YOLOv8 : Une norme industrielle très polyvalente prenant en charge les tâches de détection, de segmentation, de pose et d'OBB.
  • RT-DETR : Un détecteur en temps réel basé sur un transformateur qui excelle en précision, offrant une alternative aux architectures basées sur CNN.

Commentaires