点击上方“AIWalker”,选择加“星标”或“置顶”
   重磅干货,第一时间送达

paper: https://csjcai.github.io/papers/RealSR.pdf
code: https://github.com/csjcai/RealSR

现有大多SISR方法是在模拟数据集(LR通过对HR执行简单的双三次下采样得到)上进行训练与评估。然而,真实世界的LR图像往往更复杂,因此在模拟数据集上训练的模型应用到真实数据是性能会出现下降。作者构建了一个真实超分数据集(LR-HR通过调整数码相机的焦距得到,然后采用图像配准算法进行不同分辨率图像的对齐)。考虑到该数据中的降质核的非均匀性,作者提出一个机遇拉普拉斯金字塔的核预测网络(LP-KPN),它可以有效的学习逐像素核以重建HR图像。作者通过实验证实:相比模拟数据,基于RealSR的SISR具有更好的视觉效果。作者同时还提到:尽管该数据集仅采用了两个相机采集(Canon 5D3, Nikon D810),但其训练模型在其他相机(Sony a7II)和手机采集的数据上的泛化性能仍然很好。

Abstract

有鉴于已有模拟数据训练的SISR模型在真实场景的性能受限问题,作者认为构建一个真实超分数据集很有必要性。作者采用一种灵活而易于复现的方法构建了一个真实的RealSR数据集,对于同一场景采用同一相机以不同的焦距采集数据。

然而,除了视场角变化外,调整焦距还会导致其他挑战:比如关心漂移,尺度因子变化、曝光时长以及光学畸变等。为解决这类问题,作者还提出一种有效的图像配准算法以逐渐对齐图像对,方便用于SISR模型的端到端训练。

该RealSR数据集包含两个数码相机(Canon 5D3, Nikon D810)拍摄不同的室内与室外场景,为SISR的实际应用提供一个好的训练与测试基准。相比已有的模拟数据集,RealSR数据的降质模型更为复杂(降质核实空间可变的,它随景深变化而变化)。

在此基础上,作者还训练了一个基于核预测网络的SISR模型。核预测网络已被广泛应用与图像降噪、图像去模糊以及视频插帧领域。KPN的内存占用为随着核尺寸增大而指数提升,在KPN基础上,作者引入图像处理中拉普拉斯金字塔方案得到本文的LP-KPN模型,它可以用小尺寸核学习更丰富的信息。下图给出了所提数据集以及方法的效果示意图。


该文的贡献主要包含以下两个方面:

  • 构建了不同缩放尺度的RealSR数据集,首个具有更通用目的的真实SISR训练与测试基准;

  • 提出了LP-KPN模型,并在RealSR数据及上验证了其他有效性与高效性。

Method

RealSR


上图给出了透镜成像原理,按照公式有以下:

数据采集过程中,固定与u,考虑到,此时有:因此,之间近似存在线性关系,通过提升焦距,相机可以采集更大更清晰的图像,理论上可以通过控制合理的焦距选择不同的尺度。在实际数据采集过程中,作者采用了4个不同的焦距:。最大焦距用于采集HR图像,其他焦距用于采集不同尺度因子的LR图像。作者还提到,采用28而非24焦距是因为焦距时的镜头畸变难以通过后处理校正。为确保数据的泛化性,该数据集同时包含室内与室外场景,数据包含丰富的纹理(超分的主要目的是复原/增强图像的细节)。

图像对齐

数据的采集是比较容易的,但因镜头焦距缩放会导致许多难以控制的畸变,这会导致像素不对齐问题。不同焦距采集的图像往往存在不同程度的镜头畸变与不同的曝光,而且还会存在光心漂移线性。由于上述因素,现有的图像配准方法难以直接得到不同角度图像的像素级的对齐,为此,作者设计一种渐进对齐的图像对齐方法,如下图所示。


在图像对齐过程中,裁剪中心区域(畸变比较轻,容易校正)校正其对应的LR图像。由于不同焦距图像的亮度、尺度差异,基于SURF、SIFT的图像对齐方法难以得到像素级对齐。为得到精确的图像对配准,作者设计了一种同时考虑亮度调整的像素级对齐方法。假设分别表示对应的HR图像与LR图像,它通过优化如下目标函数得到:

其中,表示仿射变换矩阵,C表示裁剪操作(确保LR与HR具有相同尺寸),为亮度调整参数。

LP-KPN


上图给出了作者所提出的网络架构。假设分别表示LR与HR图像,KPN以未输入,输出核张量,它在通道方向的向量可以变换为的卷积核,将其作用于LR图像的每个像素的局部近邻以生成HR输出。该过程可以描述为:

