论文——《Loss Functions for Image Restoration With Neural Networks》

论文题目,核心要点记录,代码的核心实现,小结感受。

1. 要点记录

这篇文章介绍了不同的loss function对image restoration 的 影响。

L2范数基本是默认的损失函数。优势:比较直观的就是L2损失函数可微,且凸。而且L2损失函数的网络往往会对峰值性噪比PSNR有针对性的提升。缺点:L2指标与人类感知的图像质量相关性较差,例如其假设噪声与图像的局部区域无关。

loss = tf.reduce_mean(tf.square(labels - outputs)) #label和output是两张shape一样的照片

 

L1范数不少实验中效果更好,我导师给我的建议,高频L1,低频L2。

loss = tf.reduce_mean(tf.abs(labels-outputs))

SSIM(结构相似性,从亮度、对比度、结构上出发,更能符合人类视觉感知)

 

不过文章对ssim的定义与实际有出入呐,不深究了。TensorFlow也是有对应的loss计算啦。ssim计算在0--1之间,越接近1越好。因为网络训练要求loss 越小越好,所以这里用1-ssim。

Mssimloss = tf.reduce_mean(1. - tf.image.ssim_multiscale( outputs, labels, max_val=1.0 ))

MS-SSIM(多尺度的ssim)

tf.image.ssim_multiscale(
    img1,
    img2,
    max_val,
    power_factors=_MSSSIM_WEIGHTS
)
#img1和img2是图像批处理,即最后三个维度是[height, width, channels].
#返回:包含批处理中每个图像的MS-SSIM值的张量,值在[0,1]范围内

 

 

L1 +MS-SSIM

 

 

 2.贴出论文中的部分实验结果

当然是混合的最好啦。

论文还对损失函数的收敛性进行研究,说明L1收敛性比L2更好,如下图所示,在切换损失函数前,L1下降更快,说明L2之前可能陷入局部最小。

3.论文给出的代码地址

https://github.com/NVlabs/PL4NN/blob/master/src/loss.py

caffe框架实现的。

之后看的论文,稍加记录,便于之后的回顾,继续加油!

科研路漫漫,上下而求索呐!

 

  • 3
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值