论文及代码详见:https://xiaohongliu.ca/GridDehazeNet/
目录
1. 摘要
文章提出了一种端到端可训练的CNN,即GridDehazeNet。GridDehazeNet包含三个模块:预处理模块,主干模块和后处理模块。可训练的预处理模块相比手工选择的预处理方法,可以产生具有更好的多样性和更有针对性的输入。主干模块在实现了一种新的基于注意力的多尺度估计,有效缓解了传统多尺度方法中经常遇到的瓶颈问题。后处理模块有助于减少最终输出中的瑕疵。
2. GridDehazeNet
2.1 网络结构
总体网络框架如下:
总体网络框架中的块的详细解释:
2.2. 通道注意力的特征融合
注意到整体框架中,许多地方将水平块的输出和竖直块的输出进行融合,即图中红色圆圈圈住A的地方。此处即为通道注意力的特征融合。融合机制可以定义如下:
F
^
i
=
a
r
i
F
r
i
+
a
c
i
F
c
i
\hat{F}^i=a^i_rF^i_r+a^i_cF^i_c
F^i=ariFri+aciFci
其中,
F
i
^
\hat{F^i}
Fi^代表
i
i
i通道融合后的结果,
F
r
i
F^i_r
Fri表示当前融合水平输入的第
i
i
i个通道,
a
r
i
a^i_r
ari表示当前融合水平输入的第
i
i
i个通道的融合权重,
F
c
i
F^i_c
Fci代表当前融合竖直输入的第
i
i
i个通道,
a
c
i
a^i_c
aci表示当前融合竖直输入的第
i
i
i个通道的融合权重。
2.3 损失函数
损失函数包括两部分:平滑 L 1 L_1 L1损失和感知损失。
2.3.1 Smooth L 1 L_1 L1 Loss
平滑
L
1
L_1
L1损失定义为:
L
S
=
1
N
∑
x
=
1
N
∑
i
=
1
3
F
S
(
J
^
i
(
x
)
−
J
i
(
x
)
)
L_S=\frac{1}{N} \sum^N_{x=1} \sum^3_{i=1} F_S(\hat{J}_i(x)-J_i(x))
LS=N1x=1∑Ni=1∑3FS(J^i(x)−Ji(x))
其中:
F
S
(
e
)
=
{
0.5
e
2
,
i
f
∣
e
∣
<
1
,
∣
e
∣
−
0.5
,
o
t
h
e
r
w
i
s
e
.
F_S(e) = \begin{cases} 0.5e^2, & if |e|<1, \\ |e|-0.5, & otherwise. \end{cases}
FS(e)={0.5e2,∣e∣−0.5,if∣e∣<1,otherwise.
平滑
L
1
L_1
L1损失函数的原理可以看别的博客。
2.3.2 Perceptual Loss
感知损失利用预训练模型,提去多尺度特征来量化结果和GT的视觉差异。本文用的是在ImageNet上预训练的VGG-16模型,从前三个阶段(即Conv1-2, Conv2-2,Conv3-3)的最后一层提取特征。
感知损失定义为:
L
P
=
∑
j
=
1
3
1
C
j
H
j
W
j
∣
∣
ϕ
j
(
J
^
)
−
ϕ
j
(
J
)
∣
∣
2
2
L_P = \sum^3_{j=1} \frac{1}{C_jH_jW_j}||\phi_j{(\hat{J})}-\phi_j{(J)}||^2_2
LP=j=1∑3CjHjWj1∣∣ϕj(J^)−ϕj(J)∣∣22
其中,
ϕ
i
(
J
^
)
\phi_i(\hat{J})
ϕi(J^)(
ϕ
i
(
J
)
\phi_i (J)
ϕi(J)),
j
=
1
,
2
,
3
j=1,2,3
j=1,2,3,为去雾结果
J
^
\hat{J}
J^(the ground truth
J
J
J)相关联的三个VGG-16的特征图。
C
j
C_j
Cj,
H
j
H_j
Hj,
W
j
W_j
Wj为
ϕ
i
(
J
^
)
\phi_i(\hat{J})
ϕi(J^)(
ϕ
i
(
J
)
\phi_i (J)
ϕi(J))的尺寸。
2.3.3 Total Loss
总的损失函数为:
L
=
L
S
+
λ
L
P
L = L_S + \lambda L_P
L=LS+λLP
其中
λ
\lambda
λ为调整两个损失相对权重的参数。本文设为
λ
=
0.04
\lambda = 0.04
λ=0.04。
3. 实验结果
4. 总结
本文提出了一个端到端可训练的CNN,名为GridDehazeNet,并展示了它在单幅图像去雾方面的竞争性能。由于其网络结构的通用性,GridDehazeNet有望适用于广泛的图像复原问题。