论文阅读:Unsupervised Diverse Colorization via Generative Adversarial Networks
这是一篇使用改进的Conditional GAN 来进行图像上色任务的论文,在多层中使用输入的灰度图像(GrayScale)作为条件信息对GAN的生成进行指导保证上色效果的真实性(reality), 同时在生成器的所有层中加入随机的噪声信息保证上色结果的颜色多样性(diversity)。
1、动机
作者提到, 以往的自动上色方法,无论是非参数式的(基于参考图像的)还是参数式的(基于大规模数据训练颜色预测模型)方法都有一个共同的目标,即通过输入的灰度值生成一张与原始图像尽可能相似的图像。这种思路的缺点在于对于不同的颜色目标可能具有相同的灰度值,所以这些模型在处理可能具有多个颜色的目标时,得到的颜色输出会是一个平均的结果,上色的多样性丧失了。
所以,为了防止灰色调的图像上色效果,作者采用了能够生成丰富生动图像的GAN模型来进行上色任务, 具体地使用Conditional GAN, 以灰度输入作为Conditional information。
2、架构
本文使用的Conditional GAN架构如图所示:
和常规的CGAN一致, 生成器G中将噪声输入 z 与条件输入 c 通过 G r a y ( z ∣ c ) Gray(z|c) Gray(z∣c) 得到输出, 判别器D中将上色图像与真实图像作为输入,输出判别得分score。
常规的生成式模型中的生成器都会采用一个Encoder-Decoder的类似于Unet的结构, 这样做的好处是能够节省计算量。但作者认为简单地采用Encoder-Decoder会造成空间信息(spatial information)的丢失, 这对于在细节上有较高要求的上色任务来说有较大缺点。因为下采样再上采样的方式允许模型提取全局的图像特征,这种方式更适合全局的图像转换任务,而在上色任务中, 常常需要精细的局部空间信息来指导生成,以保证目标边缘能够准确地被不同颜色分隔开。
因此,作者在生成器地所有部分使用步长为1(stride = 1)的卷积以保证空间信息不丢失。同时, 在之前的工作中表明,CGAN中的噪声信息在逐层传递的过程中极易消失,传统的做法都是引入dropout增加random, 但为了保证生成结果的颜色多样性,作者在生成器的前半部分都引入了噪声输入。另外,本文的模型在生成器的各个部分都引入了输入的灰度图作为条件信息指导生成,保证结果的真实性。
本文的模型结构如下所示:
3、对比实验
作者进行了三组对比实验:不同颜色通道、单层-多层噪声输入、单层-多层条件信息
3.1 颜色空间对比
本文中,作者进行了YUV 和 RGB 颜色空间的对比试验, 需要注意的是,使用YUV或LAB空间进行上色任务是较为常见的做法,因为其中的Y和L通道都代表了原始图像的亮度信息(lumination), 因此可以将Y或L通道作为灰度输入,而模型只需要预测另外两个颜色通道。当使用RGB空间时,三个通道都需要预测,而且还需让模型确保经过上色后的图像得到的灰度图像可以与原始的灰度图像匹配,因此需要加入额外的L1 Loss: G r a y ( G ( y , z ) ) = y Gray(G(y,z))= y Gray(G(y,z))=y
另外,对于RGB空间,其灰度图像是通过如下公示计算的:
G
r
a
y
(
x
)
=
0.299
r
+
0.587
g
+
0.114
b
Gray(x) = 0.299r + 0.587g + 0.114b
Gray(x)=0.299r+0.587g+0.114b
加入
L
1
L1
L1 损失后, 模型的损失函数变为:
G
∗
=
a
r
g
m
i
n
G
m
a
x
D
L
c
G
A
N
(
G
,
D
)
+
λ
L
L
1
(
G
)
G^* = arg\ \underset {G}{min}\ \underset{D}{max}L_{cGAN}(G,D)\ +\ {\lambda}L_{L1}(G)
G∗=arg Gmin DmaxLcGAN(G,D) + λLL1(G)
实验对比结果如下:
可以看到, 使用RGB空间的上色中,物体的边缘变化连续性较差(其实个人觉得并没有。。。), 另外由于额外的L1损失, 使用RGB颜色空间的训练变得不稳定。
3.2 单层噪声 vs 多层噪声
实验结果如下:
可以发现,使用多层noise输入,上色的色彩多样性较高。
3.3 单层条件信息 vs 多层条件信息
对比实验结果如下:
区别还是很明显的, 使用多层conditional information的效果不会出现色彩的不稳定。
4、评价
一般来说,图像的上色效果常常使用SSIM / PSNR等定量指标以及User study等定性方法进行评价, 但由于生成式模型固有的图像质量问题, 作者并没有使用定量的分析,而仅仅采用了Human Study的方式说明效果更好。
5、反思
作者的思路很清晰,但也存在的一些问题:使用GAN进行生成,计算量本就复杂,若依旧使用保持特征图尺寸的stride=1卷积,势必会进一步增加计算代价,这对于类似于ImageNet大型数据集上的训练来说更加困难。