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局部激活用户兴趣相关的兴趣(用 ...
随机推荐
- iptraf: command not found
在Linux上安装iptraf,然后执行命令时报错,iptraf: command not found 解决办法:iptraf-ng包的二进制文件是iptraf-ng.使用命令iptraf-ng即可 ...
- 【洛谷5072】[Ynoi2015] 盼君勿忘(莫队)
点此看题面 大致题意: 一个序列,每次询问一个区间\([l,r]\)并给出一个模数\(p\),求模\(p\)意义下区间\([l,r]\)内所有子序列去重后值的和. 题意转化 原来的题意看起来似乎很棘手 ...
- go get 获取被墙依赖包解决方法
前言: 随着 go1.11 的发布,go 官方引入了 go module 来解决依赖管理问题,go module 被集成到原生的 go cmd 中,但是如果你的代码库在$GOPATH中,go1.11 ...
- Python连载47-json文件、正则表达式初步
一.在线工具 1.https://www.sojson.com/ 2.http://www.w3cshool.com.cn/json/ 3.http://www.runoob.com/json/jso ...
- Mybatis框架模糊查询+多条件查询
一.ISmbmsUserDao层 //根据姓名模糊查询 public List<Smbms> getUser(); //多条件查询 public List<Smbms> get ...
- find与rm实现查找并删除目录或文件
linux 下用find命令查找文件,rm命令删除文件. 删除指定目录下指定文件find 要查找的目录名 -name .svn |xargs rm -rf 删除指定名称的文件或文件夹: find -t ...
- 用Python做个海量小姐姐素描图
素描作为一种近乎完美的表现手法有其独特的魅力,随着数字技术的发展,素描早已不再是专业绘画师的专利,今天这篇文章就来讲一讲如何使用python批量获取小姐姐素描画像.文章共分两部分: 第一部分介绍两种使 ...
- Java实现Mysql的 substring_index 函数功能
Java实现Mysql数据库中 substring_index函数 前言: 由于hive中没有这个 substring_index函数,所以就自定义一个udf函数来调用使用.(不通过hive使用时可以 ...
- Apollo的基本概念和集成实战
基本概念 使用场景 是一个分布式的配置中心.适用于微服务: 核心功能 集中管理不同环境,不同集群的配置: 配置修改后可以实时推送到应用端: 具备规范的权限,流程治理特性: 开发技术 服务端使用spri ...
- 多线程通信的两种方式? (可重入锁ReentrantLock和Object)
(一)Java中线程协作的最常见的两种方式: (1)利用Object的wait().notify()和notifyAll()方法及synchronized (2)使用Condition.Reentra ...