




该仓库是从单个RGB图像中进行3D多人姿势估算的相机距离自上而下方法的官方Pytorch实施(ICCV 2019)。它包含POSENET部分。
该仓库提供的内容:
该代码根据Ubuntu 16.04,Cuda 9.0,Cudnn 7.1环境进行测试,具有两个NVIDIA 1080TI GPU。
使用Anaconda 3的Python 3.6.5版本用于开发。
您可以在demo文件夹中尝试快速演示。
demo文件夹中准备input.jpg和预训练的快照。bbox_list 。root_depth_list 。python demo.py --gpu 0 --test_epoch 24如果要在gpu 0上运行。output_pose_2d.jpg和显示3D姿势的新窗口。 ${POSE_ROOT}描述如下。
${POSE_ROOT}
|-- data
|-- demo
|-- common
|-- main
|-- tool
|-- vis
`-- output
data包含数据加载代码以及与图像和注释目录的软链接。demo包含演示代码。common包含3D多人姿势估计系统的内核代码。main包含用于培训或测试网络的高级代码。tool包含数据预处理代码。您不必运行此代码。我在下面提供预处理的数据。vis包含用于3D可视化的脚本。output包含日志,训练有素的模型,可视化的输出和测试结果。您需要遵循以下data的目录结构。
${POSE_ROOT}
|-- data
| |-- Human36M
| | |-- bbox_root
| | | |-- bbox_root_human36m_output.json
| | |-- images
| | |-- annotations
| |-- MPII
| | |-- images
| | |-- annotations
| |-- MSCOCO
| | |-- bbox_root
| | | |-- bbox_root_coco_output.json
| | |-- images
| | | |-- train2017
| | | |-- val2017
| | |-- annotations
| |-- MuCo
| | |-- data
| | | |-- augmented_set
| | | |-- unaugmented_set
| | | |-- MuCo-3DHP.json
| |-- MuPoTS
| | |-- bbox_root
| | | |-- bbox_mupots_output.json
| | |-- data
| | | |-- MultiPersonTestSet
| | | |-- MuPoTS-3D.json
要从Google Drive下载多个文件而不压缩它们,请尝试一下。如果尝试从Google Drive链接下载数据集时,您有“下载限制”问题的问题,请尝试此技巧。
* Go the shared folder, which contains files you want to copy to your drive
* Select all the files you want to copy
* In the upper right corner click on three vertical dots and select “make a copy”
* Then, the file is copied to your personal google drive account. You can download it from your personal account.
您需要按照以下内容遵循output文件夹的目录结构。
${POSE_ROOT}
|-- output
|-- |-- log
|-- |-- model_dump
|-- |-- result
`-- |-- vis
output文件夹作为软链路形式而不是文件夹表单,因为它将具有较大的存储容量。log文件夹包含培训日志文件。model_dump文件夹包含每个时期的保存检查点。result文件夹包含在测试阶段生成的最终估计文件。vis文件夹包含可视化的结果。$DB_NAME_img_name.py以.txt格式获取图像文件名。preds_2d_kpt_$DB_NAME.mat , preds_3d_kpt_$DB_NAME.mat )放在single或多multi夹中。draw_3Dpose_$DB_NAME.m main/config.py中,您可以更改模型的设置,包括要使用的数据集,网络骨干和输入大小等。在main文件夹中,运行
python train.py --gpu 0-1在GPU 0,1上训练网络。
如果您想继续实验,请运行
python train.py --gpu 0-1 --continue --gpu 0,1可以代替--gpu 0-1 。
将经过训练的模型放置在output/model_dump/ 。
在main文件夹中,运行
python test.py --gpu 0-1 --test_epoch 20使用20个时期训练的模型在GPU 0,1上测试网络。 --gpu 0,1可以代替--gpu 0-1 。
在这里,我报告了posenet的性能。
对于评估,您可以运行test.py或Human36M中的评估代码。

对于评估,您可以运行test.py或Human36M中的评估代码。

对于评估,运行test.py之后,将data/MuPoTS/mpii_mupots_multiperson_eval.m移动到data/MuPoTS/data中。另外,将测试结果文件( preds_2d_kpt_mupots.mat和preds_3d_kpt_mupots.mat )移动到data/MuPoTS/data中。然后使用您的评估模式参数运行mpii_mupots_multiperson_eval.m 。

我们还在MSCOCO数据集中提供了估计的3D人根坐标。坐标位于3D摄像机坐标系中,焦距为X和Y轴设置为1500mm。您可以使用我的论文补充材料中的方程式2或方程来更改焦距和相应距离。
@InProceedings{Moon_2019_ICCV_3DMPPE,
author = {Moon, Gyeongsik and Chang, Juyong and Lee, Kyoung Mu},
title = {Camera Distance-aware Top-down Approach for 3D Multi-person Pose Estimation from a Single RGB Image},
booktitle = {The IEEE Conference on International Conference on Computer Vision (ICCV)},
year = {2019}
}