一种结合专家先验知识和运动关联性的人脸运动单元检测算法

2023-10-31 12:11莫建华王加俊
空军军医大学学报 2023年10期
关键词:集上编码器人脸

李 奎 ,莫建华 ,王加俊

(苏州大学电子信息学院电子信息工程系,江苏 苏州 215006)

引起面部运动的面部肌肉被称为面部运动单元(action unit,AU)[1],AU检测的目的是检测这种运动是否出现。由于个体差异性和AU间复杂的关系,AU检测极具挑战。20世纪70年代,EKMAN等[2]提出了面部运动编码系统(facial action coding system,FACS),其中定义了44种面部AU,并将AU的强度定义为5个等级。FACS的提出为AU检测奠定基础。21世纪初,一些研究人员使用隐马尔可夫模型[3]、贝叶斯网络[4]、受限玻尔兹曼机[5]和Credal网络[6]建模AU关系实现AU检测,这些AU关系建模的缺点是无法影响特征学习和检测过程。近年来,研究人员提出了大量基于深度学习的AU检测方法。一些方法基于AU的区域性展开研究,比如DRML[7]、EAC-Net[8]、JAA-Net[9]、AURCNN[10],另外一些方法利用图卷积神经网络建模AU关系[11-13],但是这些方法忽略了样本的独特性对AU关系的影响。除此之外,研究人员还尝试利用Transformer[14]来探究类别间的关系,该方法采用图片Patch的方式,以及多头自注意力机制,对像素与像素、区域与区域间的关系进行建模[15]。

为了解决以上问题,本研究提出了一种新的AU检测模型,利用先验的AU区域知识划分面部区域,并融入卷积网络,随后通过Transformer结构中的编码器对AU关系进行样本独特性建模,最终利用全连接层实现AU分类。在BP4D和DISFA数据集上的测试结果显示,本文提出的模型具有良好的AU检测性能。

1 数据预处理以及AU检测网络设计

1.1 预处理

对人脸图像进行预处理能有效减少与人脸特征无关的噪声信息对AU检测的影响。人脸图像的预处理的步骤如图1所示。预处理包括人脸关键点检测、人脸对齐、人脸裁剪、人脸区域划分、数据标准化等步骤。首先,使用MediaPipe工具包[16]对数据集中所有图片进行关键点检测;其次,利用仿射变换对每一段视频数据中所有帧的人脸进行对齐操作,以消除由于缩放和旋转造成的影响;接着,对人脸区域进行裁剪,使得裁剪后的图片大小为224×224个像素,人脸双瞳中心的距离为90个像素;然后,结合FACS对AU的解剖学描述,在分析脸部肌肉运动的基础上,参考MA等[10]提出的方法,利用面部关键点将人脸划分出8个区域,各个区域包含的AU类别如表1所示;最后,对训练集中每一个样本的三个颜色通道分别进行归一化操作,以消除不同样本之间像素分布的差异。

表1 各个兴趣区所包含的AU类别

图1 数据预处理步骤

1.2 AU区域特征提取

为了充分利用AU区域的先验信息提取有效的高维特征,本研究使用ResNet101的前三个残差模块作为基础网络,残差结构使输入端的信息能够与输出端直接相连,这种结构能使网络梯度反向传播时直接作用于最初的输入数据,避免了网络层数过多引起的网络退化问题。第三个残差模块生成的高维特征图和NAU个AU区域边界框一起进行感兴趣区域池化操作,经过残差模块4、一个卷积层和全连接层后得到NAU个一维特征向量,作为AU关系网络的输入。用来进行特征提取的网络结构如图2所示。

图2 AU区域特征提取网络

下面分三个部分介绍AU特征提取网络的参数细节。第一部分由ResNet101的前3个残差结构组成,每个残差模块均由3个具有跳跃结构的瓶颈组成,瓶颈结构采用卷积核为1×1,3×3,1×1的组合设计而成,第一个1×1卷积核负责降低输入特征的维度,而输出端的1×1卷积核负责提高特征的通道数,所以这样的设计在增加网络层数的同时也减少了参数量。最终输出人脸特征图尺寸为1 024×28×28。第二部分由感兴趣区域池化层和残差模块4组成,其作用是由预处理得到的人脸AU区域框,得到对应于人脸特征图的NAU个AU的高维特征,尺寸为NAU×2 048×7×7。第三部分是AU Patch Embedding模块,利用一个卷积核为7×7的卷积层,将特征的维度调整为NAU×2 048,最后使用全连接层输出维度为NAU×768的AU特征向量。

