原论文:Clearing the Skies: A Deep Network Architecture for Single-Image Rain Removal
1.主要工作:
文章提出了DerainNet深度学习去雨方法。DerainNet直接提供了含雨图像和无雨图像之间的非线性映射关系。去雨的同时,利用了图像增强去改善视觉效果。
该网络方案不是简单地增加网络复杂度来提升去雨的效果。而是利用图像处理领域的知识去修正目标函数,以提升去雨质量。计算资源消耗少,同时预测输出快。
由于无法获取真实世界雨图像的ground truth。文章利用人工合成图像去训练模型。数据集是人工合成的,因此模型训练用的数据集可以非常大。结果表明,训练出来的模型处理真实世界图像依然具有较好效果。

2.网络主体架构:

该网络方案的最大特色是:将输入的图像分为高频细节层( high-frequency detail layer)和低频基础层(low-frequency base layer)。输入图像的细节层作为CNN网络的输入,完成图像去雨环节。输入图像的基础层用作图像增强,提供额外图像信息,使最终的输出图像具有更大的锐度。

设含雨图像为I,干净图像为J。则两者分别分解为I=Idetail+Ibase;J=Jdetail+Jbase。
首先,低频基础层由Input图像(含雨图像I)经过一个低通滤波器得到,即Ibase层。
干净图像J经过同样的低通滤波器得到的低频基础层Jbase。实验发现,Ibase与Jbase都变得更加平滑,且相近程度很高。如下图:

(a)(b)分别为J和I;(c)(d)分别为Jbase与Ibase;(e)为Ibase与Jbase的差。

其次,高频细节层由原图像减去低频基础层得到。即,Idetail=I-Ibase;Jdetail=J-Jbase。高频细节层保留了更多图像细节。

(a)(b)分别为J和I;(c)(d)分别为Jdetail与Idetail。

可以发现Idetail同时保留了图像实体的细节轮廓和雨点的轮廓。因此,含雨图像I与干净图像J 的主要差异在于高频细节层。低频基础层无明显差异。
基于这一原理,文章指出只需要建立Idetail到Jdetail的非线性映射就能够实现去雨的目的。即,只用高频细节层参与CNN的训练即可。其训练的损失函数为:

其中,fw(…)表示网络权重为w的非线性映射。N代表N张输入图像。

文章指出了只在高频层训练模型相对于在原图像下训练模型有以下几点优势:1)原图像减去低频基础层后,高频细节层图像的大部分区域的值接近于0,变得更加稀疏。对于CNN网络来说,虽然参与训练的图像尺寸没变,但参与映射的范围变小了。因此,用高频细节层训练网络能够改善学习网络权重,同时占用更少的计算资源。2)用于高频细节层的稀疏性,训练CNN的收敛速度更快。3)图像增强的算法能够十分容易地嵌入到整体的网络架构中,使最终的输出图像的质量更高。

文章的CNN网络主要为2个隐藏层+1个图像重建层。
第一隐藏层:512个 16 × 16 × 3卷积核。
第二隐藏层:512个 1 × 1 × 512卷积核。
图像重建层:3个 8 × 8 × 512卷积核。
文章给出了卷积核的可视化图,以及各层的输出图像。如下:

其中,(e)为输入网络的高频细节层。(h)为网络的输出。
解释各层的作用:(c)为第一隐藏层的卷积核,(f)为第一隐藏层输出(只画了4个),其主要检测图像目标和雨点的边缘,如输出图像(f);(d)为第二隐藏层的卷积核,(g)为第二隐藏层输出(只画了4个),其主要完成区域的雨点消除,如输出图像(g);图像重建层将(g)融合输出无雨点图像(h)。

从中间分析看来,CNN的作用就是先检测雨点,然后再去除雨点。

图像增强:
图像增强算法能够很容易地嵌入到该网络架构中,即对低频基础层作图像增强,然后与高频细节层去雨后的图像相加,以得到最终的去雨输出图像。如下公式:

注意:为了强调图像细节,上式对高频细节层的输出乘上了2倍。

(d)是输出CNN的高频细节层,(e)是CNN高频层去雨的输出。
(f)是低频基础层 , (g)是图像增强后的低频基础层。


(a)是含雨输入图像,(b)是未采用图像增强算法的最终去雨图像,(c)是采用了图像增强算法后的最终去雨图像。

利用图像增强算法后能够提高图像的整体对比度,改善最终输出的视觉效果。

