YOLOX vs. PP-YOLOE+ : un examen approfondi de la détection d’objets sans ancrage
Le choix de la bonne architecture de vision par ordinateur est essentiel pour la réussite d'un projet, en équilibrant l'efficacité de calcul et la précision de la détection. Cette comparaison technique explore YOLOX et PP-YOLOE+, deux modèles de détection d'objets sans ancrage importants qui ont influencé le paysage de l'IA de vision en temps réel. Nous analysons leurs innovations architecturales, leurs performances de référence et les considérations de déploiement pour vous aider à déterminer la meilleure solution pour votre application.
YOLOX : La simplicité au service de la performance
YOLOX, introduit par Megvii en 2021, a revitalisé la série YOLO en passant à un mécanisme sans ancrage et en intégrant des techniques de détection avancées. Il vise à combler le fossé entre la recherche universitaire et l’application industrielle en simplifiant le pipeline de détection tout en maintenant des performances élevées.
Détails techniques :
- Auteurs : Zheng Ge, Songtao Liu, Feng Wang, Zeming Li et Jian Sun
- Organisation :Megvii
- Date : 2021-07-18
- Lien Arxiv :https://arxiv.org/abs/2107.08430
- Lien GitHub :https://github.com/Megvii-BaseDetection/YOLOX
- Lien vers la documentation :https://yolox.readthedocs.io/en/latest/
Architecture et innovations clés
YOLOX s'écarte des itérations YOLO précédentes en supprimant les contraintes de la boîte d'ancrage, qui nécessitaient souvent un réglage heuristique. Au lieu de cela, il traite la détection d'objets comme un problème de régression sur une grille, en prédisant directement les coordonnées de la boîte englobante.
- Tête découplée : YOLOX utilise une structure de tête découplée, séparant les tâches de classification et de localisation en différentes branches. Cette séparation résout le conflit entre la confiance de la classification et la précision de la localisation, ce qui conduit à une convergence plus rapide pendant l'apprentissage du modèle.
- Attribution de label SimOTA : Un composant essentiel de YOLOX est SimOTA (Simplified Optimal Transport Assignment). Cette stratégie d'attribution dynamique de label calcule le coût de la correspondance des objets de vérité terrain aux prédictions en fonction des pertes de classification et de régression, garantissant que les prédictions de haute qualité sont priorisées.
- Conception sans ancres : En éliminant les boîtes d'ancrage, YOLOX réduit le nombre de paramètres de conception et simplifie la complexité du réseau, le rendant plus généralisable aux objets de formes variées.
Comprendre SimOTA
SimOTA traite le problème d'attribution d'étiquettes comme une tâche de transport optimal. Il attribue dynamiquement des échantillons positifs à la vérité terrain qui minimise le coût de correspondance global. Cela permet au modèle de sélectionner de manière adaptative les meilleurs échantillons d'entraînement sans réglage manuel du seuil, ce qui améliore considérablement la précision dans les scènes encombrées.
Points forts et faiblesses
Points forts : YOLOX offre un équilibre robuste entre vitesse et précision, ce qui en fait un choix fiable pour les tâches de détection à usage général. Sa nature sans ancrage simplifie le pipeline de déploiement, car il n'est pas nécessaire de regrouper les ancres pour des ensembles de données spécifiques. L'utilisation de techniques d'augmentation de données fortes comme Mosaic et MixUp améliore encore sa robustesse.
Points faibles : Bien qu’innovante lors de sa sortie, la vitesse d’inférence de YOLOX sur les CPU peut être inférieure à celle des architectures plus récentes et plus optimisées. De plus, la configuration de l’environnement et du pipeline d’entraînement peut être complexe par rapport aux frameworks modernes plus intégrés.
PP-YOLOE+: La centrale industrielle de Baidu
PP-YOLOE+ est une évolution de l'architecture PP-YOLOE, développée par l'équipe de Baidu pour l'écosystème PaddlePaddle. Sorti en 2022, il est conçu spécifiquement pour les applications industrielles où la haute précision et l'efficacité de l'inférence sont primordiales.
Détails techniques :
- Auteurs : Auteurs de PaddlePaddle
- Organisation :Baidu
- Date : 2022-04-02
- Lien Arxiv :https://arxiv.org/abs/2203.16250
- Lien GitHub :https://github.com/PaddlePaddle/PaddleDetection/
- Lien vers la documentation :https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.8.1/configs/ppyoloe/README.md
Architecture et principales fonctionnalités
PP-YOLOE+ s'appuie sur le paradigme sans ancrage, mais introduit plusieurs optimisations pour repousser les limites de la précision et de la vitesse, en particulier sur le matériel GPU.
- Backbone et Neck : Il utilise le backbone CSPRepResNet avec de grands champs réceptifs effectifs et un neck de réseau d’agrégation de chemins (PAN). Cette combinaison assure une extraction robuste des caractéristiques à plusieurs échelles.
- Task Alignment Learning (TAL) : Pour résoudre le désalignement entre la confiance de la classification et la qualité de la localisation, PP-YOLOE+ emploie TAL. Cela aligne explicitement les deux tâches pendant l’entraînement, 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) : L’ET-Head est conçu pour être efficace sur le plan du calcul tout en conservant les avantages d’un head découplé, optimisant le modèle pour une inférence en temps réel rapide.
Points forts et faiblesses
Points forts : PP-YOLOE+ démontre des performances exceptionnelles sur l'ensemble de données COCO, surpassant souvent YOLOX en précision moyenne (mAP) pour des tailles de modèles similaires. Il est très efficace pour la détection de défauts industriels et les scénarios nécessitant une localisation précise.
Points faibles : La principale limite est sa dépendance au framework PaddlePaddle. Pour les développeurs utilisant principalement PyTorch, l’adoption de PP-YOLOE+ implique une courbe d’apprentissage plus abrupte et des frictions potentielles lors de l’intégration avec les pipelines MLOps existants ou de la conversion de modèles vers des formats tels que ONNX.
Comparaison technique : Métriques et analyse
Lors de la comparaison de YOLOX et PP-YOLOE+, les distinctions dans la philosophie de conception deviennent apparentes dans leurs métriques de performance. Le tableau suivant fournit une vue côte à côte de leurs capacités à différentes échelles de modèle.
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Analyse des performances
- Précision : PP-YOLOE+ atteint systématiquement des scores mAP plus élevés que YOLOX pour des tailles de modèles comparables. Notamment, le modèle PP-YOLOE+x atteint un mAP de 54,7 % impressionnant, surpassant la variante YOLOX-x. Cela met en évidence l’efficacité de l’apprentissage de l’alignement des tâches et du backbone CSPRepResNet dans la capture de détails précis.
- Efficacité : En termes de coût de calcul, les modèles PP-YOLOE+ utilisent généralement moins de paramètres et de FLOPs pour atteindre une précision supérieure. Cette efficacité est essentielle pour déployer des modèles de haute précision sur du matériel avec des budgets thermiques ou énergétiques limités.
- Vitesse : Les vitesses d’inférence sont compétitives. Bien que YOLOX-s détienne un léger avantage en termes de vitesse par rapport à son homologue, les modèles PP-YOLOE+ plus grands affichent des temps d’inférence plus rapides sur le matériel optimisé pour TensorRT, ce qui suggère une meilleure évolutivité pour les déploiements côté serveur.
Cas d'utilisation concrets
Le choix entre ces modèles dépend souvent de l'environnement opérationnel spécifique et des exigences de la tâche.
Cas d'utilisation de YOLOX
- Bases de référence pour la recherche : En raison de son architecture propre et sans ancrage, YOLOX est fréquemment utilisé comme base de référence pour le développement de nouvelles méthodologies de detection.
- Navigation robotique : Son bon compromis entre vitesse et précision la rend appropriée pour les modules de perception robotique où l'évitement d'obstacles en temps réel est nécessaire.
- Systèmes autonomes : La tête découplée de YOLOX facilite les tâches nécessitant une régression stable des boîtes englobantes, ce qui est utile pour le suivi des objets dans les scénarios de conduite autonome.
Cas d'utilisation de PP-YOLOE+
- Contrôle Qualité Industriel : La haute précision du modèle est idéale pour identifier les défauts minimes dans les chaînes de fabrication, un objectif central de l'IA dans la fabrication.
- IA en périphérie dans la fabrication : Grâce à la prise en charge optimisée de l’exportation pour le matériel souvent utilisé dans les environnements industriels, PP-YOLOE+ s’intègre bien aux caméras intelligentes et aux appareils périphériques.
- Vente au détail intelligente : Une grande précision est utile dans les environnements de vente au détail bondés pour des applications telles que la gestion des stocks et la surveillance des rayons.
Ultralytics YOLO11 : L’alternative supérieure
Bien que YOLOX et PP-YOLOE+ soient des modèles performants, Ultralytics YOLO11 représente la pointe de la vision par ordinateur, offrant une solution complète qui répond aux limitations de ses prédécesseurs. YOLO11 n'est pas seulement un modèle de détection ; c'est un framework unifié conçu pour le développeur moderne.
Pourquoi choisir YOLO11 ?
- Polyvalence inégalée : Contrairement à YOLOX et PP-YOLOE+ qui se concentrent principalement sur la detect, YOLO11 prend en charge nativement un large éventail de tâches, notamment la segment d’instance, l’estimation de pose, l’OBB (boîte englobante orientée) et la classify. Cela vous permet de vous attaquer à des problèmes aux multiples facettes avec une seule base de code.
- Facilité d'utilisation : Ultralytics donne la priorité à l'expérience développeur. Grâce à une API Python simple et à une interface de ligne de commande, vous pouvez passer de l'installation à l'entraînement en quelques minutes. La documentation complète vous assure de ne jamais être perdu.
- Équilibre des performances : YOLO11 est conçu pour offrir le compromis optimal entre vitesse et précision. Il offre des résultats de pointe avec des besoins en mémoire plus faibles pendant l'entraînement par rapport aux modèles basés sur des transformateurs, ce qui le rend accessible sur une plus large gamme de matériel.
- Écosystème bien maintenu : Soutenu par une communauté active et des mises à jour fréquentes, l’écosystème Ultralytics garantit que vos outils restent à jour. L’intégration avec les plateformes de gestion des ensembles de données et MLOps rationalise l’ensemble du cycle de vie du projet.
- Efficacité de l'entraînement : Grâce à des routines d'entraînement optimisées et à des poids pré-entraînés de haute qualité, YOLO11 converge plus rapidement, ce qui permet d'économiser un temps de calcul et une énergie précieux.
Démarrage avec YOLO11
L'exécution de prédictions avec YOLO11 est incroyablement simple. Vous pouvez detect des objets dans une image avec seulement quelques lignes de code :
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Display results
results[0].show()
Pour ceux qui souhaitent explorer d'autres comparaisons architecturales, pensez à lire notre analyse sur YOLO11 vs. YOLOX ou YOLO11 vs. PP-YOLOE+ pour voir exactement comment la dernière génération surpasse la concurrence.