pengc02's picture
all
ec9a6bc
|
raw
history blame
1.87 kB
# Data Organization
We recommend follow [THuman4.0](https://github.com/ZhengZerong/THUman4.0-Dataset) 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](https://www.cs.jhu.edu/~misha/Code/PoissonRecon/Version16.01/AdaptiveSolvers.x64.zip) and extract ```PointInterpolant.exe``` to ```./bins```
* **For Linux**:
* Clone [Adaptive Multigrid Solvers (Version 16.04)](https://github.com/mkazhdan/PoissonRecon.git) 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
```
2. Generate position maps.
```
python -m gen_data.gen_pos_maps -c configs/***/avatar.yaml
```