I'm using hrnet2w20 to train the segfix network on my own dataset (label_list=[0, 1, 2, 3]) for refining the prediction results. Since one of my foreground classes is cracks, which are relatively small, I set both max-distance and min-distance to 1 to allow it to find the edge region better.
However, the training process was a bit incomprehensible to me.When training to the 3rd epoch, its Result for dir (GT) ACC reached 63%, which is the highest. Subsequent to the training process, although the loss keeps getting smaller, the ACC of all of them doesn't get higher as a result.
What is the cause of the above situation?
2, I read in your reply to the other question that the segfix network works when the ACC is over 60%. I trained to get the 3rd epoch (ACC of 63%) to generate offset_map on the test set, and then applied it to the results predicted by other segmentation models. The result is that pixel points that are not [0,1,2,3] appear at the edges of the object. Is this caused by mode='bilinear' in the following code?
x = F.grid_sample(x.unsqueeze(1).float(), grid, padding_mode='border', mode='bilinear').squeeze().numpy()
I changed mode='bilinear' to mode='nearst' again,although there will be no non-[0,1,2,3] pixel points,but the refined prediction results obtained by both methods, the mIoU is not improved but decreased by about 3%. The cracks segmented by semantic segmentation are internally intact. However, after segfix, there are so many pixels inside the crack that are treated as background.
Why does this cause the mIoU to drop?And why the cracks got so bad?
@hsfzxjy @PkuRainBow
I'm using hrnet2w20 to train the segfix network on my own dataset (label_list=[0, 1, 2, 3]) for refining the prediction results. Since one of my foreground classes is cracks, which are relatively small, I set both max-distance and min-distance to 1 to allow it to find the edge region better. However, the training process was a bit incomprehensible to me.When training to the 3rd epoch, its Result for dir (GT) ACC reached 63%, which is the highest. Subsequent to the training process, although the loss keeps getting smaller, the ACC of all of them doesn't get higher as a result.
x = F.grid_sample(x.unsqueeze(1).float(), grid, padding_mode='border', mode='bilinear').squeeze().numpy()
I changed mode='bilinear' to mode='nearst' again,although there will be no non-[0,1,2,3] pixel points,but the refined prediction results obtained by both methods, the mIoU is not improved but decreased by about 3%. The cracks segmented by semantic segmentation are internally intact. However, after segfix, there are so many pixels inside the crack that are treated as background.