由上文的讨论可以看出,本文的方法与文献[10]中的方法有很大的不同。文献[10]把人脸面部区域划分为43个感兴趣区域,再将不同的区域组合成9个AU组。本文则直接针对AU将人脸划分为8个不同的感兴趣区域,每个AU均包含在其中一个感兴趣区域之中,并且在AU特征提取网络中对每个AU所在区域均进行感兴趣区域池化,以此生成NAU个特征,并且达到AU特征的尺度统一的目的。这样的操作满足了Transformer结构用于图像领域时对输入图像Patch尺寸的一致性要求,有利于后续的AU关系网络中对特征进行类别标记和位置编码。

1.3 AU关系建模(AU relationship modeling,ARM)

不同AU的出现是存在生理上联系的,并且AU之间的关系受个体的独特性影响。基于以上考虑,本文使用Transformer的编码器结构来隐式地对特征提取模块输出的NAU个AU特征向量之间的关系进行建模,关系建模过程中考虑AU本身的特征对于AU关系的作用。这种AU特征本身具有的样本独特性决定了建模的AU关系也具有独特性。ARM模块由类别标记、位置嵌入、12个级联的AU关系编码器以及一个全连接层分类器组成。ARM模块的结构如图3所示。图中类别标记的作用是在NAU个AU特征的首位插入一个尺寸为1×768大小的类别标记(其值被随机初始化)。类别标记通过与每个AU特征向量的交互,最终获取类别信息。位置嵌入通过将一个可学习的AU位置特征与经过类别标记的AU特征直接相加,使得NAU个AU特征向量的位置编码能够通过后续AU关系编码器学习彼此的信息,从而建立起AU间的联系。AU关系编码器主要包括一个多头注意力模块和一个带有非线性激活函数的多层感知器。

图3 AU关系建模模块

AU关系编码器整体采用了跳跃结构,并保持输入输出特征维度不变,其主要包含两个网络组件:一个多头注意力模块以及一个多层感知器。AU特征提取网络输出尺寸为NAU×768的AU特征向量,拼接1×768的类别标记信息后维度变为(NAU+1)×768,而在每一行嵌入1×768维的位置信息后特征维度保持为(NAU+1)×768。多头注意力层中使用全连接层将维度增大至(NAU+1)×2 304,随后将此特征均分为三段,分别为命名为q、k、v,维度均为(NAU+1)×768,再通过设定的注意力的头数H,分别将q、k、v划分为H个特征子空间。如果设定H=12,则q、k、v的维度最终变为(NAU+1)×12×64。通过子空间的划分,网络能够关注到不同位置上的信息,模型也能够综合多方面信息提取更加准确、丰富的特征。q、k、v之间进行一系列矩阵乘法、参数缩放、SoftMax等操作,得到维度为(NAU+1)×12×64的特征,最后经过全连接层输出尺寸为(NAU+1)×768的特征。多层感知器包含两层全连接层,隐含层特征的维度是3 072维,第一层全连接层使用GeLU激活函数[17],并且两层网络均使用Dropout操作来防止多层感知器出现过拟合现象。经过12个AU关系编码器之后,从输出的特征中取出类别标记向量做后续分类任务。将类别标记向量输入一个由全连接层和Sigmoid激活函数构成的分类器中,最终得到AU分类概率。

将图2和图3中的网络串接就构成了本文AU检测模型,它们将作为一个整体进行训练和测试。由于数据集中样本的AU标签分布严重不平衡,并且AU分类任务属于多标签场景,所以本研究使用加权多标签交叉熵损失和加权可微F1损失函数作为损失函数对人脸运动单元检测模型进行训练。

1.4 损失函数设计

AU分类任务属于多标签场景,对于数据驱动的模型来说,训练数据集中的类别平衡性影响着模型的性能。然而,这种类别平衡性常常不能满足。例如,本文所使用的BP4D和DISFA数据集,其中某一折训练集各AU类别出现频次如图4所示,其中0标签表示无任何AU出现的情况,可见训练集中样本的AU标签分布严重不平衡。

