计算机视觉工作者们,总是希望能“看清”繁华世界的每个像素点,但是却发现分辨率的极限,是他们绕不过去的坎。今天就来和大家聊一聊分辨率以及超分辨图像重建

参考:https://mp.weixin.qq.com/s/d6uTCK2p-EyM8vAPKAR8Og?

分辨率极限

分辨率极限,无论对于图像重建或是图像后处理算法的研究者,都是一项无法回避的技术指标。

时间分辨率性能决定了视频输出的帧率,即实时效果

空间分辨率性能决定了图像的画面清晰度究竟是720P,1080P,还是4K色阶分辨率性能决定了图像显示色彩的丰满程度与粒度

因此,分辨率是一幅图像、一段视频的核心。

今天就简单说一下空间分辨率。

在实际的应用场景中,受限于图像采集设备成本、视频图像传输带宽,抑或是成像模态本身的技术瓶颈,我们并不是每一次都有条件获得边缘锐化,无块状模糊的大尺寸高清图像。在这种需求背景下,超分辨重建技术应运而生。

应用场景I:图片压缩与传输,即以较低的码率进行图像编码,在传输过程中可极大节省转发服务器的流量带宽,在客户端解码得到相对低清晰度的图片,最后通过超分辨重建技术处理获得高清晰度图片

应用场景II:生物组织成像 左图:光声显微成像图像 右图:光声超分辨显微图像,细微的蜜蜂翅膀纹理清晰可见

——————————————————————————————————————————————————————

传统超分辨重建技术大体上可分为4类【1, 2】,分别是预测型(prediction-based), 边缘型(edge-based), 统计型(statistical)和图像块型(patch-based/example-based)的超分辨重建方法。

目前大家使用最多的是图像块型,我们在图像块型领域选择了4篇基于深度学习的图像块型超分辨重建的经典论文进行关键技术点分析。从论文中我们可以看出研究者们对于超分辨任务的不同的理解与解决问题思路。

在2012年AlexNet以15.4%的历史性超低的分类错误率获得ImageNet大规模视觉识别挑战赛年度冠军,吹响了深度学习在计算机视觉领域爆炸发展的号角之后。超分辨重建技术也开始采用深度学习的思想,以期获得更优的算法表现。

文章1:Image Super-Resolution Using Deep Convolutional Networks

作者: Chao Dong, Chen Change Loy, Kaiming He and Xiaoou Tang

SRCNN:论文:https://wenku.baidu.com/view/1eccc5f4294ac850ad02de80d4d8d15abe230030.html

https://arxiv.org/pdf/1511.04587.pdf

SRCNN是基于深度学习的超分辨重建领域的开山之作,继承了传统机器学习领域稀疏编码的思想,利用三层卷积层分别实现: 1. 图像的图像块抽取与稀疏字典建立;2. 图像高、低分辨率特征之间的非线性映射;3. 高分辨率图像块的重建。

具体地,假设需要处理的低分辨率图片的尺寸为H × W × C, 其中H、W、C分别表示图片的长、宽和通道数;SRCNN第一层卷积核尺寸为C × f1 × f1 × n1,可以理解为在低分辨率图片上滑窗式地提取f1 × f1的图像块区域进行n1种类型的卷积操作。在全图范围内,每一种类型卷积操作都可以输出一个特征向量,最终n1个特征向量构成了低分辨率图片的稀疏表示的字典,字典的维度为H1 × W1 × n1;SRCNN第二层卷积核尺寸为n1 × 1 × 1 × n2,以建立由低分辨率到高分辨率稀疏表示字典之间的非线性映射,输出的高分辨率稀疏字典的维度为H1 × W1 × n2,值得注意的是在这一步中SRCNN并未采用全连接层(fully connected layer)来进行特征图或是稀疏字典之间的映射,而是采用1x1卷积核,从而使得空间上每一个像素点位置的映射都共享参数,即每一个空间位置以相同的方式进行非线性映射; SRCNN第三层卷积核尺寸为n2 × f3 × f3 × C,由高分辨率稀疏字典中每一个像素点位置的n2 × 1向量重建f3 × f3图像块,图像块之间相互重合覆盖,最终实现图片的超分辨率重建。

