漫谈深度学习在Super Resolution(超分辨率)领域上的应用

接触到一个挺好玩的领域——Super Resolution(SR),这个方向做的事情是给你一张低分辨率的小图(Low Resolution,LR),你通过算法将这张LR放大成一张高分辨率的大图(High Resolution,HR)。这个事情乍一听挺简单的,普通的插值算法即可胜任,其实大有玄机,主要的难点在于细节的恢复,如下两张图,第一张图是原图,第二张图是将原图进行3倍下采样后,用Bicubic插值算法[1]进行SR恢复的图像,从图像整体来看,第二张图比第一张图要显得糊一些,如果将蝴蝶的翅膀纹路放大看可以发现,第二张图的细节已经很不清晰,纹路间的边缘已经模糊。这正是SR这个方向所面临的挑战。

1).原图

(2).用Bicubic算法做SR图像

SR这个领域在深度学习之前就已经大量优秀的研究工作,如Sparse Code(SC),A+等,他们各自效果如图3-5所示。篇幅所限,本文暂不讨论传统SR算法,本文主要聊聊基于深度学习的SR相关算法。

(3).原图

(4).基于SC的SR图像

(5).基于A+的SR图像

说到基于深度学习的SR工作,肯定得提起“开山鼻祖”——SRCNN,SRCNN是第一篇将深度卷积神经网络(CNN)引入SR领域。这篇文章的思想很清晰,算法也很简单,一般大牛的大作都是如此。。。这篇文章认为LR之所以能通过一定的算法升级为HR,主要是他们两者之间存在着一些“共通的特征”,因此,这篇文章将SR过程主要分为三个阶段:

  1. LR 特征提取(Patch extraction and representation),这个阶段主要是对LR进行特征提取,并将其特征表征为一些feature maps;
  2. 特征的非线性映射(Non-linear mapping),这个阶段主要是将第一阶段提取的特征映射至HR所需的feature maps;
  3. HR重建(Reconstruction),这个阶段是将第二阶段映射后的特征恢复为HR图像。

又想感慨一句,开山之作往往都是如此简单、清晰的思路,轻松收获一篇ECCV、一篇PAMI。这篇文章将上述的三个阶段很自然地翻译成三个卷积计算工作,轻松搞定:

  1. LR特征提取可表征为“卷积层(c*f1*f1卷积核)+RELU”;
  2. 非线性映射可表征为“全连接层+RELU”,而全连接层又可表征为卷积核为1x1的卷积层,因此,本层最终形式为“卷积层(n1*1*1卷积核)+RELU”;
  3. HR重建可直接表征为“卷积层(n2*f3*f3)”。

(6).SRCNN的网络结构图

SRCNN的损失函数也很“简单粗暴”,直接计算原图与SR大图之间所有像素点的MSE。至此,SRCNN的所有工作就介绍到这,接下来我们看下SRCNN的效果:

(7).SRCNN与其他算法效果对比

SRCNN非常简洁,不过SRCNN也存在着几个可以改进的点:

  1. 从SRCNN的整个网络来看,要求这个网络的参数需要足够“稠密”,才能直接从网络中映射出一张高清的HR图像,这在一定程度对SRCNN的训练要求比较高,另外也减缓了SRCNN的训练速度;
  2. SRCNN特征提取只用了一层卷积层,存在着perceptive field比较小的问题,即提取出来的特征是非常局部的特征,而SR图像需要对纹理细节进行恢复,局部特征难以奏效。

在SRCNN之后,又有若干进一步优化的文章出现,如RED(NIPS2016)、CSCN(ICCV 2015)、SRGAN(我们复现之后发现效果并不是特别好)、DRCN(CVPR2016)等。

接下来我想分享的是CVPR2016的一篇很有创新的文章:VDSR(CVPR2016)。这篇文章有几个创新点:

  1. 引入更深的网络(VGG16)做SR;
  2. 将residual的思想引入SR,减轻了网络的“负担”,又加速了学习速率;
  3. 构造了一个适用于不同放大尺度的网络,并通过实验验证了该网络的可靠性。

这篇文章将VGG16引入作为SR的网络,如果网络架构同SRCNN,从上述SRCNN第一个可改进点可知,VGG16的权重将会变得非常稠密,从而加大了网络的学习成本,很可能会碰到vanishing/exploding gradients problem,这个问题在SRCNN文章的4.3.3也提到过,在原文中,作者认为网络越深效果越好的这个定律不适用于SR领域。为了解决该问题,这篇文章的作者将redisual的思想引入了网络架构中,VGG不再需要学习如何恢复一张高清的HR图像,而是学习高清图像与LR像拉伸之后的残差,网络架构如下:

(8). VDSR的网络架构

这一点创新做得非常漂亮,由于只需要学习残差,而残差中大部分值都为0,从而大大降低了网络学习的成本,也加快了学习的速率,在这篇文章中,作者也对比了残差目标和非残差目标的学习速率,如下。可以看到残差思想的引入,极大地加速了训练速度,也提高了效果的稳定性,在这篇文章中,作者提到训练一个16层的网络用于SR只需要4个小时,这无疑极大地提升了训练速度。

(9).残差目标与非残差目标学习速率对比

残差思想的引入,使得深度网络能够应用于SR领域,而随着深度的加深,网络的perceptive field变得越来越宽,使得网络不仅具备局部特征,也能捕捉到更加全局的特征,全局特征的加入更有利于SR纹理细节的恢复。

