PP-YOLOE+ vs. YOLOv9: une comparaison technique
La sélection 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 présente une comparaison technique détaillée entre les systèmes PP-YOLOE+ et YOLOv9de Baidu, deux détecteurs d'objets sophistiqués à une seule étape. Nous analysons leurs innovations architecturales, leurs mesures de performance et l'intégration de leur é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 cadre 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. Elle est conçue pour offrir un compromis équilibré entre la précision et la vitesse d'inférence, spécifiquement optimisée pour le système de détection de padel. PaddlePaddle d'apprentissage profond.
Auteurs : PaddlePaddle Authors
Organization:Baidu
Date : 2022-04-02
Arxiv:https://arxiv.org/abs/2203.16250
GitHubPaddlePaddle
Docs:PaddleDetection PP-YOLOE+ README
Architecture et principales fonctionnalités
PP-YOLOE+ fonctionne comme un détecteur sans ancrage, en une seule étape. Il s'appuie sur l'épine dorsale CSPRepResNet et utilise une stratégie d'apprentissage de l'alignement des tâches (TAL) pour améliorer l'alignement entre les tâches de classification et de localisation. L'une de ses principales caractéristiques est la tête efficace d'alignement des tâches (ET-Head), qui réduit la charge de calcul tout en maintenant la précision. Le modèle utilise une fonction de perte varifocale pour gérer le déséquilibre des classes pendant l'apprentissage.
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 constitue 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. En outre, 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 limités.
YOLOv9: Information programmable sur le gradient pour un meilleur apprentissage
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
Documentationultralytics
Architecture et principales fonctionnalités
YOLOv9 intègre deux concepts révolutionnaires : l'information programmable de gradient (PGI) et le réseau d'agrégation de couches efficace généralisé (GELAN).
- PGI : Au fur et à mesure que les réseaux s'approfondissent, les informations sur les données d'entrée sont souvent perdues au cours du processus de rétroaction. L'IGP fournit une branche de supervision auxiliaire qui garantit une génération de gradient fiable, permettant au modèle de "se souvenir" des caractéristiques cruciales pour les tâches de suivi et de détection d'objets 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 dorsales conventionnelles utilisant la convolution en profondeur.
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 lourdes de supervision profonde. 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 dans l'efficacité de la formation et l'utilisation des paramètres. Il obtient des résultats de pointe sur l'ensemble de donnéesCOCO , 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 variantes les plus importantesYOLOv9) nécessitent des ressources GPU significatives pour l'apprentissage. Toutefois, l'empreinte de la mémoire d'inférence reste compétitive, ce qui permet d'éviter les coûts élevés associés aux modèles basés sur les transformateurs.
Analyse comparative des performances
Dans une comparaison directe, YOLOv9 démontre une efficacité supérieure. Par exemple, le modèle YOLOv9 atteint une mAP plus élevée (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 souligne l'efficacité de l'architecture GELAN.
| 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 |
Le tableau montre que pour des objectifs de précision similaires, YOLOv9 nécessite systématiquement moins de ressources informatiques. Le modèle YOLOv9 va encore plus loin en atteignant 55,6 % de mAP, ce qui représente un avantage certain par rapport à la variante PP-YOLOE+ la plus importante.
L'avantage Ultralytics
Bien que PP-YOLOE+ soit un détecteur performant, le choix de YOLOv9 dans le cadre d'Ultralytics offre des avantages indéniables en termes de facilité d'utilisation et de polyvalence.
Une expérience utilisateur simplifiée
Ultralytics donne la priorité à 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 allant au-delà de la simple détection, notamment la segmentation des instances, l'estimation de la pose et la détection de la boîte de délimitation 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 que les utilisateurs ont 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 à quel point il est facile de faire de l'inférence avec YOLOv9 en utilisant l'APIPython d'Ultralytics . Cette simplicité contraste avec la configuration plus verbeuse 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 le mieux aux équipes déjà profondément intégrées dans l'écosystème PaddlePaddle , ou pour des applications industrielles spécifiques dans des régions où le support matériel de PaddlePaddle est dominant.
- YOLOv9: idéal pour les applications exigeant le meilleur rapport précision/efficacité, telles que les véhicules autonomes, l'analyse vidéo en temps réel et le déploiement en périphérie où les exigences en matière de mémoire et de stockage sont des contraintes.
Conclusion et recommandations
Pour la plupart des développeurs et des organisations, YOLOv9 représente le meilleur choix en raison de son architecture moderne (GELAN/PGI), de l'efficacité supérieure des paramètres et du support robuste de l'écosystème Ultralytics . Il offre une solution à l'épreuve du temps avec des poids pré-entraînés facilement disponibles et des capacités d'exportation transparentes.
Si vous êtes à la recherche d'une polyvalence et d'une rapidité encore plus grandes, nous vous recommandons également d'explorer YOLO11la dernière itération de la série YOLO . YOLO11 affine encore l'équilibre entre les performances et la 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 outil de travail qui a fait ses preuves, YOLOv8 reste une option très fiable avec des ressources communautaires étendues et des intégrations tierces.