Passer au contenu

PP-YOLOE+ vs YOLOv9 : Une comparaison technique

Le choix de l'architecture optimale pour les projets de vision par ordinateur nécessite de naviguer dans un paysage de modèles en évolution rapide. Cette page fournit une comparaison technique détaillée entre PP-YOLOE+ de Baidu et YOLOv9, deux détecteurs d'objets sophistiqués à un seul étage. Nous analysons leurs innovations architecturales, leurs mesures de performance et leur intégration à l'écosystème pour vous aider à prendre une décision éclairée. Bien que les deux modèles démontrent des capacités élevées, ils représentent des philosophies de conception et des dépendances de framework distinctes.

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 conçu pour fournir un compromis équilibré entre la précision et la vitesse d'inférence, spécifiquement optimisé pour le framework de deep learning PaddlePaddle.

Auteurs : Auteurs de PaddlePaddle
Organisation :Baidu
Date : 2022-04-02
Arxiv :https://arxiv.org/abs/2203.16250
GitHub :https://github.com/PaddlePaddle/PaddleDetection/
Docs :Lisez-moi PP-YOLOE+ de PaddleDetection

Architecture et principales fonctionnalités

PP-YOLOE+ fonctionne comme un détecteur à une étape sans ancres. Il s'appuie sur le backbone CSPRepResNet et utilise une stratégie Task Alignment Learning (TAL) pour améliorer l'alignement entre les tâches de classification et de localisation. Une caractéristique clé est l'Efficient Task-aligned Head (ET-Head), qui réduit la surcharge de calcul tout en maintenant la précision. Le modèle utilise une fonction de perte Varifocal pour gérer le déséquilibre des classes pendant l'entraînement.

Points forts et faiblesses

La principale force de PP-YOLOE+ réside dans son optimisation pour le matériel et la pile logicielle de Baidu. Il propose des modèles évolutifs (s, m, l, x) qui donnent de bons résultats dans les benchmarks de détection d'objets standard.

Cependant, sa forte dépendance à l'égard de l'écosystème PaddlePaddle représente un obstacle important pour la communauté de l'IA au sens large, qui privilégie largement PyTorch. La migration des flux de travail PyTorch existants vers PaddlePaddle peut nécessiter beaucoup de ressources. De plus, par rapport aux architectures plus récentes, PP-YOLOE+ nécessite plus de paramètres pour atteindre une précision similaire, ce qui a un impact sur le stockage et la mémoire des appareils contraints.

En savoir plus sur PP-YOLOE+

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

Ultralytics YOLOv9 introduit un changement de paradigme dans la détection d'objets en temps réel en s'attaquant au problème du "goulot d'étranglement de l'information" inhérent aux réseaux neuronaux profonds.

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/

Architecture et principales fonctionnalités

YOLOv9 intègre deux concepts révolutionnaires : l'information de gradient programmable (PGI) et le réseau d'agrégation de couches efficace généralisé (GELAN).

  • PGI : À mesure que les réseaux s'approfondissent, les informations des données d'entrée sont souvent perdues pendant le processus de propagation avant. Le PGI fournit une branche de supervision auxiliaire qui assure une génération fiable du gradient, permettant au modèle de « se souvenir » des caractéristiques essentielles pour les tâches de suivi d'objets et de détection sans ajouter de coût d'inférence.
  • GELAN : Cette conception architecturale optimise l’efficacité des paramètres, ce qui permet au modèle d’atteindre une plus grande précision avec moins de ressources de calcul (FLOP) par rapport aux backbones conventionnels utilisant la convolution depth-wise.

Le saviez-vous ?

La technique PGI de YOLOv9 résout le problème du goulot d’étranglement de l’information qui nécessitait auparavant des méthodes de supervision profonde complexes. Il en résulte des modèles à la fois plus légers et plus précis, ce qui améliore considérablement l’équilibre des performances.

Points forts et faiblesses

YOLOv9 excelle en matière d'efficacité de l'entraînement et d'utilisation des paramètres. Il obtient des résultats à la pointe de la technologie sur l'ensemble de données COCO, surpassant les itérations précédentes en termes de précision tout en conservant des vitesses en temps réel. Son intégration dans l'écosystème Ultralytics signifie qu'il bénéficie d'un écosystème bien entretenu, y compris un déploiement simple via des modes d'exportation vers des formats tels que ONNX et TensorRT.

