杨欢、傅建龙作者

一键提升多媒体内容质量:漫谈图像超分辨率技术

编者按:作为将模糊的图像变清晰的神奇技术,图像超分辨率技术在游戏、电影、相机、医疗影像等多个领域都有广泛的应用。在这篇文章中,微软亚洲研究院的研究员们为你总结了图像超分辨率问题中的主流方法、现存问题与解决方案。微软亚洲研究院在图像超分辨率领域的相关技术也已在顶级会议发表,并转化入 PowerPoint 产品中,我们将在后续文章中为大家解读。

近年来,随着高清设备的普及,用户端显示设备的分辨率已经普遍提升到了 2K 甚至更高的水平。相对早期的游戏或电影在上述设备上往往无法得到很好的表现,这促使了很多经典游戏和电影的高清重制工作被提上日程。在整个重制过程中,最核心的就是多媒体素材的高清重建工作,而该部分工作在过去往往只能通过聘请专业的设计师耗费大量的资源来完成。

近年来,图像超分辨率技术的发展为上述问题提供了一个全新的解决思路。通过图像超分辨率技术,无需耗费大量的资源即可完成多媒体内容的高清重建工作,在上述结果上,设计师仅需进行简单少量的修改即可达到和人工设计相媲美的结果,大大简化了工作的流程,降低了工作的成本。

另一方面,图像超分辨率技术在相机拍摄过程中也有着广泛的应用。近年来,随着用户对手机拍摄功能的重视,越来越多的厂商将手机的拍摄性能作为一个重要的卖点来进行宣传。特别的,相机的变焦能力作为手机拍摄性能中的一个重要指标往往深受用户的重视,其通常可以分为两部分:光学变焦与数码变焦。其中光学变焦通过调整镜头来对焦距进行调整,由于受限于设备体积的大小,调整能力比较有限。相对的,数码变焦则是通过算法来对图像进行调整,以达到模拟光学变焦的目的,算法的优劣很大程度上决定了数码变焦的倍数以及其结果的好坏。图像超分辨率技术相对于传统的图像插值算法,往往能够提供更大的变焦倍数以及更好的图像质量,近年来广泛被各大手机厂商所采用。如图1所示,图像红框内的局部区域经过数码变焦后的结果依然清晰。

图1:通过图像超分辨率技术进行数码变焦

(左:原始焦距图像,右:数码变焦图像)

相对于上述领域,图像超分辨率技术在很多专业领域也有应用 [1]。如医疗影像领域,高质量的医疗影像(如X射线图像、计算机断层扫描图像、核磁共振图像)对于精确地诊断患者的病因起到了至关重要的作用,然而高分辨率的医疗成像设备往往非常昂贵。通过图像超分辨率技术,可以在硬件有限的条件下得到更高质量的医疗影像,在便于医生做出更加准确的诊断的同时,也进一步降低了患者的开销。

什么是图像超分辨率?

图像超分辨率是指从低分辨率图像中恢复出自然、清晰的纹理,最终得到一张高分辨率图像,是图像增强领域中一个非常重要的问题。近年来,得益于深度学习技术强大的学习能力,该问题有了显著的进展。

低分辨率图像一般通过一系列的退化操作得到,在损失了大量细节的同时,也引入了一系列的噪声。基于深度学习的超分辨率过程本质上就是通过网络模型采用成对的训练数据进行有监督学习的训练,进而拟合上述退化操作的逆操作,得到重建后的高清图像。不难想象,图像超分辨率问题是一个病态问题,对于同样一张低分辨率图像,往往存在多张可行的高分辨率图像。如图2所示,对于同一张大猩猩毛发的低分辨率图像,存在多种合理的高分辨率重建结果。

图2:同一张低分辨率图像可对应多张可行的高分辨率重建结果 [2]基于深度学习的图像超分辨率技术解析

目前主流的图像超分辨率技术的解决方案可以分为基于单张图像的超分辨率技术和基于参考图像的超分辨率技术,下面将分别对其展开介绍。

基于单张图像的超分辨率是指通过一张输入图像对图像中的高分辨率细节进行重建,最终得到图像超分辨率的结果,是传统图像超分辨率问题中的主流方法。

