Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/minar09/pgn_tf

Part Grouping Network (PGN) implementation in TensorFlow, for custom parsing dataset
https://github.com/minar09/pgn_tf

cihp custom-dataset human-parsing human-segmentation inference parsing pgn segmentation tensorflow tensorflow-gpu testing tf

Last synced: 2 days ago
JSON representation

Part Grouping Network (PGN) implementation in TensorFlow, for custom parsing dataset

Awesome Lists containing this project

README

        

## Disclaimer
This is a slightly modified version of original [CIHP-PGN](https://github.com/Engineering-Course/CIHP_PGN) github repository, for testing with custom parsing datasets with visualization. Please refer to the original repository for details.

## 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).

### Introduction

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](http://www.tensorflow.org).

This distribution provides a publicly available implementation for the key model ingredients reported in our latest [paper](http://openaccess.thecvf.com/content_ECCV_2018/papers/Ke_Gong_Instance-level_Human_Parsing_ECCV_2018_paper.pdf) which is accepted by ECCV 2018.

### Crowd Instance-level Human Parsing (CIHP) Dataset

The PGN is trained and evaluated on our [CIHP dataset](http://www.sysu-hcp.net/lip) for isntance-level human parsing. Please check it for more model details. The dataset is also available at [google drive](https://drive.google.com/drive/folders/0BzvH3bSnp3E9ZW9paE9kdkJtM3M?usp=sharing) and [baidu drive](http://pan.baidu.com/s/1nvqmZBN).

### Pre-trained models

We have released our trained models of PGN on CIHP dataset at [google drive](https://drive.google.com/open?id=1Mqpse5Gen4V4403wFEpv3w3JAsWw2uhk).

## Installation
Run `pip install -r requirements.txt` with python 3.6 and pip installed.

### Inference
1. Download the pre-trained model and store in $HOME/checkpoint.
2. Prepare the images and store in $HOME/datasets.
3. Run test_pgn.py.
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.

### Training
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 train_pgn.py to train PGN.
5. Use test_pgn.py 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.

## Related work
+ Self-supervised Structure-sensitive Learning [SSL](https://github.com/Engineering-Course/LIP_SSL), CVPR2017
+ Joint Body Parsing & Pose Estimation Network [JPPNet](https://github.com/Engineering-Course/LIP_JPPNet), T-PAMI2018
+ Graphonomy: Universal Human Parsing via Graph Transfer Learning [Graphonomy](https://github.com/Gaoyiminggithub/Graphonomy), CVPR2019