This is a project which just move the DSRG to tensorflow. The DSRG is referring to the approach for weakly-supervised semantic segmentation in the paper "Weakly-Supervised Semantic Segmentation Network with Deep Seeded Region Growing". And here, I just use the tensorflow to implement the approach with the help of the DSRG project.
If you find this code useful in your research, please consider citing them:
@inproceedings{kolesnikov2016seed,
title={Weakly-Supervised Semantic Segmentation Network with Deep Seeded Region Growing},
author={Huang, Zilong and Wang, Xinggang and Wang, Jiasi and Liu, Wenyu and Wang, Jingdong},
booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
pages={7014--7023},
year={2018}
}
for using this code, you have to do something else:
For using the densecrf in python, we turn to the project pydensecrf. And you just using the following code to install it.
pip install pydensecrf
- for pascal data, please referring to its official website and to the augmental SBD data. Just download it and extract it in the data/, then 'cd data' and run convert.py with 'python convert.py'.
- for localization_cues-cal.pickle, please referring to DSRG or BaiduNetdisk(which fetching code is qgig). And download it and extract it in the data/.
- for init.model, you can download it from googledriver or BaiduNetdisk. Just download it and put it in model/.
For more details, you can referring to the correspond code files or leave a message in the issue.
then, you just input the following sentence to train it.
python DSRG.py <gpu_id>
If you scale the input image with factors 0.5, 0.75 and 1.0, then use the max to merge the result. The final result is 0.567 in the validatation set while it is 0.574(without pretrain step) in the paper.
I just release a project to provide the code for evaluation.