在众多方法中,SRCNN 模型 [3] 首次将卷积神经网络应用于图像超分辨率技术,相对于传统插值、优化算法在重建质量上取得了极大的提升。如图3所示,该模型使用一个三层的卷积神经网络来拟合从低分辨率图像到高分辨率图像的函数。特别地,该方法在 FSRCNN 模型 [4] 中被进一步优化,大大提升了其推理速度。

图3:SRCNN 模型中的三层卷积结构[3]图像超分辨率过程实际上是高频纹理信息的生成过程,对于低频部分通常来源于输入的低分辨率图像。然而,SRCNN 模型的特征学习过程不仅要学习生成高频的信息,还需要对低频信息进行重建,大大的降低了模型的使用效率。针对于此,VDSR 模型 [5] 首次提出了残差学习的网络结构。如图4所示,通过一个残差连接(蓝色箭头)将输入图像直接加到最终的重建高频残差上,可以显著的提升模型的学习效率。
图4:VDSR 模型中的残差学习结构 [5]不难发现,上述方法均是先对输入的低分辨率图像进行上采样,然后再将其送入模型行进行学习,这种做法在降低了模型的推理速度的同时也大大增加了内存的开销。如图5所示,EPSCN 模型 [6] 首次提出了子像素卷积操作,在网络的最后才将学习得到的特征进一步放大到目标大小,大大提升了模型的训练效率,也使得更深卷积通道数更多的模型的训练成为了可能。
图5:ESPCN 模型中的子像素卷积操作[6]为了进一步提升模型的表达能力,如图6所示,SRResNet 模型 [2] 首次将被广泛应用于图像分类任务中的残差模块引入到了图像超分辨率问题中,取得了很好的结果。此外,EDSR 模型 [7] 针对上述网络结构提出了进一步的优化,通过去掉残差模块中的批量归一化层和第二个激活层,进一步提升了模型的性能。
图6:SRResNet 模型中的残差模块结构 [2]近年来,还有很多其他方法从模型的角度进行优化。如,SRDenseNet 模型 [8] 和 RDN 模型 [9] 引入了稠密卷积模块,RCAN 模型 [10] 引入了通道注意力机制,SAN 模型 [11] 引入了二阶统计信息等,上述方法均取得了非常好的结果。

如前文所述,图像超分辨率问题是一个病态的问题,通过单纯的使用平均平方误差或平均绝对误差损失函数进行训练的模型往往会输出模糊的图像。这是因为在整个训练过程中,模型的优化得到的最优解实际上是所有可行解的一个平均值。

针对上述问题,被广泛应用于图像风格迁移的感知损失函数和风格损失函数被分别引入图像超分辨率问题中 [12, 13],某种程度上缓解了上述问题。另一方面,对抗生成损失函数图像生成模型中取得了很好的结果,SRGAN 模型 [2] 首次将其应用于图像超分辨率问题,大大的提升了重建图像的真实感。

然而上述方法仍存在一定的问题,主要是由于生成对抗网络所依赖的模型能力有限,往往很难对自然界中的全部纹理进行表达,因此在某些纹理复杂的地方会生成错误的纹理(如图7中的文字部分),带来不好的观感。

图7:基于对抗生成损失函数的错误纹理生成问题 [2]针对单张图像超分辨率技术中生成对抗损失函数引入的错误纹理生成问题,基于参考图像的超分辨率技术为该领域指明了一个新的方向。基于参考图像的超分辨率,顾名思义就是通过一张与输入图像相似的高分辨率图像,辅助整个超分辨率的复原过程。高分辨率参考图像的引入,将图像超分辨率问题由较为困难的纹理恢复/生成转化为了相对简单的纹理搜索与迁移,使得超分辨率结果在视觉效果上有了显著的提升。

Landmark 模型 [14] 通过图像检索技术,从网络上爬取与输入图像相似的高分辨率图像,再进一步通过图像配准操作,最终合成得到对应的超分辨率结果,其算法流程如图8所示。