A:BP4D上某一折训练集的各个AU出现频次;B:DISFA上某一折训练集的各个AU出现频次。AU:面部运动单元。

为了解决以上问题,本研究设计了一种新的损失函数对模型进行训练,见公式(1),损失函数包含三部分:加权多标签交叉熵损失函数、加权可微F1损失函数、对网络权重的L2正则化项。公式(2)给出了加权交叉熵损失函数。为了平衡类别内正负样本的不均衡,设计了一个加权可微F1损失函数Ef1,使用预测得到的概率作为标签值来计算可微F1损失函数,避免了由于模型最终预测的标签值为{0,1}而导致的F1分数不可微的问题,权重可微F1损失函数见公式(3)所示。

(1)

(2)

(3)

2 实验结果

2.1 数据集

为了评估本研究所提出的模型的性能,在两个被广泛使用的公开数据集BP4D、DISFA进行了模型训练和性能评估。BP4D包含了41名青年在与实验人员进行8项不同的互动过程中各种情绪的2D和3D视频。41名参与者中有23名女性,18名男性;其中11人是亚洲人,6人是非裔美国人,4人是西班牙裔,20人是欧美人。BP4D包含328个视频约140 000张有效的人脸图像。DISFA数据库收集了27名成年受试者的自发面部动作,每个受试者的视频记录时间为4 min,每个视频4 844帧,共有130 788张图像。本研究对BP4D中的12个AU和DISFA中的8个AU进行检测。

为更好地对算法的鲁棒性进行分析,分别在每个数据集上进行三折交叉实验验证,BP4D数据集的三折交叉验证的划分方式分别为:训练集27人或28人,测试集14人或13人,DISFA数据集的三折交叉验证划分方式为训练集18人,测试集9人。取三次交叉验证的F1 分数的平均值作为最终结果。

2.2 参数设置

本文使用随机梯度下降算法对模型进行训练,其超参数设置如下:动量系数为0.9,实验训练共20个周期并使用余弦衰减学习率,初始学习率lrstart=0.001,最后一个训练周期的学习率为lrend=0.000 01,L2正则化项权重设置为5e-5。

2.3 评价指标

AU检测是一个多标签分类任务,AU检测结果性能的评价指标一般采用式(4)所示的F1分数,F1分数同时兼顾了分类模型的查准率和查全率,可以看作是模型查准率和查全率的一种调和平均,因此F1分数能真实地反映出分类结果的好坏。

(4)

2.4 实验结果与分析

2.4.1 消融实验 为分析各个网络模块在AU检测中的作用,本研究用ResNet101作为主干网,加权交叉熵为基础损失函数,分别对仅包含AU特征提取网络和全连接层作为分类器的检测模型(ARFE)、在ARFE基础上加入AU关系建模模块的检测模型(ARFE+ARM)、引入加权可微F1损失函数(WDFL)的检测模型(ARFE+ARM+WDFL)以及使用AU关系编码器中不同头数的检测模型进行三折交叉验证实验。

实验结果显示,ARFE的AU检测结果中平均F1分数达到62.6%,优于ResNet101的60.7%和VGG16的54.0%,并且P<0.05,差异具有统计学上的显著性。ARFE+ARM的AU检测结果中平均F1分数达到63.4%,相比ARFE提高了0.8%,并且P<0.05,这一结果说明利用Transformer的编码器构建的AU关系模块可以有效捕获AU间关系,提高分类性能。ARFE+ARM+WDFL的AU检测结果中平均F1分数达到63.8%,相比ARFE+ARM提高了0.4%并且具有统计学上的显著性,这说明引入加权可微F1损失函数的检测模型能更好地平衡查准率和查全率。

