xtudbxk / DSRG-tensorflow

a tensorflow version for DSRG (Weakly-Supervised Semantic Segmentation Network with Deep Seeded Region Growing)
75 stars 20 forks source link

About the miou #9

Closed jsdd25 closed 5 years ago

jsdd25 commented 5 years ago

Hello, for the init.model vgg16_deeplab_aspp.npy, is it converted from this link http://liangchiehchen.com/projects/DeepLabv2_vgg.html? I noticed that the miou of deeplab v2 can reach above 0.6 in the paper of deeplab v2 in the PASCAL VOC 2012. However, after trained using the DSRG model, the miou decrease to about 0.57. Why did the miou decrease using the DSRG model? Is there something wrong with my understandings? Thank you very much!

xtudbxk commented 5 years ago

We converted the pretrained model(not the trained model) of deeplab to init.model. This pretrained model is only trained for the classification task instead of segmentation task. That's to say, Deeplab and DSRG use the same pretrained model, and then are fine tuned for segmentation task. So it's very exciting that this weakly supervised semantic segmentation approach(DSRG) can reach the comparable result with the fully supervised semantic segmentation approach(deeplab).

jsdd25 commented 5 years ago

@xtudbxk Thank you very much! If I use the trained model of deeplab v2 to retrain using the DSRG model, can the final miou exceed the miou of deep lab v2?

xtudbxk commented 5 years ago

It's hard to say. But this is forbidden from my point. Because of DSRG is a weakly-supervised semantic segmentation approach, which prohibits we from introducing the information of pixel-level tags into it. However, Deeplab is trained from the dataset which contains those pixel-level tags.

xtudbxk commented 5 years ago

Oh, if you want to use this DSRG approach to imporve the result of Deeplab. I have to say this is a surprising idea. But there are a lot differences between the weakly-supervised and fully-supervised segmentation. You can have a try.

jsdd25 commented 5 years ago

@xtudbxk Thank you very much! I have another question. I just want to segment humans and backgrounds, and I don't want to segment other objects. Can I use CAM or DRFI methods to locate only human seeds as foreground, and locate all others as background seeds?

xtudbxk commented 5 years ago

Of course you can. To be simpler, you can convert the existing to the seeds you need.

jsdd25 commented 5 years ago

Thank you very much! Do you mean that I can convert the existing to the seeds which only locate human seeds? However, I want to use my own dataset, I guess I have to retrain the seeds for each image with labels again. Is my understanding correct?

jsdd25 commented 5 years ago

I now want to train on my own dataset to generate only human seeds, but I only have a small number of pictures, probably only more than 1000. So will the generating seeds using the CAM method be inaccurate? Thank you very much!