【code|loss edge-aware smoothness loss】
def edge_aware_loss_v2(rgb, disp,skymask=None):"""Computes the smoothness loss for a disparity imageThe color image is used for edge-aware smoothness"""mean_disp = disp.mean(1, True).mean(2, True)#行&列的均值disp = disp / (mean_disp + 1e-7)#归一化处理grad_disp_x = torch.abs(disp[:, :, :-1, :] - disp[:, :, 1:, :])#x轴梯度grad_disp_y = torch.abs(disp[:, :-1, :, :] - disp[:, 1:, :, :]))#y轴梯度grad_rgb_x = torch.mean(torch.abs(rgb[:, :, :-1, :] - rgb[:, :, 1:, :]), 3, keepdim=True)grad_rgb_y = torch.mean(torch.abs(rgb[:, :-1, :, :] - rgb[:, 1:, :, :]), 3, keepdim=True)grad_disp_x *= torch.exp(-grad_rgb_x)grad_disp_y *= torch.exp(-grad_rgb_y)# mask=torch.ones_like(disp)if skymask is not None:grad_disp_x+=skymask[:,:,:-1,:]*grad_disp_xgrad_disp_y+=skymask[:,:-1,:,:]*grad_disp_yreturn grad_disp_x.mean() + grad_disp_y.mean()
参考链接:边缘感知平滑损失
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
