The Visual Computer 2018
Shengdong Zhang, Fazhi He, Wenqi Ren, Jian Yao
简介
文章通过无雾图像细节和透射图的联合估计来进行去雾操作。其中无雾图像细节由文章提出。并且使用全局正则化来消除光晕和伪影。
Motivation
文章将大气散射模型公式从:
变为:
文章又将无雾图像细节和有雾图像细节
以及
和
定义为:
其中和
代表有雾图像和无雾图像到大气光图像的距离。
在过去的一些方法中,一般为通过估计传输图来获得去雾结果。最近也有某个算法使用估算无雾图像细节来获得去雾结果。
但文章认为,它们都缺乏对无雾图像细节和传输图之间的关系的考虑,可以用公式重写为:
并且在何凯明的DCP中,有,
,
在RGB颜色空间中是共面的,它们的端点是共线的这一前提假设,那么基于该假设可以获得:
其中表示RGB三个通道。
文章举了一个例子,以说明为什么估计t在去雾过程中容易造成偏差:
假设某个像素点具有的透射率,
的像素值和
的大气光值,可以得到相应的去雾结果为
。
假设在估计t的过程中造成了的误差,即透射率估计为0.3和0.1。那么能够得到相应的去雾结果为
和
。容易看出其误差超过了0.1。
但如果换成估计无雾图像细节就不存在该问题。因此可以认为当透射率小于0.3时,透射图中的小误差会放大去雾结果的误差。
Model
损失函数为无雾图像细节和传输图的损失。
文章算法的去雾结果在已知大气光值的情况下可以由无雾图像细节
计算得到。而直接使用无雾图像细节
会导致颜色失真和块状伪影。由于很难在无雾图像细节中对颜色失真和块状伪影进行修复,文章将无雾图像细节图使用公式8转换到了透射图,并在透射图上执行非局部正则化和引导滤波来优化结果。
非局部正则化
文章认为在有雾图像中具有相同颜色的两个像素在无雾图像中应具有相同的颜色。用公式表达:
但是这在深度学习上是无法进行反向传播的。
因此,为了实现全局正则化,文章使用像素投票的方式。对像素值为的所有像素点,其对应存在许多传输值,对于这些传输值,选择其众数作为像素值为
的所有像素点的传输值。再使用引导滤波器获得平滑的透射图。
文章对于大气光值的估计,使用了CNN网络。
经过非局部正则化和引导滤波以后的透射图,结合CNN网络估计的大气光值,可以通过大气散射模型得到去雾结果。
以下图(a)为例,文章展示了去雾过程中的各种图像的可视化:
- (a) 输入有雾图像
- (b) 初步估计的传输图
- (c) 没有经过引导滤波和非局部正则化的去雾结果
- (d) 经过引导滤波的去雾结果
- (e) 文章最终输出的去雾结果
- (f) 最终的传输图
- (g) 非局部正则化后的去雾结果
- (h) 经过引导滤波和非局部正则化的去雾结果
数据和训练
在数据的制作上,文章遵守两个假设:
- 传输图在局部是恒定的
- 图像的具体内容与传输图无关
数据制作流程:
- 从无雾图像中裁剪图像块
- 随机取10个透射图值和1个大气光值,合成相应的有雾图像块10块
- 其中图像块大小为32*32
数据集
-
训练集:indoorRGBD
-
测试集:来自文章[32]的数据集
训练设置
- 随机梯度下降训练网络
- 初始学习率为0.0001
- 批大小为64
- 动量为0.9
对比和测试
测试指标
- PSNR
- SSIM