文章将暗图定义为以下降质过程:
I
L
=
I
D
+
I
+
f
(
I
,
I
D
)
=
I
D
+
ψ
(
I
D
,
I
)
I_L = I_D + I + f(I, I_D) = I_D + \psi (I_D, I)
IL=ID+I+f(I,ID)=ID+ψ(ID,I) 其中
I
L
I_L
IL为暗图,
I
D
I_D
ID为降质因素(亮度、噪声、色差等),
I
I
I为亮图,
f
(
I
D
,
I
)
f(I_D, I)
f(ID,I)为两者之间的综合反映导致的降质因素。将
I
+
f
(
I
,
I
D
)
I + f(I, I_D)
I+f(I,ID) 定义为
ψ
(
I
D
,
I
)
\psi (I_D, I)
ψ(ID,I)
文章进一步定义了从
I
L
I_L
IL到
I
I
I的复原过程,为:
I
=
ψ
−
1
(
I
L
−
ϕ
(
I
L
)
)
I = \psi^{-1}(I_L-\phi(I_L))
I=ψ−1(IL−ϕ(IL)) 其中
ϕ
(
I
L
)
\phi(I_L)
ϕ(IL)用来根据
I
L
I_L
IL预测
I
D
I_D
ID,是一个称为DeG的网络;
ψ
−
1
(
)
\psi^{-1}()
ψ−1()用来根据预测的
I
B
=
(
I
L
−
ϕ
(
I
L
)
I_B=(I_L-\phi(I_L)
IB=(IL−ϕ(IL)(对应了
ψ
(
I
D
,
I
)
\psi (I_D, I)
ψ(ID,I))预测
I
I
I,是一个称为ReG的网络。
如上图,基本的训练流程是原图先degrade,再refine。训练DeG时,用到了
D
l
o
w
D_{low}
Dlow 和
D
d
e
D_{de}
Dde 两个discriminator。
D
l
o
w
D_{low}
Dlow的正例是成对图像数据集中的暗图,负例是根据
I
L
I_L
IL生成的
I
D
I_D
ID和已有的一张亮图
I
r
e
f
I_{ref}
Iref(来自额外的单独的亮图数据集)来生成一张模拟暗图
I
L
,
r
e
f
I_{L, ref}
IL,ref(猜测是
I
L
,
r
e
f
=
I
r
e
f
−
I
D
I_{L, ref}=I_{ref}-I_D
IL,ref=Iref−ID,但如果是这样,这次模拟就忽视了前文提出的
f
(
I
,
I
D
)
f(I, I_D)
f(I,ID))
D
d
e
D_{de}
Dde的正例是
I
D
I_D
ID,负例是
D
e
G
(
I
L
,
r
e
f
)
DeG(I_{L, ref})
DeG(IL,ref),其实这里我也不太能理解这样一个discriminator的作用,如果按文章的写法似乎梯度并不从
I
L
,
r
e
f
I_{L, ref}
IL,ref传递到
I
D
I_D
ID,如果是这样G就是简单地从一张真图提取降质和从一张假图提取降质,还必须使得真假图提取的降质相同,但明显假图的分布并不适合用来提取正确的降质。
文章为DeG还加了一个基于KL散度的距离损失,用来使得真假图提取的降质相同。
上面的这些操作好像违背了我对Generator的认知,一般Generator不会以假图作为输入吧,除非有足够自信认为这些假图和真图具有一样的分布,但明显文章自己也说了并非如此,还有一个
f
(
I
,
I
D
)
f(I, I_D)
f(I,ID),那么是希望DeG能够把两个分布的输入映射到同一分布上去?总之怪怪的。