PP-YOLOE+ vs YOLOX : naviguer dans l'évolution des détecteurs d'objets en temps réel
Le paysage de la vision par ordinateur a été considérablement façonné par l'évolution rapide des modèles de détection d'objets. Parmi les étapes importantes de cette évolution, on peut citer PP-YOLOE+ et YOLOX, deux architectures qui ont repoussé les limites des performances et de la précision en temps réel. Il est essentiel pour les chercheurs et les développeurs qui travaillent à la création de la prochaine génération de systèmes de reconnaissance visuelle de comprendre les nuances architecturales, les compromis en termes de performances et les scénarios de déploiement idéaux de ces deux architectures.
Lignée et détails du modèle
Avant de nous plonger dans les architectures techniques, il est utile de replacer les origines des deux modèles dans leur contexte. Chacun d'entre eux a été développé pour résoudre des problèmes spécifiques liés à la détection d'objets, sous l'influence marquée des organisations qui les soutiennent.
Détails de PP-YOLOE+ :
- Auteurs: Auteurs PaddlePaddle
- Organisation : Baidu
- Date : 2022-04-02
- Arxiv : https://arxiv.org/abs/2203.16250
- GitHub : PaddlePaddle
- Documents : PaddleDetection PP-YOLOE+ README
Détails de YOLOX :
- Auteurs : Zheng Ge, Songtao Liu, Feng Wang, Zeming Li et Jian Sun
- Organisation : Megvii
- Date : 2021-07-18
- Arxiv : https://arxiv.org/abs/2107.08430
- GitHub : https://github.com/Megvii-BaseDetection/YOLOX
- Docs : Documentation officielle YOLOX
Innovations architecturales
Les principales différences entre ces deux détecteurs résident dans leur approche de l'extraction des caractéristiques et de la prédiction des cadres de sélection.
YOLOX a fait sensation en 2021 en adaptant avec succès la YOLO à une conception sans ancrage. En supprimant les boîtes d'ancrage, YOLOX a considérablement réduit le nombre de paramètres de conception et de réglages heuristiques nécessaires pour les ensembles de données personnalisés. De plus, il a introduit une tête découplée, qui sépare les tâches de classification et de localisation en voies neuronales distinctes. Cette séparation a résolu le conflit inhérent entre la classification d'un objet et la régression de ses coordonnées spatiales, ce qui a permis une convergence plus rapide pendant l'entraînement.
PP-YOLOE+, développé par Baidu, est fortement optimisé pour le PaddlePaddle . Il s'appuie sur son prédécesseur, PP-YOLOv2, en introduisant une stratégie d'attribution dynamique des étiquettes (TAL) et une nouvelle structure appelée CSPRepResNet. Cette structure tire parti de la reparamétrisation structurelle, permettant au modèle de bénéficier d'architectures multi-branches complexes pendant l'entraînement tout en s'intégrant de manière transparente dans un réseau rapide à chemin unique pour l'inférence.
Reparamétrage structurel
La reparamétrisation structurelle permet à un modèle d'être entraîné avec plusieurs branches parallèles (améliorant ainsi le flux de gradient), puis de regrouper mathématiquement ces branches en une seule couche convolutive pour le déploiement, ce qui augmente la vitesse d'inférence sans sacrifier la précision.
Comparaison des performances et des indicateurs
Lorsque l'on compare ces modèles côte à côte, il apparaît clairement qu'ils répondent à des besoins légèrement différents en termes de performances. PP-YOLOE+ offre généralement une précision absolue supérieure, tandis que YOLOX excelle dans la fourniture de variantes extrêmement légères adaptées à du matériel très limité.
| 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 |
Remarque : les valeurs les plus performantes dans chaque segment de colonne pertinent segment mises en évidence en gras.
Alors que YOLOX propose des variantes nano et tiny qui ne consomment pratiquement pas d'espace disque ni CUDA , PP-YOLOE+ s'adapte incroyablement bien au matériel de niveau serveur, ce qui en fait un choix robuste pour les applications industrielles lourdes au sein de l'écosystème Baidu.
Applications concrètes
Le choix entre ces frameworks dépend souvent des exigences d'intégration et des cibles matérielles.
Les domaines dans lesquels YOLOX excelle
En raison de son absence d'ancrage et de la disponibilité de variantes extrêmes, YOLOX est très apprécié dans le domaine de la robotique et du déploiement de microcontrôleurs. Son pipeline de post-traitement simple facilite le portage vers des formats matériels NPU personnalisés tels que TensorRT et NCNN.
Où PP-YOLOE+ excelle
Pour les organisations profondément intégrées dans les pôles de fabrication asiatiques utilisant la pile technologique de Baidu, PP-YOLOE+ offre un chemin pré-optimisé vers le déploiement. Il excelle dans les scénarios d'inspection qualité de haute précision s'exécutant sur de puissants racks de serveurs où des contraintes strictes en temps réel permettent des poids de modèles légèrement plus lourds.
Cas d'utilisation et recommandations
Le choix entre PP-YOLOE+ et YOLOX dépend des exigences spécifiques de votre projet, des contraintes de déploiement et des préférences en matière d'écosystème.
Quand choisir PP-YOLOE+
PP-YOLOE+ est un choix judicieux pour :
- IntégrationPaddlePaddle : organisations disposant d'une infrastructure existante basée sur le cadre et les outils PaddlePaddle de Baidu.
- Déploiement Paddle Lite Edge : déploiement sur du matériel avec des noyaux d'inférence hautement optimisés spécialement conçus pour le moteur d'inférence Paddle Lite ou Paddle.
- Détection côté serveur haute précision : scénarios donnant la priorité à une précision de détection maximale sur GPU puissants où la dépendance au framework n'est pas un problème.
Quand choisir YOLOX
YOLOX est recommandé pour :
- Recherche sur la détection sans ancrage : recherche universitaire utilisant l'architecture propre et sans ancrage de YOLOX comme base pour expérimenter de nouvelles têtes de détection ou fonctions de perte.
- Dispositifs périphériques ultra-légers : déploiement sur des microcontrôleurs ou du matériel mobile existant où l'empreinte extrêmement réduite (0,91 M de paramètres) de la variante YOLOX-Nano est essentielle.
- Études sur l'attribution des étiquettes SimOTA : projets de recherche visant à étudier les stratégies optimales d'attribution des étiquettes basées sur le transport et leur impact sur la convergence de l'apprentissage.
Quand choisir Ultralytics YOLO26)
Pour la plupart des nouveaux projets, Ultralytics offre la meilleure combinaison entre performances et expérience développeur :
- DéploiementNMS suppressionNMS maximale (NMS: applications nécessitant une inférence cohérente et à faible latence sans la complexité du post-traitement par suppression non maximale.
- EnvironnementsCPU: appareils sans GPU dédiée, où CPU jusqu'à 43 % plus rapide de YOLO26 offre un avantage décisif.
- Détection de petits objets : scénarios complexes tels que l'imagerie aérienne par drone ou l'analyse par capteurs IoT, où ProgLoss et STAL améliorent considérablement la précision sur les objets minuscules.
Ultralytics : entrez YOLO26
Si PP-YOLOE+ et YOLOX constituent d'excellentes avancées en matière de recherche, le paysage actuel du déploiement exige une expérience plus cohérente, plus conviviale pour les développeurs et d'une efficacité supérieure. C'est là Ultralytics redéfinit complètement la norme en matière d'IA visuelle moderne.
Pour les équipes qui souhaitent passer de référentiels de recherche isolés à des systèmes prêts à être mis en production, Ultralytics un écosystème robuste et bien entretenu. La formation d'un modèle ne nécessite plus la configuration d'environnements complexes ; elle est aussi simple que l'accès à une Python unifiée.
Les principaux avantages d'Ultralytics sont les suivants :
- Conception NMS de bout en bout : contrairement à PP-YOLOE+ et YOLOX, qui nécessitent une suppression non maximale (NMS) pour filtrer les boîtes englobantes redondantes, YOLO26 est nativement de bout en bout. Cela élimine les goulots d'étranglement liés à la latence et simplifie considérablement la logique de déploiement.
- CPU jusqu'à 43 % plus rapide : en supprimant stratégiquement la perte focale de distribution (DFL), YOLO26 atteint des vitesses d'inférence inégalées sur CPU , ce qui le rend bien supérieur pour l'informatique de pointe et les appareils à faible consommation d'énergie.
- MuSGD Optimizer : inspiré du Kimi K2 de Moonshot AI, cet optimiseur hybride apporte la stabilité de l'entraînement LLM à la vision par ordinateur, garantissant une convergence beaucoup plus rapide et minimisant les besoins en mémoire pendant les phases d'entraînement.
- ProgLoss + STAL : ces fonctions de perte avancées apportent des améliorations notables dans la reconnaissance des petits objets, une fonctionnalité essentielle pour les opérations de drones et les images aériennes très détaillées.
- Polyvalence : alors que PP-YOLOE+ et YOLOX se concentrent uniquement sur la détection, YOLO26 gère de manière transparente la segmentation d'instances, l'estimation de pose et les boîtes englobantes orientées (OBB) en utilisant exactement la même syntaxe intuitive.
Formation simplifiée avec Ultralytics
L'efficacité mémoire et la vitesse d'entraînement des Ultralytics sont inégalées, surpassant largement les alternatives basées sur des transformateurs qui nécessitent CUDA considérable. Vous pouvez exploiter la puissance de YOLO26 en seulement quelques lignes de code :
from ultralytics import YOLO
# Load the highly efficient, end-to-end YOLO26 nano model
model = YOLO("yolo26n.pt")
# Train on a custom dataset with built-in auto-batching and MuSGD optimization
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model's performance
metrics = model.val()
# Export seamlessly to ONNX or TensorRT
model.export(format="engine")
Découvrez la Ultralytics
Pour les équipes à la recherche d'une solution sans code, la Ultralytics propose une formation basée sur le cloud, l'annotation intégrée des ensembles de données et le déploiement en un clic pour tous vos YOLO .
Conclusion
PP-YOLOE+ et YOLOX ont tous deux gagné leur place dans l'histoire de la vision par ordinateur, offrant respectivement une grande précision et des conceptions légères sans ancrage. Cependant, pour les organisations qui construisent l'avenir de l'IA dans l'agriculture, les villes intelligentes et le commerce de détail, la maintenance continue, la facilité d'utilisation et l'architecture native NMS Ultralytics en font le choix incontestable.
Si vous explorez des architectures alternatives pour des benchmarks spécifiques, vous trouverez peut-être également utile de comparer l'ancienne version YOLO11 ou des options basées sur des transformateurs comme RT-DETR , grâce à la Ultralytics complète Ultralytics . En migrant vers Ultralytics unifié Ultralytics , les développeurs gagnent un temps et des ressources précieux tout en obtenant des résultats de pointe sur n'importe quel déploiement en périphérie ou dans le cloud.