Paper | Fast image processing with fully-convolutional networks
发表在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个功能。做法:
增加了10个输入通道。每个通道都是一个二值通道,来指示任务选择。
训练时随机切换任务和训练对象。
效果一般。如论文中表2。
这篇文章怎么能引用近100次的???把一篇2k+引用文章里的网络拿来,也能发一篇ICCV,实在没明白。
Paper | Fast image processing with fully-convolutional networks的更多相关文章
- Fully Convolutional Networks for Semantic Segmentation 译文
Fully Convolutional Networks for Semantic Segmentation 译文 Abstract Convolutional networks are powe ...
- 【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 ...
- 中文版 R-FCN: Object Detection via Region-based Fully Convolutional Networks
R-FCN: Object Detection via Region-based Fully Convolutional Networks 摘要 我们提出了基于区域的全卷积网络,以实现准确和高效的目标 ...
- 论文阅读(Xiang Bai——【CVPR2016】Multi-Oriented Text Detection with Fully Convolutional Networks)
Xiang Bai--[CVPR2016]Multi-Oriented Text Detection with Fully Convolutional Networks 目录 作者和相关链接 方法概括 ...
- 【Semantic Segmentation】 Instance-sensitive Fully Convolutional Networks论文解析(转)
这篇文章比较简单,但还是不想写overview,转自: https://blog.csdn.net/zimenglan_sysu/article/details/52451098 另外,读这篇pape ...
- 论文笔记之:Visual Tracking with Fully Convolutional Networks
论文笔记之:Visual Tracking with Fully Convolutional Networks ICCV 2015 CUHK 本文利用 FCN 来做跟踪问题,但开篇就提到并非将其看做 ...
- 论文学习:Fully Convolutional Networks for Semantic Segmentation
发表于2015年这篇<Fully Convolutional Networks for Semantic Segmentation>在图像语义分割领域举足轻重. 1 CNN 与 FCN 通 ...
- 『计算机视觉』R-FCN:Object Detection via Region-based Fully Convolutional Networks
一.网络介绍 参考文章:R-FCN详解 论文地址:Object Detection via Region-based Fully Convolutional Networks R-FCN是Faster ...
- 全卷积网络Fully Convolutional Networks (FCN)实战
全卷积网络Fully Convolutional Networks (FCN)实战 使用图像中的每个像素进行类别预测的语义分割.全卷积网络(FCN)使用卷积神经网络将图像像素转换为像素类别.与之前介绍 ...
- Fully Convolutional Networks for semantic Segmentation(深度学习经典论文翻译)
摘要 卷积网络在特征分层领域是非常强大的视觉模型.我们证明了经过端到端.像素到像素训练的卷积网络超过语义分割中最先进的技术.我们的核心观点是建立"全卷积"网络,输入任意尺寸,经过有 ...
随机推荐
- Unity Settings Deamon crash in 16.04 every time after boot
安装ubuntu 16.04的时候,出现这样一个错误: unity-settings-deamon crashed with SIGSEGV in up_exported_dae (can't rea ...
- jQuery 源码分析(十六) 事件系统模块 底层方法 详解
jQuery事件系统并没有将事件监听函数直接绑定到DOM元素上,而是基于数据缓存模块来管理监听函数的,事件模块代码有点多,我把它分为了三个部分:分底层方法.实例方法和便捷方法.ready事件来讲,好理 ...
- 实例演示 C# 中 Dictionary<Key, Value> 的检索速度远远大于 hobbyList.Where(c => c.UserId == user.Id)
前言 我们知道,有时候在一些项目中,为了性能,往往会一次性加载很多条记录来进行循环处理(备注:而非列表呈现).比如:从数据库中加载 10000 个用户,并且每个用户包含了 20 个“爱好”,在 Wi ...
- Docker第二弹之常用命令
Docker的常用命令 底层原理 Docker是如何工作的 Docker是一个Client-Server结构的系统,Docker守护进程运行在主机上, 然后通过Socket连接从客户端访问,守护进程从 ...
- Redisson实现分布式锁(3)—项目落地实现
Redisson实现分布式锁(3)-项目落地实现 有关Redisson实现分布式锁前面写了两篇博客作为该项目落地的铺垫. 1.Redisson实现分布式锁(1)---原理 2.Redisson实现分布 ...
- Django和前端用ajax传输json等数据
需要传输的是下图中所有的input中客户端设置的数据 整个页面是用js生成,代码不长,但是用了许多拼接,看起来开比较乱,页面的核心就是下面的部分,有一些关键参数部分就不放了,可以跳过这个 下面开始重点 ...
- java annotation使用介绍
还望支持个人博客站:http://www.enjoytoday.cn 介绍 Annotation的中文名字叫注解,开始与JDK 1.5,为了增强xml元数据和代码的耦合性的产物.注解本身并没有业务逻辑 ...
- 使用Flask构建一个Web应用
Flask是一个使用Python编写的轻量级Web应用框架. 一.安装Flask 以管理员身份,打开命令提示符窗口,输入下面命令 py -3 -m pip install flask 这个命令会连接到 ...
- Docker安装并运行mysql5.6数据库
1.在/home目录下新建mysql目录 mysql目录中新建三个目录:conf目录.logs目录.data目录,建这些目录的目的是用来挂载docker中的mysql下的目录的. 结果如下: 1.1. ...
- Saltstack_使用指南11_配置管理-状态之间依赖关系
1. 说明 下文的案例是根据上一篇文章进行的修改.因此请优先读取上一篇文章内容<Saltstack_10_配置管理-状态模块> 并且目录进行了变化,从 /srv/salt/lamp 变为了 ...