EPS
Official PyTorch implementation of "Railroad is not a Train: Saliency as Pseudo-pixel Supervision for Weakly Supervised Semantic Segmentation", CVPR2021
Install / Use
/learn @halbielee/EPSREADME
Railroad is not a Train: Saliency as Pseudo-pxiel Supervision for Weakly Supervised Semantic Segmentation (CVPR 2021)
Seungho Lee<sup>1,* </sup>, Minhyun Lee<sup>1,*</sup>, Jongwuk Lee<sup>2</sup>, Hyunjung Shim<sup>1</sup>
<sub>* indicates an equal contribution</sub>
<sup>1</sup> <sub>School of Integrated Technology, Yonsei University</sub>
<sup>2</sup> <sub>Department of Computer Science of Engineering, Sungkyunkwan University</sub>
Introduction
Existing studies in weakly-supervised semantic segmentation (WSSS)
using image-level weak supervision have several limitations:
sparse object coverage, inaccurate object boundaries,
and co-occurring pixels from non-target objects.
To overcome these challenges, we propose a novel framework,
namely Explicit Pseudo-pixel Supervision (EPS),
which learns from pixel-level feedback by combining two weak supervisions;
the image-level label provides the object identity via the localization map
and the saliency map from the off-the-shelf saliency detection model
offers rich boundaries. We devise a joint training strategy to fully
utilize the complementary relationship between both information.
Our method can obtain accurate object boundaries and discard co-occurring pixels,
thereby significantly improving the quality of pseudo-masks.
Updates
12 Jul, 2021: Initial upload
19 Aug, 2021: Minor update on information about dCRF and the pre-trained model of the segmentation networks
- Please see the issuses: dCRF and pre-trained model
28 Aug, 2021: Major updates about MS-COCO 2014 dataset and minor updates (cleanup)
15 Apr, 2022: Minor update on information about the method setting up 'cls_labels.npy' the for ms-coco 17 dataset
- Please see the issue: coco17
22 Feb, 2023: Minor update on the download link for coco dataset (Masks, Saliency maps)
Installation
- Python 3.6
- Pytorch >= 1.0.0
- Torchvision >= 0.2.2
- MXNet
- Pillow
- opencv-python (opencv for Python)
Execution
Dataset & pretrained model
-
PASCAL VOC 2012
- Images
- Saliency maps using PFAN
-
MS-COCO 2014
-
Pretrained models
-
MS-COCO 2017
Classification network
-
Execute the bash file for training, inference and evaluation.
# Please see these files for the detail of execution. # PASCAL VOC 2012 # Baseline bash script/vo12_cls.sh # EPS bash script/voc12_eps.sh # MS-COCO 2014 # Baseline bash script/coco_cls.sh # EPS bash script/coco_eps.sh -
We provide checkpoints, training logs, and performances for each method and each dataset.
Please see the details from the script files.
| Dataset | METHOD | Train(mIoU) | Checkpoint | Training log | | --------------- | ------ | ----------- | ------------------------------------------------------------ | -------------------------------------- | | PASCAL VOC 2012 | Base | 47.05 | Download | voc12_cls.log | | PASCAL VOC 2012 | EPS | 69.22 | Download | voc12_eps.log | | MS-COCO 2014 | Base | 31.23 | Download | coco_cls.log | | MS-COCO 2014 | EPS | 37.15 | Download | coco_eps.log |
-
dCRF hyper-parameters
- We did not use dCRF for our pseudo-masks, but only used for the comparision in the paper.
- We chose the hyper-parameters for dCRF used in ResNet101-based DeepLabV2 among other candidates(OAA, and PSA)
- Please see the official deeplab website for information
CRF parameters: bi_w = 4, bi_xy_std = 67, bi_rgb_std = 3, pos_w = 3, pos_xy_std = 1.
Segmentation network
- We utilize DeepLab-V2 for the segmentation network.
- Please see deeplab-pytorch for the implementation in PyTorch.
- We used the pretrained model for VGG16 based network from DeepLab official and for ResNet101-based network from OAA official.
Results

Acknowledgement
This code is highly borrowed from PSA. Thanks to Jiwoon, Ahn.
Related Skills
proje
Interactive vocabulary learning platform with smart flashcards and spaced repetition for effective language acquisition.
best-practices-researcher
The most comprehensive Claude Code skills registry | Web Search: https://skills-registry-web.vercel.app
flutter-tutor
Flutter Learning Tutor Guide You are a friendly computer science tutor specializing in Flutter development. Your role is to guide the student through learning Flutter step by step, not to provide d
groundhog
398Groundhog's primary purpose is to teach people how Cursor and all these other coding agents work under the hood. If you understand how these coding assistants work from first principles, then you can drive these tools harder (or perhaps make your own!).
