论文:Restoring An Image Taken Through a Window Covered with Dirt or Rain
首页:https://cs.nyu.edu/~deigen/rain/

傅雪阳首页:https://xueyangfu.github.io/
厦门大学智能数据分析与处理实验室:
https://xmu-smartdsp.github.io/

1. Restoring an image (ICCV 2013)

在我们拍摄照片的时候会遇到透过玻璃拍摄的场景,如窗户、车窗,或者透过玻璃自拍等,而玻璃上的污渍会影响照片的效果,这篇论文针对这类透过玻璃拍摄的照片,进行污迹或者雨渍的去除。

CNN结构同LeNet,函数表示:

xxx 表示N×M×3N × M × 3N×M×3的RGB输入图像,激活函数使用tanh,第一个卷积层使用“valid”填充,卷积核大小为16X16(果然年代久远,还有偶数的大卷积核);最后一层使用“full”填充,卷积核大小为8;中间使用1∗11*11∗1的卷积,通道数为512,共两个中间层(L=3)。所以:W1 :16X6X3X512,W2:1X1X512X512,W3:8X8X512X512。

损失函数采用输入标签和网络输出的MSE:

输入为64X64大小的图像块,输出大小为56X56,做MSE时,和GT中间56X56对应像素相减。采用随机梯度下降(SGD)更新可训练参数:

η\etaη为学习率,参数初始化使用均值为0,方差为0.001的正态分布,偏置b初始化为0,学习率衰减因子:0.001,不使用动量和权重正则化。

测试环境:Matlab + Nvidia GTX 580;耗时:3888 × 2592 彩色图像60s,1280 × 720彩色图像7s。

2. Clearing the Skies (TIP 2017)

论文主要借鉴上一篇文章的网络结构,设计了一个改进的单图像去雨CNN结构,主要改进点:

  • CNN映射有雨图和去雨图的细节层,而不是直接在原图建立映射关系。
  • 未将网络结构复杂化,而是通过雨滴先验知识进行图像预处理,改变了优化的目标函数。
网络结构

CNN结构函数表示:

作者把雨滴视为图像高频部分,通过低通滤波(引导滤波、双边滤波或者滚动滤波)将有雨图I和其无雨图标签J分别分为基础层和细节层:

基础层为平滑后的图像,有:Ibase≈JbaseI_{base} ≈ J_{base}Ibase​≈Jbase​,所以只需要建立两个细节层的映射关系即可,损失函数由原来预测图与标签图的MSE变为了:

训练时,参数设置同第一篇论文一致,输入64X64图像块,输出56X56大小图像,

图像增强处理

网络训练完成后,去雨结果图像可以直接通过以下运算得到:

但是在雨比较大的情况下,会出现雾的情况,影响视觉效果,所以对基础层和输出的细节层做了图像增强:

3. deep detail network (CVPR 2017)

论文在上一篇的基础上进行了进一步优化,设计了一个改进的单图像去雨CNN结构,主要改进点:

  • 建立真实图像和雨图之间的负残差映射,再次缩小映射范围,优化映射空间。
  • 使用残差结构,可以使用更深的网络建立映射关系,并通过先验知识,输入图像细节层。

CNN结构函数表示:

其中,

L为CNN总层数,*表示卷积操作,BN表示batch normalization,σ\sigmaσ表示激活函数ReLU,不使用池化操作。

利用引导滤波将雨迹图划分为细节层和基础层(同上一篇),

损失函数:

参数设置:层数L=26,优化器:SGD,权重衰减因子10−1010^{-10}10−10,动量0.9,batch size:20,初始学习率:0.1,迭代100K/200K时除以10,共迭代210K次,卷积核大小为3,个数为16。

4. Residual-Guide Network (ACM MM 2018)

同样采用负残差映射的思想设计了一个CNN单图像去雨网络ResGuideNet,主要贡献点:

  • 通过由浅入深的Block结构,获取由粗到细获取负残差输出。
  • 通过联合损失优化每个Block输出,根据集成学习的思想融合所有负残差输出。

CNN结构函数形式:

特征复用:通过密集连接复用每一个Block输出的负残差特征。

循环计算:如结构图左下角左下角所示,为平衡模型参数和性能,每个Block内部的两个卷积层采用循环计算的策略加深Block深度,函数表示:

为了避免结构加深带来的梯度消失的问题,将Block第一个 Conv+LReLU的输出加到每个子循环中:

块间融合:如结构图右下角所示:通过集成学习的思想将不同Block的预测结果concatenate在一起,最后通过1X1卷积得到最后的结果。

损失函数:对于每一个Block,采用L2L_2L2​+SSIM loss 损失函数:

M个Block和最后merge输出的总损失:

实验细节:环境:python + TensorFlow、NVIDIA GeForce GTX 1080(8GB),初始化:Xavier,优化器:RMSProp,初始学习率: 0.001,batch size:16,迭代次数:50000,每层卷积为:16个3X3,输出层卷积,3个1X 1。

5. Lightweight Pyramid Networks (T-NNLS 2019)

为了使去雨网络更轻量化,使其适用于移动设备,作者提出了轻量级的金字塔去雨网络LPNet,参数量少于8K,主要贡献:

  • 将传统的高斯-拉普拉斯金字塔运用到CNN中,使用一个参数量少的小网络可实现很好的结果。
  • 结合多尺度、循环计算和残差学习技术,在大雨场景下,也能很好地实现单图像去雨。

CNN结构函数形式:

a、构建拉普拉斯金字塔

b、特征提取网络