图8:Landmark 模型的算法流程图 [14]CrossNet 模型 [15] 进一步优化上述图像配准过程,提出了基于光流估计的模型结构。如图9所示,该模型通过估计输入低分辨率图像与参考图像之间的光流来对超分辨率图像进行重建。最终结果的优劣很大程度上依赖于光流计算的准确与否,而这要求输入的低分辨率图像与参考图像在视角上不能存在很大的偏差,大大限制了上述模型的适用性。
图9:CrossNet 模型的光流估计与图像编解码结构 [15]针对上述问题,最近发表的 SRNTT 模型 [16] 提出了基于图像块的全局搜索与迁移模块,取得了非常不错的结果。该模型通过在不同尺度上对输入低分辨率图像与高分辨率参考图像中的相似图像块进行全局的搜索与迁移,上述过程可以很好地通过高分辨率的参考图像中的高频纹理对输入低分辨率图像进行表达,进而得到非常真实的超分辨率结果。

图像超分辨率技术与 Microsoft 365

上文中提到的现有图像超分辨率技术在实际应用中仍存在较大的问题,特别是在面对分辨率较小的输入图像时(如小于200x200的图像),其得到的结果很难令人满意。另一方面,对于用户日常从网络上收集得到的图像素材,低分辨率的插图是十分常见的。直接通过上述算法得到的结果,其图像质量通常难以被用户所接受,并不能在实际的生产场景中带来很好的用户体验。

微软亚洲研究院针对这一问题提出了一套全新的图像超分辨率解决方案,在技术上全面领先的同时,该科研成果还将进一步集成进 Microsoft 365 中 PowerPoint 产品的 Design Ideas 模块中,该模块通过人工智能技术,为用户提供各种在幻灯片制作过程中的建议与帮助,提升用户幻灯片制作的效率与最终成品的质量。如图10所示,当用户插入一张低分辨率的图像时,会自动触发 Design Ideas 模块,一旦用户确认使用图像超分辨率技术进行图像增强,原始的低分辨率图像将立即被一张高分辨率的图像所替代,整个过程耗时极低,实际效果却有着很大的提升。

图10:通过 PowerPoint 中的 Design Ideas 模块提升用户的图像质量

(上:用户插入的低分辨率图像放大结果,下:超分辨率后图像放大结果)

很快,Microsoft 365 的用户就可以体验到这一新功能,背后的相关技术论文已经被 CVPR 2020 收录,请大家关注我们的后续文章,会为大家一一揭晓。

参考文献

[1] Oktay O , Bai W , Lee M , et al. Multi-Input Cardiac Image Super-Resolution using Convolutional Neural Networks[C]. MICCAI 2016.

[2] Ledig C , Theis L , Huszar F , et al. Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network[J]. CVPR 2017.

[3] Dong C , Loy C C , He K , et al. Image Super-Resolution Using Deep Convolutional Networks[J]. TPAMI 2016.

[4] Dong C , Loy C C , Tang X . Accelerating the Super-Resolution Convolutional Neural Network[C]. ECCV 2016.

[5] Kim J , Lee J K , Lee K M . Accurate Image Super-Resolution Using Very Deep Convolutional Networks[C]. CVPR 2016.

[6] Shi W , Caballero J , Huszár, Ferenc, et al. Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network[C]. CVPR 2016.

[7] Lim B , Son S , Kim H , et al. Enhanced Deep Residual Networks for Single Image Super-Resolution[C]. CVPRW 2017.

[8] Tong T , Li G , Liu X , et al. Image Super-Resolution Using Dense Skip Connections[C]. ICCV 2017.

[9] Zhang Y , Tian Y , Kong Y , et al. Residual Dense Network for Image Super-Resolution[C]. CVPR 2018.

[10] Zhang Y , Li K , Li K , et al. Image Super-Resolution Using Very Deep Residual Channel Attention Networks[C]. CVPR 2018.

[11] Dai T , Cai J , Zhang Y, et al. Second-Order Attention Network for Single Image Super-Resolution[C]. CVPR 2019.

[12] Johnson J , Alahi A , Fei-Fei L . Perceptual Losses for Real-Time Style Transfer and Super-Resolution[C]. ECCV 2016.

[13] Sajjadi M S M , Schlkopf B , Hirsch M . EnhanceNet: Single Image Super-Resolution Through Automated Texture Synthesis[C]. ICCV 2017.

[14] Yue H , Sun X , Member S , et al. Landmark Image Super-Resolution by Retrieving Web Images[J]. TIP 2013.

