论文复现:<Beyond Static Features for Temporally Consistent 3D Human Pose and Shape from a Video>

1. International practice, written in front

It is a work of personal study, not for commercial use, and has limited ability. If you have any mistakes or any questions, please feel free to contact me. Welcome to correct me and make progress together.

2. Basic steps + problems encountered

If you don't do science popularization, you need basic algorithm development capabilities.

01. Read the paper and see what it is about. It can only be said that Max Planck is awesome.

 

 (Exposed chicken feet.jpg)

02. Pull code from git

git clone https://github.com/hongsukchoi/TCMR_RELEASE

Deploy the environment and install configuration files, which are the basic requirements for the environment

python==3.7
numpy==1.17.5 
torch==1.4.0 
torchvision==0.5.0

If it is just for running through, rather than training your own data and models,

You need to find the corresponding model and data, this is a pit,

Because my server can't connect to the external network, after searching for a long time, there are several files that don't match, and I am stunned.

The approximate file directory is as follows:

The key is the data path, remember to own one, and the internal files are as shown in the figure

Private message me if you have problems.

After finishing, you will download resnet50 under the path of your server

 $HOME/.cache/torch/hub/checkpoints/resnet50-19c8e357.pth

 You can use it directly on the public network, otherwise you can download it and put it in

Then run the demo.py file,

Note that if you do not specify a gpu, the default is 1 card, and running with a CPU will be very slow.

Then running with demo.py will report an error, as shown in the figure.

RuntimeError: view size is not compatible with input tensor's size and stride (at least one dimension spans across two contiguous subspaces). Use .reshape(...) instead

 View requires tensors to be continuous. . ok ok.

Find the corresponding file, modify and add .contiguous()

    transforms_mat = transform_mat(
        rot_mats.contiguous().view(-1, 3, 3),
        rel_joints.contiguous().view(-1, 3, 1)).view(-1, joints.shape[1], 4, 4)

Three, the result display

test

tcmr_demo_output

(In other words, how can this thing be enlarged)

NICE!!

Guess you like

Origin blog.csdn.net/qq_33083551/article/details/125741830