其中,表示LR图像在处的局部近邻,表示内积运算。上式表明:输出图像的每个像素是其在输入图像对应位置的近邻像素的加权线性组合。为获得更好的性能,大尺寸核有助于利用丰富的近邻信息,另一方面,核张量会随着核尺寸增大而指数增加,进而导致高计算量与内存需求。

为得到Effective and Efficient的KPN,作者提出一种基于拉普拉斯金字塔的KPN架构。如同已有诸多SR方法,该方法仅处理YCbCr空间的Y通道。拉普拉斯金字塔将图像分解为了不同层级的子图像(不同的分辨率大小),这些分解的子图像可以精确的重建原始图像。基于该特性,LR图像的Y通道被分解为三个尺度图像金字塔,该LP-KPN以三尺度LR图像作为输入,输出对应的三个核张量,该可学习核张量按照前述公式作用于三个输入图像以复原HR图像在不同层级的拉普拉斯分解子图像。最后,采用拉普拉斯金字塔重建得到HR图像。受益于拉普拉斯金字塔,这里的核尺寸等价于原始分辨率的感受野,相比于直接学习核,这种方法可以极大的降低计算复杂度。

LP-KPN的骨干部分把汗17个残差模块,为提升有效性,作者采用shuffle操作进行图像下采样与上采样操作,首先以因子$1/4$进行下采样,将其送入到骨干网络中。需要注意的是:除了最后的基层,该网络的大部分卷积模块被三个尺度共享,这可以极大的减少模型的参数量。为得到不同尺度的核张量,在网络的末端添加不同因子的上采样单元以生成合适的核张量。该LP-KPN共计包含46的卷积层(远少于其他SISR方法),相关层参数配置如下所示。


Experiments


上表给出了作者所构建的RealSR数据集的信息,随机从每个相机每个尺度数据对中选择15对作为测试集,其他作为训练集。评估指标选用PSNR/SSIM,评估YCBCr中的Y通道。在训练过程中,输入图像块为192x192,采用了随机旋转、随机镜像进行数据增广,BatchSize=16,优化器选择Adam,学习率为0.0001,共计训练1000K迭代,训练框架为Caffe+Matlab。

为验证数据集的重要性,作者以DIV2K采用不同的降质方式(双三次、多种降质)外加RealSR构成了三个数据集,同时采用了VDSR、SRResNet、RCAN三个有代表性模块,在三个尺度层面进行超分,共计得到27个模型。其性能对比与视觉效果见下表与下图。从中可以看出:相比其他两种降质模型,采用相同超分模型下在RealSR数据集上训练所得模型具有更好的性能。



为验证所提网络架构LP-KPN的有效性,作者将其与其他8个超分网络进行了对比。其性能对比如下所示。从中可以看出:(1) 直接像素生成方法中RCAN下过最佳;(2) LP-KPN取得了最优的效果,甚至优于核尺寸为19的KPN网络,同时具有更少的计算复杂度更快的推理速度。更多的实验结果与数据分析详见原文,这里不再过多赘述。



Conclusion

模拟数据训练的超分模型难以泛化到真实图像上是一个存在已久的问题。作者在这个方向上进行了探索与尝试,构建了真实退化的超分数据集,采用Canon与Nikon相机采集了595对超分数据对,同时设计一个有效的图像配准算法以确保图相对之间的像素级对齐。

作者还基于拉普拉斯金字塔提出一个LP-KPN网络架构,作者首先验证了RealSR数据集的的重要性,同时在RealSR数据及上验证了其所提架构的SOTA性能。

截止目前,作者所构建的RealSR数据集已经拓展到了V3版本,感兴趣者可以去作者的开源代码网络下载。

参考代码

作者所提供的代码为caffe框架的prototxt以及相应caffemodel,都9102年了,现在还在用caffe的人真的很少了,故而本人参考其caffe代码,将其用pytorch进行了架构重建,并半天时间将作者的CAFFE模型转为了Pytorch,两者结果完全一致。经亲测,利用作者提供的模型超分的效果并不好(也就是并未达到作者论文中的效果,经多次核对,两者结果却是一致,这个可能与作者开源模型并非最佳有关吧)。


欢迎关注AIWalker公众号,在这里您将得到独家深度学习经验分享与个人思考。想支持Happy继续写下去就点个赞关注一下吧!

