基于多任务学习的人脸状态判断算法研究
2022-07-26张连谊张亚娜
张连谊,张亚娜
(中国传媒大学信息与通信工程学院,北京 100024)
1 引言
随着人工智能的市场规模逐渐扩大,据艾瑞咨询发布的《2021年中国智能产业研究报告(IV)》显示,2021年人工智能的核心规模估计达到1998亿元,到2026年,将超过6000亿元[1]。人工智能技术深刻地改变了人类的生活方式和生产方式,新闻生产与人工智能结合后推动了整体新闻的革新,深刻改写了技术与新闻的连接、人类的新闻认知和新闻使用行为。机器生产内容(Machine Generated Content,MGC),即利用机器智能生产的新闻,MGC新闻具有成稿件迅速、信息准确、实时监测、技术交叉等特点。多家媒体机构开发了生产MGC新闻的智能产品、智能平台。2017年,新华社发布了中国第一个媒体人工智能平台——“媒体大脑”,并生产了第一条MGC视频新闻——《新华社发布国内首条MGC视频新闻,媒体大脑来了!》。2020年光明网打造了智能发稿系统,该系统包含稿件收集、内容分类、内容配图、多媒体编辑等功能。百度智能云推出了基于百度如流企业智能工作平台的——“智媒平台”,期望为媒体行业打造更贴合传媒业务场景的“新一代媒体工作台”。微博综合采用了自然语言处理、图像处理、视频处理、语音识别等领域的前沿技术,利用“多模态”智能,构建了深度理解媒体内容的技术体系,并在多种应用场景中获得良好效果。
传统图文报道中的新闻配图通常由摄影记者拍摄,但是摄影记者数量有限,摄影记者拍摄新闻图片时会受到空间的限制,比如无法以摇臂摄像机的视角进行拍摄,又或者最佳的正面拍摄机位已被摄像机位占据。此外,摄影记者通常也无法进入演播室内工作。由此,在图文新闻生产中的配图素材采集环节,运用人工智能技术直接对直播视频流进行分析,获得新闻的配图能够有效补充摄影记者的短板,扩大新闻配图的取材范围。而在新闻配图中对于中景、近景和人脸特写等画面,人脸的状态十分重要。人脸的状态判断包括人脸状态美感判断和人脸表情识别。其中,人脸状态美感判断任务是根据头部姿态、面部状态、面部遮挡三个方面挑选状态佳的、适合出现在新闻配图中的“Nice”人脸(如表1所示),尽可能筛除面部状态差的人脸(如表2所示)。
表1 “Nice”类的判断标准
表2 “Unsatisfied”类的判断标准
对于人脸表情识别,目前已有不少的研究成果,Wang[1]等人提出了一种简单且高效的自愈网络(Self-Cure Network,SCN),该网络能够有效地抑制不确定性,防止深度网络对不确定的人脸图像进行拟合。Li等人[3]提出了一种基于Transformer的MVT(Mask Vision Transformer)模型,该模型由两个模块组成:1)基于Transformer的掩码生成网络能够生成过滤复杂背景和人脸图像遮挡的掩码;2)动态重新标记模块能够纠正数据集中不正确的标签。Abdolrashidi等人[4]提出了一种基于注意力的卷积神经网络,利用空间变换模块(Spatial Transformer Network)学习关注对表情识别起到重要作用的面部区域,从而提高模型的性能。Shi等人[5]提出了一种基于分支交叉连接的卷积神经网络(MBCC-CNN)识别人脸表情。MBCC-CNN包括残差连接、网络中的网络(Network in Network)和树形结构,网络增加了一种快捷的交叉连接,使MBCC-CNN网络间的数据流更加平滑,提高了模型提取特征的能力。
人脸状态美感判断是一项新的任务,目前未有学者进行研究,因此本文以人脸颜值预测(Facial Beauty Prediction,FBP)任务为参考对人脸状态美感判断任务展开研究。两种任务具有很多相似的地方,例如都是人脸相关的分类任务,分类时都需要考虑面部的状态。文献[6]-[8]通过多人评价的方式,建立人脸颜值预测数据集。近年来,神经网络被广泛应用到图像、语音等领域,越来越多的学者们利用神经网络技术对人脸颜值预测任务展开研究。神经网络中如何利用不同的特征十分重要,文献[9]提出了一种多尺度的神经网络模型,模型的输入在红色、绿色、蓝色三个通道的基础上,引入了亮度通道。甘俊英等人[10]提出了一种将局部二值模式(Local Binary Pattern,LBP)的纹理图像和原始灰度图像进行通道融合的模型。模型采用1×1卷积操作进行通道特征图的线性组合,实现跨通道的信息融合。Zhai等人[11]提出了一种基于局部特征融合和宽度学习系统(Broad Learning System,BLS)的快速训练方法。Zhai等人[12]提出了一种基于多通道特征融合的迁移学习方法,利用数据增强方法和迁移学习策略来缓解数据不足对CNN性能的影响。此外,许多学者利用多任务学习对人脸颜值预测任务进行研究。文献[13]提出一种具有不同分支的神经网络,将ResNet-18[14]最后的softmax层替换为包含两个分支的全连接层,能够同时完成分类和回归任务。文献[15]以人脸颜值预测为主要任务,性别识别为辅助任务,采用多任务减权自动学习策略来提高FBP的性能。文献利用随机森林代替softmax分类器,在SCUT-FBP5500数据集上的皮尔逊相关系数达到0.8996。
通过以上调研发现人脸状态判断任务存在以下挑战:1)对于人脸状态美感判断任务,需要明晰对人脸状态美感的定义并构建相应的判断标准。目前就人脸状态美感判断任务,缺少一个一致、可靠、客观的数据集,导致无法完成该任务的相关算法和实现方法的研究;2)如何抽象人脸状态美感判断和人脸表情识别所需的共识特征,并构建多任务分类网络模型本文要解决的核心和关键所在;3)如何根据不同任务的数据集特点使用合适的多任务训练方法是应用多任务学习的难点。多任务学习基于共享表示,注重任务之间的相关性,通过并行学习改善单个任务的性能。不同任务数据集的数量参差不齐,如何对多任务学习模型进行训练是具有挑战性的问题。
本文针对以上挑战,做出了如下贡献:
1)通过制定判断标准、多人主观评价、数据清洗和处理的方式首次构建了人脸状态美感判断的数据集,数据集包括“Nice”类的图片4729张,“Unsatisfied”类的图片4806张,男女比例均衡,人种肤色包括黄种人、白种人、极少量棕种人和极少量黑种人,年龄在10-70岁之间。
2)以ResNet-18为基础,提出了新的多任务CNN模型(Multi-Task Learning and Attention Net,MA-Net),模型可分为特征共享和特定任务2个部分,其中特征共享的特征提取部分通过1个卷积层和3个残差块提取共同特征,特征共享的自注意力机制部分能够学习利用共同特征中更加重要的特征,特定任务部分通过两个分支学习不同参数以完成人脸状态美感判断和表情识别双重任务。
3)提出了交替-联合训练方法,使得MA-Net能够在两种不同的数据集上有效的进行训练,解决了由于不同任务数据集数据量参差不齐,可能导致模型在一种任务下的准确率较高,在另一种任务下的准确率较低的问题。
2 MA-Net
对于神经网络,不同层提取的特征不同,同一层的不同通道的特征也是不同的,有些特征会对判断的结果影响很大,训练模型使之学会利用贡献较大的特征进行分类是十分重要的。和基于单任务学习的模型相比,基于多任务学习的模型的优势包括:1)多个任务共享特征提取部分的网络结构和参数,不仅在训练时的内存占用少,还有效避免了重复计算一种特征,从而提高了模型的训练效率;2)基于多任务学习的模型通过多种任务的学习,相当于一种数据增强,能学习相关任务的共同特征,从而提高模型预测准确率。基于以上理论,本文在ResNet-18[14]的基础上,构建了新的模型MA-Net,实现了人脸状态美感判断和人脸表情识别双重任务。如图1所示,MA-Net采用硬参数共享机制,主要分为特征共享、特定任务两个部分。两种任务共享了特征共享部分的特征,特定任务部分包含两个分支,不同分支学习到不同的参数用于完成不同任务。
图1 MA-Net模型的结构图
2.1 特征共享
特征共享部分,通过模型训练学习可用于人脸状态美感判断和人脸表情识别两种任务的通用特征。特征共享部分包括特征提取、多头自注意力机制两个部分。特征提取部分包含1个卷积层C1、1个残差块Ra、2个残差块Rb,残差块源自ResNet18[14]。神经网络的学习过程,本质上是通过优化权重,得到输入和输出的正确映射。神经网络的性能与网络深度有关,理论上,CNN的层数越多,提取的特征更加复杂、抽象,越具有语义信息,越有利于提高模型的性能。但是,在实际训练过程中,当网络层数的增加到一定数量时,梯度信息在返回时很小,当梯度信息传递到前几层时,梯度值极小,甚至可能为0,从而导致CNN无法根据梯度信息进行训练,此现象被称为梯度消失。和浅层CNN相比,深层CNN的性能反而会下降,出现了网络退化现象。ResNet通过引入残差映射,在不产生额外参数和不增加计算复杂度的同时,增大了CNN的前几层的梯度信息,更加容易优化,从而解决了梯度消失的问题。经过进一步优化的ResNet在上千层时仍然具有很好的表现,是一种常用的特征提取网络。
残差块Ra的结构如图2(a)所示,由两个相同的子块串联而成,每个子块含有2个卷积层、2个批量归一化(Batch Normalization,BN)层和1个线性整流函数(Rectified Linear Unit,ReLU)层。如图2(b)所示,残差块Rb在分支上加入了1个卷积层和1个BN层,残差块的卷积层采用了3×3大小的卷积核,BN层的作用是改变输入、输出特征的通道数,即调整输出的特征图的数量。BN层对输入数据或特征进行归一化,使得其符合标准正态分布,从而加速神经网络的收敛速度、防止梯度消失和过拟合。ReLU是神经网络中最常用的激活函数,只有加、乘和比较操作,计算高效,能够加快训练速度、缓和梯度消失。残差块不是直接学习理想映射f(x),而是利用图2(a)虚线框部分学习残差映射f(x)-x,仍可以使用梯度下降法进行训练。残差映射在实际训练过程中的优化速度更快,输入数据可在跨层的蓝色路线更快的向前传播。此外,残差块能帮助CNN更加关注细微的特征变化,更有效的更新网络权重,从而提升模型的性能。
图2 两种残差块的示意图[14]
如图3所示,MA-Net通过多头自注意力机制,对特征提取部分后的不同特征图赋予不同权重,并融合为新的特征。本文只在特征提取部分后引入多头自注意力机制,具有如下优点:
图3 MA-Net的多头自注意力机制模块
1)由于特征提取部分输出的特征图尺度较小,对其应用多头自注意力机制能有效降低模型的计算量,提高了模型的计算速度。
2)卷积神经网络在底层只会学到简单的特征,随着层数增加,深层的特征会更加复杂、抽象,这种特征是更高级、对模型更有意义的特征。因此和底层应用多头自注意力机制相比,在特征提取部分后应用会更加有效。
最后需要将多头注意力机制得到的多个一维特征转换为多个二维的特征图。
2.2 特定任务
使用具有一定相关性的任务训练模型,硬参数共享机制可达到较好的效果。对于人脸状态美感判断任务,判断的依据主要是眼睛、嘴巴的开合状态。对于人脸表情识别任务,判断的依据同样是眼睛、嘴巴的状态,这两种任务具有很强的相关性,适用于硬参数共享机制。特定任务部分包含两个支路(人脸状态美感判断支路和人脸表情识别支路),分别用于人脸状态美感判断任务和人脸表情识别任务。如图1所示,每个支路包含1个残差块Rb、1个自适应平均池化层A1、全连接层F1。每个支路都利用了特征共享部分提取的通用特征,然后利用特定任务的模块学习特定的参数以完成不同的任务,降低小数据集过拟合的风险。人脸状态美感判断是2分类任务,F1层包含2个神经元;人脸表情识别是8分类任务,F1层包含8个神经元。
训练多任务学习的模型时通常采用交替训练方法或联合训练方法[16]。交替训练方法适用于所有任务的数据集相互独立的情况,训练时首先输入不同任务的样本,然后交替收敛不同任务的损失。交替训练方法要求不同任务的训练样本数量接近,否则模型会在训练样本数量较大的任务上的效果较好,在其他任务上效果较差。联合训练方法适用于同一数据具有多个标签的情况,训练时将每个任务的损失相加,最后共同优化。本文采用的人脸状态美感判断数据集的训练集包含图片6674张,人脸表情识别数据集FER2013Plus-Classified的训练集包含图片27190张。鉴于两种任务的数据不同并且数据量相差较大,不适用于以上两种训练方法,因此本文提出了交替-联合训练方法,利用公式(3)和公式(4)计算两种任务的损失之和Lossmtl进行优化,在一个批次中分别对不同的任务优化一次,具体的训练步骤如下:
1)根据每个任务的训练样本数量,计算两个任务的batch-size,保证每个epoch中每个任务的训练次数是相同,模型针对每个任务进行优化的次数是相同。
2)交替输入不同任务的样本。
3)使用交叉熵损失函数分别计算人脸状态美感判断任务的损失Loss1和人脸表情识别任务的损失Loss2。交叉熵损失函数如公式(3)所示,m代表样本的数量,n代表标签的数量,yij是一个符号函数,当样本的真实标签和模型预测的标签相同时,yij为1,否则为0,pj为模型预测样本i为类别j的概率。
最后,将 Loss1、Loss2乘以权重系数 w1、w2相加得到联合损失Lossmtl,其中w1+w2=1。由于两种任务同样重要,因此w1和w1都设置为0.5。
3 实验结果与分析
3.1 实验环境和实验数据
本实验的操作系统为Ubuntu 18.04.6 LTS;CPU:Intel(R)Xeon(R)CPU E5-2620 v4@,主频2.10GHz;GPU:GTX 1080,显存为11GB。
本文通过收集互联网以及各种直播的人脸图像,再经过多人评价的方式构建了人脸状态美感判断数据集。如图4所示,数据集包含适合出现在配图中的“Nice”类人脸4729张,不适合出现在配图中的“Unsatisfied”类人脸4806张,其特点如下:
图4 人脸状态美感判断数据集
1)人脸状态美感判断数据集不限制种族、性别和年龄,这样的数据有利于训练出适用于不同年龄、性别的模型,数据集训练出的模型的应用范围更广。
2)不同类别的图片和人的颜值没有相关性,不会因为年轻、皮肤好而不考虑五官的状态。不会将颜值高的全部作为“Nice”类,颜值较低的普通人也不会全部作为“Unsatisfied”类。“Nice”和“Unsatisfied”的区别主要在于眼睛睁开的状态、嘴巴张开的状态、头部的姿态和面部遮挡情况。
如图5所示,本文使用的人脸表情识别数据集FER2013Plus-Classified来源于Kaggle人脸表情识别挑战赛中的FER2013Plus人脸表情识别数据集。FER2013Plus包含高兴、愤怒、悲伤、中性、恐惧、惊讶、厌恶、轻蔑、未知和无人脸等标签。本文去掉了FER2013Plus中的未知和无人脸的图片,得到包含高兴、愤怒、悲伤、中性、恐惧、惊讶、厌恶、轻蔑8种表情标签的FER2013Plus-Classified数据集。FER2013Plus-Classified的训练集包含图片27190张,测试集包含图片3414张。
图5 人脸表情识别数据集FER2013Plus-Classified
3.2 实验结果与分析
如表 3 所示,AlexNet[17]在“Nice”类的精确率达到94.31%,平均准确率达到了96.15%;在经典卷积神经网络中,ResNet-18对“Nice”类的精确率是最高的,达到了97.51%,并且准确率也是最高的,达到了97.13%,因此本文选择在ResNet-18的基础上进行研究;和ResNet-18相比,MA-Net在“Nice”类的精确率提高了1.23%,召回率提高了2.68%,“Unsatisfied”类的精确率提高了2.75%,召回率提高了1.18%,准确率提高了1.961%,表明MA-Net在人脸状态美感判断任务的优越性。
表3 经典神经网络和MA-Net在人脸状态美感判断数据集性能
为了验证交替-联合训练方法的有效性,本文将交替训练方法、交替-联合训练方法的MA-Net进行对比。如表4所示,和交替训练方法的MA-Net相比,使用交替-联合训练方法的MA-Net,虽然对于“Unsatisfied”类的精确率和“Nice”类的召回率持平,但是在“Nice”类的精确率和“Unsatisfied”类的召回率分别提高了3.15%和3.26%。在实际应用过程中,希望模型预测的“Nice”类图片中,真正的“Nice”越多越好,即对“Nice”类的精确率高;对于所有的“Unsatisfied”类图片,模型挑选出的“Unsatisfied”类图片越多越好,即对“Unsatisfied”类的召回率高,因此MA-Net具有更高的应用价值。此外,交替-联合训练方法的MA-Net的准确率提高了1.608%。因此,本文提出的交替-联合训练方法比交替训练方法更有效。
表4 不同训练方法的MA-Net在人脸状态美感判断数据集的性能
为了验证MA-Net在人脸表情识别任务的有效性,本文将其和 SCN[1]在FER2013Plus-Classfied数据集上的准确率和精确率进行对比。SCN通过小批量的自注意力机制、正则化和重新标注机制抑制不确定性,防止网络对某些图像的过拟合。本文将SCN在FER2013Plus-Classified数据集上重新训练、测试。两种算法的性能如表5所示,和SCN相比,MA-Net准确率更高,达到了89.01%,高于SCN模型4.36%。另外,MA-Net在识别愤怒、轻蔑、厌恶、开心、中性、惊讶类具有很明显的优势,识别轻蔑表情的精确率达到100%。这得益于多任务学习和自注意力机制的共同作用,因此证明了基于多任务学习的MA-Net的有效性。
表5 人脸表情识别性能对比
4 结论
利用人工智能相关算法从直播视频流中智能选择配图能够有效扩展图文新闻的配图来源渠道。本文面向中景、近景和人脸特写等画面,研究了人脸状态的美感判断标准问题,设计了基于自注意力机制的共享特征网络,通过交替-联合训练方法实现了人脸状态美感判断任务和人脸表情识别双重任务。实验证明,本文所提出的模型在人脸状态美感判断数据集上的准确率达到99.091%,在人脸表情识别数据集的准确率达到89.01%。后续研究将对表情识别分类网络进一步深入分析,尤其对恐惧和悲伤两种表情的判定进行问题解析,以期提高整体表情识别的准确率。