[15] Zheng H , Ji M , Wang H , et al. CrossNet: An End-to-end Reference-based Super Resolution Network using Cross-scale Warping[C]. ECCV 2018.

[16] Zhang Z , Wang Z , Lin Z , et al. Image Super-Resolution by Neural Texture Transfer[C]. CVPR 2019.

微软研究院AI头条
微软研究院AI头条

专注科研19年,盛产黑科技

理论图像超分辨率
1
相关数据
微软亚洲研究院机构

微软亚洲研究院于1998年在北京成立,是微软公司在亚太地区设立的基础及应用研究机构,也是微软在美国本土以外规模最大的一个研究院。微软亚洲研究院从事自然用户界面、智能多媒体、大数据与知识挖掘、人工智能、云和边缘计算、计算机科学基础等领域的研究,致力于推动计算机科学前沿发展,着眼下一代革命性技术的创新,助力微软实现长远发展战略。通过与微软产品部门紧密合作,微软亚洲研究院将众多创新技术转移到了微软的核心产品中,如Office、Windows、Azure、Bing、Visual Studio、Xbox Kinect以及小冰、Cortana和Microsoft Translator等人工智能产品。

https://www.msra.cn/
微软机构

微软是美国一家跨国计算机科技公司,以研发、制造、授权和提供广泛的计算机软件服务为主。总部位于美国华盛顿州的雷德蒙德,最为著名和畅销的产品为Microsoft Windows操作系统和Microsoft Office办公室软件,以及Xbox的游戏业务。微软是美国《财富》杂志2015年评选的世界500强企业排行榜中的第95名。

https://www.microsoft.com/en-us/about
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

图像检索技术

图像检索系统是用于从大型数字图像数据库浏览、搜索和检索图像的计算机系统。 大多数传统和常见的图像检索方法利用向图像添加诸如字幕、关键字或描述之类的元数据的一些方法,以便可以对注释词执行检索。 手动图像注释耗时,费力且昂贵; 为了解决这个问题,人们已经对自动图像标注进行了大量研究。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

监督学习技术

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

图像生成技术

图像生成(合成)是从现有数据集生成新图像的任务。

上采样技术

在数字信号处理中,上采样、扩展和内插是与多速率数字信号处理系统中的重采样过程相关的术语。 上采样可以与扩展同义,也可以描述整个扩展和过滤(插值)过程。

生成对抗网络技术

生成对抗网络是一种无监督学习方法,是一种通过用对抗网络来训练生成模型的架构。它由两个网络组成:用来拟合数据分布的生成网络G,和用来判断输入是否“真实”的判别网络D。在训练过程中,生成网络-G通过接受一个随机的噪声来尽量模仿训练集中的真实图片去“欺骗”D,而D则尽可能的分辨真实数据和生成网络的输出,从而形成两个网络的博弈过程。理想的情况下,博弈的结果会得到一个可以“以假乱真”的生成模型。

图像增强技术

图像增强技术用于增强图像中的有用信息,它可以是一个失真的过程,其目的是要改善图像的视觉效果,针对给定图像的应用场合。它通过有目的地强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征,使之改善图像质量、丰富信息量,加强图像判读和识别效果,满足某些特殊分析的需要。

图像分类技术

图像分类,根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法。它利用计算机对图像进行定量分析,把图像或图像中的每个像元或区域划归为若干个类别中的某一种,以代替人的视觉判读。

光流估计技术

光流估计用于估计图像序列中的每个像素的运动,在计算机视觉中有许多应用,例如图像分割,对象分类,视觉测距和驾驶员辅助。

流计算技术

Spark Streaming是Spark Core API的一种扩展,它可以用于进行大规模、高吞吐量、容错的实时数据流的处理。它支持从很多种数据源中读取数据,比如Kafka、Flume、Twitter、ZeroMQ、Kinesis或者是TCP Socket。并且能够使用类似高阶函数的复杂算法来进行数据处理,比如map、reduce、join和window。

生成对抗技术

生成对抗是训练生成对抗网络时,两个神经网络相互博弈的过程。两个网络相互对抗、不断调整参数,最终目的是使判别网络无法判断生成网络的输出结果是否真实。

暂无评论
暂无评论~