YOLOv9 vs. PP-YOLOE+ : Une comparaison technique
Le choix de l'architecture optimale de détection d'objets est une décision cruciale pour les ingénieurs en vision artificielle, car il s'agit de trouver un équilibre entre la nécessité d'une grande précision et les contraintes de calcul. Ce guide complet compare YOLOv9un modèle de pointe introduisant de nouvelles techniques d'information de gradient, et PP-YOLOE+, un détecteur robuste optimisé pour le cadre PaddlePaddle Nous analysons leurs innovations architecturales, leurs performances de référence et leur aptitude au déploiement afin de vous aider à déterminer le meilleur choix pour vos applications de vision par ordinateur.
YOLOv9: Information programmable sur le gradient pour un meilleur apprentissage
YOLOv9 représente une avancée significative dans l'évolution des détecteurs d'objets en temps réel. Sorti au début de l'année 2024, il aborde des questions fondamentales liées à 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
Documentationultralytics
L'architecture introduit deux concepts révolutionnaires : l'information programmable de gradient (PGI) et le réseau d'agrégation de couches efficace généralisé (GELAN). Lorsque 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. L'IGP résout ce problème en générant des gradients fiables par le biais d'une branche auxiliaire réversible, ce qui garantit que les caractéristiques profondes conservent les informations essentielles. Parallèlement, GELAN optimise l'utilisation des paramètres, ce qui permet au modèle d'atteindre une précision supérieure avec moins de ressources informatiques que les architectures basées sur la convolution en profondeur.
Intégré à l'écosystèmeUltralytics , YOLOv9 bénéficie d'une conception centrée sur l'utilisateur qui simplifie les flux de travail complexes. Les développeurs peuvent s'appuyer sur une APIPython unifiée pour la formation, la validation et le déploiement, ce qui réduit considérablement le temps nécessaire pour passer du prototype à la production. Cette intégration garantit également la compatibilité avec un large éventail d'ensembles de données et de formats d'exportation.
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 a été spécialement conçue pour fonctionner efficacement sur le système PaddlePaddle et offre un bon équilibre entre vitesse et précision pour les applications industrielles.
Auteurs : PaddlePaddle Auteurs
Organisation:Baidu
Date : 2022-04-02
Arxiv:https://arxiv.org/abs/2203.16250
GitHubPaddlePaddle
DocumentationPaddlePaddle
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. Sa colonne vertébrale utilise généralement CSPRepResNet, et il est doté d'une tête unique alimentée par l'apprentissage de l'alignement des tâches (TAL). Cette approche permet d'aligner les tâches de classification et de localisation afin d'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 représenter une courbe d'apprentissage pour les équipes standardisées sur PyTorch ou TensorFlow.
Dépendance à l'égard des écosystèmes
Bien que PP-YOLOE+ offre des performances compétitives, sa dépendance à l'égard du cadre PaddlePaddle peut limiter l'interopérabilité avec la large gamme d'outils et de bibliothèques PyTorch couramment utilisés dans la communauté de recherche occidentale.
Analyse des performances : Vitesse, précision et efficacité
Lorsque l'on compare ces deux architectures, YOLOv9 présente un net avantage 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éesCOCO , tout en maintenant souvent une latence plus faible.
| 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.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 |
| 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 |
Points clés à retenir
- Efficacité des paramètres : Le modèle YOLOv9 atteint des performances comparables à celles de modèles plus grands tout en utilisant seulement 2,0 millions de paramètres, soit beaucoup moins que la variante PP-YOLOE+t qui en utilise 4,85 millions. YOLOv9 est donc particulièrement adapté aux dispositifs d'intelligence artificielle de pointe disposant d'un espace de 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 : Alors que PP-YOLOE+s montre 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 significativement plus élevée pour des coûts de calcul similaires. Par exemple, YOLOv9 surpasse PP-YOLOE+l en termes de 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 de formation et facilité d'utilisation
L'expérience des développeurs diffère considérablement entre les deux modèles, principalement en raison des cadres sous-jacents et du soutien de l'écosystème.
Avantage de l'écosystème Ultralytics
Choix YOLOv9 via Ultralytics donne accès à une suite complète d'outils conçus pour rationaliser le cycle de vie de l'apprentissage automatique.
- API simple : La formation d'un modèle ne nécessite que quelques lignes de code, ce qui permet de faire abstraction de toute procédure complexe.
- Efficacité de la mémoire : Les modèlesYOLO d'Ultralytics sont optimisés pour une utilisation réduite de la mémoire pendant l'apprentissage par rapport aux architectures basées sur les transformateurs, ce qui permet d'augmenter la taille des lots sur du matériel grand public.
- Polyvalence : Au-delà de la détection, le cadre Ultralytics prend en charge la segmentation des instances, l'estimation de la pose et la classification, offrant ainsi une interface unifiée pour diverses tâches.
- Formation 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, économisant ainsi de précieuses heures de GPU .
Flux de travail rationalisé avec Ultralytics
Vous pouvez charger, entraîner et valider un modèle YOLOv9 en seulement quelques lignes de Python, en tirant parti du robuste moteur Ultralytics 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()
PaddlePaddle Environnement
PP-YOLOE+ nécessite la bibliothèque PaddleDetection. Bien que puissante, elle nécessite une certaine familiarité avec l'écosystème Baidu. La mise en place de l'environnement, la conversion des ensembles de données au format requis et l'exportation des modèles pour le déploiement peuvent s'avérer plus complexes pour les utilisateurs qui ne sont pas déjà intégrés dans l'infrastructure PaddlePaddle .
Cas d'utilisation idéaux
Comprendre les points forts de chaque modèle permet de sélectionner l'outil adéquat pour des applications spécifiques dans le monde réel.
Quand choisir YOLOv9
- Systèmes autonomes : Pour les voitures autonomes et la robotique, où une précision maximale est essentielle pour la sécurité, le mAP supérieur de YOLOv9 offre la fiabilité nécessaire.
- Déploiement en périphérie : Le YOLOv9 très léger, est parfait pour être déployé sur des 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 le support de PyTorch en font un outil idéal pour les chercheurs qui prototypent de nouvelles solutions de vision par ordinateur ou qui intègrent des capacités de suivi d'objets.
- Environnements à 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 d'une empreinte mémoire réduite.
Quand choisir PP-YOLOE+ ?
- Utilisateurs dePaddlePaddle : 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 s'appuient sur un matériel d'inférence Paddle spécifique.
Conclusion
Bien que ces deux modèles soient des concurrents redoutables dans le domaine de la détection d'objets, YOLOv9 s'impose comme le meilleur choix 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èmeUltralytics renforce 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é, analysiez l'imagerie médicale ou développiez une infrastructure de ville intelligente, YOLOv9 offre l'équilibre des performances et la polyvalence nécessaires pour réussir.
Autres modèles à considérer
Si vous êtes à la recherche d'une IA visionnaire de pointe, pensez à ces autres modèles puissants d'Ultralytics:
- YOLO11: La dernière évolution de la série YOLO , qui offre des vitesses encore plus rapides et une plus grande précision pour les applications de pointe.
- YOLOv8: Un standard industriel très polyvalent qui prend 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 dans la précision, offrant une alternative aux architectures basées sur le CNN.