Code repository for Part Grouping Network, ECCV 2018
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
datasets/CIHP init Aug 1, 2018
utils init Aug 1, 2018
.gitignore init Aug 1, 2018
LICENSE add LICENSE Aug 3, 2018 init Aug 1, 2018 init Aug 1, 2018

Part Grouping Network (PGN)

Ke Gong, Xiaodan Liang, Yicheng Li, Yimin Chen, Ming Yang and Liang Lin, "Instance-level Human Parsing via Part Grouping Network", ECCV 2018 (Oral).


PGN is a state-of-art deep learning methord for semantic part segmentation, instance-aware edge detection and instance-level human parsing built on top of Tensorflow.

This distribution provides a publicly available implementation for the key model ingredients reported in our latest paper which is accepted by ECCV 2018.

Crowd Instance-level Human Parsing (CIHP) Dataset

The PGN is trained and evaluated on our CIHP dataset for isntance-level human parsing. Please check it for more model details. The dataset is also available at google drive and baidu drive.

Pre-trained models

We have released our trained models of PGN on CIHP dataset at google drive.


  1. Download the pre-trained model and store in $HOME/checkpoint.
  2. Prepare the images and store in $HOME/datasets.
  3. Run
  4. The results are saved in $HOME/output
  5. Evaluation scripts are in $HOME/evaluation. Copy the groundtruth files (in Instance_ids folder) into $HOME/evaluation/Instance_part_val before you run the script.


  1. Download the pre-trained model and store in $HOME/checkpoint.
  2. Download CIHP dataset or prepare your own data and store in $HOME/datasets.
  3. For CIHP dataset, you need to generate the edge labels and left-right flipping labels (optional). We have provided a script for reference.
  4. Run to train PGN.
  5. Use to generate the results with the trained models.
  6. The instance tool is used for instance partition process from semantic part segmentation maps and instance-aware edge maps, which is written in MATLAB.