【论文笔记2019-03-22】Unsupervised Sin
本文只针对文章中提出的具体方法做梳理,实验结果等不在此贴出。
1.雾霾模型(Haze Model):
(1)
是最终得到的雾霾图像;
是没有雾霾的清晰图像;
是全球大气光成分,分为RGB三个通道;
是透射率,它与视景深度
相关。去霾问题可以描述为:在已知
的情况下,获得上式中的
。那就必须解一个含有
个方程的方程组,这个方程组有
个未知数
。方程数量小于未知数个数,因此需要额外的先验知识。
2.暗通道先验(Dark Channel Prior):一个图像的暗通道定义为:
(2)
其中,表示彩色图像的每个通道,
是中心在
的小图像窗口。
实际生活中造成暗原色中低通道值主要有三个因素:(1)阴影:汽车、建筑、树木等;(2)彩色物体:也就是其中一个通道占主导,其余通道为零,比如,红花、绿树、蓝海;(3)天然暗色的物体,比如:树干和石头。
假设已知,且在一个小的图像窗口内,透射率
可以认为是常数。对(1)式稍作处理:
(3)
暗通道理论指出:,则(3)式两端求两次最小值运算,并引入修正因子
,以保证在去雾的时候保留一定的雾,通常
取0.95:
(4)
3.(Soft Matting):
(1)式中的雾霾模型和《A closed form solution to natural image matting》中的image matting组成模型很相似,
(5)
其输出图像是一个前景图像与背景图像的凸线性组合,受控于。用
替换
(6)
式(6)的第一项有利于成功抠图,第二项代表暗通道的保真度。确定二者之间的关系程度,
可以取
。
是类拉普拉斯矩阵,
(7)
(8)
和
是以像素点
为中心的小图像窗口
处的两个像素点。
常取
。
,
是图像窗口的均值和协方差。
是单位矩阵。平滑系数
取
。
4.损失函数的实现(Implementation as a loss function)
将(6)式中的第一项可以通过拉普拉斯矩阵分解改写成更为Tensor-friendly的格式,
(9)
可以将这项连同保真项一起向量化:
(10)
代表按元素相乘;
;
。
可以基于式(10)的损失函数来训练网络参数。这一问题就转化为基于只包含雾霾图像的训练集
:
(11)
是图像数。损失模块的输入输出图如图:

5.计算场景辐射
网络一旦训练完成,新雾霾图像的传输映射能够通过前向运算得到。这样是通过雾霾模型(1)来恢复场景辐射,
(12)
其中,是为了避免分母为零,取
。为了恢复丢失的
,采取了文献《Single image haze removal using dark channel prior》中的方法。首先在雾霾图像的暗通道中,剔出
最亮的像素。然后,选取剩余像素中最亮的像素。 这就是最终选出的
。
6.架构
受《Multi-scale context aggregation by dilated convolutions》文中的CAN网络思想启发,提出了Dilated Residual Network。和CAN相似,保持每个层的分辨率与输入和输出图像的分辨率保持一致。为了获得较为精确的预测值,文中避免了池化层和上采样,而是采用了具有指数型扩张因子的扩张卷积来增加接收场(receptive field)。在每个扩张卷积层之间增加了两个普通的卷积层,来获得更为丰富的非线性表示。

文中的网络由6个扩张残差模块串联而成;每个层由两个常规卷积层和一个扩张卷积层组成。从这个模块到下一个模块,扩张因子增加两倍。每个卷积层的滤波尺度都是。所有的常规卷积层都跟随着batch normalization和ReLU nonlinearity,扩张卷积层只跟随着batch normalization。最终层是传输映射输出尺寸的线性变换。为了改善梯度流,并将更好的细节传输到输出端,文中在每个block的输入和输出之间添加了额外的Resnet式的跳跃连接。跳跃连接是每个block的输入和输出之间的简单相加。