图3 SRCNN的三层卷积结构【1】

文章2:Real-Time Single Image and Video Super-Resolution Using an Efficient

Sub-Pixel Convolutional Neural Network

作者: Wenzhe Shi, Jose Caballero, Ferenc Huszár, Johannes Totz, Andrew P. Aitken,Rob Bishop, Daniel Rueckert, Zehan Wang

ESPCN:论文:https://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Shi_Real-Time_Single_Image_CVPR_2016_paper.pdf

在SRCNN将CNN引入超分辨重建领域后,研究者们开始考虑如何利用“卷积”来解决更深入的问题。如果对一幅高分辨率图片做高斯平滑或是降采样可以等效为卷积操作,那么由降采样后低分辨率图片恢复高分辨率的过程则相应的等效为反卷积操作(deconvolution)。此时我们的计算任务是学习合适的解卷积核,从低分辨率图片中恢复高分辨率图像。CNN中反卷积层的标准做法如图4所示,对一幅低分辨率图片填充零值(zero padding),即以每一个像素点位置为中心,周围2×2或3×3邻域填充0,再以一定尺寸的卷积核进行卷积操作。

图4 标准反卷积层实现示意图

但是标准反卷积操作的弊端是显而易见的,首先,填充的零值并不包含任何图像相关的有效信息,其次填充后的图片卷积操作的计算复杂度有所增加。在这种情况下,Twitter图片与视频压缩研究组将sub-pixel convolution的概念引入SRCNN中。

图5 Efficient Sub-Pixel Convolutional Neural Network (ESPCN)网络结构【2】

Sub-Pixel核心思想在于对于任意维度为H × W × C的图像,标准反卷积操作输出的特征图维度为rH × rW × C,其中r为超分辨系数即图片尺寸放大的倍数,而sub-pixel的输出特征图维度为H × W × C × r2,即令特征图与输入图片的尺寸保持一致,但增加卷积核的通道数,既使得输入图片中邻域像素点的信息得到有效利用,还避免了填充0引入的计算复杂度增加。

文章3:Perceptual Losses for Real-Time Style-Transfer and Super-Resolution

作者: Justin Johnson, Alexandre Alahi, Li Fei-Fei

相较于其他机器学习任务,如物体检测(object detection)或者实例分割(instance segmentation),超分辨重建技术中学习任务的损失函数的定义通常都相对简单粗暴,由于我们重建的目的是为了使得重建的高分辨率图片与真实高清图片之间的峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)尽可能的大,因此绝大多数的基于深度学习的超分辨重建研究都直接的将损失函数设计为平均均方差(Mean Square Error, MSE),即计算两幅图片所有对应像素位置点之间的均方差,由于MSE Loss要求像素点之间位置一一对应,因此又被称作Per-Pixel Loss。

但随着技术的发展,研究者慢慢发现Per-Pixel Loss的局限性。考虑一个极端的情况,将高清原图向任意方向偏移一个像素,事实上图片本身的分辨率与风格并未发生太大的改变,但Per-Pixel Loss却会因为这一个像素的偏移而出现显著的上升,因此Per-Pixel Loss的约束并不能反应图像高级的特征信息(high-level features)。因此研究图像风格迁移的研究者们相对于Per-Pixel Loss在2016年的CVPR会议上提出了Perceptual Loss的概念。

图6 基于Perceptual Loss的全卷积网络结构【3】

基于Per-Pixel Loss的超分辨重建网络目标在于直接最小化高清原图与超分辨重建图像之间的差异,使得超分辨重建图像逐步逼近原图的清晰效果。但Perceptual Loss最小化的是原图与重建图像的特征图之间的差异,为了提高计算效率,Perceptual Loss中的特征图由固定权重值的卷积神经网络提取,例如在ImageNet数据集上预训练得到的VGG16网络,如图7所示,不同深度的卷积层提取的特征信息不同,反映的图像的纹理也不同。

图7 不同深度的卷积层提取的图片特征示意图【3】

