googleinterns / wss

A simple consistency training framework for semi-supervised image semantic segmentation
Apache License 2.0
165 stars 24 forks source link

About the results showed in talbe 1 #11

Open revaeb opened 2 years ago

revaeb commented 2 years ago

Hi, sorry to bother you and thx for your sharing. Could you plz tell me how to set the _--trainsplit="${SPLIT}" when I want to reproduce your results shown in table1(the result of semi-supervised setting with 1.4k as labeled data)? Should it be _--train_split="8clean"? Or this split is for the low-data setting? Thanks for your help!

Yuliang-Zou commented 2 years ago

Hi @revaeb, just simply setting --train_split=train should be fine.

revaeb commented 2 years ago

Hi @revaeb, just simply setting --train_split=train should be fine.

Thank you so much~! And I wander have you ever done the experiments on the other semi-supervised data split(1/2,1/4,1/16) on VOC2012 dataset? I mean the augmented set is used as full training set and different amount of data(1/2,1/4,1/16) are used as the labeled data others are used as unlabeled data, then test on the val set?

Yuliang-Zou commented 2 years ago

Nope. I found that the annotation quality in the augmented set (9k) is quite bad. Adding part of the images from the augmented set to the 1.4k training set does not necessarily improve the result. So I think making splits using 1.4k+9k is not that useful and the results from there could be misleading.

revaeb commented 2 years ago

Nope. I found that the annotation quality in the augmented set (9k) is quite bad. Adding part of the images from the augmented set to the 1.4k training set does not necessarily improve the result. So I think making splits using 1.4k+9k is not that useful and the results from there could be misleading.

Thank you for your reply!

revaeb commented 2 years ago

Nope. I found that the annotation quality in the augmented set (9k) is quite bad. Adding part of the images from the augmented set to the 1.4k training set does not necessarily improve the result. So I think making splits using 1.4k+9k is not that useful and the results from there could be misleading.

Sorry to bother you again. I think the results shown in table 2 are all based on ResNet backbone the PseudoSeg methods is included , am I making any mistakes? If I understand it correctly, could you plz offer me the command line to use ResNet as backbone in low-data regime experiments? I was trying to use Xception_65 as backbone(used the command line you have offered), the performance seems really good, but when I tried to change the backbone as resnet, the performance degraded. I think it should be some of the parameters were not correctly set. THX for your help again:)

Yuliang-Zou commented 2 years ago
  1. Yes. Results in Table 2 are based on ResNet-101.
  2. I think you just need to simply replace the backbone and set the initialization checkpoint correctly, then it should be fine. But if you are using a small number of gpus, you may need to adjust the learning rate and freeze batch norm accordingly.