发表在2017年ICCV。

核心任务:加速图像处理算子(accelerate image processing operators)。

核心方法:将算子处理前、后的图像,训练一个全卷积CNN网络,从而代替传统算子。

核心贡献:作者选择了一种CNN结构,在10种算子上表现优异。

故事

  • 历史上已经有很多图像处理算子,解决各种各样的图像处理问题。比如双边带滤波器等。但它们的普遍问题是慢,难以实时。

  • 有些人尝试:将图像降采样,再进行处理,最后再升采样。这种办法一是会导致性能下降,因为高频细节在降采样时丢掉了;二是即便这样也很难实时。

  • 本文的方法:将算子处理前、后的图像,用于训练一个全卷积CNN网络。然后我们就用CNN处理图像啦!再也不用降采样啦!

  • 此外,在选择网络结构时,作者综合考虑了它们(1)近似图像处理算子的精度,(2)运行时间,(3)结构复杂性(如参数规模,使得能够存储在移动设备上),并最终选择了一个效果最好的网络结构。作者同时考虑了10种图像处理算子。

  • 最后,作者还提出了一个很有意思的实验:由于CNN将这些算子参数化了,因此我们可以在测试阶段调整这些参数,从而实现交互式图像处理。

方法

直接看原文中比较重要的一段:

We have experimented with a large number of network architectures derived from prior work in high-level vision, specifically on semantic segmentation. We found that when some of these high-level networks are applied to low-level image processing problems, they generally outperform dedicated architectures previously designed for these image processing problems. The key advantage of architectures designed for high-level vision is their large receptive field. Many image processing operators are based on global optimization over the entire image, analysis of global image properties, or nonlocal information aggregation. To model such operators faithfully, the network must collect data from spatially distributed locations, aggregating information at multiple scales that are ultimately large enough to provide a global view of the image.

重点:作者尝试将一些 原本用于high-level任务(如图像分割)的网络 用于图像处理任务,发现性能很好。原因可能是:这些网络的感受野通常比较大,因此在全局特征提取上做得比较好。而传统图像算子也很强调这一点,比如NL方法。

作者最终选择了[78]中提出的网络结构【该文三作也是[78]的作者。[78]谷歌引用2k+】,最初用于语义分割。

首先,输入和输出尺寸相同,都是\(m \times n \times w\)。中间特征的获取流程都是:\(3 \times 3\)空洞卷积(dilated convolution) => 自适应正则化 => LReLU非线性激活。

其中:

  • 空洞卷积的好处是:特征图的尺寸不会随着深度下降而变小,因此我们可以增大深度,从而增大感受野。最后一层不用空洞卷积,而是采用\(1 \times 1\)卷积,并且不使用非线性激活。

  • 自适应正则化先对特征BN,然后再作线性变换。注意有两个分支:一个是恒等分支,还有一个是BN分支。

网络中不含任何短连接,因此最大内存消耗只有前后两个卷积结构。

训练采用的是MSE损失。作者声称:尽管MSE被认为在感知质量方面不够理想,但其PSNR和SSIM精度表现好。作者尝试了其他损失,如对抗损失,结果发现近似精度不高。

实验

首先看拟合精度:

然后看速度和参数规模:

其他的不看了。我们看看如何交互。在本文中,作者是增加了一个可调整的输入通道,来实现交互。

最后最后,作者尝试用一个网络实现10个功能。做法:

  1. 增加了10个输入通道。每个通道都是一个二值通道,来指示任务选择。

  2. 训练时随机切换任务和训练对象。

效果一般。如论文中表2。

这篇文章怎么能引用近100次的???把一篇2k+引用文章里的网络拿来,也能发一篇ICCV,实在没明白。