本研究通过Transformer编码器中的注意力机制来考虑样本的独特性,当Transformer编码器中的头数较少时,模型对每个输入位置的信息提取能力较弱,更加倾向于全局特征的关系建模,使得模型在处理每个样本时的注意力分布更加相似,从而在一定程度上减小了样本独特性的影响。反之,当Transformer编码器中的头数较多时,模型对每个输入位置的信息提取能力较强,使得模型更加具有样本自适应性,从而在一定程度上增加了样本独特性的影响。为了验证样本独特性对AU关系建模的影响,通过改变Transformer编码器中的头数来调整Transformer中的注意力机制,进而影响到AU关系的建模。图5给出了ARFE+ARM+WDFL方法中编码器头数对于AU检测性能的影响。由图可见,当头数比较少的时候,模型的检测性能与头数呈正相关。当编码器头数增加到12时,模型的AU检测性能达到最优,而继续增加头数到16时模型的性能仍然维持同一水平,并略有降低。以上结果说明,样本独特性对模型的检测性能有着重要的影响,当样本独特性和特征的全局性达到某种平衡时,模型的检测性能达到最优。

图5 编码器头数对AU检测精度的影响曲线

2.4.2 与现有主流方法的对比试验 为了说明本研究模型的优越性,表2和表3分别给出了本文提出的方法与其他主流AU检测方法在BP4D数据集以及DISFA数据集上的三折交叉验证实验结果(其他方法的结果均直接取自于其他已发表的论文)。

表2 不同人脸AU检测方法在BP4D数据集上的检测性能比较 (%)

表3 不同人脸AU检测方法在DISFA数据集上的检测性能比较 (%)

由表2可见,相比于其他方法,本研究提出的方法对于BP4D数据集中12个AU的检测结果更加稳定,对于AU1、AU2、AU4这些出现频次偏少,不利于模型检测的类别,相比次优分数分别高出9.4%、14.8%、3.3%;而在部分AU,如AU6、AU7、AU10、AU12的检测结果上相比其他方法的F1分数稍低,原因是损失函数使用的权重削弱了模型对这些出现较多AU的关注,以及网络输入的人脸图像尺寸为224×224相比AURCNN的512×512更小;在AU15、AU17上,由于这些AU实际区域较小,因此使用了多尺度特征提取的SRERL和AURCNN更有优势。在平均F1分数上,本研究提出的方法也超过了其他方法。

表3给出了不同方法在DISFA数据集上对8个AU进行检测的性能,与BP4D类似,在AU1、AU2、AU9这些出现频次较少的类别上,我们的模型仍能保持较好的检测性能;此外,由于DISFA数据集标签相比BP4D具有更强的稀疏性,因此建模AU间的关系对于模型性能提升尤为显著,从F1分数平均值来看,本文的方法相比次优的方法提升了5.8%,并且我们的方法对全部的AU检测结果具有很高的稳定性。

除此之外,表4和表5还给出了本研究模型在BP4D和DISFA数据集上的三折交叉验证的结果。虽然其他方法未提供三折交叉验证的结果,无法用此项作为对比,但仍然可以看出本研究方法在各折上检测性能的标准差上均保持了较低值,这说明本研究模型对不同的数据划分方式具有很强的鲁棒性。

表4 研究模型在BP4D数据集上的三折交叉验证结果

表5 研究模型在DISFA数据集上的三折交叉验证结果

3 讨论

本研究将有关AU区域性的专家先验知识融合特征提取的过程中,使得模型能专注于与特定AU相关的人脸区域,从而提取具有更强表达能力的AU区域特征。考虑到人脸不同AU在空间位置上的关联性,本研究利用Transformer的编码器结构对AU间的关系进行编码,使得模型能够充分考虑样本的独特性。为了有效解决具有多个AU标签的分类任务中的类别不平衡问题以及正负样本不均衡问题,采用加权多标签交叉熵以及加权可微F1损失作为模型训练中的损失函数。在BP4D和DISFA数据集上的评测结果证明本研究提出的AU检测方法与现有的主流方法相比具有更好的稳定性,这种稳定性不仅表现为对同一数据集上不同AU检测性能的相对一致性,而且表现为对不同数据集上检测性能的相对均衡性。

猜你喜欢
集上编码器人脸
有特点的人脸
Cookie-Cutter集上的Gibbs测度
链完备偏序集上广义向量均衡问题解映射的保序性
三国漫——人脸解锁
基于FPGA的同步机轴角编码器
复扇形指标集上的分布混沌
基于PRBS检测的8B/IOB编码器设计
JESD204B接口协议中的8B10B编码器设计
马面部与人脸相似度惊人
长得象人脸的十种动物