Spaces:
Running
Running
| # Graphonomy: Universal Human Parsing via Graph Transfer Learning | |
| This repository contains the code for the paper: | |
| [**Graphonomy: Universal Human Parsing via Graph Transfer Learning**](https://arxiv.org/abs/1904.04536) | |
| ,Ke Gong, Yiming Gao, Xiaodan Liang, Xiaohui Shen, Meng Wang, Liang Lin. | |
| # Environment and installation | |
| + Pytorch = 0.4.0 | |
| + torchvision | |
| + scipy | |
| + tensorboardX | |
| + numpy | |
| + opencv-python | |
| + matplotlib | |
| + networkx | |
| you can install above package by using `pip install -r requirements.txt` | |
| # Getting Started | |
| ### Data Preparation | |
| + You need to download the human parsing dataset, prepare the images and store in `/data/datasets/dataset_name/`. | |
| We recommend to symlink the path to the dataets to `/data/dataset/` as follows | |
| ``` | |
| # symlink the Pascal-Person-Part dataset for example | |
| ln -s /path_to_Pascal_Person_Part/* data/datasets/pascal/ | |
| ``` | |
| + The file structure should look like: | |
| ``` | |
| /Graphonomy | |
| /data | |
| /datasets | |
| /pascal | |
| /JPEGImages | |
| /list | |
| /SegmentationPart | |
| /CIHP_4w | |
| /Images | |
| /lists | |
| ... | |
| ``` | |
| + The datasets (CIHP & ATR) are available at [google drive](https://drive.google.com/drive/folders/0BzvH3bSnp3E9ZW9paE9kdkJtM3M?usp=sharing) | |
| and [baidu drive](http://pan.baidu.com/s/1nvqmZBN). | |
| And you also need to download the label with flipped. | |
| Download [cihp_flipped](https://drive.google.com/file/d/1aaJyQH-hlZEAsA7iH-mYeK1zLfQi8E2j/view?usp=sharing), unzip and store in `data/datasets/CIHP_4w/`. | |
| Download [atr_flip](https://drive.google.com/file/d/1iR8Tn69IbDSM7gq_GG-_s11HCnhPkyG3/view?usp=sharing), unzip and store in `data/datasets/ATR/`. | |
| ### Inference | |
| We provide a simply script to get the visualization result on the CIHP dataset using [trained](https://drive.google.com/file/d/1O9YD4kHgs3w2DUcWxtHiEFyWjCBeS_Vc/view?usp=sharing) | |
| models as follows : | |
| ```shell | |
| # Example of inference | |
| python exp/inference/inference.py \ | |
| --loadmodel /path_to_inference_model \ | |
| --img_path ./img/messi.jpg \ | |
| --output_path ./img/ \ | |
| --output_name /output_file_name | |
| ``` | |
| ### Training | |
| #### Transfer learning | |
| 1. Download the Pascal pretrained model(available soon). | |
| 2. Run the `sh train_transfer_cihp.sh`. | |
| 3. The results and models are saved in exp/transfer/run/. | |
| 4. Evaluation and visualization script is eval_cihp.sh. You only need to change the attribute of `--loadmodel` before you run it. | |
| #### Universal training | |
| 1. Download the [pretrained](https://drive.google.com/file/d/18WiffKnxaJo50sCC9zroNyHjcnTxGCbk/view?usp=sharing) model and store in /data/pretrained_model/. | |
| 2. Run the `sh train_universal.sh`. | |
| 3. The results and models are saved in exp/universal/run/. | |
| ### Testing | |
| If you want to evaluate the performance of a pre-trained model on PASCAL-Person-Part or CIHP val/test set, | |
| simply run the script: `sh eval_cihp/pascal.sh`. | |
| Specify the specific model. And we provide the final model that you can download and store it in /data/pretrained_model/. | |
| ### Models | |
| **Pascal-Person-Part trained model** | |
| |Model|Google Cloud|Baidu Yun| | |
| |--------|--------------|-----------| | |
| |Graphonomy(CIHP)| [Download](https://drive.google.com/file/d/1E_V_gVDWfAJFPfe-LLu2RQaYQMdhjv9h/view?usp=sharing)| Available soon| | |
| **CIHP trained model** | |
| |Model|Google Cloud|Baidu Yun| | |
| |--------|--------------|-----------| | |
| |Graphonomy(PASCAL)| [Download](https://drive.google.com/file/d/1eUe18HoH05p0yFUd_sN6GXdTj82aW0m9/view?usp=sharing)| Available soon| | |
| **Universal trained model** | |
| |Model|Google Cloud|Baidu Yun| | |
| |--------|--------------|-----------| | |
| |Universal| [Download](https://drive.google.com/file/d/1sWJ54lCBFnzCNz5RTCGQmkVovkY9x8_D/view?usp=sharing)|Available soon| | |
| ### Todo: | |
| - [ ] release pretrained and trained models | |
| - [ ] update universal eval code&script | |
| # Citation | |
| ``` | |
| @inproceedings{Gong2019Graphonomy, | |
| author = {Ke Gong and Yiming Gao and Xiaodan Liang and Xiaohui Shen and Meng Wang and Liang Lin}, | |
| title = {Graphonomy: Universal Human Parsing via Graph Transfer Learning}, | |
| booktitle = {CVPR}, | |
| year = {2019}, | |
| } | |
| ``` | |
| # Contact | |
| if you have any questions about this repo, please feel free to contact | |
| [gaoym9@mail2.sysu.edu.cn](mailto:gaoym9@mail2.sysu.edu.cn). | |
| ## | |
| ## Related work | |
| + Self-supervised Structure-sensitive Learning [SSL](https://github.com/Engineering-Course/LIP_SSL) | |
| + Joint Body Parsing & Pose Estimation Network [JPPNet](https://github.com/Engineering-Course/LIP_JPPNet) | |
| + Instance-level Human Parsing via Part Grouping Network [PGN](https://github.com/Engineering-Course/CIHP_PGN) | |
| + Graphonomy: Universal Image Parsing via Graph Reasoning and Transfer [paper](https://arxiv.org/abs/2101.10620) [code](https://github.com/Gaoyiminggithub/Graphonomy-Panoptic) | |