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=1W∑y=1HEi,j⋅(∣Yi,j−Xi,j∣)WH.\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 ​=WH∑x=1W​∑y=1H​Ei,j​⋅(∣Yi,j​−Xi,j​∣)​.

像素损失

loss pixels =∑x=1W∑y=1H(∣Yi,j−Xi,j∣)WH\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 ​=WH∑x=1W​∑y=1H​(∣Yi,j​−Xi,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中重建突出边缘的挑战。与其他方法相比,我们的方法使用定义明确的边缘作为网络训练的结构指导,以帮助优化边缘重建。实验结果表明,我们的损失函数在数量上和质量上都优于最先进的模型中使用的其他函数。我们的结果可以通过使用地面真实的边缘来进一步改善

代码实现

个人总结

  • 一种新的损失函数——边缘损失函数
  • 一种新的思想超分思想——组合加权损失函数

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

  1. 学习笔记之——基于深度学习的图像超分辨率重建

    最近开展图像超分辨率( Image Super Resolution)方面的研究,做了一些列的调研,并结合本人的理解总结成本博文~(本博文仅用于本人的学习笔记,不做商业用途) 本博文涉及的paper已 ...

  2. 基于深度学习的图像超分辨率重建

    最近开展图像超分辨率( Image Super Resolution)方面的研究,做了一些列的调研,并结合本人的理解总结成本博文~(本博文仅用于本人的学习笔记,不做商业用途) 本博文涉及的paper已 ...

  3. 基于SRGAN实现图像超分辨率重建或复原

    基于SRGAN实现图像超分辨率重建或复原 2018年04月20日 11:50:26 山水之间2018 阅读数 14064 文章标签: SRGAN图像超分辨率重建 更多 分类专栏: 深度学习 图像处理  ...

  4. 图像超分辨率重建之SRCNN

    新版本请访问简书链接:https://www.jianshu.com/p/dfe85a3c2096 图像超分辨率重建:指通过低分辨率图像或图像序列恢复出高分辨率图像.高分辨率图像意味着图像具有更多的细 ...

  5. m基于POCS算法的空域序列图像超分辨率重建matlab仿真

    目录 1.算法仿真效果 2.MATLAB核心程序 3.算法涉及理论知识概要 4.完整MATLAB 1.算法仿真效果 matlab2022a仿真结果如下: 2.MATLAB核心程序 .......... ...

  6. 【数字图像处理3 】(上)图像超分辨率重建(SR)概述

    图像超分辨率重建 一.前言(废话时间) 二.扫盲知识 什么是 超分辨率重建? 兴起原因 三.传统超分辨率重建 1.基于插值的超分辨率重建 2.基于退化模型的超分辨率重建 3.基于学习的超分辨率重建 四 ...

  7. 图像超分辨率重建算法,让模糊图像变清晰(附数据和代码)

    一.  图像超分辨率重建概述 1. 概念 图像分辨率是一组用于评估图像中蕴含细节信息丰富程度的性能参数,包括时间分辨率.空间分辨率及色阶分辨率等,体现了成像系统实际所能反映物体细节信息的能力.相较于低 ...

  8. 基于深度学习的图像超分辨率重建技术的研究

    1 超分辨率重建技术的研究背景与意义 图像分辨率是一组用于评估图像中蕴含细节信息丰富程度的性能参数,包括时间分辨率.空间分辨率及色阶分辨率等,体现了成像系统实际所能反映物体细节信息的能力.相较于低分辨 ...

  9. PANet:基于金字塔注意力网络的图像超分辨率重建(Pytorch实现)

    PANet:基于金字塔注意力网络的图像超分辨率重建 [!] 为了提高代码的可读性,本文模型的具体实现与原文具有一定区别,因此会造成性能上的差异 文章目录 PANet:基于金字塔注意力网络的图像超分辨率 ...

  10. SRGAN 图像超分辨率重建(Keras)

    文章目录 前言 一.SRGAN 1.训练步骤 2.生成器 3.判别器 二.其他准备 1.数据读取 2.VGG19提取特征 4.训练过程代码 5. 预测过程 参考链接 前言 SRGAN 网络是用GAN网 ...

最新文章

  1. lsnrctl status无反应_膀胱癌新型基因疗法完全缓解率高达53.4%;根治性胃癌切除术时广泛腹腔灌洗无获益 | 肿瘤情报...
  2. 线性霍尔传感器SS495、A1308、A1302
  3. 第 1 章 虚拟化 - 013 - 动手实践 Linux VLAN
  4. CentOS7.2基于LNMP搭建Wordpress
  5. 2017 年热门编程语言排行榜,你的语言上榜没?
  6. 计算机硬件基础大纲,计算机硬件技术基础大纲_.doc
  7. 本站源码免费下载-木庄网络博客
  8. 洛谷 深基 第4部分 基础数学与数论(19-21课)
  9. Python yaml处理
  10. css的部分应用示例
  11. 2021年高处作业安装拆除维护证考试题库解析
  12. 数据面最流行的工具包dpdk的前世-现在和未来
  13. 记一次golang cpu 占用100%
  14. nextpolish安装_Polish安装问题
  15. 编译原理实验三 TINY语法分析器
  16. IPV6地址基础知识
  17. NIOS II 内核使用 之 代码保存FLASH(EPCSX芯片)
  18. 生活中的ps!女朋友把菜花烤了一下,结果......
  19. 2020 人工智能金炼奖,容联荣登最强AI企业榜单
  20. 怎么将图片内容转换成文字?这两种方法可以轻松实现

热门文章

  1. python中的怎么打出来_如何在Python中打印上标?
  2. 【嵌入式热敏打印模块(1)】
  3. C语言实现字符串在屏幕上滚动
  4. 对于【Training set】【gallery set 】【probe set】区别-个人总结
  5. keil的debug使用
  6. VSTO开发指南(VB2013版) 第一章 Office对象模型
  7. 不知道怎么把PDF文档转Word?来看看这几个好用的PDF转Word软件
  8. 微信小程序云开发操作全解
  9. OpenWrt之配置无线中继(基于新三mt7621)
  10. 2021电工杯B题建模思路代码完整版