题目:Accurate Image Super-Resolution Using Very Deep Convolutional Networks(2016CVPR)

摘要:文中提出了一种高精度处理单幅超分辨(HR)图像的方法。用了很深的卷积网络inspired by 用于处理ImageNet 分类的VGG-net。发现提高网络深度可大幅提高精度。但是,网络越深,收敛速度成了问题。文中给出了提高训练效率的方法:仅学习residuals使用非常高的学习速率(比SRCNN高10e4倍)。并且比现有方法变现更优异。

关键词:residual image、residual learninggradient clipping、SRCNN、receptive field感受野(information used for reconstruction)

1.介绍

1)文中解决了给定一幅LR(低分辨)图像用来生成HR(高分辨)图像的问题,通常指的是single image super-resolution(SISR)。SISR在CV中使用广泛,都是些需要细节的图像处理。早期的方法包括interpolation(插值法):bicubic interpolation、Lanczos resampling,更多有力的方法利用statistical image priors或者internal patch recurrence。2)

2)目前,许多学习方法应用于建立从LR到HR的映射模型。

具体方法:Neighbor embedding:interpolate the patch subspace。

Sparse coding:use a learned compact dictionary based on sparse signal representation

Random forest and CNN:提高精度

之前论文有方法:SRCNN就是用来学习从LR到HR的mapping in a end-to-end manner。SRCNN特点是不需要任何engineered features。虽然SRCNN成功将深度学习技术引入到SR问题,但是局限有三:依赖于context of small image regions、训练收敛太慢、网络仅仅适于single scale。

3)我们提出一种加速收敛方法:residual-learning CNN,高学习速率。因为LR和HR图像share the same information to a large extent,那么model the residual image是有好处的,因为这个residual就是HR和LR的不同之处。我们提出的网络结构适于输入输出高度相关!并且我们的学习速率比SRCNN快10e4倍,这得益于residual-learninggradient clipping

2.相关工作

1)SRCNN代表了深度学习处理SR方法的当前水平。先分析对比这种方法。SRCNN文章:Image super-resolution using deep convolutional networks(TPAMI,2015)

2)在1)中的论文中,某些情况下深度模型表现更差,1)论文作者认为深度模型不给力。但是本文作者程加强深度可提高表现。并成功提高深度到20weight layers、receptive field 更大(41*41)。

3)Training比较:SRCNN直接在HR图像建模。一幅HR可分解为低频信息(对应于LR图像)和高频信息(residual image 或 image details)。输入输出图像享有相同的低频信息。这表明SRCNN有两个目的:将输入送至最后一层并重建residuals。carry the input to the end类似于auto-encoder(自动编码器)做的事情。大量的时间用于训练自动编码器,所以学习其他部分(image detail)的收敛速率大幅下降。相比而言,我们的网络直接在residual image建模,更快更精确

4)Scale比较:和其它SR处理方法一样,SRCNN针对single scale factor训练,即特定的scale。因此再来一个新的scale就得训练一个新模型,这是繁琐低效的。我们提出来的网络有效处理各种scale的SR问题,表现还不错。此外,我们的输入输出size一样,这通过pad zeros every layer during traing。而SRCNN输出size比输入小。最后,我们的所有网络层训练速率一样,而SRCNN不同层速率不同为的是实现稳定的收敛。

3.提及的方法

1)采用d层网络,除去第一层(输入图像)和最后一层(图像重建),其它层类型都一样:64filter:3*3*64,filter操作3*3区域大小通过64通道。网络接收interpolated LR图像为输入来预测图像细节。对图像细节建模常用来处理SR问题。本文论证了对image detail(residuals)建模的好处。可问题是非常深的网络特征映射的size会在每次卷积操作后变小。例如:(n+1)*(n+1)的输入,感受野为(n*n)时,输出为1*1.许多SR方法都用邻居像素来推断中心像素,中心-邻居关系在邻居像素提供许多constraints时有效,对于许多处在图像边缘的像素,这种关系并不一定成立。此外,需要邻居区域很大时此法也无效。我们的解决方法:在卷积之前补零(pad zeros)使得feature maps(特征映射)尺寸一样。事实证明这还挺有效,边缘像素也被正确预测了。

2)Residual-Learning

在SRCNN中,网络必须保留所有输入细节,输出由所有学到的特征生成,因为有许多weight layers,形成了许多首尾相接的关系,并且需长期的存储记忆,这会导致vanishing/exploding gradients(梯度消失/爆炸)问题。所以提出解决方案:residual learning。以为输入输出图像很相似,我们定义residual image r=y-x.损失函数为1/2||r-f(x)||2。其中f(x)为网络预测。损失层由三个输入:residual estimate、network input(ILR image)、ground truth(HR image)。训练:利用基于反向传播的mini批梯度方法来优化回归目标函数。训练由权重衰减来正则化。

3)High Learning Rates for Very Deep Networks

训练深度网络可能在有限时间内无法收敛。SRCNN没有成功实现大于三层weight layers时的良好表现,原因很多,可能是它们在收敛之前停止了训练过程。很显然,增加学习速率可以加速训练,但是仅仅提高速率可能导致梯度消失/爆炸。所以我们提出可调节的梯度抑制来控制最大化学习速率。即下文4)。