深度学习——DerainNet相关推荐

  1. 从2012年到现在深度学习领域标志成果

    2006年,Hinton 发表了一篇论文<A Fast Learning Algorithm for Deep Belief Nets>,提出了降维和逐层预训练方法,该方法可成功运用于训练 ...

  2. 各种优化算法公式快速回忆优化器-深度学习

    本文是Deep Learning 之 最优化方法系列文章的RMSProp方法.主要参考Deep Learning 一书. 整个优化系列文章列表: Deep Learning 之 最优化方法 Deep ...

  3. 卷积神经网络之卷积计算、作用与思想 深度学习

    博客:blog.shinelee.me | 博客园 | CSDN 卷积运算与相关运算 在计算机视觉领域,卷积核.滤波器通常为较小尺寸的矩阵,比如3×33×3.从这个角度看,多层卷积是在进行逐层映射,整 ...

  4. 矩阵的卷积核运算(一个简单小例子的讲解)深度学习

    卷积运算:假设有一个卷积核h,就一般为3*3的矩阵: 有一个待处理矩阵A: h*A的计算过程分为三步 第一步,将卷积核翻转180°,也就是成为了 第二步,将卷积核h的中心对准x的第一个元素,然后对应元 ...

  5. 深度学习优化函数详解(5)-- Nesterov accelerated gradient (NAG) 优化算法

    深度学习优化函数详解系列目录 深度学习优化函数详解(0)– 线性回归问题 深度学习优化函数详解(1)– Gradient Descent 梯度下降法 深度学习优化函数详解(2)– SGD 随机梯度下降 ...

  6. transformer bert seq2seq 深度学习 编码和解码的逻辑-重点

    参考文献: 详解从 Seq2Seq模型.RNN结构.Encoder-Decoder模型 到 Attention模型 [NLP]Attention Model(注意力模型)学习总结(https://ww ...

  7. 入门指南目录页 -PaddlePaddle 飞桨 入门指南 FAQ合集-深度学习问题

    入门指南目录页 -PaddlePaddle 飞桨 入门指南 FAQ合集 GT_Zhang关注 0.1012019.08.01 18:43:34字数 1,874阅读 795 Hi,欢迎各位来自Paddl ...

  8. 深度学习的分布式训练--数据并行和模型并行

    <div class="htmledit_views"> 在深度学习这一领域经常涉及到模型的分布式训练(包括一机多GPU的情况).我自己在刚刚接触到一机多卡,或者分布式 ...

  9. 1-1 机器学习和深度学习综述-paddle

    课程>我的课程>百度架构师手把手教深度学习>1-1 机器学习和深度学习综述> 1-1 机器学习和深度学习综述 paddle初级课程 王然(学生) Notebook 教育 初级深 ...

最新文章

  1. python远程登录linux命令,Python+requests通过paramiko远程登录Linux执行sh命令
  2. YTU 2917: Shape系列-3
  3. matlab中if语句的用法_if语句的基本用法
  4. Windows下安装配置SubVersion的简明步骤
  5. caged系统pdf_建筑行业单词中英文对照教材.pdf
  6. *P1108 低价购买 dp
  7. vuetify文件上传 file inputs
  8. 抖音直播带货攻略;直播前需要准备哪些设备丨国仁网络资讯
  9. 【云驻共创】华为云文字识别服务的体验之旅
  10. 【C++设计模式】建造者模式
  11. 【二〇二一·立春】读书笔记
  12. SSA静态单赋值概念理解
  13. linux的sssd服务,使用FreeIPA为SS信任用户在SSSD上设置默认登录Shell
  14. 如何把数字金额转换成中文大写
  15. 悟空问答死于知乎十周年
  16. 安装pyinstaller出错的解决办法及刷csdn访客数工具打包
  17. 【UML】——活动图
  18. 通配符SSL证书购买建议
  19. 数学之美读书感悟03
  20. 红队免杀培训第一章-不可执行的shellcode

热门文章

  1. 怎样解决在Word中插入公式后行距变宽了
  2. Java抢红包小程序
  3. SEO 网站页面SEO优化之页面title标题优化
  4. 发点实用的快捷键(mac
  5. 解决安装Electron缓慢问题
  6. spring版本冲突报错解决:引入dubbo包,排除dubbo依赖的低版本spring
  7. R、Rstudio详细安装教程(详细图文)
  8. 最小二乘法拟合圆心与半径
  9. 咸鱼CAD笔记—二维构图
  10. PD诱骗芯片_PD+QC快充取电原理