celestite0 / ResNet38-Semantic-Segmentation

Semantic Segmentation Network based on ResNet38

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Semantic Segmentation Network Based On ResNet38

Introduction

Strictly implement the semantic segmentation network based on ResNet38 of 2018 CVPR PSA(Learning Pixel-level Semantic Affinity with Image-level Supervision for Weakly Supervised Semantic Segmentation). We hope that this code will be of some help to those studying weakly supervised semantic segmentation.

Thanks to the work of jiwoon-ahn, the code of this repository borrow heavly from his AffinityNet repository.

Requirements

  • Python 3.6
  • pytorch 0.4.1, torchvision 0.2.1
  • CUDA 9.0
  • 1 x GPUs (11GB)

Usage

Installation

  • Download the repository.
git clone https://github.com/peihan-miao/ResNet38-Semantic-Segmentation.git
  • Install python dependencies.
pip install -r requirements.txt
ln -s $your_dataset_path/VOCdevkit/VOC2012 VOC2012

Training and Testing

  1. Train SegNet.
python train_seg.py --weights $pretrained_model --image_dir $train_image --mask_dir $train_mask
  1. Test SegNet.
python infer_seg.py --weights $pretrained_model --image_dir $test_image_dir --output_crf $output_crf_dir
  1. Evaluation.
python evaluation.py --list $VOC2012/ImageSets/Segmentation/[val.txt | train.txt] --predict_dir $your_predict_dir --gt_dir VOC2012/SegmentationClass --comment $your_comments --type npy --curve True

Results and Trained Models

We use the pseudo mask generated by AffinityNet to train the semantic segmentation network and compare it with 2018 CVPR PSA.

Model Val (mIoU)
ResNet-38 61.7 PSA
ResNet-38 62.4 [Weights]

Reference

[1] J. Ahn and S. Kwak. Learning pixel-level semantic affinity with image-level supervision for weakly supervised semantic segmentation. In Proc. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018.

About

Semantic Segmentation Network based on ResNet38

License:MIT License


Languages

Language:Python 100.0%