该文章针对现行sisr网络的不断加深导致的收敛过慢问题,提出了像素级的自训练模型。
网络框架的基本思路为,采用任意SISR网络,将低分辨率图像LR输入到超分网络中生成SR图像,利用生成的SR图像与HR图像进行逐块的ssim值比较生成一张SSIM图片,后利用一个高斯核将ssim图片转换成一个权重矩阵并分别与SR与HR进行逐元素相乘,根据ssim计算得出的结果,在原有像素值的基础上使像素值差异较大的位置的像素差异进一步增大,从而可以使损失更好的注意到像素值差异较大的位置并加快梯度下降速度

下面来详细分析如何生成ssim图与权重矩阵,首先SSIM图是由SR图片与HR图片逐块比较生成的,具体为使用一个圆高斯对称矩阵来生成均值与方差

此处的圆高斯对称矩阵取自03年ssim提出的论文采用sima=1.5,window_size=11来计算ssim所需要的均值和方差,首先介绍下圆高斯对称矩阵,如图gauss算出的值为0-10这11个数距离中心点5的距离的的关系值(类似于插值法距离中心约近关系越密切值越接近,越远关系越疏远值偏离越大)

由上图可知以中间点0.2660为分界线上下对称,即距中间点距离相同的点的值一样,接下来要利用该一维向量创建圆高斯对称矩阵。

如上图所示.mm()函数取自torch.mm()为乘法运算,此处使用1D_window进行自身相乘构造矩阵,.t(),取自torch.t()为transpose的简化函数,只能输入两个维度并对这两个维度进行转换,因为进行gaussian函数后1d_window为一维向量,要使其生成矩阵必须添加维数因此通过unsqueeze在1维度添加了一个维度,此时为shape为(11,1)

后要生成圆高斯对称矩阵就要再利用1d_window生成一个(1,11)的对称矩阵,便用.t()函数对1d_window进行转置并用mm函数进行相乘,生成圆高斯对称矩阵,由于本文目的为生成一个类似于卷积的操作来计算图像块与块之间的ssim因此在此通过添加维度将高斯对称矩阵添加到四维便于后文作为卷积核的参数输入,生成的圆高斯对称矩阵如下

由上图可知这个11×11的矩阵在每一行和每一列都关于中间值对称,从而构造了一个值与距离核心位置有关对称矩阵,后引入了variable,这个函数的主要功能为构造网络,现行网络能够梯度下降的原因在于在每个conv或者pool中都设置好了variable使其知道能否进行梯度下降,在此我们不需要进行梯度下降更改圆高斯对称矩阵的值因此此处graph默认为false,并将2d_window扩展为与输入图片channel一致即为3,此时expand函数就是通过将上述矩阵复制了三次从而将第一个维度改变为3
此处引入F.CONV2D与torch.nn.conv2d不同,前者为一个函数后者为一个类,后者是由前者构造出的。F.CONV2D的参数为input、weight、bias、stride(二维行一维列一维)、padding、dilation、group(分组),其中input中的shape四维0,1,2,3分别对应minibatch,inchannels,ih,iw,weight为设置卷积核参数也为四维shape的0,1,2,3分别对应outchannels,inchannels/group,h,w,本文设置weight时的group=3所以而inputchannel也为3所以此时第二个维度设置为1,因分三组进行卷积此时卷积核维度为3,1,11,11,图像维度为1,3,h,w因此将卷积核分为1,1,11,11
图像分为,1,1,w,h,进行卷积即每个卷积核对一层特征图进行卷积(作为卷积核由expand产生内部矩阵数值一样),并利用卷积出的等大小特征图作为均值图,方差图以及协方差图,计算ssim,此时ssim为特征图,在pytorch的内置函数中一般是将得到的ssim特征图进行全局池化后取平均得到数值,在此本文为了实现像素级的注意力,选择保留ssim图。

第二阶段为生成权重矩阵阶段,提出了另一个高斯函数

该函数的特点在于最大值为γ,且在ms=μ时取到最大值,本文将γ设为2,而由于ssim取值范围在【-1,1】,所以当ssim为-1时使ma达到最大以更好的突出该像素块,使该像素块得到学习。sigama是一个人为设定的现行函数线性函数

其中α为1β为0,具体代码如下

至此就可以很好的让网络注意到未能得到很好学习的部分(ssim值低)从而加快学习速度。
此网络还有一个问题在于,是否需要将权值矩阵乘到HR图片上,从表面上看只将权值矩阵乘到SR上可以使网络更好的注意到未能达到良好ssim效果的部分,但这样操作极大可能会因为梯度过大导致梯度下降一步跨越过大,而造成梯度死亡。
此网络的实验部分如图

由图知添加pspl后可以更快收敛并且可以提升一定的效果。

