RGB-D显著性突出物体(学习)
Posted my-love-is-python
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RGB-D显著性突出物体(学习)相关的知识,希望对你有一定的参考价值。
论文阅读:Adaptive Fusion for RGB-D Salient Object Detection
这篇代码的创新点在于使用了SW层,使用SW_logits * img_logits + (1 - SW_logits) * (1 - depth_logits) 来获得最终的预测结果
另外一个关键点是使用了3种loss损失值
第一种损失值,即经过归一化的标签g_t 与 输出的结果logits的sigmoid的损失值
第二种损失值, 即将im_logits进行sigmoid转换为0, 1之间,然后使用sigmoid_im * label + (1 - sigmoid_im) * (1 - label) # 获得标签值与图片值的交叉熵损失值
将计算好的交叉熵损失函数与SW_map 计算-log的交叉熵损失函数,个人认为这个loss存在问题
第三种损失值,即edge_loss即边界的损失值
将预测的结果进行sigmoid操作,转换为(0, 1)
使用tf.reshape(tf.constant([-1, 0, 1], tf.float32), [1, 3, 1, 1]) 构造x方向的边界卷积
使用tf.reshape(x_weight, [3, 1, 1, 1]) # 构造y方向的边界卷积
使用tf.nn.conv2d(g_t, x_weight, [1, 1, 1, 1], ‘SAME‘) 进行标签的x轴方向和y轴方向上的边界卷积
使用tf.nn.conv2d(sigmoid_p, x_weight, [1, 1, 1, 1], ‘SAME‘) 进行预测结果的x轴方向和y轴方向上的边界卷积
最后使用tf.losses.mean_squre_error(xgrad_gt, xgrad_sal) + tf.losses.mean_squre_error(ygrad_gt, ygrad_sal) 获得最终的mse损失函数
论文中的网络结构图
以上是关于RGB-D显著性突出物体(学习)的主要内容,如果未能解决你的问题,请参考以下文章