CGL损失在什么时候使用的?
cny1234 opened this issue · 3 comments
cny1234 commented
您好,我看论文中说在最终分割模型的时候使用CGL损失,但代码中分割过程用的是deeplab-v2的代码,没有加入这个损失,所以是在哪步使用了这个损失呢?另外我跑了一下源代码,生成的伪掩模是包含置信区间的边界的,是原始的伪掩模和置信图在经过交叉熵损失后直接融合成了新的伪掩模了吗?
linyq2117 commented
Thanks for your interest in our work!
We do not explicitly adopt confidence-guided loss. Instead, we set segmentation mask to 255 if the max confidence of this pixel less than 0.95 for convenience. The label 255 will be ignored by nn.CrossEntropyLoss
in deeplab-pytorch. This process is realized in eval_cam_with_crf.py
.
cny1234 commented
论文中的框架图显示应该在dCRF是生成伪掩模和置信图,但我跑了源代码只得到伪掩模,并且这个伪掩模是包含了置信图的边缘的,所以是代码中直接将两者融合了吗?
linyq2117 commented
是的,GCL的**就是置信度低的像素不参与loss计算,为了方便后续分割网络的使用,我们在生成pseudo mask时直接将低置信度像素位置的标签设置为255(类似于PASCAL VOC),这些位置恰好集中在物体边缘区域。