贡献
1.EnlighttenGAN是第一个成功地将不成对训练引入微光图像增强的工作。这样的训练策略消除了对成对训练数据的依赖,使我们能够使用来自不同领域的更大种类的图像进行训练。它还避免了过度匹配以前作品隐含依赖的任何特定数据生成协议或成像设备,从而显著提高了真实世界的通用性。
2.通过引入(1)全局-局部鉴别器结构来处理输入图像中的空间变化的光条件;(2)通过自特征保持丢失和自正则注意机制来实现自我正则化的思想,EnlighttenGAN获得了显著的性能。自律是我们模式成功的关键,因为在这种不成对的环境中,没有强大的外部监督形式可用。
网络架构
如上图所示,提出的方法采用以注意引导的UNet为生成器,并使用双重鉴别器来引导全局和局部信息。使用自特征保持损失来指导训练过程,并保持纹理和结构。
全局-局部鉴别器
采用对抗性损失最小真实图像和输出的标准光之间的距离。图像级的原始鉴别器在空间变化的光线图像上经常失败,如果输入图像具有一些需要与其他部分不同地增强的局部区域,例如,整体暗背景中的微小明亮区域,则仅靠全局图像鉴别器通常不能提供所需的自适应性。
为了提高全局光照的同时自适应地增强局部区域,提出呢一种新颖的全局-局部鉴别器结构,两者都使用PatchGAN进行真假鉴别。除了像素级全局鉴别器,还增加了局部鉴别器,从输出图像和真实图像中随机裁剪局部块,并学习区分它们是来自真实图像,还是来自增强的输出。这种全局-局部结构确保了增强图像的所有局部块看起来都像真实的普通光线图像,这被证明是避免局部曝光过多或曝光不足的关键。
此外,对于全局鉴别器,利用相对论鉴别器结构,该结构估计真实数据比假数据更真实的概率,并指导生成器合成比真实图像更真实的假数据。相对论鉴别器的标准函数是:
D
R
a
(
x
r
,
x
f
)
=
σ
(
C
(
x
r
)
−
E
x
f
∽
P
f
a
k
e
[
C
(
x
f
)
]
)
(1)
D_{R_a}(x_r,x_f)=\sigma(C(x_r)-\mathbb{E}_{x_f\backsim\mathbb{P}_{fake}}[C(x_f)])\tag{1}
DRa(xr,xf)=σ(C(xr)−Exf∽Pfake[C(xf)])(1)
D
R
a
(
x
f
,
x
r
)
=
σ
(
C
(
x
f
)
−
E
x
r
∽
P
r
e
a
l
[
C
(
x
r
)
]
)
(2)
D_{R_a}(x_f,x_r)=\sigma(C(x_f)-\mathbb{E_{x_r\backsim\mathbb{P_{real}}}}[C(x_r)])\tag{2}
DRa(xf,xr)=σ(C(xf)−Exr∽Preal[C(xr)])(2)
其中
C
(
⋅
)
C(\cdot)
C(⋅)表示鉴别器网络,
x
r
x_r
xr和
x
f
x_f
xf是鉴别器中的真实和伪造样本。
σ
\sigma
σ表示sigmoid函数。这里修改了相对论判别器,用最小二乘损耗代替Sigmoid函数。最后,全局鉴别器D和生成器G的损失函数是:
L
D
G
l
o
b
a
l
=
E
x
r
∽
P
r
e
a
l
[
(
D
R
a
(
x
r
,
x
f
)
−
1
)
2
]
+
E
x
f
∽
P
f
a
k
e
[
D
R
a
(
x
f
,
x
r
)
2
]
(3)
\mathcal{L}_D^{Global}=\mathbb{E}_{x_r\backsim\mathbb{P}_{real}}[(D_{Ra(x_r,x_f)}-1)^2]+\mathbb{E}_{xf\backsim\mathbb{P}_{fake}}[D_{Ra}(x_f,x_r)^2]\tag{3}
LDGlobal=Exr∽Preal[(DRa(xr,xf)−1)2]+Exf∽Pfake[DRa(xf,xr)2](3)
L
D
G
l
o
b
a
l
=
E
x
f
∽
P
f
a
k
e
[
(
D
R
a
(
x
f
,
x
r
)
−
1
)
2
]
+
E
x
r
∽
P
r
e
a
l
[
D
R
a
(
x
r
,
x
f
)
2
]
(4)
\mathcal{L}_D^{Global}=\mathbb{E}_{x_f\backsim\mathbb{P}_{fake}}[(D_{Ra(x_f,x_r)}-1)^2]+\mathbb{E}_{xr\backsim\mathbb{P}_{real}}[D_{Ra}(x_r,x_f)^2]\tag{4}
LDGlobal=Exf∽Pfake[(DRa(xf,xr)−1)2]+Exr∽Preal[DRa(xr,xf)2](4)
对于局部鉴别器,每次从输出图像和真实图像中随机裁剪5块。这里采用了原来的LSGAN作为对抗性损失,具体如下:
L
D
L
o
c
a
l
=
E
x
r
∽
P
r
e
a
l
−
p
a
t
c
h
e
s
[
(
D
(
x
r
)
−
1
)
2
]
+
E
x
f
∽
P
f
a
k
s
e
−
p
a
t
c
h
e
s
[
(
D
(
x
f
)
−
0
)
2
]
(5)
\mathcal{L}_D^{Local}=\mathbb{E}_{x_r\backsim\mathbb{P}_{real-patches}}[(D(x_r)-1)^2]+\mathbb{E}_{x_f\backsim\mathbb{P}_{fakse-patches}}[(D(x_f)-0)^2]\tag{5}
LDLocal=Exr∽Preal−patches[(D(xr)−1)2]+Exf∽Pfakse−patches[(D(xf)−0)2](5)
L
D
L
o
c
a
l
=
E
x
r
∽
P
f
a
k
e
−
p
a
t
c
h
e
s
[
(
D
(
x
f
)
−
1
)
2
]
(6)
\mathcal{L}_D^{Local}=\mathbb{E}_{x_r\backsim\mathbb{P}_{fake-patches}}[(D(x_f)-1)^2]\tag{6}
LDLocal=Exr∽Pfake−patches[(D(xf)−1)2](6)
自特征保持损失
为了限制知觉上的相似性,通过采用预先 训练的VGG对图像之间的特征空间距离进行建模,提出了知觉损失的概念。
本文中将限制输入微光和增强的法线光输出之间的VGG特征距离。在增强前后将图片特征保留给自身。
L
S
F
P
(
I
L
)
=
1
W
i
,
j
H
i
,
j
∑
x
=
1
W
i
,
j
∑
y
=
1
H
i
,
j
(
ϕ
i
,
j
(
I
L
)
−
ϕ
i
.
j
(
G
(
I
L
)
)
)
2
(7)
\mathcal{L}_{SFP}(I^L)=\frac{1}{W_{i,j}H_{i,j}}\sum_{x=1}^{W_{i,j}}\sum_{y=1}^{H_{i,j}}(\phi_{i,j}(I^L)-\phi_{i.j}(G(I^L)))^2\tag{7}
LSFP(IL)=Wi,jHi,j1x=1∑Wi,jy=1∑Hi,j(ϕi,j(IL)−ϕi.j(G(IL)))2(7)
其中,
I
L
I^L
IL表示输入微光图像,
G
(
I
L
)
G(I^L)
G(IL)表示生成器的增强输出。
ϕ
\phi
ϕ表示从VGG16提取的特征图,
i
i
i表示第
i
i
i个最大池化,
j
j
j表示它在第
i
i
i个最大池化层之后的第
j
j
j个卷积层。
对于局部鉴别器,从输入和输出图像中剪切的局部快被定义为相似的自特征保持损失
L
S
F
P
L
o
c
a
l
L_{SFP}^{Local}
LSFPLocal来正则化。此外,为了稳定训练,在VGG特征映射后添加了一个实例归一化层,然后将器送入
L
S
F
P
L_{SFP}
LSFP和
L
S
F
P
L
o
c
a
l
L_{SFP}^{Local}
LSFPLocal。总的损失函数可写为:
L
o
s
s
=
L
S
F
P
G
l
o
b
a
l
+
L
S
F
P
L
o
c
a
l
+
L
G
G
l
o
b
a
l
+
L
G
L
o
o
c
a
l
(8)
Loss=\mathcal{L}_{SFP}^{Global}+\mathcal{L}_{SFP}^{Local}+\mathcal{L}_G^{Global}+\mathcal{L}_G^{Loocal}\tag{8}
Loss=LSFPGlobal+LSFPLocal+LGGlobal+LGLoocal(8)
自注意引导的UNet生成器
提出了一种简单易用的UNet生成器注意力机制。在光线条件不同的弱光图像中,我们希望增强暗区域而不是亮区域,这样输出的图像既不会过度曝光,也不会出现曝光不足。取输入RGB图像的光照通道I,将其归一化为[0,1],然后使用1-I(逐元素差分)作为我们的自正则注意图。然后,调整关注图的大小以适应每个特征图,并将其与所有中间特征图以及输出图像相乘。
该注意力引导UNet生成器是用8个卷积块实现,每个块由两个3x3卷积层组成,其后是LeakyReLu和归一化层。在上采样阶段,用一个双线性上采样层加一个卷积层来替代标准的反卷积层,以减少棋盘状伪影。