Closed kimjisoo12 closed 2 years ago
(1)请注意,可靠与不可靠的概念只存在于 unlabeled data 中,对于 labeled data,即此处的 label_l
,都是需要加以利用的。因此,不管是对于 low_mask
还是 high_mask
,label_l
中不是 255 的部分都视为是合法的监督信息
(2)只需要认为整个 label 都是可靠的即可,255 是因为 VOC/Cityscapes 这些数据集标注时候使用的 ignore_index
,对于 VOC 来说,255 通常出现在物体的边界,而对于 cityscapes,并没有这一显著规律
(3)对于 labeled data,CutMix/CutOut 等手段当然是可以使用的,我们没有使用是 follow 了前人的工作。在 unlabeled data 中,强数据扩增是十分重要的
您好,首先感谢您的工作给很多人带来了启发,我在阅读您的关于contrast loss的代码部分时有一些困惑想向您请教,由于刚接触半监督不久水平有限,如果有一些说错的地方希望您可以指正。
对于voc数据,我看到您这里是首先根据 label_u 经过 model_teacher 得到 pred_u_large_teacher,进而得到entropy。由于voc数据集标签部分您将边界部分赋予了255的值,随后在对 entropy 进行排序的时候剔除掉了255区域的 entropy 值,并根据 alpha_t 和 100 - alpha_t分别得到了 low_thresh 和 high_thresh。根据这两个值得到了只含有0,1的 low_entropy_mask 和 high_entropy_mask 相当于对无标签数据的label划分成了可靠和不可靠的区域,mask_all则是将label和unlabel拼接起来。 对于label划分可靠和不可靠区域我有一些困惑,如果说中心区域是可靠的,边界是不可靠的。 (1)对于
将255的区域都置为1,其余部分置为0。对 low_mask_all 而言是对的,那对 high_mask_all 这样处理岂不是中心部分也都是1,那中心部分不就成了不可靠的吗? (2)如果我想处理的数据集各标签的数据集标签周围没有边界255的这种情况我应该是如何处理,那是否说明我的整个label都是可靠的,还是说我应该将这些数据的标签周围也做成被255包裹的这样子。 (3)在数据增强部分我看到您是将1464张有标签重复取样到9118,从而达到一个1:1,我看您的数据增强策略只用在了unlabel上,对于label数据您是认为1464张足够吗,所以不需要对label进行augmentation从而防止过拟合的出现? 很抱歉打扰您,希望您可以帮助解决一下我的困惑,万分感谢您!