nii-yamagishilab/ClassNSeg

labels influence segments results

dong03 opened this issue · 2 comments

y = y.index_select(dim=0, index=labels_data.data.long())

As is shown in #L382, labels participant in segmentation. When I change label from [1,0] to [0,1], the real_seg becomes a meaningful mask and the fake_seg appears to be all black. It is exactly the opposite.

Whether the segmentation able to find the border in fake image?

labels_data = torch.FloatTensor([1,0])

(change labels here

That's an interesting question. I have a theory about this.

The network focuses only on facial region. The activation of the latent feature measures how certain it believe the facial region in this mask was manipulated. When you force the label to the opposite direction, these low activation latents are reversed, resulting in some kind of segmentation mask in the output.

Since in normal cases, the segmentation masks somehow have the shape of the ground-truth, I believe that the segmentation branch is able to find the border.