MomoAILab / ultrapose

Official repository for the ICCV 2021 paper: UltraPose: Synthesizing Dense Pose with 1 Billion Points by Human-body Decoupling 3D Model.
MIT License
103 stars 12 forks source link

UltraPose: Synthesizing Dense Pose with 1 Billion Points by Human-body Decoupling 3D Model

Official repository for the ICCV 2021 paper:

UltraPose: Synthesizing Dense Pose with 1 Billion Points by Human-body Decoupling 3D Model [PDF]

Haonan Yan, Jiaqi Chen, Xujie Zhang, Shengkai Zhang, Nianhong Jiao, Xiaodan Liang, Tianxiang Zheng

The dataset is now available at Baidu net disk (code: bpi2) or google drive.

Introduction

teaser In this work, we introduce a new 3D human-body model with a series of decoupled parameters that could freely control the generation of the body. Furthermore, we build a data generation system based on this decoupling 3D model, and construct an ultra dense synthetic benchmark UltraPose, containing around 1.3 billion corresponding points.

Installation

We recommend creating a clean conda environment and install all dependencies. You can do this as follows:

step1

conda create -n ultrapose python=3.7
conda activate ultrapose

step2

conda install pytorch=1.7.1 torchvision cudatoolkit=10.2 -c pytorch

step3

pip install ml-collections opencv-python imgaug visdom pycocotools Cython future h5py

You need to build python3 densepose for evaluation. You can do this as follows:

cd $UltraPoseDir/eval
make
cd $UltraPoseDir/eval/DensePoseData
bash get_eval_data.sh

Training

For single GPU training, please use default configurations by running:

python train.py --dataroot data/ultrapose

Besides, you can also use visdom to monitor the training process.

python -m visdom.server
python train.py --dataroot data/ultrapose --use_visdom

For multi-GPU training with default configurations, you can modify train_transformer.sh accordingly and run:

sh train_transformer.sh

Evaluation

python evaluation.py

Dataset

teaser The dataset is now available from Baidu net disk (code: bpi2) or google drive.

Extract the data and put them under $UltraPoseDir/data.

Dataset Persons Points #Avg Density Mask Resolution No error
Densepose-COCO 49K 5.2M 106 256x256
UltraPose 5K 13M 2.6K 512x512

Acknowledgements

Parts of the code are taken or adapted from the following repos:

Citation

If you use this code or Ultrapose for your research, please cite our work:

@inproceedings{yan2021ultrapose,
  title={UltraPose: Synthesizing Dense Pose With 1 Billion Points by Human-Body Decoupling 3D Model},
  author={Yan, Haonan and Chen, Jiaqi and Zhang, Xujie and Zhang, Shengkai and Jiao, Nianhong and Liang, Xiaodan and Zheng, Tianxiang},
  booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision},
  pages={10891--10900},
  year={2021}
}