Paper | Fast image processing with fully-convolutional networks的更多相关文章

  1. Fully Convolutional Networks for Semantic Segmentation 译文

    Fully Convolutional Networks for Semantic Segmentation 译文 Abstract   Convolutional networks are powe ...

  2. 【Detection】R-FCN: Object Detection via Region-based Fully Convolutional Networks论文分析

    目录 0. Paper link 1. Overview 2. position-sensitive score maps 2.1 Background 2.2 position-sensitive ...

  3. 中文版 R-FCN: Object Detection via Region-based Fully Convolutional Networks

    R-FCN: Object Detection via Region-based Fully Convolutional Networks 摘要 我们提出了基于区域的全卷积网络,以实现准确和高效的目标 ...

  4. 论文阅读(Xiang Bai——【CVPR2016】Multi-Oriented Text Detection with Fully Convolutional Networks)

    Xiang Bai--[CVPR2016]Multi-Oriented Text Detection with Fully Convolutional Networks 目录 作者和相关链接 方法概括 ...

  5. 【Semantic Segmentation】 Instance-sensitive Fully Convolutional Networks论文解析(转)

    这篇文章比较简单,但还是不想写overview,转自: https://blog.csdn.net/zimenglan_sysu/article/details/52451098 另外,读这篇pape ...

  6. 论文笔记之:Visual Tracking with Fully Convolutional Networks

    论文笔记之:Visual Tracking with Fully Convolutional Networks ICCV 2015  CUHK 本文利用 FCN 来做跟踪问题,但开篇就提到并非将其看做 ...

  7. 论文学习:Fully Convolutional Networks for Semantic Segmentation

    发表于2015年这篇<Fully Convolutional Networks for Semantic Segmentation>在图像语义分割领域举足轻重. 1 CNN 与 FCN 通 ...

  8. 『计算机视觉』R-FCN:Object Detection via Region-based Fully Convolutional Networks

    一.网络介绍 参考文章:R-FCN详解 论文地址:Object Detection via Region-based Fully Convolutional Networks R-FCN是Faster ...

  9. 全卷积网络Fully Convolutional Networks (FCN)实战

    全卷积网络Fully Convolutional Networks (FCN)实战 使用图像中的每个像素进行类别预测的语义分割.全卷积网络(FCN)使用卷积神经网络将图像像素转换为像素类别.与之前介绍 ...

  10. Fully Convolutional Networks for semantic Segmentation(深度学习经典论文翻译)

    摘要 卷积网络在特征分层领域是非常强大的视觉模型.我们证明了经过端到端.像素到像素训练的卷积网络超过语义分割中最先进的技术.我们的核心观点是建立"全卷积"网络,输入任意尺寸,经过有 ...

随机推荐

  1. nodejs的require是如何执行的

    通常,在Node.js里导入是通过 require函数调用进行的. Node.js会根据 require的是相对路径还是非相对路径做出不同的行为. 相对路径 相对路径很简单. 例如,假设有一个文件路径 ...

  2. Mybatis关联查询之二

    Mybatis关联查询之多对多 多对多 一.entity实体类 public class Student { private Integer stuid; private String stuname ...

  3. js实现addClass方法,classList与className有什么区别?

     壹 ❀ 引 Jquery中addClass与removeClass是两个使用高频的方法,对于为dom元素增删class类非常方便:但如果不用JQ,使用js怎么模拟它们呢?本文主要记录下自己的实现思路 ...

  4. 从零开始的微信小程序入门教程(一)

    之前说要和同事一起开发个微信小程序项目,现在也在界面设计,功能定位等需求上开始实施了.所以在还未正式写项目前,打算在空闲时间学习下小程序.本意是在学习过程中结合实践整理出一个较为入门且不是很厚的教程, ...

  5. httpclient超时时间设置及代理设置

    超时时间 设置HttpClient的超时时间,非常有必要性,因为httpclient 默认超时时间很长,自己可以测试一下是多久,设置超时时间否则会影响自己系统的业务逻辑,例如阻塞系统,影响系统的吞吐量 ...

  6. 在windows实现nginx滚动日志

    nginx自身并不能够切分或滚动日志,因此只能用一个bat脚本按天切割日志,并删除三天前的日志 @echo off rem nginx滚动日志 rem nginx工作目录 set workspace= ...

  7. oracle11g安装教程

  8. Think in Speed (关于速度的一点思考)

    天下武功,无坚不摧,唯快不破!所以我们重视速度没毛病! 老话说:不要过早优化.赞同! 我们在写代码过程中,有时可能就是为了追求所谓的性能,然后,就给自己挖坑了. 关于开发速度,我有以下几点思考: 1. ...

  9. [笔记] .net core WPF 程序,发布独立程序与单一执行程序

    如何发布独立可运行的,和只有一个文件的 .net core WPF 程序. 1 发布并打包 Step 1 在项目上右键,在菜单中选择发布,使用文件发布,选择独立部署模式,其它的条件,依照自己的情况设置 ...

  10. GO基础之变量的使用

    Go语言:是静态类型语言,因此变量(variable)是有明确类型的,编译器也会检查变量类型的正确性. 一.基本类型 变量的声明:全局变量必须有关键字var var name [type]  指定数据 ...