标题 | 基于生成对抗网络的人脸灰度图上色 |
范文 | 李炬 摘要:生成对抗网络给深度学习领域引入了一种新的模型训练思想。基于这种对抗生成的思想设计了一种人脸灰度图上色模型, 其中包含一个特征图尺寸不变的卷积神经网络作为生成器和两方面代价函数。对整个网络进行端到端的训练, 以人脸灰度图作为直接输入, 在生成器的输出端为三通道的彩色图像, 在判别部分的输出端给出生成图像质量的评价。实验表明, 在一定的数据和迭代次数下所提方法是可行的, 所生成的图像也能有效保留原灰度图中的细节信息。 关键词:生成对抗网络;生成器;判别器;人脸图像;上色 中图分类号:TP183 文献标识码:A 文章编号:1009-3044(2018)11-0179-03 Gray-Scale Face Images Colorization Based on Generative Adversarial Network LI Ju (Department of Information Science and Technology, Chengdu 611756, China ) Abstract: Generative adversarial network has introduced a new training idea for deep learning. This work designed a model for colorization of gray-scale face images based on the idea of GAN. The model contains a convolutional network treated as generator with fixed size of feature maps and two aspects of cost functions. To achieve desired colorization, the model was trained end-to-end with gray-scale face images as input and extracted 3-channel colorful images at the output end of generator. Quality assessments for generated images can be obtained at the output end of discriminator. Experiments show that proposed method is practicable under a limited number of datum and iterations and generated images retaining effectively the details of input gray-scale images. Key words: generative adversarial network; generator; discriminator; face images; colorization 彩色圖像比灰度图像携带了更多的信息, 能使人类更清楚地观察世界, 然而在很多情况下人们获取的仍然是比较单一的灰度图像。人类在眼睛和大脑的帮助下能轻松地推理出灰度图像所对应的彩色图像大致是什么样的,但是对于计算机而言,要展示这种色彩推理能力并不那么容易。上色问题面对的现实情况复杂多样。人们了解的某一类物体的颜色可能有多种, 例如人的皮肤可能呈现白色、黄色、黑色等;许多物体在灰度图上的亮度值没有太大的区别, 例如深蓝色与紫色的服装, 这使得很多上色成为多解的问题;一些物体的颜色几乎是固定的色几乎是固定的, 如蓝色的海洋, 这又给出了色彩信息的约束条件。本文旨在利用深度学习技术对这一问题做一定探索。 1 现状分析 近年来深度学习[1]技术被广泛用于各种计算机视觉领域, 如图像分类[2]、目标检测[3]、语义分割[4]等。在深度学习的兴起中, 卷积神经网络强大的特征提取能力发挥着重要的作用, 它使得需要对图像进行语义理解的任务变得直接而有效。另外注意到许多使用卷积神经网络的问题之间具有一定的相关性, 例如目标追踪需要对图像上的物体进行识别与分类, 语义分割需要准确区分每个物体的边缘, 这与边缘检测算法相关联。最近的生成对抗网络(Generative Adversarial Network, GAN)[5]在图像生成领域引起极大关注, 受该框架的引导, 人们成功将其应用在图像修复[6], 图像翻译[7]等领域。基于深度学习一系列成功应用的启发, 本文设计了一种用于人脸灰度图自动上色的新方案。 1.1 上色方案介绍 目前灰度图像上色问题的研究已经取得了许多进展, 主要有以下三类解决方案: 一类是基于手工标注的半自动化方案[8,9,10]。Levin[9]等提出在灰度图不同物体中间标注少量颜色信息, 然后将标注的颜色填充某一物体所在的局部区域。这类方法会出现边缘色彩混合现象, Huang[10]等提出了自适应边缘检测算法来缓解这个问题。第二类是基于样本的方法[8,11,12]。首先寻找与待上色图像内容风格相似的图像作为参考, 再找到参考图像中与灰度图相似的像素区域, 最后将参考图像的像素信息转移到灰度图。以上两种方案均难以实现快速上色, 手工标注以及参考图像的检索都需要耗费额外的人力。第三类为当前流行的深度学习算法[8,13,14]。处理上色问题时, 常见的做法是将问题转化到其他颜色空间, 例如Lab颜色空间、HSV颜色空间等, 以灰度图像作为深度神经网络的基本输入数据, 网络的预测输出为其他两个通道的信息。Larsson[13]等提出以灰度图作为输入, 经过VGG[15]网络架构的层层特征提取得到大量特征图, 从特征图中的选取一系列超列描述子(hypercolumn descriptor)[16], 将其作为后续全连接层的输入, 最后给出像素点的色度与色调的分布并据此着色。Cheng[8]等在YUV空间处理上色问题, 通过灰度图像提取特征描述子(feature descriptor), 将特征描述子作为深度神经网络的输入数据, 预测输出U、V通道的色度值并对其进行双边滤波, 最后组合三通道信息得到处理后图像。 相比之前的算法, 基于深度学习算法以高达百万计的图像数据进行训练, 加之卷积运算能有效进行特征提取, 以及多种防止过拟合技术[2,17,18]辅助, 使得训练后的模型应对问题的多样性上取得了很大进步, 并且在处理速度和适用范围上也有更大的提升。本文基于GAN模型的基本思想, 直接输出在RGB空间中的彩色图像, 取得了不错的视觉效果。下面介绍GAN的相关内容。 1.2 生成对抗模型 2014年Ian J. Goodfellow等首次提出标准GAN模型[5]。该模型提出后受到了人们的广泛关注, 近几年相关的研究成果相当丰富。Mirza[21]提出的条件GAN能根据额外的标签信息生成与之对应的手写体数字图像; Ledig等[22]提出利用 GAN 实现高分辨率图像的生成; Yeh等[6]将其应用在图像修复上取得了很好的结果。然而标准GAN模型面临着难以训练不稳定、模型易崩塌等问题, Martin Arjovsky[19,20]针对这些问题进行了一定的理论分析, 提出的WGAN模型基本可缓解这些问题; 标准GAN模型由生成器G和判别器D组成。G的常见结构为反卷积(Deconvolution)[23] 网络, 反卷积基于其运算特点又被称为转置卷积 (Transposed Convolution), 因此可以视其为一种特殊的卷积操作, 通过可学习的方式使特征图逐渐增大。D为卷积神经网络, 主要通过多个卷积核提取输入图像的特征, 一般会使得隐藏层的特征图逐渐缩小。GAN能捕获真实数据的分布, 由生成器给出与真实数据类似分布的新数据, 判别器主要用于区分G所生成的数据与真实数据, 并在输出端给出判别概率, 又可称为判别损失, 且概率值越大说明判别器越认可判别器输入数据的真实性。标准GAN基本模型结构如图1所示。 图1中z是分布为 另外, 一般情况下生成器与判别器的性能难以实现完全同步提升, 判别器更容易达到较高的判别性能, 因此式(1)的第二項在训练早期将变得非常小, 为了提供足够的梯度进行反向传播, 实践中可以将损失函数第二项替换为式(2)。 2 本文上色方法 本文方法基于生成对抗网络的思想设计了人脸灰度图上色模型, 模型结构主要由生成器G和判别器D组成。G需要满足两方面要求: 1) 尽量保留灰度图的全部信息, 2) 生成视觉上无法分辨真伪的彩色图像。D也需要满足两方面要求: 1) 识别真实RGB图像和生成图像, 2) 指导G的生成过程。模型结构如图2所示, G中的数字表示卷积层输出的特征图数目。 图2中未标出反向传播的方向, 生成器为特征图尺寸不变的卷积层神经网络, 判别器参考自标准GAN模型。记G的输入灰度图像为 注意到在一些图像生成类问题中都会采用自编码器或其变体结构, 其中编码部分主要进行卷积运算以达到下采样和特征提取目的, 解码部分使用转置卷积达到上采样和重建目的, 例如图像分割[4]、图像修复[24,25]等。这里没有采纳这种思路, 因为生成的图像要尽可能保留灰度图细节信息, 例如纹理, 边缘等, 而以L2为损失函数的欠完备自编码器则倾向于输出边缘模糊的图像, 难以保留全部信息, 因此这里选择的生成器为特征图大小不变的卷积神经网络。当生成器的特征图大小不变时, 在输出端使得图像的细节信息更难以丢失, 即便使用L2损失仍然可以保障这一点。需要说明的是, 如果仅仅使用L2作为损失函数, 将使得生成器倾向于向输出端直接传递图像数据, 网络参数难以得到足够的更新, 更不会学习到上色的经验。示例如图4(a)所示, 其中第2行为网络输出, 第3行为真实图像, 可以看到虽然L2损失能保留图像细节, 把握人脸图像的主色调, 但几乎不能驱动网络进行学习。这里上色模型的判别器恰好执行了驱动生成器参数学习的功能, 正是由于生成器和判别的相互作用使得模型的性能逐渐提高。 3 实验分析 本文所有的实验均基于Caffe框架。核心实验设备包括: GPU (GTX1050Ti) 、 CPU (i5-7500)、 8g内存, 操作系统版本为Ubuntu14.04 LTS。实验数据集为CelebA, 在训练阶段采用了前6万张图像, 测试阶段采用了其他1000张图像。在预处理阶段将单通道灰度图像转化为3通道图像, 没有引入额外信息, 每幅图进行了[0,1]范围的归一化, 图像的宽度和高度均占64像素。
所采用的模型如图2所示。生成器主要由5个卷积块实现, 前4个卷积块包括卷积层(步长为1)、批归一化(BatchNorm-Scale)、以及整流线性单元(Rectified Linear Unit, ReLU), 第5个卷积块包括卷积层和Sigmoid激活层输出, 最后添加L2损失。判别器采用了文献[5]的结构, 为了降低训练负担可以适当减少隐藏层的卷积核数目。为了应对GAN容易崩溃的问题, 需要尽量避免梯度值过大对参数的过度更新, 这里考虑了多种手段: 使用Sigmoid激活函数, 其对大输入值的反向传播梯度具有很强的缩小作用; L2损失在靠近原点处的导数接近0, 这使得生成图像接近于原彩色图像时反向传播避免提供过大梯度; 基本学习速率设为0.0001且保持固定。求解器类型设为ADAM, 动量参数为0.5, λ设为100。 从实验中观察到, 判别器在训练前期就能够识别人脸图像的基本色调, L2损失也保证了灰度图像的细节得到保留。在训练时判别器不断地学习经验以区分真实图像与生成图像, 并对生成器的生成性能起着指导作用。测试阶段的成功案例如图3所示, 样本选自CelebA测试集合, 图中第2行为生成器输出, 第3行为原始彩色图像。可以看到基于对抗生成的思想, 利用两种代价函数能使网络学习到彩色图像的特征, 并生成视觉上能以假乱真的彩色图像。在实验中还观察到判别器试图不断调整生成图像的边缘部分和亮度不均匀区域的色彩, 使得这些区域的颜色不断改变以达到合理的视觉效果, 但若调整出现重大偏差也会导致人脸图像的关键部位出现伪影。此外GAN训练的不稳定特性会使得整个模型的性能处于持续波动中, 因此较慢的梯度更新有助于筛选更优的模型。 模型在常规情况下实现了有效的上色处理, 然而在面对灰度图中复杂的亮度分布时仍显的不夠完善, 尤其是针对侧脸等相对不常见案例时, 失败案例如图4(b)所示。由于上色的过程主要由于判别器指导, 这里认为失败的部分原因是判别器无法基于有限的特殊样本判定复杂情况如何处理, 网络没有提取到足够样本的特征, 也没有学习到应对复杂亮度分布时的处理办法, 因此其会不断指导生成器尝试各种可能性, 但难以确保提供正确的上色方案。 4 结束语 本文在分析了GAN基本思想的基础上, 设计了一种基于GAN的人脸灰度图上色模型。模型包含两方面代价函数, 生成器的特征图大小不变, 模型结构简单, 没有过多的预处理过程, 且针对常规人脸灰度图像上色效果可达以假乱真的程度。为进一步改善模型性能, 可以在视觉效果不受明显影响的情况下, 适当压缩生成器特征图的大小, 以迫使生成器进行更进一步的表示学习, 还能降低内存占用率。也可考虑增加数据的多样以实现更广泛的应用。在实验中还发现, 生成器部分越靠近输出端需要的特征图数目越大, 否则整个网络易发生崩溃, 为了保证GAN的稳定性, 可以考虑基于WGAN来进一步改进网络模型。 参考文献: [1] Lecun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015, 521(7553):436. [2] Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks[C]// International Conference on Neural Information Processing Systems. Curran Associates Inc. 2012:1097-1105. [3] Ren S, He K, Girshick R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[C]// International Conference on Neural Information Processing Systems. MIT Press, 2015:91-99. [4] Long J, Shelhamer E, Darrell T. Fully convolutional networks for semantic segmentation[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2017, 39(4):640-651. [5] Goodfellow I J, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets[C]// International Conference on Neural Information Processing Systems. MIT Press, 2014:2672-2680. [6] Yeh R A, Chen C, Lim T Y, et al. Semantic Image Inpainting with Deep Generative Models[J]. 2016. [7] Isola P, Zhu J Y, Zhou T, et al. Image-to-Image Translation with Conditional Adversarial Networks[J]. 2016:5967-5976. [8] Cheng Z, Yang Q, Sheng B. Deep Colorization[C]. The IEEE International Conference on Computer Vision (ICCV), 2015: 415-423. [9] Levin A, Lischinski D, Weiss Y. Colorization using optimization[J]. Acm Transactions on Graphics, 2004, 23(3):689-694. (下轉第191页) (上接第181页) [10] Huang Y C, Tung Y S, Chen J C, et al. An adaptive edge detection based colorization algorithm and its applications[C]// ACM International Conference on Multimedia, Singapore, November. DBLP, 2005:351-354. [11] Hertzmann A, Jacobs C E, Oliver N, et al. Image Analogies[J]. Inproceedings, 2001:327--340. [12] Welsh T, Ashikhmin M, Mueller K. Transferring color to greyscale images[J]. Acm Transactions on Graphics, 2002, 21(3):277-280. [13] Larsson G, Maire M, Shakhnarovich G. Learning Representations for Automatic Colorization[J]. 2016:577-593. [14] Zhang R, Isola P, Efros A A. Colorful Image Colorization[J]. 2016:649-666. [15] Simonyan K, Zisserman A. Very Deep Convolutional Networks for Large-Scale Image Recognition[J]. Computer Science, 2014. [16] Hariharan B, Arbelaez P, Girshick R, et al. Hypercolumns for object segmentation and fine-grained localization[J]. 2014:447-456. [17] Nair V, Hinton G E. Rectified linear units improve restricted boltzmann machines[C]// International Conference on International Conference on Machine Learning. Omnipress, 2010:807-814. [18] Ioffe S, Szegedy C. Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift[J]. 2015:448-456. [19] Arjovsky M, Chintala S, Bottou L. Wasserstein GAN[J]. 2017. [20] Arjovsky M, Bottou L. Towards Principled Methods for Training Generative Adversarial Networks[J]. 2017. [21] Mirza M, Osindero S. Conditional Generative Adversarial Nets[J]. Computer Science, 2014:2672-2680. [22] Ledig C, Wang Z, Shi W, et al. Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network[J]. 2016:105-114. [23] Zeiler M D, Taylor G W, Fergus R. Adaptive deconvolutional networks for mid and high level feature learning[C]// International Conference on Computer Vision. IEEE Computer Society, 2011:2018-2025. [24] Pathak D, Kr?henbühl P, Donahue J, et al. Context Encoders: Feature Learning by Inpainting[J]. 2016:2536-2544. [25] Ishikawa H, Ishikawa H, Ishikawa H. Globally and locally consistent image completion[M]. ACM, 2017. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。