人工指导与机器学习相结合的黑白影像上色方法研究
2021-09-19王峥
王 峥
(中国电影资料馆(中国电影艺术研究中心),北京 100082)
1 引言
随着经济的发展,科技的进步,电影制作也在逐渐发生各种新变化。黑白胶片电影早已成为过去,但经典影片在经过历史的沉淀后,拥有自己独特的历史价值。因此对黑白影像上色,使其更好地发挥历史价值和商业价值是极其必要的。传统的上色处理方式是使用后期视频处理软件对电影帧进行处理和上色。这一过程对操作人员有很强的依赖性,也对上色人员提出很高的专业要求。除此之外,完成一整部黑白电影的上色需要操作人员逐帧进行手动上色,工作量巨大,成片速度慢,无法满足当前电影工业对于黑白老影片上色的巨大需求。
近年来,随着机器学习以及神经网络的深入研究和广泛使用,图像处理技术不断发展以及硬件设备的不断进步,机器学习在图像处理方面有了很大的进步,当前已经广泛使用在图像修复、图像生成、语义分割等方面。应用机器学习为黑白影像自动化上色成为可能。当前的机器学习算法本身具有强大的特征提取能力,但是要想完成自动化上色的任务,还需要建立大规模的相对应训练的数据集。当前的深度学习算法在进行数据处理的时候往往会对图片进行随机裁剪,加入噪声,或者旋转等操作以达到数据增广的目的。但是这种数据增强的方式并不能改善在黑白影像上色中的某些问题。例如,不同年代的战争题材电影,军装会有不同的颜色,而机器学习并没有年代的概念,只会根据数据集中数量较多的军装颜色进行权重上色,可能会上色为与训练集相同的蓝色,但是实际情况应该为绿色。因此,单纯通过机器学习的算法无法取得较好的上色效果。除此之外,由于电影场景较为复杂,传统的机器学习方法在上色过程中还会出现颜色不均匀、有异常色块、颜色闪动等问题。
针对以上情况,本文提出一种人工指导与机器学习相结合的方式完成为黑白影像上色的任务。在完成任务中,以“人”的专业知识为指导,感性认知为评判标准,在“人”与“机器”之间寻求协调与平衡。在本文提出的方法中,人工将原始黑白电影进行分镜头、分场景的划分,并根据划分好的片段准备素材、建立训练集、进行专项训练。同时优化了机器学习上色模型,选择生成式对抗网络(GAN,Generative Adversarial Networks)作为上色的算法,设计了更符合电影上色任务的损失函数,确保单帧上色颜色的均衡以及多帧连成视频后颜色的稳定。
2 国内外研究现状
针对黑白影像的机器上色方法已经成为当前的一个研究热点。崔永成将生成对抗网络(GANs)原理应用到黑白电影帧的渲染中,把黑白电影帧转换到彩色电影帧。成梓锐针对上色问题,反对人为的干预,提出一种基于残差网络的批量化上色方案。然而缺乏人为的干预的自动化上色方法泛化性较差,难以满足复杂多变的上色任务。马骋等人提出一种观点,现有的彩色化算法存在对曝光偏差的图像彩色化效果不佳,并针对该问题,提出一种在彩色化存在曝光偏差的灰度图像时,使用直方图均衡化预处理输入图像方法,以达到更好的彩色化效果。吕维帅提出了在上色模型中加入了自注意力机制,以提升上色过程中某些细节的上色效果。刘建民等人采用了端到端的编码与解码架构,能够从大规模数据学习颜色的分布,实现颜色传播与预测,从而把灰度图像映射为彩色图像。郑鑫毅使用轻量级具有联合特征的图像识别网络作为近红外图像的识别网络。该方法降低了训练的时间和对硬件设备的需求,同时还能够保证一定的上色效果。李智敏等人提出了一种全自动的两阶段式灰度图像着色算法。结合分类网络和采样上色网络,并使它们共享部分相同的网络结构和权值,将平均平方误差和交叉熵函数的加权作为损失函数。刘昌通等人提出了联合一致循环生成对抗网络的人像着色方法。杜康宁等人提出了一种结合循环生成对抗网络与联合一致性损失函数进行人脸着色模型训练的方法,改善了着色图像的真实感与细节。张娜基于密集神经网络构建并训练了一个端到端的深度学习模型,改善了着色过程中的漏色、细节信息损失、对比度低等问题。刘扬东等人针对CT 检疫设备在识别检疫物时出现误报、漏报等问题,提出一种基于深度学习的CT 图像着色和自动识别方法,使用多输入的卷积神经网络进行三维物体识别。田影等人提出了一种以用户引导方式为黑白人物图片着色的深度学习方法。针对端到端的方式学习整个框架。徐中辉等人结合深度学习和卷积神经网络设计了一个全自动的着色网络模型,使用卷积神经网络SE-Inception-ResNet-v2作为高水平的特征提取器,提取图像的全局信息。张政等人在上色模型中融入了图像语义分割算法。以图像的语义信息作为上色的指定,提升上色效果的准确性。Safa Messaoud等人提出了一种基于条件随机场的变分自动编码器,实现在考虑结构一致性的同时实现多样性。Jianbo Chen 等人针对基于语言的图像编辑问题的基于语言的图像分割和图像彩色化这两个子任务,提出了一个采用循环注意模型融合图像和语言特征的框架。
3 人工指导与机器学习结合的黑白电影上色方法
该章节将详细描述本文提出的人工指导与机器学习相结合的针对黑白影像上色的方法。主要分为两个部分:一是上色模型的构建和优化,二是如何针对机器学习的上色模型进行人工指导。在下面的章节中,将针对这两个方面进行详细描述。
3.1 生成式对抗网络上色模型
本文采用生成式对抗网络 (GAN)作为黑白影像自动上色的基础模型。该模型由生成器模型(Generative Model)和判别器模型 (Discriminative Model)两部分组成。通过生成器和判别器相互竞争对抗完成上色任务的训练。生成器的目标是生成样本去拟合真实的样本。判别器的输入由真实样本和生成器网络生成的样本组成。经过判别器网络判断样本是来自真实样本,还是来自于生成器生成的样本。在多次训练循环后,生成器和判别器之间的对抗训练可以达到一个纳什均衡状态。这样生成器就可以生成与真实样本相近且判别器判断不出真假的样本。
本文所使用的黑白电影上色任务的GAN 网络的模型架构如图1所示。将黑白图片输入到色彩生成网络中。色彩生成网络主要由卷积神经网络(convolutional Neural network)构成。通过共享参数的卷积核在训练网络中不断地移动,提取特征信息,得到输入数据的高级特征。同时,为了提高网络的特征提取能力,使用残差网络 (Residual Network)加深神经网络的网络层数。最终通过模型中的色彩生成网络可以生成针对黑白输入图片的彩色图片。判别网络则同时接受生成的彩色图片和真实图片彩色部分作为输入,经过判别处理产生真或者假的结果。判别网络主要由反卷积层和全连接层组成。整个模型通过色彩生成网络和判别网络不断地进行博弈,最终使得生成器网络可以得到与真实图片相近的结果,判别器网络的判别能力也更加强大。
图1 对抗式生成网络模型架构
传统的GAN 网络的损失函数无法适应黑白电影上色的任务。传统损失函数针对每个像素向量的类预测进行评估。这种损失函数的设定在图像的语义分割等任务中有较好的表现,但是不适用于黑白影片上色的任务。将目标聚焦于单一的像素点,有可能会损失图片原本的结构信息、语义信息等内容。最终反映在上色结果中,可能会出现边界不清、异常色块等问题。除此之外,仅仅考虑像素点的上色,将上好颜色的彩色图片连成影片之后,可能会出现相邻帧颜色跳变的情况。
本文使用感知损失函数 (Perceptual Loss)进行网络的训练。该函数用于比较看起来相似的两个不同的图像,但是图像结构相似。例如,一部影片中相邻的两帧,看起来十分相似,但实际上像素发生了偏移。在这种情况下,虽然图像非常相似,使用MSE 损失函数可能会输出一个较大的误差值。而Perceptual损失函数比较图像之间的高级感知和语义差异,能够获得更好的上色效果。
3.2 上色过程中的人工指导
通过机器学习的算法进行自动上色有其局限性。上色模型只能够根据训练数据中的颜色进行上色。而真实的影片中,场景多且复杂,机器难以学习到全部细节。另一方面,机器上色具有盲目性,在缺乏人工干预、指导的情况下,机器无法判定所上颜色的正确性。例如,军装的颜色是否符合史实、风景色彩是否符合季节等。这类机器无法判定的情况需要进行人工指导,为机器学习模型指明训练方向,同时判定其上色结果的正确与否。
由于黑白电影分布在各个年代,其服装样式、建筑风格、历史环境都有巨大的变化。而且,影片中往往会包含多种截然不同的场景。为了应对这种情况,本研究收集大量的描写不同场景的图片,例如自然风景、建筑、街道、市内场景等。同时,对于某些特殊的历史场景图片,本研究采取拍摄的方式,对某些特殊物件如燃气灯、特殊军装进行拍摄取样。为了避免取样影本过于相似,拍摄时还要采取不同的拍摄位置、角度、明暗环境进行拍摄取样。图2-图7展示了部分训练数据划分的样例,根据场景不同,大致分为了自然风景、建筑、室内场景等。根据人物服饰的不同,分为了军装和西服。在实际的上色过程中,训练数据集还会进行更为细致的划分。例如,针对军装的数据集,还会进行根据年代、国家等因素进行划分。大规模的,多样化的影片数据集可以有效增强深度学习的泛化能力,提升上色的效果。
图2 模型训练数据集划分样例:自然风景
图3 模型训练数据集划分样例:建筑
图4 模型训练数据集划分样例:室内场景
图5 模型训练数据集划分样例:军装
图6 模型训练数据集划分样例:西服
图7 模型训练数据集划分样例:特殊道具
4 实验与结果
在本文的实验训练过程中,选取100648张分类在历史不同时期的图片分别进行上色训练。输入图像通道为Lab颜色空间的黑白通道(L通道),输出为具有颜色的图片通道 (ab通道),初始学习速率为0.0001,最大学习速率为0.00015。选用批次规模为40的随机梯度下降(SGD)模型优化器。经过大规模的数据集训练,能够训练出分别对应不同服装、不同风格的图像上色模型。在经过修改损失函数后,本研究的上色图像在数据集上的上色质量更高,人物边界会更加清晰,颜色更加丰富、饱满。上色图像中的色块更少,上色结果更加合理。
本文所提出的人工指导和机器学习相结合的黑白影像上色方法主要有两个优点:一是能够对黑白影片进行正确上色,符合史实的要求;二是颜色更加均衡、稳定。
图8对比了本文所使用的方法与传统未加人工指导的机器学习方法的上色结果对比。第一排为黑白原始影片截图,第二排为未加入人工指导的上色结果,第三排为本文提出的方法的上色结果。可以看出,在未加人工指导的情况下,军装的颜色为蓝色。而实际军装的颜色应该为绿色。本文提出的方法,根据史实,在人工指导的情况下,专门建立相应的训练数据集,针对军装的颜色进行专项训练,从而能够完成更符合史实的上色效果。
图8 上色正确性对比
图9展示了本文提出的上色方法与之前的方法在稳定性上的对比。上色结果颜色对比后,与其他上色方案相比,在高分辨率图像上色时,本方案更为稳定,上色较为稳定、均匀,没有颜色跳动和异常色块的问题。
图9 上色稳定性对比
5 结论
本文提出一种结合人工指导和机器学习的针对黑白影像自动上色的方法。在人工的指导下进行数据集的分类,引导机器进行学习和训练,能够极大地提升上色效果的准确性。基于黑白影像的明暗分布,使用对抗生成网络可以对生成的颜色进行最大可能的预测。在具有分类合理的大量数据的训练下,基本可以实现对不同影片的颜色预测,能达到利用深度网络提高黑白影像上色制作的工作效率的目的。在今后的研究中,将考虑如何优化图像质量,改善影像质量不好的问题,同时也能处理融合语义信息进行指导上色,更加合理快捷地微调修改图片上色效果。
注释
①本文中所提到的方法,中国电影资料馆 (中国电影艺术研究中心)已完成应用开发并已申请“计算机软件著作权登记证书”,登记号:2021SR0031841。