matlab图像降噪_图像超分:RealSR相关推荐

  1. 图像降噪算法——图像噪声模型

    图像降噪算法--图像噪声模型 图像降噪算法--图像噪声模型 1. 图像噪声建模 2. C++代码实现 3. 结论 图像降噪算法--图像噪声模型 1. 图像噪声建模 首先,我们要区分图像传感器噪声和图像 ...

  2. 图像降噪算法——图像降噪算法总结

    图像降噪算法--图像降噪算法总结 图像降噪算法--图像降噪算法总结 图像降噪算法--图像降噪算法总结 前面这段时间我看了几篇和图像降噪相关的Review,给我的感觉就是SLAM这一研究领域像是一片汪洋 ...

  3. 可复现的图像降噪算法总结——超赞整理

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:AI算法与图像处理 图像降噪,是最简单也是最基础的图像处 ...

  4. 小波变换图像融合_图像视频降噪的现在与未来——从经典方法到深度学习

    噪声是图像与视频中的一种常见失真类型,也是腾讯多媒体实验室以及腾讯云提供的多种失真处理能力之一.本分享总结了噪声产生的几个原因,从理论上分析降噪的基本原理,并介绍了使用传统方法和深度学习进行单帧降噪. ...

  5. java 图像傅里叶变换_图像频域滤波与傅里叶变换

    1.频率滤波 图像的空间域滤波:用各种模板直接与图像进行卷积运算,实现对图像的处理,这种方法直接对图像空间操作,操作简单.图像处理不仅可以在空间域进行还可以在频率域进行,把空间域的图像开窗卷积形式,变 ...

  6. VTK修炼之道25:图像基本操作_图像子块提取(特征区域提取)

    1.提取感兴趣区域 感兴趣区域(Volum of Interest,VOI)是指图像内部的一个子区域.在VTK中vtkExtractVOI类实现由用户指定的区域范围提取图像的子图像.该Filter的输 ...

  7. VTK修炼之道19:图像基本操作_图像像素值的访问与修改

    1.直接访问图像像素(索引法) #include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRenderingOpenGL);#include <vtkS ...

  8. python图像清晰度_图像的模糊检测方法

    关键字:blur detection Function:图像的清晰度检测英文表达为 image blue detection; 以此为关键字可以找到很多有关清晰度检测的demo和算法. 图像的清晰度检 ...

  9. VTK修炼之道20:图像基本操作_图像类型转换

    1.vtkImageCast 图像数据类型转换在数字图像处理中会被频繁地用到.一些常用到的图像算子(例如梯度算子)在计算时出于精度的考虑,会将结果存储为float或者double类型.但是在图像显示时 ...

最新文章

  1. 【转载】一行代码加载网络图片到ImageView——Android Picasso
  2. RHEL5.5 安装 oracle 11g
  3. chrome前端开发工具_精通Chrome开发人员工具:更高级别的前端开发技术
  4. Java程序员该如何学习才能成长为一名优秀的架构师
  5. 用python实现pdf转word_Python实现PDF转Word
  6. android xml绘制图标,android – 如何为图标制作XML文件
  7. 【课程·研】软件工程 | 结对编程:建造金字塔(1157)
  8. Navicat 12 for MySQL激活方法(注册机)
  9. 全球与中国网络漫画市场行业市场规模分析及发展规划研究报告2022~2028年
  10. Dubbo系列之Dubbo原理简介
  11. RabbitMQ(消息队列)浅记
  12. 油猴脚本、常用拓展的教程
  13. URULE库文件的使用
  14. Windows Server 2012 R2 RTM版安装
  15. 初识网络营销 | 什么是网络营销?
  16. 4、福尔摩斯到某古堡探险
  17. 阶乘和||C语言(高精度)
  18. windows7系统登陆密码破解技巧
  19. 全力以赴提升粮食产能建设责任担当
  20. 西门子伺服分拣机西门子S7-1200 PLC程序

热门文章

  1. geetest php,Laravel 集成 Geetest验证码的方法php实例
  2. python网络爬虫与信息提取视频_Python网络爬虫与信息提取入门5
  3. python列表内元素求和_在Python中将列表的每个元素与另一个列表的每个元素相乘/相加/相除的有效方法...
  4. 保护导师,从我做起;爱护博导,人人有责
  5. 放弃Venn-Upset-花瓣图,拥抱二分网络
  6. 生信分析过程中这些常见文件的格式以及查看方式你都知道吗?
  7. 高通量数据中批次效应的鉴定和处理(一)
  8. macOS 新功能:【控制中心】让你的 Mac 系统更方便!
  9. python计算选手最后得分并取出前三名_MySQL中查询获取每个班级成绩前三名的学生信息...
  10. 泰勒级数 快速傅里叶变换(Fast Fourier Transfor FFT)