xtudbxk / DSRG-tensorflow

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

loss details #4

Closed kevinlee9 closed 6 years ago

kevinlee9 commented 6 years ago

hi @xtudbxk , could you provide some detailed infomation about the loss curve of your result which is 0.564? when I ran the code, the loss of epoch 0 is 1.0 and then it increased to 12, after that it decreased gradually and finally vibrated around 1.3, and MIOU on validation set is only 52.90(use single scale). Could you provide some suggestions? thanks~

xtudbxk commented 6 years ago

Congratulation! My final loss is 1.29 which is similary with yours. And my final result of miou for single scale is 51.5% which is a little weaker than yours. It is 55.6% for my multiscale test. So I don't think there is any problem with your result. And using the multiscale test, you may get a miou compared to the papers. Could you do a multiscale test and put the reslut here? Thanks~

kevinlee9 commented 6 years ago

Hi @xtudbxk, I use your provided multiscale evaluation code, and choose two type of multiscale([0.7, 1.25] and [0.75, 1, 1.25]), both of them decrease the miou(52.67), any suggestions?

Besides that, I wondered how you choose the backgroud and foreground thresholds(0.5, 0.7) for region grow, as they are 0.85 and 0.99 in paper. When I use the settings of paper, the IOU is .49, which means your settings are maybe better.

xtudbxk commented 6 years ago

Sad to hear that, and I'll go to evaluate my trained model, and see what happened. The output will put on latter. And for the different thresholds, I'm confused with this phenomenon,too. When I use the thresholds from the paper, the network just predicts all the image into background. It seems there exists a few differences with the origin DSRG project, but I have no more GPU to find the differences. So I may recheck the code after a few weeks.

xtudbxk commented 6 years ago

For my trained model, multiscale size -- merge all the size to one singel size way -- result 0.7,1.0,1.25 -- sum -- 0.543 0.7,1.0,1.25 -- max -- 0.558 If you need the trained model, I'll put it to the google driver or Baidu netdisk. And for my irregular code, the parameters for scales should only pass [0.7,1.25]. And I didn't put the max merge method in that code, but it is very easy to modify it. And I'll put a newer version of evaluation code latter. In this code,you can use the normal parameters as [0.7,1.0,1.25] and the max merge method. Just be careful of the differences.

xtudbxk commented 6 years ago

oh, and if you use 0.5,0.75,1.0 as the multiscale size with max merge method, the final miou will reach 56.7%.

xtudbxk commented 6 years ago

Did you solve your problem? What can I do to help you ?

kevinlee9 commented 6 years ago

@xtudbxk sorry for later reply, I use 0.5, 0.75 and 1.0 as multiscale size as your mentioned, and use sum(average) merge. The result is 0.567. but it seems sum merge method is common. If we use max merge, what is the hypothesis behind it?

xtudbxk commented 6 years ago

oh, I do see some test code use the max merge method. And I jut think that the max merge method is more naturely. because some object only has a response from a special size, so using the max merge method can easily find it while the sum merge method may depress it. But, to be honest, there is little different between them.