How to run:


  1. Download PASCAL-Part dataset []

  2. Download the multi-class annotations from []

  3. Modify the configurations in /experiments/CSR/ (The initial performance is about 59.45, then the reported performance can be achieved by fine-tuning.)

  4. Modify the dataset path in /lib/datasets

    (There might be different versions of this dataset, we follow the annotations of CVPR17 to make fair comparisons.)

    PASCAL-Part-multi-class Dataset:

For Test

  1. Download the pretrained model and modify the path in /experiments/

  2. RUN /experiments/CSR/

  3. (Additionally) If customize data, you need to generate a filelist following the VOC format and modify the dataset path.

For Training

If training from scratch, simply run. If not, customize the dir in /experiments/CSR

(A training demo code is provided in

  1. (Additionally) download the ImageNet pretrained model:

    model_urls = {

    ‘resnet18’: ‘‘,

    ‘resnet34’: ‘‘,

    ‘resnet50’: ‘‘,

    ‘resnet101’: ‘‘,

    ‘resnet152’: ‘‘,


  2. Prerequisites: generate semantic part boundaries and semantic object labels. (will be provided soon)

  3. RUN /experiments/CSR/ for 100 epochs. (Achieve 59.45 mIoU)

  4. Fine-tune the model using learning rate=0.003 for another 40 epochs. (Achieve 60.70 mIoU)


The code is based on the below project:

Yifan Zhao, Jia Li, Yu Zhang, and Yonghong Tian. Multi-class Part Parsing with Joint Boundary-Semantic Awareness in ICCV 2019.


  title={Confident Semantic Ranking Loss for Part Parsing},
  author={Tan, Xin and Xu, Jiachen and Ye, Zhou and Hao, Jinkun and Ma, Lizhuang},
  booktitle={2021 IEEE International Conference on Multimedia and Expo (ICME)},


View Github