深度学习——DRD-Net
CVPR2020原论文:Detail-recovery Image Deraining via Context Aggregation Networks
开源代码( tensorflow框架):https://github.com/Dengsgithub/DRD-Net
1.主要工作:提出了双分支去雨网络。一个分支为基于压缩激励机制(squeeze-and excitation ,SE)的雨残差估计网络,SE能够获取图像上下文特征信息以完成去雨;另一个分支为(structure detail context aggregation block ,SDCAB)图像细节恢复网络,恢复因去雨导致的图像细节损失。即,一个分支去雨,另一个分支恢复图像细节。
2.网络主体架构:
1)雨残差估计网络:
残差学习对于降噪、去雨等图像重建任务具有独特优势。这是因为一般的噪声图像都比重建图像更加稀疏。因此,残差学习不是直接得到重建图像,而是先学习得到噪声图像,然后由输入图像减去噪声图像(残差图像)得到重建图像。下图为残差网络结构图:
该网络将输入图像O映射输出为雨残差图像R。第一个红色块为卷积层,可理解成编码器,完成图像特征提取。中间为16层的雨残差块(蓝色)。最后两个红色块为卷积层,可以理解为解码器,生成雨残差图像。
雨残差图像损失函数计算MSE如下:
其中f(…)表示网络非线性映射。
该部分利用squeeze-and excitation (SE)获取图像上下文特征信息。文章将SE块融合到 残差连接中形成新的雨残差块(蓝色块)。雨残差块的具体结构如下:
虚线部分为SE块。
空间上下文信息是单幅图像去雨的有效信息。然而,在一般的卷积运算中,同一卷积层的不同特征通道是独立的,相关性很小。因此,文章将SE融合到残差连接中。由于SE可以模拟不同特征通道之间的相关性,我们可以通过赋予更大的权重来强化具有更多上下文信息的特征通道。相反,具有较少空间背景信息的特征通道被赋予较小的权重。在训练过程中,雨残差网络将自动学习不同通道的所有权值。
2)图像细节恢复网络:
第一个红色块为卷积层,可理解成编码器,完成图像特征提取。中间为16层的structure detail context aggregation block(SDCAB)块(橙色),其能够提取多尺度特征。最后两个红色块为卷积层,可以理解为解码器,生成细节恢复图像。structure detail context aggregation block块的结构如下:
同时为了使用更大的感受野去提取更多的上下文信息(有利于获取重建细节信息),文章在SDCAB块中嵌入了扩张卷积聚合层(DCCL)。如上图所示,DCCL采用了三种扩张卷积层,扩张因子分别为1,3,5。因此,其具有提取多尺度特征的能力。为了丰富特征信息,将三种扩张卷积的特征进行融合,然后用1*1Conv降维,最后得到DCCL的输出。
该部分的损失函数依旧计算MSE:
其中g(O)表示含雨图像经过细节重建网络后得到的细节图像。去雨图像(Ip,i)=含雨图像(O)-雨纹图像(R)。Ii是去雨图像的ground truth。该损失函数相当于去雨图像减掉ground truth,再加上获取的图像细节。
3.总损失函数:
总损失函数是两个分支网络损失函数的加和,其中λ为权重值。
深度学习——DRD-Net相关推荐
- 从2012年到现在深度学习领域标志成果
2006年,Hinton 发表了一篇论文<A Fast Learning Algorithm for Deep Belief Nets>,提出了降维和逐层预训练方法,该方法可成功运用于训练 ...
- 各种优化算法公式快速回忆优化器-深度学习
本文是Deep Learning 之 最优化方法系列文章的RMSProp方法.主要参考Deep Learning 一书. 整个优化系列文章列表: Deep Learning 之 最优化方法 Deep ...
- 卷积神经网络之卷积计算、作用与思想 深度学习
博客:blog.shinelee.me | 博客园 | CSDN 卷积运算与相关运算 在计算机视觉领域,卷积核.滤波器通常为较小尺寸的矩阵,比如3×33×3.从这个角度看,多层卷积是在进行逐层映射,整 ...
- 矩阵的卷积核运算(一个简单小例子的讲解)深度学习
卷积运算:假设有一个卷积核h,就一般为3*3的矩阵: 有一个待处理矩阵A: h*A的计算过程分为三步 第一步,将卷积核翻转180°,也就是成为了 第二步,将卷积核h的中心对准x的第一个元素,然后对应元 ...
- 深度学习优化函数详解(5)-- Nesterov accelerated gradient (NAG) 优化算法
深度学习优化函数详解系列目录 深度学习优化函数详解(0)– 线性回归问题 深度学习优化函数详解(1)– Gradient Descent 梯度下降法 深度学习优化函数详解(2)– SGD 随机梯度下降 ...
- transformer bert seq2seq 深度学习 编码和解码的逻辑-重点
参考文献: 详解从 Seq2Seq模型.RNN结构.Encoder-Decoder模型 到 Attention模型 [NLP]Attention Model(注意力模型)学习总结(https://ww ...
- 入门指南目录页 -PaddlePaddle 飞桨 入门指南 FAQ合集-深度学习问题
入门指南目录页 -PaddlePaddle 飞桨 入门指南 FAQ合集 GT_Zhang关注 0.1012019.08.01 18:43:34字数 1,874阅读 795 Hi,欢迎各位来自Paddl ...
- 深度学习的分布式训练--数据并行和模型并行
<div class="htmledit_views"> 在深度学习这一领域经常涉及到模型的分布式训练(包括一机多GPU的情况).我自己在刚刚接触到一机多卡,或者分布式 ...
- 1-1 机器学习和深度学习综述-paddle
课程>我的课程>百度架构师手把手教深度学习>1-1 机器学习和深度学习综述> 1-1 机器学习和深度学习综述 paddle初级课程 王然(学生) Notebook 教育 初级深 ...
- 深度学习的Xavier初始化方法
在tensorflow中,有一个初始化函数:tf.contrib.layers.variance_scaling_initializer.Tensorflow 官网的介绍为: variance_sca ...
最新文章
- 阿里巴巴硅谷 Istio 专家解读Istio 1.0 发布
- pmcaff2013产品经理时尚文化屌丝style--马克杯投票。
- [No0000142]Outlook通过添加签名 自动添加邮件模板
- iOS10 NSURLErrorDomain Code 1200
- DFS——深度优先搜索基础
- ​听说,私有云也出新一代了?
- qq邮箱如何在win10邮箱连接到服务器,win10系统下邮箱怎么添加qq邮箱
- 通过elasticsearch对日志进行搜索热词统计
- PAT 7-14 公路村村通
- 利用jackson-dataformat-xml包中的XmlMapper类将xml解析成实体类对象
- 计算机对写字教学的冲淡,不断改进评价方法努力促进写字教学
- Android外挂开发探索
- 画图软件Java实现(面向对象程序设计)
- 一.关于实现浏览器弹窗提示内容几秒后自动消失重定向执行其他函数的两种方法
- 电气控制电路图——(1)识读
- 万卷书 - 21世纪的投资 21st Century Investing
- 英语写作中的一些缩写
- 微信朋友圈数据库模式如何设计的?
- 【后端】MySQL数据库体系(一)
- 【软件构造】--Java中的协变与逆变
热门文章
- 反素数java_【Java自学】 反素数
- 显示器点距 测试软件,显示器各尺寸点距一览
- 数据结构第二章 线性表
- 数据分析应学习逻辑思维及分析方法
- PAT 甲级1003 Emergency 题解
- 数据结构-二叉树-详解
- 亲测用APICloud打包vue项目
- throw语句以及throw “error“ 和 throw new Error(“error“)的区别
- B端产品的特点及开发经验
- 【R图秀-3】——“全球和平指数”可视化