PP-YOLOE+ vs YOLOX : Comparaison avancée de la détection d'objets sans ancres
Le choix de l'architecture de détection d'objets optimale nécessite une compréhension approfondie des compromis entre la précision, la vitesse d'inférence et la complexité du déploiement. Ce guide fournit une comparaison technique entre PP-YOLOE+, un détecteur de qualité industrielle de Baidu, et YOLOX, un modèle sans ancrage haute performance de Megvii. Les deux architectures ont marqué des étapes importantes dans le passage aux détecteurs sans ancrage, offrant des solutions robustes pour les ingénieurs en vision par ordinateur.
PP-YOLOE+: Excellence industrielle de Baidu
PP-YOLOE+ est une version évoluée de PP-YOLOE, développée par les auteurs de PaddlePaddle chez Baidu. Lancé en avril 2022, il fait partie de la suite complète PaddleDetection. Conçu spécifiquement pour les applications industrielles, PP-YOLOE+ optimise l'équilibre entre l'efficacité de l'entraînement et la précision de l'inférence, en tirant parti des capacités du framework PaddlePaddle.
Détails techniques :
- Auteurs : Auteurs de PaddlePaddle
- Organisation :Baidu
- Date : 2022-04-02
- Lien Arxiv :PP-YOLOE : Une version évoluée de YOLO
- Lien GitHub :Dépôt PaddleDetection
- Lien vers la documentation :Documentation PP-YOLOE+
Architecture et principales fonctionnalités
PP-YOLOE+ se distingue par plusieurs innovations architecturales visant à maximiser les performances sur divers matériels :
- Backbone Scalable : Il utilise CSPRepResNet, un backbone qui combine la puissance d'extraction de caractéristiques des réseaux résiduels avec l'efficacité des connexions Cross Stage Partial (CSP).
- Task Alignment Learning (TAL) : Une innovation essentielle est l’utilisation de TAL, une fonction de perte spécialisée qui aligne dynamiquement les tâches de classification et de localisation, garantissant que les scores de confiance les plus élevés correspondent aux boîtes englobantes les plus précises.
- Head efficace aligné sur les tâches (ET-Head) : Le modèle emploie un head sans ancrage qui simplifie la conception du head de détection, réduisant la surcharge de calcul tout en maintenant une haute précision.
Points forts et faiblesses
PP-YOLOE+ est une centrale électrique pour des scénarios de déploiement spécifiques, mais est livré avec des contraintes d'écosystème.
Points forts :
- Précision de pointe : Le modèle obtient des résultats exceptionnels sur l’ensemble de données COCO, la variante PP-YOLOE+x atteignant un mAP de 54,7 %, ce qui le rend approprié pour les tâches de haute précision comme la détection des défauts.
- Efficacité de l’inférence : Grâce à des optimisations telles que la fusion d’opérateurs dans le framework PaddlePaddle, il offre des vitesses compétitives sur le matériel GPU, en particulier pour les modèles de plus grande taille.
Faiblesses :
- Dépendance au framework : La dépendance principale à l’écosystème PaddlePaddle peut être un obstacle pour les équipes normalisées sur PyTorch ou TensorFlow.
- Complexité du déploiement : Le portage de ces modèles vers d’autres moteurs d’inférence (comme ONNX Runtime ou TensorRT) nécessite souvent des outils de conversion spécifiques qui peuvent ne pas prendre en charge tous les opérateurs personnalisés prêts à l’emploi.
YOLOX : Le pionnier sans ancrage
YOLOX a été présenté en 2021 par des chercheurs de Megvii. Il a immédiatement attiré l’attention pour avoir découplé la tête de détection et supprimé les ancrages, une mesure qui a considérablement simplifié le pipeline de formation par rapport aux itérations précédentes de YOLO. YOLOX a comblé le fossé entre la recherche universitaire et l’application industrielle pratique, influençant de nombreuses architectures de détection d’objets ultérieures.
Détails techniques :
- Auteurs : Zheng Ge, Songtao Liu, Feng Wang, Zeming Li et Jian Sun
- Organisation :Megvii
- Date : 2021-07-18
- Lien Arxiv :YOLOX : Dépasser la série YOLO en 2021
- Lien GitHub :Dépôt YOLOX
- Lien vers la documentation :Documentation YOLOX
Architecture et principales fonctionnalités
YOLOX a introduit une philosophie de conception "pro-anchor-free" dans la famille YOLO:
- Tête découplée : Contrairement aux têtes YOLO traditionnelles qui effectuent la classification et la localisation dans des branches couplées, YOLOX sépare ces tâches. Ce découplage améliore la vitesse de convergence et la précision finale.
- Attribution de label SimOTA : YOLOX utilise SimOTA (Simplified Optimal Transport Assignment), une stratégie d'attribution dynamique de label qui sélectionne automatiquement les meilleurs échantillons positifs pour chaque objet de vérité terrain, réduisant ainsi le besoin d'un réglage complexe des hyperparamètres.
- Mécanisme sans ancres : En éliminant les boîtes d'ancrage prédéfinies, YOLOX réduit le nombre de paramètres de conception et améliore la généralisation à travers les formes d'objets, en particulier pour ceux ayant des rapports hauteur/largeur extrêmes.
Points forts et faiblesses
Points forts :
- Simplicité de l'Implémentation : La suppression des ancres et l'utilisation des opérations PyTorch standard rendent la base de code relativement facile à comprendre et à modifier à des fins de recherche.
- Base de référence solide : Il constitue une excellente base de référence pour la recherche académique sur les techniques d’entraînement avancées et les modifications architecturales.
Faiblesses :
- Performances vieillissantes : Bien que révolutionnaires en 2021, ses mesures de performances brutes (compromis vitesse/précision) ont été dépassées par des modèles plus récents comme YOLOv8 et YOLO11.
- Intensité des ressources d'entraînement : Les stratégies d'affectation avancées comme SimOTA peuvent augmenter la charge de calcul pendant la phase d'entraînement par rapport aux méthodes d'affectation statique plus simples.
Support Hérité
Bien que YOLOX soit encore largement utilisé dans la recherche, les développeurs à la recherche d'un support à long terme et de mises à jour actives peuvent trouver les architectures plus récentes plus avantageuses pour les environnements de production.
Comparaison technique des performances
Lors du choix entre PP-YOLOE+ et YOLOX, les mesures de performance sur les bancs d'essai standard fournissent la base la plus objective pour la prise de décision. Les données suivantes mettent en évidence leurs performances sur l'ensemble de validation COCO.
| 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 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
Analyse
- Domination en matière de précision : PP-YOLOE+ surpasse systématiquement YOLOX pour des tailles de modèles comparables. Le modèle PP-YOLOE+x atteint un mAP de 54,7 %, une amélioration significative par rapport aux 51,1 % de YOLOX-x.
- Efficacité : PP-YOLOE+ démontre une efficacité de paramètre supérieure. Par exemple, le
svariante atteint une précision plus élevée (43,7 % contre 40,5 %) tout en utilisant moins de paramètres (7,93 M contre 9,0 M) et de FLOP. - Vitesse d'inférence : Bien que YOLOX reste compétitif dans les petites tailles, PP-YOLOE+ s'adapte mieux au matériel GPU (T4 TensorRT), offrant des vitesses plus rapides pour ses grands et très grands modèles malgré une précision plus élevée.
Ultralytics YOLO11 : La norme moderne
Bien que PP-YOLOE+ et YOLOX soient des détecteurs capables, le paysage de la vision par ordinateur évolue rapidement. Pour les développeurs à la recherche du mélange optimal de performances, de convivialité et de prise en charge de l'écosystème, Ultralytics YOLO11 représente le choix à la pointe de la technologie.
Pourquoi choisir Ultralytics YOLO11 ?
- Facilité d'utilisation : Contrairement à la configuration complexe souvent requise pour les référentiels de recherche ou les outils spécifiques à un framework, YOLO11 offre une API Python et une CLI simplifiées. Vous pouvez passer de l'installation à l'inférence en quelques secondes.
- Écosystème bien maintenu : Les modèles Ultralytics bénéficient d'un écosystème robuste qui comprend des mises à jour fréquentes, une documentation exhaustive et une intégration transparente avec les outils MLOps.
- Équilibre des performances : YOLO11 est conçu pour offrir un compromis favorable entre vitesse et précision, surpassant souvent les générations précédentes avec des besoins en mémoire plus faibles pendant l'entraînement et l'inférence.
- Polyvalence : Alors que PP-YOLOE+ et YOLOX se concentrent principalement sur la détection de boîtes englobantes, YOLO11 prend en charge nativement la segmentation d’instance, l’estimation de pose, les boîtes englobantes orientées (obb) et la classification au sein d’un seul framework.
- Efficacité de l'entraînement : Les modèles Ultralytics sont optimisés pour un entraînement efficace, utilisant des augmentations avancées et des poids pré-entraînés facilement disponibles afin de réduire le temps et les ressources de calcul nécessaires pour atteindre la convergence.
Exemple concret
L'implémentation de la detection d'objets avec YOLO11 est intuitive. L'exemple suivant montre comment charger un modèle pré-entraîné et effectuer une inférence sur une image :
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Perform inference on a local image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
Cette simplicité contraste fortement avec la configuration en plusieurs étapes souvent requise pour d'autres architectures, ce qui permet aux développeurs de se concentrer sur la résolution des problèmes commerciaux plutôt que de se débattre avec le code.
Conclusion
PP-YOLOE+ et YOLOX ont tous deux apporté des contributions significatives au domaine de la vision par ordinateur. PP-YOLOE+ est un excellent choix pour ceux qui sont profondément intégrés à l'écosystème Baidu PaddlePaddle et qui ont besoin d'une grande précision industrielle. YOLOX reste une base de référence respectée pour les chercheurs qui étudient les méthodologies sans ancrage.
Cependant, pour la majorité des nouveaux projets, Ultralytics YOLO11 offre l'ensemble le plus convaincant. Sa combinaison de performances de pointe, de faible utilisation de la mémoire et d'une expérience développeur inégalée en fait le choix supérieur pour le déploiement de solutions d'inférence en temps réel évolutives.