Une considération potentielle est que les plus grandes variantes (YOLOv9-E) nécessitent des ressources GPU importantes pour l'entraînement. Cependant, l'empreinte mémoire d'inférence reste compétitive, évitant les coûts élevés associés aux modèles basés sur les transformeurs.

En savoir plus sur YOLOv9

Analyse comparative des performances

Dans une comparaison directe, YOLOv9 démontre une efficacité supérieure. Par exemple, le modèle YOLOv9-C atteint un mAP plus élevé (53,0 %) que le PP-YOLOE+l (52,9 %) tout en utilisant environ la moitié des paramètres (25,3M contre 52,2M). Cette réduction drastique de la taille du modèle sans compromettre la précision met en évidence l'efficacité de l'architecture GELAN.

ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
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
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

Le tableau illustre que, pour des objectifs de précision similaires, YOLOv9 nécessite systématiquement moins de ressources de calcul. Le modèle YOLOv9-E repousse encore les limites, atteignant un mAP de 55,6 %, un avantage évident par rapport à la plus grande variante PP-YOLOE+.

L'avantage Ultralytics

Bien que PP-YOLOE+ soit un détecteur performant, le choix de YOLOv9 via le framework Ultralytics offre des avantages distincts en termes de facilité d'utilisation et de polyvalence.

Expérience utilisateur simplifiée

Ultralytics privilégie une expérience conviviale pour les développeurs. Contrairement aux fichiers de configuration complexes souvent requis par PaddleDetection, les modèles Ultralytics peuvent être chargés, entraînés et déployés avec seulement quelques lignes de code python. Cela réduit considérablement la barrière à l'entrée pour les ingénieurs et les chercheurs.

Polyvalence et écosystème

Ultralytics prend en charge un large éventail de tâches au-delà de la simple detect, notamment la segmentation d'instance, l'estimation de pose et la detect de boîte englobante orientée (OBB). Cette polyvalence permet aux développeurs de relever divers défis à l'aide d'une API unique et unifiée. De plus, la communauté active et les mises à jour fréquentes garantissent aux utilisateurs un accès aux dernières optimisations et intégrations avec des outils tels que TensorBoard et MLflow.

Exemple de code : Utilisation de YOLOv9

L'exemple suivant montre avec quelle facilité vous pouvez exécuter l'inférence avec YOLOv9 en utilisant l'API python Ultralytics. Cette simplicité contraste avec la configuration plus détaillée souvent requise pour PP-YOLOE+.

from ultralytics import YOLO

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

# Run inference on an image
results = model("path/to/image.jpg")

# Display results
results[0].show()

Cas d'utilisation idéaux

  • PP-YOLOE+ : Convient mieux aux équipes déjà profondément intégrées dans l'écosystème Baidu/PaddlePaddle, ou pour des applications industrielles héritées spécifiques dans les régions où la prise en charge du matériel PaddlePaddle est dominante.
  • YOLOv9 : Idéal pour les applications exigeant le rapport précision/efficacité le plus élevé, telles que les véhicules autonomes, l’analyse vidéo en temps réel et le déploiement en périphérie où les besoins en mémoire et le stockage sont des contraintes.

Conclusion et recommandations

Pour la plupart des développeurs et des organisations, YOLOv9 représente le choix supérieur en raison de son architecture moderne (GELAN/PGI), de son efficacité paramétrique supérieure et de la prise en charge robuste de l'écosystème Ultralytics. Il offre une solution pérenne avec des poids pré-entraînés facilement disponibles et des capacités d'exportation transparentes.

Si vous recherchez encore plus de polyvalence et de rapidité, nous vous recommandons également d'explorer YOLO11, la dernière itération de la série YOLO. YOLO11 affine encore l'équilibre entre performance et latence, offrant des capacités de pointe pour les tâches de détection, de segmentation et de classification dans un ensemble compact.

Pour ceux qui sont intéressés par un cheval de trait éprouvé, YOLOv8 reste une option très fiable avec de vastes ressources communautaires et des intégrations tierces.


Commentaires