
Pytorch-Pose est une mise en œuvre pytorch du pipeline général pour l'estimation de la pose humaine unique 2D. L'objectif est de fournir l'interface de la formation / inférence / évaluation, et le dataloader avec diverses options d'augmentation de données pour les bases de données de pose humaine les plus populaires (par exemple, la pose humaine MPII, le LSP et le FLIC).
Certains codes pour la préparation et l'augmentation des données sont apportés du réseau de sablier empilé. Merci à l'auteur original.
MISE À JOUR: Ce référentiel est compatible avec Pytorch 0.4.1 / 1.0 maintenant!
Pytorch (> = 0.4.1): Veuillez suivre l'instruction d'installation de Pytorch. Notez que le code est développé avec Python2 et n'a pas encore été testé avec Python3.
Cloner le référentiel avec le sous-module
git clone --recursive https://github.com/bearpaw/pytorch-pose.git
Créez un lien symbolique vers le répertoire images de l'ensemble de données MPII:
ln -s PATH_TO_MPII_IMAGES_DIR data/mpii/images
Pour la formation / les tests sur CoCo, veuillez vous référer à Coco Readme.
data/mpiidata/mscoco Veuillez vous référer à Training.MD pour des recettes de formation détaillées!
Vous pouvez télécharger nos modèles pré-entraînés (par exemple, modèle de sablier à 2 piles) pour un démarrage rapide.
Exécutez la commande suivante dans le terminal pour évaluer le modèle sur la division de validation MPII (la division Train / Val est de Tompson et al. CVPR 2015).
CUDA_VISIBLE_DEVICES=0 python example/main.py --dataset mpii -a hg --stacks 2 --blocks 1 --checkpoint checkpoint/mpii/hg_s2_b1 --resume checkpoint/mpii/hg_s2_b1/model_best.pth.tar -e -d
-a spécifie une architecture de réseau--resume chargera le poids à partir d'un modèle spécifique-e signifie évaluation uniquement-d visualisera la sortie du réseau. Il peut également être utilisé pendant la formation Le résultat sera enregistré en tant que fichier .mat ( preds_valid.mat ), qui est une matrice 2958x16x2 , dans le dossier spécifié par --checkpoint .
Vous pouvez utiliser le MATLAB Script evaluation/eval_PCKh.m pour évaluer vos prédictions. Le code d'évaluation est porté à partir de Tompson et al. CVPR 2015.
Les résultats (score [email protected]) formés à l'aide de ce code sont rapportés dans le tableau suivant.
| Modèle | Tête | Épaule | Coude | Poignet | Hanche | Genou | Cheville | Signifier |
|---|---|---|---|---|---|---|---|---|
| hg_s2_b1 (dernier) | 95.80 | 94.57 | 88.12 | 83.31 | 86.24 | 80.88 | 77.44 | 86.76 |
| hg_s2_b1 (meilleur) | 95.87 | 94.68 | 88.27 | 83.64 | 86.29 | 81.20 | 77.70 | 86,95 |
| hg_s8_b1 (dernier) | 96.79 | 95.19 | 90.08 | 85.32 | 87.48 | 84.26 | 80.73 | 88,64 |
| hg_s8_b1 (meilleur) | 96.79 | 95.28 | 90.27 | 85,56 | 87,57 | 84.3 | 81.06 | 88.78 |
La courbe de formation / validation est visualisée comme suit.

Vous pouvez également évaluer le résultat en exécutant python evaluation/eval_PCKh.py pour évaluer les prédictions. Il produira exactement le même résultat que celui du Matlab. Merci @ SSSRUHAN1 pour la contribution.
Exécutez la commande suivante dans le terminal pour former un réseau à 8 collines de réseau de sablier sur l'ensemble de données MPII Human Pose.
CUDA_VISIBLE_DEVICES=0 python example/main.py --dataset mpii -a hg --stacks 8 --blocks 1 --checkpoint checkpoint/mpii/hg8 -j 4
Ici,
CUDA_VISIBLE_DEVICES=0 Identifie les périphériques GPU que vous souhaitez utiliser. Par exemple, utilisez CUDA_VISIBLE_DEVICES=0,1 Si vous souhaitez utiliser deux GPU avec ID 0 et 1 .-j Spécifie le nombre de travailleurs que vous souhaitez utiliser pour le chargement des données.--checkpoint spécifie où vous souhaitez enregistrer les modèles, le journal et les prédictions. Ensemble de données pris en charge
Modèles pris en charge
Veuillez créer une demande de traction si vous souhaitez contribuer.