深度学习在图像超分辨率重建中的应用

超分辨率技术(Super-Resolution)是指从观测到的低分辨率图像重建出相应的高分辨率图像,在监控设备、卫星图像和医学影像等领域都有重要的应用价值。SR可分为两类:从多张低分辨率图像重建出高分辨率图像和从单张低分辨率图像重建出高分辨率图像。基于深度学习的SR,主要是基于单张低分辨率的重建方法,即Single Image Super-Resolution (SISR)。

SISR是一个逆问题,对于一个低分辨率图像,可能存在许多不同的高分辨率图像与之对应,因此通常在求解高分辨率图像时会加一个先验信息进行规范化约束。在传统的方法中,这个先验信息可以通过若干成对出现的低-高分辨率图像的实例中学到。而基于深度学习的SR通过神经网络直接学习分辨率图像到高分辨率图像的端到端的映射函数。

本文介绍几个较新的基于深度学习的SR方法,包括SRCNN,DRCN, ESPCN,VESPCN和SRGAN等。

1.SRCNN

Super-Resolution Convolutional Neural Network (SRCNN, PAMI 2016, http://mmlab.ie.cuhk.edu.hk/projects/SRCNN.html)是较早地提出的做SR的卷积神经网络。该网络结构十分简单,仅仅用了三个卷积层。

该方法对于一个低分辨率图像,先使用双三次(bicubic)插值将其放大到目标大小,再通过三层卷积网络做非线性映射,得到的结果作为高分辨率图像输出。作者将三层卷积的结构解释成与传统SR方法对应的三个步骤:图像块的提取和特征表示,特征非线性映射和最终的重建。

三个卷积层使用的卷积核的大小分为为9x9, 1x1和5x5,前两个的输出特征个数分别为64和32. 该文章分别用Timofte数据集(包含91幅图像)和ImageNet大数据集进行训练。相比于双三次插值和传统的稀疏编码方法,SRCNN得到的高分辨率图像更加清晰,下图是一个放大倍数为3的例子。

对SR的质量进行定量评价常用的两个指标是PSNR(Peak Signal-to-Noise Ratio)和SSIM(Structure Similarity Index)。这两个值越高代表重建结果的像素值和金标准越接近,下图表明,在不同的放大倍数下,SRCNN都取得比传统方法好的效果。

2.DRCN

SRCNN的层数较少,同时感受野也较小(13x13)。DRCN (Deeply-Recursive Convolutional Network for Image Super-Resolution, CVPR 2016, http://cv.snu.ac.kr/research/DRCN/)提出使用更多的卷积层增加网络感受野(41x41),同时为了避免过多网络参数,该文章提出使用递归神经网络(RNN)。网络的基本结构如下:

与SRCNN类似,该网络分为三个模块,第一个是Embedding network,相当于特征提取,第二个是Inference network, 相当于特征的非线性变换,第三个是Reconstruction network,即从特征图像得到最后的重建结果。其中的Inference network是一个递归网络,即数据循环地通过该层多次。将这个循环进行展开,就等效于使用同一组参数的多个串联的卷积层,如下图所示:

其中的到是D个共享参数的卷积层。DRCN将每一层的卷积结果都通过同一个Reconstruction Net得到一个重建结果,从而共得到D个重建结果,再把它们加权平均得到最终的输出。另外,受到ResNet的启发,DRCN通过skip connection将输入图像与的输出相加后再作为Reconstruction Net的输入,相当于使Inference Net去学习高分辨率图像与低分辨率图像的差,即恢复图像的高频部分。

实验部分,DRCN也使用了包含91张图像的Timofte数据集进行训练。得到的效果比SRCNN有了较大提高。

3.ESPCN

在SRCNN和DRCN中,低分辨率图像都是先通过上采样插值得到与高分辨率图像同样的大小,再作为网络输入,意味着卷积操作在较高的分辨率上进行,相比于在低分辨率的图像上计算卷积,会降低效率。 ESPCN(Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network,CVPR 2016, https://github.com/Tetrachrome/subpixel)提出一种在低分辨率图像上直接计算卷积得到高分辨率图像的高效率方法。

ESPCN的核心概念是亚像素卷积层(sub-pixel convolutional layer)。如上图所示,网络的输入是原始低分辨率图像,通过两个卷积层以后,得到的特征图像大小与输入图像一样,但是特征通道为(是图像的目标放大倍数)。将每个像素的个通道重新排列成一个r x r的区域,对应于高分辨率图像中的一个r x r大小的子块,从而大小为 x H x W的特征图像被重新排列成1 x rH x rW大小的高分辨率图像。这个变换虽然被称作sub-pixel convolution, 但实际上并没有卷积操作。

通过使用sub-pixel convolution, 图像从低分辨率到高分辨率放大的过程,插值函数被隐含地包含在前面的卷积层中,可以自动学习到。只在最后一层对图像大小做变换,前面的卷积运算由于在低分辨率图像上进行,因此效率会较高。

重建效果上,用PSNR指标看来ESPCN比SRCNN要好一些。对于1080HD的视频图像,做放大四倍的高分辨率重建,SRCNN需要0.434s而ESPCN只需要0.029s。

4. VESPCN

在视频图像的SR问题中,相邻几帧具有很强的关联性,上述几种方法都只在单幅图像上进行处理,而VESPCN( Real-Time Video Super-Resolution with Spatio-Temporal Networks and Motion Compensation, arxiv 2016)提出使用视频中的时间序列图像进行高分辨率重建,并且能达到实时处理的效率要求。其方法示意图如下,主要包括三个方面:

一是纠正相邻帧的位移偏差,即先通过Motion estimation估计出位移,然后利用位移参数对相邻帧进行空间变换,将二者对齐。二是把对齐后的相邻若干帧叠放在一起,当做一个三维数据,在低分辨率的三维数据上使用三维卷积,得到的结果大小为。三是利用ESPCN的思想将该卷积结果重新排列得到大小为的高分辨率图像。

Motion estimation这个过程可以通过传统的光流算法来计算,DeepMind 提出了一个Spatial Transformer Networks, 通过CNN来估计空间变换参数。VESPCN使用了这个方法,并且使用多尺度的Motion estimation:先在比输入图像低的分辨率上得到一个初始变换,再在与输入图像相同的分辨率上得到更精确的结果,如下图所示:

由于SR重建和相邻帧之间的位移估计都通过神经网路来实现,它们可以融合在一起进行端到端的联合训练。为此,VESPCN使用的损失函数如下:

第一项是衡量重建结果和金标准之间的差异,第二项是衡量相邻输入帧在空间对齐后的差异,第三项是平滑化空间位移场。下图展示了使用Motion Compensation 后,相邻帧之间对得很整齐,它们的差值图像几乎为0.

从下图可以看出,使用了Motion Compensation,重建出的高分辨率视频图像更加清晰。

5.SRGAN

SRGAN (Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network,https://arxiv.org/abs/1609.04802, 21 Nov, 2016)将生成式对抗网络(GAN)用于SR问题。其出发点是传统的方法一般处理的是较小的放大倍数,当图像的放大倍数在4以上时,很容易使得到的结果显得过于平滑,而缺少一些细节上的真实感。因此SRGAN使用GAN来生成图像中的细节。

传统的方法使用的代价函数一般是最小均方差(MSE),即

该代价函数使重建结果有较高的信噪比,但是缺少了高频信息,出现过度平滑的纹理。SRGAN认为,应当使重建的高分辨率图像与真实的高分辨率图像无论是低层次的像素值上,还是高层次的抽象特征上,和整体概念和风格上,都应当接近。整体概念和风格如何来评估呢?可以使用一个判别器,判断一副高分辨率图像是由算法生成的还是真实的。如果一个判别器无法区分出来,那么由算法生成的图像就达到了以假乱真的效果。

因此,该文章将代价函数改进为

第一部分是基于内容的代价函数,第二部分是基于对抗学习的代价函数。基于内容的代价函数除了上述像素空间的最小均方差以外,又包含了一个基于特征空间的最小均方差,该特征是利用VGG网络提取的图像高层次特征:

对抗学习的代价函数是基于判别器输出的概率:

其中是一个图像属于真实的高分辨率图像的概率。是重建的高分辨率图像。SRGAN使用的生成式网络和判别式网络分别如下:

该方法的实验结果如下

从定量评价结果上来看,PSNR和SSIM这两个指标评价的是重建结果和金标准在像素值空间的差异。SRGAN得到的评价值不是最高。但是对于MOS(mean opinion score)的评价显示,SRGAN生成的高分辨率图像看起来更真实。

原文发布时间为: 2017-04-26

本文作者:travelsea

本文来自合作伙伴极市网,了解相关信息可以关注极市网。

时间: 2024-12-29 04:30:32

深度学习在图像超分辨率重建中的应用的相关文章

深度学习在图像取证领域中的进展

雷锋网按:本文作者杨朋朋,就读于北京交通大学,信号与信息处理专业博士生二年级,导师倪蓉蓉教授.研究兴趣包括多媒体取证.隐写分析,深度学习.所在团队为教育部创新团队和科技部重点领域创新团队,负责人为赵耀教授. 图像取证 在当今飞速发展的信息时代,数字图像已经渗透到社会生活的每一个角落,数字图像的广泛使用也促进了数字图像编辑软件的开发与应用,例如:Adobe Photoshop.CorelDRAW.美图秀秀等等.利用这些编辑工具,用户可以随意对图像进行修改,从而达到更好的视觉效果.然而,在方便了用户

实践:基于深度学习的卫星图像超分辨率处理技术(一)

本文由北邮@爱可可-爱生活 老师推荐,阿里云组织翻译. 以下为译文: Yann Lecun曾将无监督学习比作蛋糕,将监督学习比作蛋糕上的糖霜,声称我们仅懂得如何做糖霜却不知道怎样才能做出蛋糕.在本篇文章中,我们提供了一份训练无监督学习算法的"蛋糕"配方,用来增强卫星图像. 本研究起源于新兴商业航天行业中日益增多的低成本卫星图像.在这个新兴的行业中,传感质量.回访速率以及成本间存在着一种权衡.我们研究了高级图像处理的特性,以减少这种权衡,并在相同成本情况下改善低质量传感器返回的图像. 图

tensorflow实现基于深度学习的图像补全

目录■ 简介 ■ 第一步:将图像理解为一个概率分布的样本      你是怎样补全缺失信息的呢?      但是怎样着手统计呢?这些都是图像啊.      那么我们怎样补全图像?  ■ 第二步:快速生成假图像      在未知概率分布情况下,学习生成新样本      [ML-Heavy] 生成对抗网络(Generative Adversarial Net, GAN) 的架构      使用G(z)生成伪图像      [ML-Heavy] 训练DCGAN      现有的GAN和DCGAN实现  

大规模深度学习优化技术在PAI平台中的应用及实践

1. 前言 自2012年Deep Learning的代表模型AlexNet在ImageNet大赛中力压亚军,以超过10个百分点的绝对优势夺得头筹之后,依托于建模技术的进步.硬件计算能力的提升.优化技术的进步以及海量数据的累积,Deep Learning在语音.图像以及文本等多个领域不断推进,相较于传统作法取得了显著的效果提升.   工业界和学术界也先后推出了用于Deep Learning建模用途的开源工具和框架,包括Caffe.Theano.Torch.MXNet.TensorFlow.Chai

用不到1000美元攒一台深度学习用的超快的电脑:继续深度学习和便宜硬件的探奇!

是的,你可以在一个39美元的树莓派板子上运行TensorFlow,你也可以在用一个装配了GPU的亚马逊EC2的节点上跑TensorFlow,价格是每小时1美元.是的,这些选择可能比你自己攒一台机器要更现实一点.但是如果你和我是一样的人,你绝对想自己攒一台奇快无比的深度学习的电脑. 好吧,一千块钱对于一个DIY项目来说是太多了.但是一旦你把机器搞定,你就能构建数百个深度学习的应用啦,从拥有增强大脑的机器人到艺术创作(至少这是我为花这些钱找的理由).最差的理由也是,这个机器至少能轻松打败那个2800

深度学习:人工智能在自动驾驶中的核心应用

从始于60年代的<星际迷航>系列,再到<钢铁侠>系列.<I, robot>以及黑客帝国等等,人工智能在多数公众面前的呈现多多少少都有些科幻成分.不过近些年,人工智能技术在现实生活中的飞速发展使得公众的关注点明显聚焦在了技术产业中. 去年,AlphaGo以4:1赢下李世石的世纪大战在让2016年成为人工智能元年的同时,也让公众对人工智能在现实场景中的应用有了更多的期待.事实上,上述场景早在50年代便已有了相关的实践.1959年,美国研究者Samuel便设计了一个下棋程序,

【榜单】GitHub 最受欢迎深度学习应用项目 Top 16(持续更新)

Neural Style Star:12122 Github 地址:https://github.com/jcjohnson/neural-style 这个项目是用 Torch 对 Leon A. Gatys, Alexander S. Ecker, 和 Matthias Bethge 等人的论文"A Neural Algorithm of Artistic Style"的一个实现.论文中提出一种算法,用卷积神经网络将一幅图像的内容与另一幅图像的风格进行组合.下面是一个将梵高<星

深度 | 做到这些值4亿美元:看 Nervana 如何利用深度学习实现数据革命

2016 年 8 月,英特尔为了加强其人工智能领域的能力,以 4 亿美元的天价收购了机器学习初创公司 Nervana .该初创公司成立仅仅两年,却被公认为是机器学习技术开发的领导者.近日,Nervana 的联合创始人兼首席执行官 Naveen Rao 博士在 StrataHadoop 上和大家深入探讨了深度学习的话题,通过其PPT,我们也能了解Nervana价值所在. Naveen 探索了许多方面,包括深度学习相对于其他机器学习技术的好处.该领域的最新进展.深入学习工作流程.开发和部署深度学习解

分布式深度学习算法产品及在蚂蚁金服中的应用

近日在北京刚刚举办的Strata + Hadoop World大会很有亮点.阿里云iDST褚崴在会上分享了<分布式深度学习算法产品及其在蚂蚁金服业务中的应用>.下为大数据文摘所做的整理文章. 近年来深度学习技术迅猛发展,在图像识别,语音交互,机器翻译等领域展现出了巨大的潜力.依托阿里云自主研发的分布式数据存储与计算服务ODPS,我们研发了机器学习平台产品PAI (platform of artificial intelligence),支持分布式的深度学习算法产品.在CPU和GPU混布计算集群