pengc02's picture
all
ec9a6bc
|
raw
history blame
1.87 kB

Data Organization

We recommend follow THuman4.0 dataset to organize your own data as shown below:

data_dir
├── images
|   └── cam00
│   └── cam01
├── masks
│   └── cam00
│   └── cam01
├── calibration.json
├── smpl_params.npz

Preprocessing

  1. (Optional) Reconstruct a template if the character is wearing loose clothes.
  • Install additional libs.
cd ./utils/posevocab_custom_ops
python setup.py install
cd ../..

cd ./utils/root_finding
python setup.py install
cd ../..
  • Generate a canonical LBS weight volume.
    • For Windows: Download AdaptiveSolvers.x64.zip and extract PointInterpolant.exe to ./bins
    • For Linux:
      • Clone Adaptive Multigrid Solvers (Version 16.04) to directory of your choice
      • cd path/to/cloned/repo
      • make pointinterpolant
      • The resulting executable file is at path/to/cloned/repo/Bin/Linux/PointInterpolant. Copy it to ./bins (you may need to do mkdir ./bins beforehand)
      • Go to ./gen_data/gen_weight_volume.py line 115, change solve(smpl_model.lbs_weights.shape[-1], ".\\bins\\PointInterpolant.exe") to solve(smpl_model.lbs_weights.shape[-1], "./bins/PointInterpolant"). (This is the resulting executable file we previously made.)
python -m gen_data.gen_weight_volume -c configs/***/template.yaml
  • Run the following script to reconstruct a template.
python main_template.py -c configs/***/template.yaml
  1. Generate position maps.
python -m gen_data.gen_pos_maps -c configs/***/avatar.yaml