Colorful Image Colorization
- 简介
这是一篇对黑白图片进行上色的论文,论文提出了一个新颖的思路用来处理颜色空间,对以后在深度学习中处理颜色变换的任务有指导和借鉴的意义。本文对论文中的方法做一个简要的介绍。 - 方法
传统的图像重建方法是对真值(ground truth)和模型预测的结果取L2范式来指导模型的学习,但作者认为在着色这个任务中, L2范式训练的模型是对所有可能的颜色求平均,导致预测的结果饱和度不够。作者另辟蹊径,把着色的回归任务变成了一个分类任务,并做了比较多的工作。
2.1 量化
论文是在Lab颜色空间做处理,L作为输入,预测ab。在构建训练数据时,论文中将每个像素的a,b量化到313个区间,每一个区间有一个中心(a, b)。量化方法是:将待量化的a,b与每个区间的中心a,b计算距离,然后对这些距离的平方做类似softmax的处理变成概率,作者称之为soft-encoding,encoding结果作为该a,b的量化结果。Soft-encoding的代码:
wts = np.exp(-dists2/(2 * sigma2))
wts = wts / np.sum(wts)
其中dists是当前a,b与每个区间的中心a,b计算的距离,sigma是方差,论文中取5。
2.2 权重
作者在1千300万张图片数据上统计发现,低饱和度的颜色数量非常大,如果忽视这种情况,训练的模型的输出依然是低饱和的图片。因此需要通过权重来使得类尽可能的均衡。权重的计算方法是:统计训练图片a,b量化后的分布(只取距离最近的),对分布使用高斯函数进行平滑,平滑后的分布的倒数即可作为权重。这里作者在加权重和不加权重上做了个折中,可以理解为最后的损失有2部分,一部分是没有乘权重的,另一部分是乘了权重的。论文通过在计算的权重上加一个均匀分布来实现这种折中。
2.3 解码
模型对于每个位置输出313个可能颜色的概率,用所得的概率对313个区间的中心加权求和可得到最终的颜色。论文中通过实验发现,如果直接用模型输出的概率计算颜色,颜色饱和度会比较低;如果只选取最大的概率的区间所表示的颜色,整个图片会不连续。作者通过下面这个公式来调整模型输出的概率,然后用改变后的概率对区间中心加权求和得到最终的颜色:
Z是模型输出的概率,实验结果显示T=0.38时结果比较好。
参考:https://zhuanlan.zhihu.com/p/105658687