zoukankan      html  css  js  c++  java
  • DL论文

    题目: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网络。

           

  • 相关阅读:
    Mysql登录错误:ERROR 1045 (28000): Plugin caching_sha2_password could not be loaded
    Docker配置LNMP环境
    Docker安装mysqli扩展和gd扩展
    Docker常用命令
    Ubuntu常用命令
    单例模式的优缺点和使用场景
    ABP 多租户数据共享
    ABP Core 后台Angular+Ng-Zorro 图片上传
    ERROR Error: If ngModel is used within a form tag, either the name attribute must be set or the form control must be defined as 'standalone' in ngModelOptions.
    AbpCore 执行迁移文件生成数据库报错 Could not find root folder of the web project!
  • 原文地址:https://www.cnblogs.com/king-lps/p/6136969.html
Copyright © 2011-2022 走看看