Paper | Dynamic Residual Dense Network for Image Denoising
发表于2019 Sensors。这篇文章的思想可能来源于2018 ECCV的SkipNet[11]。
没开源,和SkipNet基本一致,没什么创新点。
1. 故事
本文的改造对象是RDN。RDN由多个RDB组成,用于一般的图像恢复任务。但是,RDN只能用于单一水平的噪声【设计初衷是非盲的】。作者希望在RDN的基础上实现两个目标:
能够盲去噪。
能够根据输入噪声的程度,动态调整RDB数量(同一RDN种跳过的RDB数量)。
作者声称,DRDN(dynamic residual dense network)能够超越RDN性能,同时计算成本下降40-50%。在盲去噪任务上,DRDN在真实噪声基准上超越了CBDNet 1.34dB。
2. 动机
作者首先探究了RDN为什么能取得如此好的性能。有以下几点关键原因:
RDB结合了residual block和dense block。前者让特征在RDB之间具有连续记忆性 并且 让深度网络训练更简单,后者可以让多尺度特征得以利用【可能是同时利用low-level、mid-level和high-level特征的意思】。全局还有一个短连接。
RDN会融合来自所有RDB的信息(global feature fusion)。这是一种深监督,虽然其后跟着一个\(1 \times 1\)卷积。
作者考虑了相似的ResNet。在[7,8]中指出,一些residual block对最终结果的贡献微乎其微。因此,RDN中的RDB同理。于是作者对所有RDB进行了可视化(所有通道求均值):
作者发现,红框圈出的特征图是非常相似的。因此,我们完全可以跳过一些RDB而不牺牲过多性能。
3. 做法
方法很简单:作者用一个RNN捕捉每一个RDB的信息,然后作为每个RDB的gate module,来决策 跳过 或 正常推理。如果预测的“重要性”低于给定阈值,那么就跳过该RDB。
如图:
大体上仍是一个RDN,但是其中的RDB换成了DRDB。
特征提取采用2层CNN,都有全局短连接,连接到后面的2层CNN重建。
DRDB参与深监督,即\(1 \times 1\)卷积融合。
3.1 DRDB
DRDB和RDB也是一致的,唯一不同的就是增加了gate模块。gate模块采用LSTM,其结构如图,很简单。
注意,在反向传播时,我们采用sigmoid函数(软判决),而在前向传播时,我们就采用硬判决(要么短连接要么通过)。反向传播不能使用硬判决,因为开关不可导。
在测试时,我们可以调整阈值跳过t,来交互式地调整去噪强度。该 阈值t 和 跳过的DRDB比例\(\lambda\) 大致有个正相关。作者用了一个线性方程来近似表征这一关系(式11),从而通过调整t来调整\(\lambda\)。
3.2 训练方法
分三步。但每一步的损失函数是相同的:
前者是L1损失,后者是所有门的输出概率(重要性)(\(S\)是sigmoid函数,\(v_d\)是第\(d\)个DRDB的FC层输出的向量)。我们希望参与门尽可能少,所以惩罚它。
我们首先要让整体网络和DRDB们收敛。此时让门函数恒输出1训练。同时,我们让系数\(\alpha = 0\)。
现在,我们仍然不惩罚重要性(\(\alpha = 0\)),但是让门函数自由输出。此时可能只有很少一部分DRDB会被跳过。
最后,我们设置\(\alpha = 1e-4\),开始惩罚DRDB的保留数量。此时会有更多的DRDB被跳过。
4. 实验
实验设置了20个DRDB,每个DRDB内部有6层卷积。其他设置略。
实验主要考量的是PSNR,SSIM和FLOPs。
虽然PSNR和SSIM可能不如改进的RDN(RDN+),但FLOPs远远小。作者解释:SSID中的数据光照强度差距很大,所以DRDN的动态性能发挥得淋漓尽致。
我们再看跳过率。
如图,越是后面的block,越频繁被跳过。作者解释是因为深监督的使用,导致前面的block会影响后面所有的block。
此外,作者还在另一个真实噪声数据集上进行了测试。该数据库给了噪声方差,因此评测时一些对比算法在非盲模型下进行,性能会更好。
其他数据库的我们就不看了。
我们最后看一下阈值t的选取对去噪强度的影响。如图:
跳过率过高或过低都不好。跳太多,图像噪声大;跳太少,图像模糊。其中的红框是DRDN自己选择的结果,而绿框是作者主观挑选的最佳结果。可见,二者相近。
作者进一步计算了跳过率与PSNR、SSIM的关系:
可见二者是非对称的。
【这里图或实验有问题。图中显示,全部跳过(不增强)时的PSNR,比完整增强(ratio=0)时的PSNR还高???再加上该算法未开源,使得本文具有了疑点】
Paper | Dynamic Residual Dense Network for Image Denoising的更多相关文章
- Paper | Residual Dense Network for Image Super-Resolution
目录 Residual dense block & network 和DenseNet的不同 摘要和结论 发表在2018年CVPR. 摘要和结论都在强调方法的优势.我们还是先从RDN的结构看起 ...
- Paper | Residual Attention Network for Image Classification
目录 1. 相关工作 2. Residual Attention Network 2.1 Attention残差学习 2.2 自上而下和自下而上 2.3 正则化Attention 最近看了些关于att ...
- Residual Attention Network for Image Classification(CVPR 2017)详解
一.Residual Attention Network 简介 这是CVPR2017的一篇paper,是商汤.清华.香港中文和北邮合作的文章.它在图像分类问题上,首次成功将极深卷积神经网络与人类视觉注 ...
- Hinton's paper Dynamic Routing Between Capsules 的 Tensorflow , Keras ,Pytorch实现
Tensorflow 实现 A Tensorflow implementation of CapsNet(Capsules Net) in Hinton's paper Dynamic Routing ...
- 【Paper】Deep & Cross Network for Ad Click Predictions
目录 背景 相关工作 主要贡献 核心思想 Embedding和Stacking层 交叉网络(Cross Network) 深度网络(Deep Network) 组合层(Combination Laye ...
- Paper | Deep Residual Learning for Image Recognition
目录 1. 故事 2. 残差学习网络 2.1 残差块 2.2 ResNet 2.3 细节 3. 实验 3.1 短连接网络与plain网络 3.2 Projection解决短连接维度不匹配问题 3.3 ...
- 读paper:Deep Convolutional Neural Network using Triplets of Faces, Deep Ensemble, andScore-level Fusion for Face Recognition
今天给大家带来一篇来自CVPR 2017关于人脸识别的文章. 文章题目:Deep Convolutional Neural Network using Triplets of Faces, Deep ...
- 【超分辨率】—(ESRGAN)增强型超分辨率生成对抗网络-解读与实现
一.文献解读 我们知道GAN 在图像修复时更容易得到符合视觉上效果更好的图像,今天要介绍的这篇文章——ESRGAN: Enhanced Super-Resolution Generative Adve ...
- DIN(Deep Interest Network of CTR) [Paper笔记]
背景 经典MLP不能充分利用结构化数据,本文提出的DIN可以(1)使用兴趣分布代表用户多样化的兴趣(不同用户对不同商品有兴趣)(2)与attention机制一样,根据ad局部激活用户兴趣相关的兴趣(用 ...
随机推荐
- Codeforces Round #602 (Div. 2, based on Technocup 2020 Elimination Round 3) D2. Optimal Subsequences (Hard Version) 数据结构 贪心
D2. Optimal Subsequences (Hard Version) This is the harder version of the problem. In this version, ...
- Codeforces Round #599 (Div. 2) B1. Character Swap (Easy Version) 水题
B1. Character Swap (Easy Version) This problem is different from the hard version. In this version U ...
- 基于Django的Rest Framework框架的分页组件
本文目录 一 简单分页(查看第n页,每页显示n条) 二 偏移分页(在第n个位置,向后查看n条数据) 三 CursorPagination(加密分页,只能看上一页和下一页,速度快) 回到目录 一 简单分 ...
- SQLite安装及使用教程
SQLite是一款轻型的嵌入式关系数据库,轻量级,效率高,操作起来也特别方便 我们今天来讲解一下SQLite的安装和一些基本操作 SQLite下载 如果是64位机,下载下面的两个解压就好 在dos界面 ...
- 读懂在单台机器上创建RabbitMQ集群
在优锐课java中了解有关在单台计算机上安装集群以及如何向集群添加更多节点的更多信息,码了很多专业的相关知识, 分享给大家参考学习. 如果你在单台计算机上设置群集时遇到问题,那么以下文章可能会帮助回答 ...
- python接口自动化11-pytest入门
前言 pytest是一个非常成熟的全功能的Python测试框架,适合从简单的单元到复杂的功能测试,主要特点有以下几点: 简单灵活,容易上手: 支持参数化: 能够支持简单的单元测试: 标记测试功能与属性 ...
- 《细说PHP》第四版 样章 第18章 数据库抽象层PDO 7
18.6 PDO对预处理语句的支持 在生成网页时,许多PHP脚本通常都会执行除参数外其他部分完全相同的查询语句.针对这种重复执行一个查询,但每次迭代使用不同参数的情况,PDO提供了一种名为预处理语句 ...
- 实验:用Unity抓取指定url网页中的所有图片并下载保存
突发奇想,觉得有时保存网页上的资源非常麻烦,有没有办法输入一个网址就批量抓取对应资源的办法呢. 需要思考的问题: 1.如何得到网页url的html源码呢? 2.如何在浩瀚如海的html中匹配出需要的资 ...
- C#上手练习5(GOTO语句)
C# goto 语句用于直接在一个程序中转到程序中的标签指定的位置,标签实际上由标识符加上冒号构成 语法形式如下. goto Labell; 语句块 1;Labell 语句块 2; 如果要 ...
- 配置文件_自定义section标签获取数据
前言:为了节约时间,先只粘贴关键代码: 1-添加section标签,name为自定义标签名称,type为:命名空间+类型,程序集名称 <section name="watchModel ...