This is the implementation of the method described in paper: toward practical weakly supervised semantic segmentation via point-level supervision.
- Python3.7+
- Pytorch1.0+
- Numpy, OpenCV
- Pydensecrf
-
Prepare the dataset, e.g., VOC, Cityscapes, and ADE20k. We only use the image and point-level labels as supervision, where the used point labels can be downloaded here.
-
Run the scripts to reproduce the results. Change the dataset pathes if necessary, which are typically determined by
train-image-root
,test-image-root
,train-label-file
, andtest-gt-root
. The results with different datasets can be reproduced by simply running scripts train_xxx.py, e.g.,
python train_voc_all.py --gpus 0,1,2,3
The scripts will automatically conduct evaluation and print logs during running.