PIXEL-LEVEL SELF-PACED LEARNING FOR SUPER-RESOLUTION相关推荐

  1. Google Pixel 超分辨率--Super Resolution Zoom

    Google Pixel 超分辨率–Super Resolution Zoom Google 的Super Res Zoom技术,主要用于在zoom时增强画面细节以及提升在夜景下的效果. 文章的主要贡 ...

  2. 论文翻译:2019_Speech Super Resolution Generative Adversarial Network

    博客作者:凌逆战 论文地址:基于GAN的音频超分辨率 博客地址:https://www.cnblogs.com/LXP-Never/p/10874993.html 论文作者:Sefik Emre Es ...

  3. 论文翻译:Speech Super Resolution Generative Adversarial Network

    博客作者:凌逆战 论文地址:https://ieeexplore.ieee.org/document/8682215 博客地址:https://www.cnblogs.com/LXP-Never/p/ ...

  4. Wavelet-SRNet: A Wavelet-based CNN for Multi-scale Face Super Resolution

    Wavelet-SRNet: A Wavelet-based CNN for Multi-scale Face Super Resolution 2017 ICCV 1.引言 2.网络结构 3.损失函 ...

  5. 漫谈深度学习在Super Resolution(超分辨率)领域上的应用

    1.前言 清晨,师兄推荐给我一篇文章,关于利用DeepLearning思想进行图像超分辨恢复的.超分辨这个话题几年之前还是比较火爆的,无论是BiCube.SP.A*都给出了令人振奋的结果.但是细节恢复 ...

  6. 论文阅读笔记之——《FishNet: A Versatile Backbone for Image, Region, and Pixel Level Prediction》

    本文是对欧阳老师的paper的阅读笔记 先给出论文的地址http://papers.nips.cc/paper/7356-fishnet-a-versatile-backbone-for-image- ...

  7. CV之SR:超分辨率(Super resolution)的简介、使用方法、案例应用之详细攻略

    CV之SR:超分辨率(Super resolution)的简介.使用方法.案例应用之详细攻略 目录 超分辨率(Super resolution)的简介 超分辨率(Super resolution)的使 ...

  8. Chapter7-7_Deep Learning for Coreference Resolution

    文章目录 1 什么是coreference resolution 2 框架 2.1 Mention Detection 2.2 Mention Pair Detection 2.3 End-to-En ...

  9. 【Super Resolution】超分辨率——SRCNN

    SRCNN 01 闲聊--图像的超分辨率 02 SRCNN--超分和DL的结合 02-1 双三次插值 02-2 SRCNN的网络结构 02-3 Training 训练阶段 03 EXPERIMENTS ...

  10. Unfolding the Alternating Optimization for Blind Super Resolution

    Unfolding the Alternating Optimization for Blind Super Resolution 论文信息 Paper: [NeurIPS2020] Unfoldin ...

最新文章

  1. springboot设置运行内存_docker run容器 设置 jvm 运行springboot 程序
  2. python删除字符串中重复字符_从Python中删除字符串标点符号的最佳方法
  3. 实现IButtonControl接口时, PerformClick()方法的代码怎么写,请高手指导!
  4. 144显示器只有60_你知道显示器60Hz和144Hz的刷新率差别有多大吗?你没有用过吗?...
  5. 小程序 | 获取用户头像信息接口改进:getUserInfo的使用
  6. hue 用oozie调度shell(sqoop)脚本问题
  7. Django 【第十四篇】信号
  8. debug常规的基本使用
  9. Java飞机大战项目
  10. 三峡大学学生选课系统_三峡大学选课系统操作流程
  11. 提升前端线上问题发现率的方法
  12. TC软件详细设计文档(手机群控)
  13. 小程序 | 微信小程序布局左对齐自动换行
  14. 理解什么是symbolic link in Python
  15. 科学研究设计六:有效性威胁
  16. IPV6 长度为46位
  17. revit二开之关联族参数的实现
  18. cnn(卷积神经网络)比较系统的讲解
  19. 机械键盘恢复出厂fn,机械键盘构成-求助,机械键盘fn键的解决方法
  20. 点击input时,不显示边框!

热门文章

  1. 我用java写了个壁纸软件
  2. 推荐两款超高质量的壁纸软件
  3. 加权平均np.average()
  4. MySQL中的BETWEEN...AND的用法
  5. 基于RK3399PRO的蜂鸣器驱动移植文档
  6. 洛谷【P1195】口袋的天空
  7. 如果把编程语言比作是一件武器……
  8. c语言编译功率谱密度函数,科学网—6、功率谱密度函数估计 - 柏世平的博文
  9. 百度地图经纬度距离计算
  10. 论如何熟悉HTML与css的方法-孰能生巧第一步:美食网编写(详细代码)