c、循环模块

d、重建高斯金字塔

作者之前提出方法(方案二、方法三)通过引导滤波将图像分解成基础层和细节层,运用细节层训练可以有效减小优化空间,但是引导滤波针对雨量比较厚的图像达不到很好的细节提取效果。于是,作者使用拉普拉斯金字塔将图像分解为不同尺度的图像金字塔,最后融合不同尺度图片的处理结果。

损失函数:

实验细节

5个尺度的拉普拉斯金字塔:[0.0625, 0.25, 0.375, 0.25, 0.0625]为构建高斯金字塔的固定平滑核。

所有子网络结构相同,卷积核个数不同,W0,1,3,4W^{0,1,3,4}W0,1,3,4卷积核大小为3x3,W^2卷积核大小为1,每个子网络循环block次数T = 5,激活函数LReLUs,参数为:0.2。

使用生成的雨图,包含大雨图像和小雨图像,输入大小80×8080 × 8080×80 图像块,Adam优化器,batch size为10,学习率:0.001,epoch为3。

想了解更多,请关注公众号:AI搞事情

从系列去雨论文看如何创新相关推荐

  1. 无监督去雨论文(二):Unsupervised Single Image Deraining with Self-supervised Constraints

    Unsupervised Single Image Deraining with Self-supervised Constraints [pdf] 本文可能是第一篇基于无监督深度学习的去雨算法.   ...

  2. 无监督去雨论文(一):DerainCycleGAN: Rain Attentive CycleGAN for Single ImageDeraining and Rainmaking

    DerainCycleGAN: Rain Attentive CycleGAN for Single Image Deraining and Rainmaking [pdf (short)] [TIP ...

  3. 论文创新,可以看看这几篇去雨文章是怎么做的

    (方法三首页demo) 相关资源 论文:Restoring An Image Taken Through a Window Covered with Dirt or Rain 首页:https://c ...

  4. CVPR 2021 论文大盘点-图像视频去雨篇

    本文继续总结图像处理相关论文,关注一类特殊的图像修补任务--视频.图像去雨,共计 10 篇. 大家可以在: https://openaccess.thecvf.com/CVPR2021?day=all ...

  5. CVPR 2023 | 去雨去噪去模糊,图像low-level任务,视觉AIGC系列

    Learning A Sparse Transformer Network for Effective Image Deraining 基于Transformer的方法在图像去雨任务中取得了显著的性能 ...

  6. ECCV 2020 论文大盘点-去雾去雨去模糊篇

    去雾.去雨.去模糊是三个不同的方向,之前的盘点:CVPR 2020 论文大盘点-去雨去雾去模糊篇 ,引起了不少朋友的兴趣. 本文盘点 ECCV 2020中去雾(Single Image Dehazin ...

  7. ECCV2020|图像重建(超分辨率,图像恢复,去雨,去雾等)相关论文汇总(附论文链接/代码/解析)

    转载自https://zhuanlan.zhihu.com/p/180551773 原帖地址: ECCV2020|图像重建/底层视觉(超分辨率,图像恢复,去雨,去雾,去模糊,去噪等)相关论文汇总(附论 ...

  8. 【论文笔记】使用多流密集网络的密度感知单图像去雨

    使用多流密集网络的密度感知单图像去雨 <Density-aware Single Image De-reaining using a Multi-stream Dense Network> ...

  9. 【论文分享】联合形态学滤波和卷积稀疏编码的图像去雨

    [论文分享]联合形态学滤波和卷积稀疏编码的图像去雨

最新文章

  1. Java 基础 之 continue和 break
  2. Hive学习之路 (九)Hive的内置函数
  3. SmartNIC/DPU — 基本组成示例
  4. android NDk编程
  5. P3243-[HNOI2015]菜肴制作【拓扑排序,优先队列】
  6. 全部关于测试–第1部分
  7. 我如何构建Kubernetes集群,以便我的同事可以更快地部署应用程序
  8. 如何在linux查找虚拟机主机号_Linux主机名如何重命名?
  9. linux的增删改查、压缩与解压缩
  10. 困难之下见证良心公司!!
  11. js之prototype、__proto__与constructor(图解)以及原型链
  12. DPDK分析——UIO
  13. 在业务控制方法中写入普通变量收集参数
  14. requests 职友集招聘信息爬虫
  15. 华为交换机sftp 配置
  16. python画xy轴_python画双y轴图像的示例代码
  17. 2019考研 | 天津大学计算机专硕复试131.25分考研经历与经验总结(复试)
  18. Sublime的tab键失效
  19. maven 解决Cannot access alimaven (http://maven.aliyun.com/nexus/content/repositories/central/)
  20. Qt实现气泡聊天的效果

热门文章

  1. php utf8 html字符,PHP:utf-8编码,htmlentities给出了奇怪的结果
  2. “数据挖掘世界杯”KDD Cup不取消!全球顶尖AI团队必争之地!
  3. python杂记-RSA加解密实现(4)-加解密消息及文件
  4. c++计算eigen随笔(8)-数组、矩阵、向量(1)
  5. 【学术相关】考研初试成绩出来了,然后呢...选导师!
  6. 【Python基础】一文搞定pandas的数据合并
  7. 【算法】图文并茂,一文了解 8 种常见的数据结构
  8. 分享一些面试中的经验和心得
  9. 0319互联网新闻 | 网易云课堂和中国大学MOOC并入网易有道;快手上线快手概念版...
  10. 【入门】WebRTC知识点概览 | 内有技术干货免费下载