4)Adjustable Gradient Clipping

Gradient Clippiing是一项常用在recurrent neural networks(周期神经网络?)的技术。但是,貌似它只能限于训练CNNs。

5)Multi-Scale

      因为非常深度的网络可以提高性能,更多的参数需要用于定义一个网络,典型的,一个网络如果可以应用于任意scale,那么存储和恢复一个网络很方便。所以我们也训练一个multi-scale网络。

DL论文的更多相关文章

  1. 获取Avrix上Computer Vision and Pattern Recognition的论文,进一步进行统计分析。

    此文主要记录我在18年寒假期间,收集Avrix论文的总结 寒假生活题外   在寒假期间,爸妈每天让我每天跟着他们6点起床,一起吃早点收拾,每天7点也就都收拾差不多.   早晨的时光是人最清醒的时刻,而 ...

  2. (zhuan) 126 篇殿堂级深度学习论文分类整理 从入门到应用

    126 篇殿堂级深度学习论文分类整理 从入门到应用 | 干货 雷锋网 作者: 三川 2017-03-02 18:40:00 查看源网址 阅读数:66 如果你有非常大的决心从事深度学习,又不想在这一行打 ...

  3. ML博客链接

    http://blog.csdn.net/yingwei13mei/article/category/6602238 各种都有(系统教程):http://www.easemob.com/news/76 ...

  4. 计算机电子书 2017 BiliDrive 备份

    下载方式 根据你的操作系统下载不同的 BiliDrive 二进制. 执行: bilidrive download <link> 链接 文档 链接 斯坦福 cs224d 深度学习与自然语言处 ...

  5. 微软亚洲实验室一篇超过人类识别率的论文:Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification ImageNet Classification

    在该文章的两大创新点:一个是PReLU,一个是权值初始化的方法.下面我们分别一一来看. PReLU(paramter ReLU) 所谓的PRelu,即在 ReLU激活函数的基础上加入了一个参数,看一个 ...

  6. cv 论文(CNN相关)

    最近发现很多以前看的论文都忘了,所以想写点东西来整理下之前的paper,paper主要是cv(computer vision)方向的. 第一篇:Gradient-based learning appl ...

  7. 快速理解Parquet的DL和RL

    关于Parquet的详细介绍,请参考: 新一代列式存储格式Parquet,此文中对Parquet做了详细的介绍,这里不做重复介绍,但其中关于Definition Level(DL)和Repeated ...

  8. 论文翻译:Ternary Weight Networks

    目录 Abstract 1 Introduction 1.1 Binary weight networks and model compression 2 Ternary weight network ...

  9. 论文翻译:BinaryConnect: Training Deep Neural Networks with binary weights during propagations

    目录 摘要 1.引言 2.BinaryConnect 2.1 +1 or -1 2.2确定性与随机性二值化 2.3 Propagations vs updates 2.4 Clipping 2.5 A ...

随机推荐

  1. 八月22日,django知识点总结:

    八月22日,知识点总结: python manage.py makemigrations python manage.py migrate unique=true是指这个字段的值在这张表里不能重复,所 ...

  2. Block常用方法以及注意事项

    1. ViewController间传递数据 2. Block的@property必须定义为copy

  3. 学习vue.js 第一天

    最近听到很多人都在用Vue.js ,我也想凑凑热闹,来个入门 啥的 ,要不以后人家说,啥都不知道,多low 看到官网 是这样介绍Vue.js Vue.js(读音 /vjuː/, 类似于 view) 是 ...

  4. cocos2d-x 3.5以后版本的 luasocket

    cocos2d-x 3.5后使用luasocket:local SOCKET = require "socket"; 结果运行就报错:[LUA-print] USE " ...

  5. zookeeper原理解析-客户端与服务器端交互

    Zookeeper集群中server数量总是确定的,所以集群中的server交互采用比较可靠的bio长连接模型:不同于集群中sever间交互zookeeper客户端其实数量是未知的,为了提高zooke ...

  6. nodejs URL解析

    说到URL就需要提一下URI,一个网址就是一个URL,是一个具体的符号,说明了要通过什么协议来访问某种资源,URI是一个字符格式规范,URL是URI的一个子集,URL肯定是URI,但URI却不一定是U ...

  7. python api

    import requests #查询手机好归属地API def phone(tel): url = 'http://op.juhe.cn/onebox/phone/query' appkey = ' ...

  8. [Unreal]学习笔记之材质说明

    取消蓝图中的连接线:Alt+鼠标左键 在蓝图中,通过按住1,2,3,4加鼠标左键,可以快速生成1,2,3,4维的向量 材质和材质实例的区别:使用一个母材质,可以创建出多种场景中的材质实例:每次修改母材 ...

  9. Canvas基础认识

    HTML5 Canvas         简单的说就是js+html5可以自定义绘制任何图形 认识Canvas元素 <canvas id="canvas" width=&qu ...

  10. uboot 第三天学习

    make jCPU_NUM 以CPU_NUM数量同时进行编译CPU_NUM = 当前PC的处理器数量*处理器的核心数 从上电开始1.系统上电,执行固化在IROM中的代码,目的初始化基本的系统功能,已经 ...