
Pytorch置端是用于2D单人姿势估计的一般管道的Pytorch实现。目的是提供培训/推理/评估的界面,并提供有关最受欢迎的人类姿势数据库(例如MPII人类姿势,LSP和FLIC)的各种数据增强选项的数据加载器。
一些用于数据准备和增强的代码来自堆叠的沙漏网络。感谢原始作者。
更新:此存储库现在与Pytorch 0.4.1/1.0兼容!
Pytorch(> = 0.4.1):请遵循Pytorch的安装指令。请注意,该代码是使用Python2开发的,尚未使用Python3进行测试。
用subsodule克隆存储库
git clone --recursive https://github.com/bearpaw/pytorch-pose.git
创建指向MPII数据集的images目录的符号链接:
ln -s PATH_TO_MPII_IMAGES_DIR data/mpii/images
有关可可的培训/测试,请参阅可可读数。
data/mpiidata/mscoco 请参阅triagn.md以获取详细的培训食谱!
您可以快速启动下载我们预算上的型号(例如,2堆栈沙漏型号)。
在终端中运行以下命令,以评估MPII验证拆分的模型(Train/Val拆分来自Tompson等人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指定网络体系结构--resume将加载特定模型的重量-e仅代表评估-d将可视化网络输出。它也可以在训练期间使用结果将作为.mat文件( preds_valid.mat )保存,该文件是2958x16x2矩阵,将其保存在--checkpoint指定的文件夹中。
您可以使用MATLAB脚本evaluation/eval_PCKh.m来评估您的预测。评估代码从Tompson等人移植。 CVPR 2015。
下表报告了使用此代码训练的结果([email protected]分数)。
| 模型 | 头 | 肩膀 | 弯头 | 手腕 | 时髦的 | 膝盖 | 踝 | 意思是 |
|---|---|---|---|---|---|---|---|---|
| HG_S2_B1(最后) | 95.80 | 94.57 | 88.12 | 83.31 | 86.24 | 80.88 | 77.44 | 86.76 |
| HG_S2_B1(最佳) | 95.87 | 94.68 | 88.27 | 83.64 | 86.29 | 81.20 | 77.70 | 86.95 |
| HG_S8_B1(最后) | 96.79 | 95.19 | 90.08 | 85.32 | 87.48 | 84.26 | 80.73 | 88.64 |
| HG_S8_B1(最佳) | 96.79 | 95.28 | 90.27 | 85.56 | 87.57 | 84.3 | 81.06 | 88.78 |
训练 /验证曲线可视化如下。

您还可以通过运行python evaluation/eval_PCKh.py来评估结果来评估预测。它将产生与MATLAB的结果完全相同的结果。感谢 @sssruhan1的贡献。
在终端运行以下命令,以在MPII人类姿势数据集上训练8个堆栈的沙漏网络。
CUDA_VISIBLE_DEVICES=0 python example/main.py --dataset mpii -a hg --stacks 8 --blocks 1 --checkpoint checkpoint/mpii/hg8 -j 4
这里,
CUDA_VISIBLE_DEVICES=0标识您要使用的GPU设备。例如,如果要使用具有ID 0和1两个GPU,请使用CUDA_VISIBLE_DEVICES=0,1 。-j指定您要用于数据加载的工人。--checkpoint指定要保存模型,日志和预测到的位置。 支持的数据集
支持的模型
如果您想贡献,请创建拉动请求。