AI学习者 · 2021年10月26日

基于模型驱动的单图像去雨深度神经网络

A Model-driven Deep Neural Network for Single Image Rain Removal
paper link:https://openaccess.thecvf.com/content_CVPR_2020/papers/Wang_A_Model-Driven_Deep_Neural_Network_for_Single_Image_Rain_Removal_CVPR_2020_paper.pdf

github link:https://github.com/hongwang01/RCDNet

1 Background

  • 深度学习技术在单图去雨任务上取得了很好的性能,但是并没有足够的可解释性,且并没有很好的结合雨条纹的特征(连续、形状相似),针对这些问题,作者提出了一种模型驱动的网络。
  • 一张雨图中重复出现的雨条纹在局部上有着相似的特征:例如 形状、粗细、位置。因此可以利用这一先验来恢复图像,即问题转变成从这些局部的类似退化中估计出rainy kernel。虽然特定的场景中(说白了就是合成数据集),这种依赖于客观先验的假设相当work,但是在真实场景中,这种方法并不适应复杂、多样的雨条纹。因此作者提出将rain layer做一个分解,核心思路就是rain layer分解为雨核和雨图,rain layer可以由二者卷积而成。

2 Method

对于一张雨图,其形成可描述为:
image.png

微信图片_20211026101332.jpg

image.png

分解示意图,图片来自原论文

image.png

优化问题可以被表示为:

e736f5ed3bf88146f2b731ea7bd52eb.jpg

其中,是来自的张量,和是用于保留先验结构信息的正则项。

估计雨图M与背景B

作者采用一种多个重复的成对子网络组合来构成多阶段的架构设计,整体的架构设计在下一节解释,先解释一下单个阶段的成对子网络设计和网络设计后的解释性原理。

image.png

子网络示意图,图片来自原论文

上图中,估计雨图的部分即M-net,估计背景的部分即B-net,箭头指向对应的网络。通过求解优化问题表示式的二次逼近,雨图更新式可以表示为:
image.png
image.png
image.png

雨卷积字典网络

受low-level vision task比如反卷积、压缩感知和去雾等中利用的deep unfolding技术的启发,作者将上述方法的每个迭代步骤都展开作为相应的网络模块,从而构建多阶段迭代的可解释去雨网络。

image.png

整体框架图,图片来自于原论文

image.png

452a4b131ded545edf4c8da75c28a9f.jpg

image.png

1d969183e08f955459de467453f37a1.jpg

Loss function

作者采用了每个阶段学习的背景和雨层的均方误差作为训练目标函数:
4082bf523cbfdaad78e4cf2914f6ed9.jpg

指标结果

paper中展示了常用的几个数据集上的指标结果,指标非常不错。

image.png

指标对比图,图片来自论文原文

效果图展示

  • 合成数据集上:
    image.png
  • 真实雨图上:
    image.png

3 结论

作者提出了一种利用雨条纹的内在先验结构的可解释网络,网络中的每个模块都可以与求解模型中一一对应而实现,网络不再是黑盒子了,变成了每一模块都能观察、分析的白盒子~让人感觉眼前一亮,非常值得细细学习和分析。

文章转载于:GiantPandaCV
作者:Owen718

推荐阅读

更多嵌入式AI技术相关内容请关注嵌入式AI专栏。
推荐阅读
关注数
18838
内容数
1371
嵌入式端AI,包括AI算法在推理框架Tengine,MNN,NCNN,PaddlePaddle及相关芯片上的实现。欢迎加入微信交流群,微信号:aijishu20(备注:嵌入式)
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息