【论文阅读】Deep Joint Rain Detection and Removal from a Single Image

论文发表于CVPR2017

为了更好地去除各种真实场景下的雨,包括大雨和雨线积累的情况(rain streak accumulation,单个的雨线无法看清,形成雾效),作者提出了新的雨图模型和去雨架构。

模型&架构

新:雨图模型

  • 加入binary map。在现有模型的基础上标出雨水的位置
  • 加入两个组件,表征雨线积累和各种形状、方向的雨水

原来公认的模型
在这里插入图片描述
O O O:带雨的输入图像
B B B:干净的背景层
S ~ \widetilde S S :雨水层
在原来的模型中,去雨被看做是两个信号分离的问题,基于背景层和雨水层各自的独特特征对其进行分离。

但这样做存在问题: S ~ \widetilde S S 在该公式中较为复杂,需要同时包含雨水位置和该位置上的密度信息。图像中不同区域的雨的疏密程度不同,很难给很多基于稀疏度的模型用统一的稀疏度对 S ~ \widetilde S S 进行建模;而不区分雨区和非雨区,也将造成非雨区过于平滑。

泛化的雨图模型
为了解决上述问题,作者在原有模型中加入了一个region-dependent的变量 R R R,表征单个雨线的位置。R即为binary map,1表示该像素点位于雨区内,0则反之。
在这里插入图片描述
这样做不但给网络学习雨区提供了额外的信息,而且有助于构建一个新的流水线:先检测雨区,再对雨区和非雨区进行不同操作。

针对大雨和雨累积的模型
上述模型描述了局部的单个雨线,但在大雨和雨累积这种雨水密集的情况下,单个雨线是无法看清的,特别是图中远处的场景会异常模糊。

为适应这样的场景,作者又提出了新模型,包含多层雨线:
在这里插入图片描述
S ~ t \widetilde S_{t} S t:表示一层拥有相同方向的雨线,对不同方向雨线求和,则得到贴近真实场景的效果
α \alpha α:传输率,在大气散射中的成像模型中表示该点的光强被衰减之后,进入成像设备的比例
A A A:环境光
加入传输率和环境光后,该模型可以表示图像中因雨累积造成的雾效。此外,这种雾效是在不同方向的雨线模型的基础上建模的,因此可以分阶段解决雨累积和雨线去除。

新:架构

论文提出的去雨架构大致可看成是四个环环相扣的部分:

  • region-dependent model产生对雨水的描述,包括位置(binary map)、形状、方向等
  • contextualized dilated network提取特征,挖掘区域性情境信息,为检测雨水提供更好的表征
  • jointly detection and removal根据提取到的特征,先检测雨水位置,再估计雨线,最后提取出背景层,完成去雨
  • recurrent rain detection and removal network,将去雨视作多阶段任务进行循环操作,每个recurrence执行上述部分的操作
    在这里插入图片描述

情境空洞卷积网络Contextualized dilated network
实验证明,情境信息对自动识别和去除雨水十分有效。论文提出的该网络通过循环结构以及每个循环聚合三种不同空洞率下的卷积操作的方式,不断扩大感知野。

从模型图中可知,该网络首先将输入图像/上一个recurrence传来的特征转换到特征空间,再兵分三路,经过三个不同的卷积路径最后与输入进行合并,得到最终提取的特征。

感知野:CNN输出的特征映射上的像素点在原始图上映射的区域大小。计算公式为 ( o u t − 1 ) x S + ( k − 1 ) x ( d − 1 ) + k (out-1)xS+(k-1)x(d-1)+k (out1)xS+(k1)x(d1)+k。其中out,S,k,d分别为上一层的感知野,stride,该层卷积核的大小和空洞率。论文中三种路径的感知野分别为5x5, 9x9, 13x13。

Multi-task networks for jointly rain detection&removal
从模型图中可以看到, 给定输入雨图O,去雨的目标是根据泛化的雨图模型,对B,S,R进行参数估计。这里采用的是最大后验估计,B,S,R的后验知识通过网络习得并嵌入模型。

这三者的估计是相关的。从模型图中可以看到,基于情境空洞卷积网络提取到的特征 F t F_{t} Ft,R,S,B将会按照识别、估计、去雨的顺序被估计出来,并在每一步都利用之前产生的预测信息。实验证明这样的顺序和按顺序而非并行估计的方式效果最好。

Recurrent rain detection&removal
模型最后通过学习到表示O和B之间差异的残差T来进行去雨。
在这里插入图片描述
ϵ t \epsilon_{t} ϵt:预测的残差
在每次迭代中,预测的残差通过更新O和B不断地积累并传递到最终预测步骤中。最终的去雨预测图可用以下公式表示:
在这里插入图片描述

实验

作者利用新提出的雨图模型自行合成了一些数据,命名为Rain100L,Rain100H,并对提出的模型的四个变体进行实验。
在这里插入图片描述
JORDER-
在每个recurrence只有一个卷积路径,且没有进行空洞卷积

JORDER
多任务网络,解决泛化雨图模型描述的雨图的去雨问题。

JORDER-R
循环地去除针对大雨和雨累积的雨图模型描述的雨水。

JORDER-R-DEVEIL
去除雨累积效应。
根据针对大雨和雨累积的雨图模型,为了得到“包裹”在公式最内部的背景层B,按照顺序应该先去除最外端的雨累积效应,再去除其他雨线

但作者发现,如果将其作为第一步,会使得已经非常显眼的雨线变得更为突出,造成在下一步去除雨线时,这些雨线与其他雨线看上去很不一样

因此,作者提出三步走策略,streak removal-> rain accumulation removal-> streak removal,即先去一遍雨线,再进行雨累积效应的去除,最后再去一遍雨线。这是合理的,因为去除雨累积效应的步骤可以使得在第一阶段可能不够明显的雨线变得明显,然后在第三阶段将它们去除

雨累积效应的去除与其他两个步骤网络不同,与去雾类似,只基于情境空洞卷积网络进行一个recurrence

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
可以看到,专为去除雨累积效应设计的模型效果很好。

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
在单个图像去雾算法中,使用暗通道先验方法(matlab single image haze removal using dark channel prior)是一种常用的方法。 该方法利用了图像中的暗像素值数据来对图像中的雾进行估计和消除。在图像中,由于雾的存在,远处的物体会有较高的亮度减弱,而靠近观察点的物体则有较高的亮度增强。由于光照强度不均匀,较暗的像素通常代表空气中的雾浓度较低,而较亮的像素通常代表雾浓度较高。 暗通道先验方法的基本思想是,通过查找图像中的暗像素值,可以估计出该区域中的最小远景透射率。透射率是雾的浓度与雾气对光的散射强度之间的比例关系。通过估计最小透射率,可以推断出雾浓度的分布,从而进行雾的去除。这个估计过程可以通过计算图像每个像素点的一个小窗口内的最小像素值来实现。 具体的暗通道先验算法包括以下步骤: 1. 对输入的雾图像进行预处理,包括图像的亮度归一化和颜色空间转换。 2. 计算每个像素点对应的暗通道,即选择一个固定大小的窗口,在窗口内找到最小像素值。 3. 估计最小透射率,最常用的方法是使用暗像素值和其相应的原始像素值计算得到。 4. 通过估计的透射率和原始图像进行重建,可以得到去雾后的图像。 暗通道先验方法是一种简单但有效的去雾算法,可以在图像中消除大部分的雾效果,提高图像的清晰度和可见度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值