Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

图像超分辨率重建

超高分辨率成像(Super-resolution imaging,缩写SR),是一种提高影片分辨率的技术。

来源:机器之心
简介

超高分辨率成像(Super-resolution imaging,缩写SR),是一种提高影片分辨率的技术。在一些称为“光学SR”的SR技术中,系统的衍射极限被超越;而在其他所谓的“几何SR”中,数位感光元件的分辨率因而提高。超高分辨率成像技术用于一般图像处理和超高分辨率显微镜。 图像超分辨率是指由一幅低分辨率图像或图像序列恢复出高分辨率图像。图像超分辨率技术分为超分辨率复原和超分辨率重建。目前, 图像超分辨率研究可分为 3个主要范畴: 基于插值、 基于重建和基于学习的方法。SR可以视为是一种图像恢复问题(Image restoration)。得到低分辨率的过程可以视为一种图像退化问题,主要的数学公式可以概括为:

Y^{LR} = HX^{HR}+n

Y 代表的是低分辨率图像(Low Resolution,简称LR),X代表的是高分辨率图像(High Resolution, 简称HR),H代表的是退化函数,常有的退化函数有插值等方法,H也可以简单理解为下采(Down sampling)。 n代表的是额外的噪音。下采倍数可以为任意倍数,但是随着下采的倍数增加,LR所包含的HR信息大量消失,这也会增加算法的复杂性与恢复的高分图像的质量。比较常见的下采倍数为2,4,8,16倍。基于学习的方法是近年来超分辨率算法研究中的热点,它采用大量的高分辨率图像构造学习库产生学习模型,在对低分辨率图像进行恢复的过程中引入由学习模型获得的先验知识,以得到图像的高频细节,获得较好的图像恢复效果。随着深度学习的迅速发展,在SR问题上有了很大的突破。主要的是训练卷积神经网络来寻找低分辨率图像与其对应的高分辨率图像之间的映射关系,从而提取高频信息。基于深度学习的算法可以分为三步骤:1) 特征提取。2)非线性映射。3)图像重建。下图概括了目前基于深度学习的SR方案:

最左边显示的是原图下采了四倍的低分辨率图像,早期深度学习算法是将低分辨率图像先上采到原图尺寸的大小。这一步骤通常采用简单快速的插值算法,例如Bicubic interpolation。 下一步是训练一个端对端的神经网络来重构高频信息。先将LR上采再输入到神经网络这会大大的增加神经网络的运算量与训练时间。后来的神经网络省去的上采的步骤,直接从LR小图恢复出HR大图,这种也是更直观的超分辨率重构方法。

SRCNN (Learning a Deep Convolutional Network for Image Super-Resolution, ECCV2014)是深度学习用在SR应用上的开山之作。它的网络结构十分的简单,如下图所示:

SRCNN 网络由三层卷积层组成,此算法先采用Bicubic插值算法将LR图像放大成目标尺寸大小的图片,接着通过三层卷积神经网络来实现端对端的非线性映射,最后输出为高分辨率图像。在论文中,作者分别将三层卷积层解释为:图像特征提取,非线性特征映射和高分辨率图像重建。相比较于传统方法,SRCNN不仅在PSNR等方法上有了明显提升,在视觉上也有了较大的改观。SRCNN的成功,衍生出了更多基于深度学习的SR算法与研究,典型的方法有FapCNNESPCNVDSRDRCNREDDRRNLapRSNSRDenseNetSRGANEDSR等。

发展历史

图像超分辨率重建技术就是利用一组低质量、低分辨率图像(或运动序列)来产生单幅高质量、高分辨率图像。图像超分辨率重建应用领域及其宽广,在军事,医学,公共安全,计算机视觉等方面都存在着重要的应用前景。在深度学习之前,基于学习的超分辨率算法已经是近年来研究的热点。它采用大量的高分辨率图像构造学习库产生学习模型,在对低分辨率图像进行恢复的过程中引入由学习模型获得的先验知识,以得到图像的高频细节,获得较好的图像恢复效果。今年来深度学习在计算机视觉各个邻域都非常火爆,其中也包括图像超分辨率重建。

2014年,Chao Dong等人首次将深度学习运用在SR应用上,他们采用了三层浅层卷积神经网络来实现SR。 算法主要步骤为1)将LR上采到HR大小尺寸。2)通过神经网络的特征提取,非线性特征映射和重建来得到HR图像。相比较传统方法,次方法在重建的HR上有个大大的改善。

2016年,Wenzhe Shi等人提出了更高效的网络 ESPCN。主要思想是像SRCNN那样的方法,由于需要将低分辨率图像通过上采样插值得到与高分辨率图像相同大小的尺寸,再输入到网络中,这意味着要在较高的分辨率上进行卷积操作,从而增加了计算复杂度。本文提出了直接在LR小图上提取特征,再通过将特征图像每个像素重新排列的方法得到高分辨率图像。这样大大降低了训练时间。通常ESPCN也被称为sub-pixel convolutional layer。

2016年,Jiwon Kim等人提出了VDSR神经网络。这种网络架构在全卷积层的情况下加深了整体网络。作者提到低分辨率图像携带的低频信息与高分辨率图像的低频信息相近,而训练会有很大一部分时间花在这部分上,而我们只需学习学习高分辨率图像和低分辨率图像之间的高频部分残差即可。所以作者借鉴了何恺明在2015年的时候提出的残差网络ResNet来驱使整个网络来学习LR与HR之间的差,并取得了很好的效果。

2017年,Christian Ledig等人提出了SRGAN,作者首次将将生成对抗网络(Generative Adversarial Network, GAN)用在了解决超分辨率问题上。作者提到训练网络时用均方差作为损失函数,恢复出的图像通常会丢失高频的信息,从而减小了视觉上的感受。SRGAN利用感知损失(perceptual loss)和对抗损失(adversarial loss)来提升恢复出的图片的真实感。恢复的图片虽然有较低的PSNR值,但是有着逼真的视觉效果。

主要事件

年份事件相关论文/Reference
2014首次应用在SR上的神经网络  Dong, C., Loy, C. C., He, K., & Tang, X. (2014, September). Learning a deep convolutional network for image super-resolution. In European conference on computer vision (pp. 184-199). Springer, Cham.  
2016更高效的神经网络Shi, W., Caballero, J., Huszár, F., Totz, J., Aitken, A. P., Bishop, R., ... & Wang, Z. (2016). Real-time single image and video super-resolution using an efficient sub-pixel convolutional neural network. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 1874-1883).
2016更深的SR神经网络,并采用了残差学习的方式Kim, J., Kwon Lee, J., & Mu Lee, K. (2016). Accurate image super-resolution using very deep convolutional networks. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 1646-1654).
2017加入感知损失和对抗损失来训练网络,得到逼真的高分辨率图像Ledig, C., Theis, L., Huszár, F., Caballero, J., Cunningham, A., Acosta, A., ... & Shi, W. (2017, July). Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network. In CVPR (Vol. 2, No. 3, p. 4).

发展分析

瓶颈

当上采率比较高的时候,例如16倍,很多算法不能很好的重构出所对应的高清图像。这种情况可能需要寻求更好的退化模型或者更效率的网络模型。现有的 PSNR、MSE 等并不能很好的反映超分辨率效果,需要发展一种客观的评价机制

未来发展方向

未来几年,超分辨率算法很大可能会向着减小计算复杂度的方面发展。同时,目前很多算都做了各种假设,实际应用中这些假设会很难满足,因此需要研究鲁棒的算法满足实际应用的需要。

Contributor: Zhixiang Chi

简介