This code aims to solve the problem of reconstructing multiple persons from multiple calibrated cameras. The released code is an easy-to-use version. See Advanced for more details.
Prepare your calibrated and synchronized system by yourself.
You can download our dataset here.
├── intri.yml
├── extri.yml
├── annots
│ ├── 0
│ ├── 1
│ ├── 2
│ ├── 3
│ ├── 4
│ ├── 5
│ ├── 6
│ └── 7
└── videos
├── 0.mp4
├── 1.mp4
├── 2.mp4
├── 3.mp4
├── 4.mp4
├── 5.mp4
├── 6.mp4
└── 7.mp4
Extract the images from videos:
data=/path/to/data
python3 scripts/preprocess/extract_video.py ${data} --no2d
This step will reconstruct the human pose in each frame.
python3 apps/demo/mvmp.py ${data} --out ${data}/output --annot annots --cfg config/exp/mvmp1f.yml --undis --vis_det --vis_repro
First we should tract the human pose in each frame. This step will track and interpolate missing frames.
python3 apps/demo/auto_track.py ${data}/output ${data}/output-track --track3d
Then we can fit SMPL model to the tracked keyponts:
python3 apps/demo/smpl_from_keypoints.py ${data} --skel ${data}/output-track/keypoints3d --out ${data}/output-track/smpl --verbose --opts smooth_poses 1e1
To visualize the results, see visualization tutorial
For more complicated scenes, our lab has a real-time version of this algorithm, which can perform 3D reconstruction and tracking simultaneously.
If you want to use this part for commercial queries, please contact Xiaowei Zhou.