一般的网络结构只能做特定尺度的upscale,如一个网络结构确定为放大尺度为2的网络,那么该网络训练后也就只能用于尺度为2的upscale,而随着网络结构的加深,训练成本相应增加,若网络只能做单一尺度的放大,那么网络的可重用性比较差。在这篇文章中,作者还引入了另一种令人惊讶的网络结构,该网络结构对外暴露多一个尺度参数,该尺度参数可控制图像放大的尺度。这种设计方案极大地提升了网络的可重用性。作者还在这篇文章中对比了单一尺度网络的效果和多尺度网络的效果,如表(10)。可以发现,多尺度网络的效果不仅不降低,反而提升了PSNR值。

(10). 单一尺度与多尺度网络效果对比,其中数值均为PSNR值

最后这篇文章给出了一些与SRCNN的效果对比,如下图。可以看出,VDSR由于更深网络的引入,在纹理细节上表现得更加的清晰。

(11). VDSR与SRCNN效果对比

原文发布时间为:2017-05-31

本文作者:richard huang

时间: 2024-08-29 04:01:03

漫谈深度学习在Super Resolution(超分辨率)领域上的应用的相关文章

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

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

Nervana 开源深度学习软件,性能超 Facebook、Nvidia产品

Nervana System是少数专注机器学习这种人工智能技术的创业公司该公司,近日宣布将其深度学习软件在Apache开源许可协议下开源(github),任何人都可以免费下载使用.根据Facebook一位研究者的基准测试,Nervana的软件比业界知名的深度学习工具性能都要高,包括Facebook自己的Torch7和Nvidia的cuDNN. 深度学习时人工智能技术的热门领域,目前谷歌.微软和百度等互联网巨头在深度学习也都投入重金研发.而不少深度学习创业公司也都遭巨头们纷纷抢购,例如Madbit

漫谈深度学习 这个领域有点火!

深度学习(deep learning),无疑是IT界近两年比较流行的一个热词.它是什么意思呢?理解起来,与人工智能.机器学习比较接近,目的是想让计算机能够像人脑一样智能地识别图片.语音--,因此无论是深度学习还是人工智能都是实现目标的手段.  为了更好地理解本文,这里再多做一点解释,人脑认知事物的过程其实是分层的,每一层都会识别出一定的特征,然后不断地向上汇聚,最终识别出这个事物是什么.当然,整个过程的层级很多,而且识别过程是极其快速的.现在的深度学习.人工智能就是要计算机模拟人脑对于事物的识别

开源深度学习库BigDL在阿里云E-MapReduce上的实践

近些年来机器学习中的子领域深度学习成为一个热门的话题,特别是在围棋领域,谷歌的AlphaGo也使用了深度学习的技术. 在大数据领域,Spark MLlib是一个很流行的机器学习算法库,如果你想用Spark来做深度学习训练,MLlib还无法很好的支持.本文要介绍Intel开源的深度学习框架BigDL,他也是在Spark上的一个算法库,提供了全面的深度学习算法支持,包括数值计算(Tensor)和高阶神经网络等. 因为BigDL是在Spark上运行的,借助Spark平台的分布式扩展性,可以方便的扩展到

深度学习必备手册(下)

更多深度文章,请关注云计算频道:https://yq.aliyun.com/cloud 请收下这份关于人工智能的根目录--博客整理系列(一) 关于数据科学的那些事--博客整理系列(二) 机器学习必备手册--博客整理系列(三) 扩展眼界的都在这--博客整理系列(四) 深度学习必备手册(上)--博客整理系列(五) 深度学习的概念源于人工神经网络的研究,如果追溯深度学习的概念还是要回到2006年Hinton那篇论文,基于深信度网(DNB)提出非监督贪心逐层训练算法,未解决深层结构相关的优化难题出现的论

【榜单】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"的一个实现.论文中提出一种算法,用卷积神经网络将一幅图像的内容与另一幅图像的风格进行组合.下面是一个将梵高<星

深度学习如何落地安防应用?为何被称为安防行业的颠覆性力量?

近日,市场研究&咨询公司GrandViewResearch发布了一份深度学习市场分析报告.报告表明,2016年全球深度学习市场估值为2.72亿美元,其在自动驾驶和医疗行业的应用越来越多,有望为行业增长做出突出贡献.这项技术的崛起得益于数据驱动的复杂应用,包括语音和图像识别,它可以和其他技术一起克服大数据量和高计算能力的挑战以及改进数据存储.同时在刚举行的"2017 CCF青年精英大会"上,香港中文大学教授汤晓鸥作了<人工智能的明天,中国去哪?>的主题演讲.其中,针对

深度学习为何成为颠覆安防行业的力量?

深度学习技术的发展使人工智能产业的冰山正在迅速融化成一股势不可挡的洪流,冲击着安防行业的产业变革.安防行业众多一线厂商携手世界顶级人工智能芯片厂商发力智能硬件产品升级,并将CV领域的最尖端的图形处理器应用于新型硬件产品的研发. 深度学习为何成为颠覆安防行业的力量? 近日,市场研究&咨询公司GrandViewResearch发布了一份深度学习市场分析报告.报告表明,2016年全球深度学习市场估值为2.72亿美元,其在自动驾驶和医疗行业的应用越来越多,有望为行业增长做出突出贡献.这项技术的崛起得益于

盘点|10条最有用的深度学习教程资源(附教程链接)

本文来源于Github blog BY omtcyfz 译者:赫鑫宇 郭昕 今天介绍一些深度学习的资源干货!个人认为这些资源对于那些刚刚进入机器学习领域准备摸索一番的小白十分有帮助.同时如果你想进一步了解神经网络算法及其应用,那请阅览本篇文章吧,相信会对你有极大的帮助! 在上干货之前,先来讲一下我把这些资源整合起来并归结到本篇文章中的初衷.在刚开始入门学习的时候,我看了大量的没有文字介绍的链接资源,我完全不知道他们中的哪一个是值得花时间研究的.所以现在我把见过的最有用的一些链接资源拿出来并配以简