论文笔记:Deep Colorization
最近在关注图像上色(Image colorization)领域,这是一篇ICCV-2015的关于图像上色的文章,文章较老,但是作为一篇将深度学习引入图像上色的文章,仍旧值得学习。
1、本文的贡献
- 基于深度学习技术在大型数据集上的建模能力,提出了一个高质量的全自动上色方法。实验证明,本文提出的方法在图像生成质量与速度上都达到了先进水平。
- 从低到高细致地分析了信息丰富但具有辨别能力的图像特征描述符。
2、框架
首先,图像上色方法可以被分为基于用户指导的上色(Scribble-based colorization)和基于样本的上色(Example-based colorization)。
- Scribble-based colorization: 需要用户在待上色的灰度图像中提供彩色的Scribble(涂鸦?),然后通过最小二乘优化将涂鸦上的颜色信息传播到目标图像的其余部分。
- Example-based colorization: 需要一张参考图像,将参考图像的颜色迁移到待上色的灰度图像中。缺点在于上色效果依赖于提供的参考图像的匹配度,根据参考图像的来源又可分为:
- user-supplied example: 用户提供一张合适的参考图像,缺点在于寻找合适的参考图像比较困难;
- web-supplied example: 减少用户寻找参考图像的负担,使用大量的从互联网收集的相似图像进行训练。
本文基于Sun database进行训练,模型框架如下图所示:
具体的做法是针对一张训练集中的图像,将其转化到Lab空间, 然后分离L和ab通道,将L通道作为输入的灰度图像,ab作为模型的输出参考进行训练。训练时,对灰度图像中的每一个像素点使用三个层次的特征提取,形成128-dims的输入全连接网络,经过三层隐含层64-dims,再到输出层2-dims。
3、特征描述符
- Low-level patch feature : 以一个像素周围7x7的patch作为低层特征;
- Mid-level DAISY feature: DAISY 是用于图像密集匹配的描述符 32-dims;
- High-level Semantic feature: 以每个像素的语义标签作为高级描述符,47-dims(Sun database 共有47个语义类别)
由于直接将底层的patch特征与DAISY特征简单整合,生成的图像容易有潜在的伪影(artifacts),因此对生成的ab(Chrominance value 色度)与输入的灰度图像进行联合双边滤波。
4、实验结果
实验对Gupta[6] 等人提出的方法进行实验,实验发现该方法的鲁棒性不强,极度依赖于参考图像,而本文提出的方法由于在较大规模数据集上进行训练,鲁棒性较强。对比实验结果如下:
下图展示了本文方法在不同场景的上色效果:
5、局限性
-
模型的上色效果还是受到训练数据集的影响,实践中不可能用包含所有可能出现目标的超大型数据集进行训练
-
本文的模型基于场景的真实图像进行训练,无法对合成图像进行完美的上色。如下图:
6、思考
虽然作者说本文提出的方法是全自动的,但是并没有进行端到端的训练,而且也引入了语义分割作为高级的特征描述,在依赖于语义分割效果的同时也让训练变得更慢。另一个角度,作者使用简单的FC网络便实现了不错的上效果,非常具有启发性。