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局部激活用户兴趣相关的兴趣(用 ...
随机推荐
- Java连载52-单例模式的缺点以及抽象类
一.单例模式 1.单例模式的缺点:单例模式的类型没有子类,无法被继承. 例如:下面的例子,由于父类的构造方法是私有的,所以子类中的构造方法是无法创建的,因为它是引用父类的构造方法 package co ...
- Java连载41-this关键字其他注意事项、static方法
一.this关键字 1.this在多数情况下都会省略 2.this不能用在含有static的方法之中. 3.static的方法的调用是不需要对象的,直接使用格式:类名.方法名:没有当前对象,自然不能访 ...
- Windows下怎么执行shell脚本
1.在windows下想要执行shell脚本,需要使用到"Git Bash",所以我们需要先安装Git. 2.查看Git环境变量是否配置,没有配置需要配置(我这里安装Git时自动配 ...
- bootstrap去除自带15px内边距,去除container 15px padding
壹 ❀ 问题 在使用bootstrap时,由于bootstrap槽宽特性,我们在布局时会发现container以及col-**-**左右都会自带15px的padding,有时候空间不足就想着怎么把b ...
- VMware下扩展Ubuntu根分区大小
一.查看磁盘信息 使用df命令用来查看文件系统的磁盘空间占用情况,由下可知我的/dev/sda1分区是挂载在根目录下的,本文目标就是来扩容/dev/sda1分区. 二.下载Gparted工具 Gpar ...
- PHP面试常考之设计模式——建造者模式
建造者模式 介绍 建造者模式又名生成器模式,是一种对象构建模式.它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象. 建造者模式是一步一步创建 ...
- 简单探讨一下.NET Core 3.0使用AspectCore的新姿势
前言 这几天在对EasyCaching做支持.net core 3.0的调整.期间遇到下面这个错误. System.NotSupportedException:"ConfigureServi ...
- SQL Server内部如何管理对象的数据Page?
一个表或Index使用的数据页空间是由IAM Page Chain来管理的.SQL Server 使用一个IAM(Index Allocation Map)Page来管理数据库文件中最多4GB的空间, ...
- Python 爬取大众点评 50 页数据,最好吃的成都火锅竟是它!
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 胡萝卜酱 PS:如有需要Python学习资料的小伙伴可以加点击下方链 ...
- Android studio down 的项目中文出现 乱码
发现down的项目file->open找到文件夹打开,里面少很多东西,像build.grade(好像拼错了). 这个问题是要file->import progect找到文件夹打开,as会自 ...