【图像超分辨率重建】——“SISR 中的Edge-Based 损失函数”论文精读

2018-Edge-Based Loss Function For Single Image Super Resolution

基本信息

作者: George Seif, Dimitrios Androutsos
期刊: IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING (ICASSP)
引用: 10
摘要: 近年来,卷积神经网络在单幅图像的超分辨率任务上表现出最先进的性能。尽管这些提出的网络显示了高质量的重建结果,但使用均方误差(MSE)损失函数进行训练往往会产生过于平滑和模糊的图像。MSE没有考虑图像结构,而这些结构对于实现人类感知的高图像质量往往是很重要的。我们提出了一个新的基于边缘的损失函数来改善图像的超分辨率重构。我们的损失函数直接优化了重建图像的边缘像素,从而驱动训练有素的网络产生高质量的突出边缘,从而使图像更加清晰。大量的定量和定性结果表明,我们提出的损失函数明显优于MSE。

1.简介

  • MSE的缺陷:在基于深度学习的超分辨中,大部分都使用MSE损失函数,虽然基于MSE的损失函数已经显示出前景,但它们确实存在一些缺点。已经证明MSE与人类观察者判断的感知质量没有很好的相关性,这是因为MSE没有考虑到图像中嵌入的任何突出特征。突出的特征,如结构和纹理,已被证明与人类感知的图像质量高度相关,并且对计算机视觉任务非常有用。如果没有这些结构,网络就没有上下文的指导来重建图像,而只能依靠原始像素值。
  • 最近提出的新的损失函数:基于特征的损失函数,MAE+MSE+MS-SSIM组合损失,边缘图像与SR图像的MSE作损失等。
  • 本文提出的损失函数:在上述提出的损失上进行改进,提出边缘损失,使图像边缘得到了更大的重视。

2.边缘损失函数

2.1.方法

  • 像素损失成分促进了重建图像的整体准确性,即像素值与原始图像的值直接相似。这确保了图像的颜色、光照或整体对比度没有重大变化。
  • 结构损失部分指导网络产生突出的图像结构,这些结构对人类观察者来说被认为是重要的感知。特别是,我们建议使用边缘作为我们结构损失的基础。

边缘损失

 loss  edges  = ∑ x = 1 W ∑ y = 1 H E i , j ⋅ ( ∣ Y i , j − X i , j ∣ ) W H . \text { loss }_{\text {edges }}=\frac{\sum_{x=1}^W \sum_{y=1}^H E_{i, j} \cdot\left(\left|Y_{i, j}-X_{i, j}\right|\right)}{W H} .  loss edges =WHx=1Wy=1HEi,j(Yi,jXi,j).

像素损失

 loss  pixels  = ∑ x = 1 W ∑ y = 1 H ( ∣ Y i , j − X i , j ∣ ) W H \text { loss }_{\text {pixels }}=\frac{\sum_{x=1}^W \sum_{y=1}^H\left(\left|Y_{i, j}-X_{i, j}\right|\right)}{W H}  loss pixels =WHx=1Wy=1H(Yi,jXi,j)

总损失

loss ⁡ total  = α ⋅ loss ⁡ pixels  + ( 1 − α ) ⋅ loss ⁡ edges  \operatorname{loss}_{\text {total }}=\alpha \cdot \operatorname{loss}_{\text {pixels }}+(1-\alpha) \cdot \operatorname{loss}_{\text {edges }} losstotal =αlosspixels +(1α)lossedges 

边缘损失为计算MAE(L1)前使用Canny边缘检测结果E进行乘积,像素损失为MAE损失,最终以0.3:0.7的比例综合为总损失
(注意:Matalb使用Canny算法输出是0/1的矩阵,opencv输出0/255矩阵)

2.2.实施细节

以VDSR为基础,所有训练设置与其相同,使用Kears(Tensorflow)实现,使用Y通道计算PSNR和SSIM。

3.实验结果

  • 我们的损失函数与VDSR的性能超过了用MSE训练的原始VDSR。此外,用我们的基于边缘的损失函数训练VDSR,使它的性能超过了其他通常用他们所选择的损失函数表现更好的架构,如用MSE的DRCN[8]和用Charbonnier的LapSRN。
  • 对于有许多边缘的图像,我们的边缘损失比MSE取得了更大的改进。特别是,我们的损失在X2尺度上显示出最大的改进,因为输入图像,一个X2二立方升尺度的LR图像,有许多突出的边缘,已经接近于原始的HR边缘。对于更大的尺度,如X4,许多原始的HR边缘要么被严重扭曲,要么从图像中完全消失,从而使边缘重建更具挑战性。
    在这里插入图片描述

4.结论

我们提出了一个基于边缘的损失函数来解决在SISR中重建突出边缘的挑战。与其他方法相比,我们的方法使用定义明确的边缘作为网络训练的结构指导,以帮助优化边缘重建。实验结果表明,我们的损失函数在数量上和质量上都优于最先进的模型中使用的其他函数。我们的结果可以通过使用地面真实的边缘来进一步改善

代码实现

个人总结

  • 一种新的损失函数——边缘损失函数
  • 一种新的思想超分思想——组合加权损失函数
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
在Matlab,可以使用双三次插值方法来提高图像的分辨率。首先,选择一个高分辨率的参考图像作为基准。将参考图像读取并转换为双精度格式,然后显示出来。\[1\] 接下来,使用双三次插值方法对低分辨率图像进行放大,使其与参考图像的大小相同。可以使用imresize函数来实现这一步骤。指定放大后图像的行数、列数和通道数与参考图像相同,然后将低分辨率图像作为输入。将生成的高分辨率图像显示出来。\[2\] 超分辨率重建是从低分辨率图像创建高分辨率图像的过程。在本例,我们考虑的是单图像超分辨率(single image super-resolutionSISR)。SISR的目标是从一张低分辨率图像恢复出一张高分辨率图像。然而,SISR具有一定的难度,因为高频图像内容通常无法从低分辨率图像恢复。如果没有高频信息,高分辨率图像的质量就会受到限制。此外,SISR是一个所谓的病态问题,因为低分辨率图像可以产生多种可能的高分辨率图像。\[3\] 总结起来,在Matlab进行图像超分辨率可以使用双三次插值方法来提高图像的分辨率,并且需要注意SISR的难度和病态问题。 #### 引用[.reference_title] - *1* *2* *3* [MATLAB环境下基于深度学习VDSR的单图像超分辨率重建](https://blog.csdn.net/weixin_39402231/article/details/127202060)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值