因此研究者们在训练超分辨神经网络时,利用跨间隔的卷积层(strided convolution layer)代替池化层(pooling layer)构建全卷积神经网络(Fully Convolutional Network, FCN)进行超分辨重建,并在卷积层之间添加残差结构(residual block)以在保证网络拟合性能的前提下加深网络深度获得更佳表现。最终利用VGG16网络对原图与重建图像进行特征提取,最小化两者特征图之间的差异使得超分辨重建图像不断逼近原图的分辨率。

文章4: RAISR: Rapid and Accurate Image Super Resolution

作者: Yaniv Romano, John Isidoro, and Peyman Milanfar

前面提到的几种典型的图像块型(也被称作样例型)超分辨技术,都是在高低分辨率图像块一一对应的数据基础上,学习由低分辨率到高分辨率图像块的映射。具体的来说,通常这种映射是一系列的滤波器,针对输入图片不同像素位置点的不同的纹理特征来选择适当的滤波器进行超分辨重建。

基于这种思想,Google于2016年在SRCNN, A+以及ESPCN等超分辨研究的基础上发布了RAISR算法,该算法主打高速的实时性能与极低的计算复杂度,核心思想在于利用配对的高低分辨率图像块训练得到一系列的滤波器,在测试时根据输入图片的局部梯度统计学特性索引选择合适的滤波器完成超分辨重建。因此RAISR算法由两部分组成,第一部分是训练高低分辨率映射(LR/HR mapping)的滤波器,第二部分是建立滤波器索引机制(hashing mechanism)。

图8 RAISR 2倍上采样滤波器【4】

图9 RAISR在2x上采样率时与SRCNN, A+等超分辨算法的技术指标对比

左图为PSNR-runtime指标,右图为SSIM-runtime指标【4】

结语

超分辨重建在医学影像处理、压缩图像增强等方面具有广阔的应用前景,近年来一直是深度学习研究的热门领域。卷积和残差构件的改进、不同种类perceptual loss的进一步分析、对抗生成网络用于超分辨重建的探索等都是值得关注的方向。

参考文献

[1] Dong, Chao, et al. "Image Super-Resolution Using Deep Convolutional Networks." IEEE Transactions on Pattern Analysis & Machine Intelligence 38.2(2016):295-307.

[2] Shi, Wenzhe, et al. "Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network." (2016):1874-1883.

[3] Johnson, Justin, A. Alahi, and F. F. Li. "Perceptual Losses for Real-Time Style Transfer and Super-Resolution." (2016):694-711.

[4] Romano, Yaniv, J. Isidoro, and P. Milanfar. "RAISR: Rapid and Accurate Image Super Resolution." IEEE Transactions on Computational Imaging 3.1(2016):110-125.

[5] Conkey, Donald B., et al. "Super-resolution photoacoustic imaging through a scattering wall." Nature Communications 6(2015):7902.

