Closed woqiaow closed 2 years ago
Hello, @woqiaow.
The overall pipeline of WSSS consists of two stages. [1] The pseudo-mask is first generated from an image classifier, and then [2] it is used as supervision to train a segmentation network.
The process in the scripts/generate_pseudo_mask.sh corresponds to [1].
To complete the experiment process, you should train a segmentation network with the generated pseudo-masks.
For the segmentation network, please check DeepLab-V2 and AdvCAM.
Hello! @gaviotas. Thank you for your patience! Your answer helped me a lot! Thanks very much! In addition, the images generated in the experiment are black. Do I need additional code to get color images?
The generated pseudo-mask seems black because it has the category id (e.g., [0, 20]) as the pixel value among the pixel values in the range [0, 255].
To change the color of the pseudo-mask, you need to change the color palette.
You can check the code of colorization in step/make_sem_seg_labels.py of AdvCAM.
Hi,@gaviotas Thanks for the answer.
After reading your paper, I want to ask whether the better the pseudo-mask generated is, the better the network segmentation effect will be?
And have you ever checked a network segmentation experiment with the generated pseudo-mask? Thanks again for your help.
Although increasing the performance of pseudo-masks does not necessarily increase the accuracy of segmentation maps, it is somewhat positively correlated as shown in Table 3 and Table 4 of our paper.
We also train a segmentation network with the generated pseudo-masks. Table 4 shows the accuracy of segmentation results from the final segmentation network.
Please check it and let me know if you have any further questions :)
OK, I understand. One last question, I want to use pseudo_mask to supervise the segmentation network. Do I use pseudo_mask to replace the SegmentationClass in the voc2012 dataset?
Yes, it is. To train a segmentation network with the generated pseudo-masks, the SegmentationClass (or SegmentationClassAug) path should be replaced with the path of the generated pseudo-masks.
Thanks.
Thanks!
Yes, it is. To train a segmentation network with the generated pseudo-masks, the SegmentationClass (or SegmentationClassAug) path should be replaced with the path of the generated pseudo-masks.
Thanks.
Hello, I try to replace the SegmentationClass with the generated pseudo-masks, but I found that the SegmentationClass has 2913 pictures, but the generated pseudo-masks only has 1464 pictures. Is there anything else to do?
How to deal with it so as to complete the segmentation network training with the generated pseudo-masks?
First of all, thank you for your code. I ran the code according to the steps in the file generate_pseudo_mask.sh. Is it the complete experiment process to run all the comments in the file generate_pseudo_mask.sh?