分辨率极限-时间分辨率+空间分辨率和图像超分辨重建技术相关推荐

  1. 图像超分辨重建领域文献调研(SRCNN SRGAN ESRGAN)

    本文介绍了三篇图像超分辨率重建在深度学习方面的文献 目录 一.SRCNN 二.SRGAN 三.ESRGAN 一.SRCNN 1. 解决问题 在CNN出现之前,传统超分方法是最临近插值.双线性或双三次插 ...

  2. 【图像重建】基于正则化的图像超分辨重建附matlab代码

    1 简介 高分辨率的影像能更详细地表示景物的细节信息,在诸多领域 (如计算机视觉.遥感.医学等 )有着广泛的应用.目前,高分辨率影像主要通过改进高精度的光 学 器 件 及 传 感 器 等 硬 件 设 ...

  3. Principles of fMRI 1课程笔记7--fMRI数据的时间分辨率和空间分辨率

    从图中可以发现,MEG和EEG有着极好的时间分辨率,但空间分辨率很差,因此在MEG和EEG研究中,常常不知道信号到底来自于哪个脑区.而PET成像技术的时间分辨率一般是几分钟,略差于BOLD fMRI, ...

  4. 【项目实战课】基于Pytorch的SRGAN图像超分辨实战

    欢迎大家来到我们的项目实战课,本期内容是<基于Pytorch的SRGAN图像超分辨实战>.所谓项目实战课,就是以简单的原理回顾+详细的项目实战的模式,针对具体的某一个主题,进行代码级的实战 ...

  5. 数字图像处理(4): 遥感影像中 光谱分辨率、空间分辨率、时间分辨率、全色图像、多光谱图像、高光谱图像 的区别

    目录 1 光谱分辨率.空间分辨率.时间分辨率 2 全色图像.多光谱图像.高光谱图像 2.1 全色图像 2.2 多光谱图像 2.3 高光谱图像 参考资料 1 光谱分辨率.空间分辨率.时间分辨率 遥感(R ...

  6. 遥感图像的空间分辨率、光谱分辨率、时间分辨率的含义

    空间分辨率 像素单元代表的地面空间范围大小,类比于比例尺. 时间分辨率 重访周期:重复拍摄某一区域所用的时间间隔. 光谱分辨率 接受目标反射回来的波长中,能分辨的最小波长的间隔,间隔越小,分辨率越高.

  7. 遥感图像的空间分辨率,光谱分辨率等

    模数转换 模拟图像向数字图像的转换就叫做模数转换. 模数转换由采样和量化2步组成,采样是空间位置的离散化,量化是电磁辐射能量的离散化.下面用一幅图像来展示这个过程. 正因为遥感图像也是一种数字图像,所 ...

  8. 空间分辨率、频谱分辨率、辐射计量分辨率、时间分辨率。

    空间分辨率:是由图像平面上图像采样点间的接近程度确定的 . 频谱分辨率:是由传感器获得的光线频率带宽决定的 辐射计量分辨率:对应于可区分的灰阶数量 . 时间分辨率:取决于图像获取的时间采样间隔(FPS ...

  9. 空间分辨率 密度分辨率 时间分辨率

    空间分辨率和密度分辨率的区别就在于以最小空间差异和最小密度差异来判断的标准,两者之间是不同的概念,并且两者不能进行换算,因为在图像处理时,会均匀的进行量化处理. 分辨率可以从显示分辨率与图像分辨率两个 ...

最新文章

  1. 开放式神经网络交换-ONNX(下)
  2. R语言std.error函数计算平均值的标准误差实战
  3. 【rnnoise源码分析】rnn_train中的训练模型
  4. 将选择元素绑定到Angular中的对象
  5. 有哪些你踏入社会才明白的道理
  6. vim 插件cscope 使用
  7. 朝会資料  幕末の歴史の簡単紹介 2010年8月30日
  8. js字符串常用判断方法
  9. 一站式学习Redis 从入门到高可用分布式实践(慕课)第三章 Redis客户端
  10. python爬虫简单实例
  11. Camera(2) camera i2c总线协议介绍
  12. 区块链大咖专访丨摩联科技:走一条少有人走的路
  13. 10个最好的照片分享网站
  14. 游戏开发unity性能优化:DOTS导航帖
  15. 这些大厂笔试题 你都见识(被无情鞭挞)过了吗?—— 哔哩哔哩篇
  16. 等待事件之enq: HW - contention
  17. 为什么要使用Spring,为什么要使用控制反转(IOC)和依赖注入(DI),为什么要使用AOP
  18. 2021年全国大学生数据统计与分析竞赛赛题B—基于机器学习的用户消费行为预测(上)
  19. 均方误差(MSE)根均方误差(RMSE)平均绝对误差(MAE)
  20. 2019南航计算机学院夏令营,2019南航年度人物宣讲丨计算机学院开展线上宣讲活动...

热门文章

  1. 约瑟夫环解法大全(C语言版)
  2. vue项目中scrollTop如何使用
  3. 一个操作失误,阿里云大规模故障,引发大量吐槽
  4. 25-36.产品经理入门到精通(三)
  5. 《沈工智校》技术支持
  6. ajaxSubmit来上传文件
  7. 50万美元的1PB存储机柜是个什么样子
  8. Cufllinks的安装与使用
  9. SpringBoot中如何使用单元测试
  10. 零基础云开发一个投票小程序 | 我的投票列表页