华东理工大学学报(自然科学版)
Journal of East China University of Science and Technology
ISSN 1006-3080,CN 31-1691/TQ
《华东理工大学学报(自然科学版)》网络首发论文
基于深度学习的面部动作单元识别算法
题目:
王德勋,虞慧群,范贵生
作者:
10.14135/j.cnki.1006-3080.20190107003
DOI:
收稿日期:
2019-01-09
网络首发日期: 2019-10-16
引用格式:
王德勋,虞慧群,范贵生.基于深度学习的面部动作单元识别算法[J/OL].华
东理工大学学报(自然科学版).
https://doi.org/10.14135/j.cnki.1006-3080.20190107003
网络首发:在编辑部工作流程中,稿件从录用到出版要经历录用定稿、排版定稿、整期汇编定稿等阶
段。录用定稿指内容已经确定,且通过同行评议、主编终审同意刊用的稿件。排版定稿指录用定稿按照期
刊特定版式(包括网络呈现版式)排版后的稿件,可暂不确定出版年、卷、期和页码。整期汇编定稿指出
版年、卷、期、页码均已确定的印刷或数字出版的整期汇编稿件。录用定稿网络首发稿件内容必须符合《出
版管理条例》和《期刊出版管理规定》的有关规定;学术研究成果具有创新性、科学性和先进性,符合编
辑部对刊文的录用要求,不存在学术不端行为及其他侵权行为;稿件内容应基本符合国家有关书刊编辑、
出版的技术标准,正确使用和统一规范语言文字、符号、数字、外文字母、法定计量单位及地图标注等。
为确保录用定稿网络首发的严肃性,录用定稿一经发布,不得修改论文题目、作者、机构名称和学术内容,
只可基于编辑规范进行少量文字的修改。
出版确认:纸质期刊编辑部通过与《中国学术期刊(光盘版)》电子杂志社有限公司签约,在《中国
学术期刊(网络版)》出版传播平台上创办与纸质期刊内容一致的网络版,以单篇或整期出版形式,在印刷
出版之前刊发论文的录用定稿、排版定稿、整期汇编定稿。因为《中国学术期刊(网络版)》是国家新闻出
版广电总局批准的网络连续型出版物(ISSN 2096-4188,CN 11-6037/Z),所以签约期刊的网络版上网络首
发论文视为正式出版。
网络首发时间:2019-10-16 16:44:39
网络首发地址:http://kns.cnki.net/kcms/detail/31.1691.TQ.20191016.1419.001.html
华 东 理 工 大 学 学 报(自 然 科 学 版)
Journal of East China University of Science and Technology
1
DOI: 10.14135/j.cnki.1006-3080.20190107003
基于深度学习的面部动作单元识别算法
王德勋1,2, 虞慧群1, 范贵生1
(1. 华东理工大学计算机科学与工程系,上海 200237;
2. 上海市计算机软件测评重点实验室,上海 201112)
摘要:面部动作单元识别任务是理解人脸表情最重要的环节之一,但因为类别极度不平衡和
属于多标签分类等问题,给算法设计带来了不小的困难。针对这些问题设计了一种基于深度学
习的面部动作单元识别算法。首先,基于迁移学习理论,以人脸识别任务为目标驱动,使用大
规模数据集预训练卷积网络,使模型具有提取人脸抽象特征的能力;其次,设计了一个根据分
类置信度来动态加权样本损失大小的目标函数,使得模型更关注于优化少数类样本;最后,结
合多标签共现关系拟合和人脸关键点回归两个相关任务,联合训练模型并测试。实验结果表
明,该方法在CK+和MMI数据集上能有效提升分类正确率与F1分数。
关键词:面部动作单元识别;迁移学习;类别不平衡;动态加权损失;多任务训练
中图分类号:TP391.4
文献标志码:A
面部动作单元(Facial Action Unit, AU)是构成人
脸表情的基本成分,描述了面部各区域肌肉群的运
动情况。不同区域的肌肉运动构成的动作单元由不
同的AU编号表示,例如AU4表示眉毛被周围肌肉
群带动压低并聚拢形成的皱眉动作;AU25表示当控
制颌部关闭的肌肉群放松时所形成的张嘴动作。研
究人员通过分析不同人脸表情的结构与差异,发布
了 面 部 动 作 编 码 系 统(Facial Action Coding System,
FACS)[1],规定了包括皱眉、皱鼻和闭眼在内的43种
面部动作单元。通过计算机自动地识别出面部动作
单元及其组合,准确地检测出面部微小动作单元的
变化,从而有助于分析人脸表情与理解情绪,在贷款
审批、疲劳驾驶检测和心理疾病治疗等多个场景中
有很好的应用前景。
随着面部动作单元识别成为图像处理和计算机
视觉的一项极富挑战性的任务,很多基于几何特征
的算法被提出,如Kotsia等[2]通过定位五官的关键点
位置并利用点之间形成的距离、形状或面积等特征
来识别。随着近几年深度学习的发展,以卷积神经
网络为基础的深度学习算法也被研究人员使用并证
明了其在该任务上的有效性。通过大量数据的支
撑、精细的数据预处理与精心设计的目标函数,深度
网络能自动学习到关键与鲁棒的抽象特征并加以分
类识别。不同的算法旨在解决面部动作识别任务中
存在的不同难点,主要包括以下几个方面:
(1)大部分动作单元具有不平衡的样本数量,例
如对于闭眼(AU43),标签为0(眼睛睁开)的样本数
量远多于标签为1(眼睛闭合)的数量。类别不平衡
会导致模型在训练过程中更偏向预测多数类而忽略
少数类等问题。
(2)不同的光照、种族、人脸姿态和分辨率等可
变因素,造成了人脸图像区域具有极高的差异与多
样性。
(3)虽然迁移学习已经通过ImageNet图像分类
等竞赛证明了其有效性,但在AU识别任务上并没
有 具 有 代 表 性 的 预 训 练 模 型 , 相 关 的 研 究 也 少 之
又少。
(4)AU识别任务属于多标签分类任务,不同的
AU之间可能存在一定的相关性,如何让模型学习到
这些关系是一个挑战。
收稿日期: 2019-01-09
作者简介: 王德勋(1994-),男,四川人,硕士生,主要研究方向为机器学习。E-mail:wangdexun0111@foxmail.com
通信联系人: 虞慧群,E-mail:yhq@ecust.edu.cn
2
华 东 理 工 大 学 学 报(自 然 科 学 版)
第 45 卷
本文从监督学习与卷积网络模型着手,首先使
用MTCNN算法[3]对AU数据集进行人脸区域检测
和对齐的预处理操作,使得与目标任务不相关的背
景噪声被排除,并通过一些图像增强方法(如随机水
平翻转、饱和度与亮度调节等)增加输入数据的多样
性。针对上述目标任务中存在的难点,提出了以下
解决思路:
(1)为了利用迁移学习可以给网络提供先验知
识的优点,使用目前具有高准确度的人脸识别算法
CosFace[4]预先训练模型。因为目标任务与人脸识别
任务具有一定的相关性,所以该方法能够给网络提
供良好的初始化并得到更高的分类精度。
(2)针对AU类别不平衡的问题,从损失函数入
手。在训练过程中,根据模型对样本预测的分类置
信 度 动 态 地 改 变 其 损 失 权 重 , 使 得 模 型 更 加 关注
AU样本中的少数类,如闭眼、张嘴等。
(3)通过在损失函数中考虑标签共现关系以及
人脸关键点等属性,对模型多任务联合训练,得到更
高的准确度。
1 相关工作
最初的面部动作单元识别研究方向主要是计算
几何特征与提取人工特征。Baltrušaitis等 [5]应用开
源的追踪与对齐算法得到人脸区域后,提取了4 464
维HOGs(Histograms of Oriented Gradients)特征,并通
过PCA降维后由SVM模型分类。Yüce等[6]通过在
人 脸 关 键 点 附 近 提 取 SIFT( Scale Invariant Feature
Transform)特征来辅助预测。
随着深度学习理论的发展,基于神经网络模型
的训练算法陆续被提出。Zhao等[7]认为不同的五官
区域数据,如眼、口、鼻等所包含的信息迥异,参数共
享的卷积核很难同时学习到人脸各个区域的局部特
征,所以通过划分中间卷积层产生的特征图为8x8
共64个子区域,并分别在每个区域执行参数互不共
享 的 卷 积 操 作 , 在 实 验 数 据 集 上 得 到 了 很 好 的 效
果。为了解决AU类别不平衡问题,Tang 等[8]针对每
类AU构造正负样本数量相等的训练集;Zhao等 [7]
也提出在训练过程中对每批训练数据中的多数类样
本进行下采样操作,不计算这些多余样本产生的损
失函数。对于多标签AU分类任务,Chu等[9]对比了
单独训练每一类AU与使用多标签交叉熵损失共同
训练两种方案,实验证明后者往往能得到更佳效果;
Zhao等[10]从若干开源数据集中统计出具有较强正相
关性和负相关性的AU类别对,包括8组正相关性
与14组负相关性,并将这些特殊的相关关系通过正
则项公式来描述,从而融入到网络的优化过程中。
2 基于深度学习的AU识别算法
本文提出了一种根据分类置信度来动态调整样
本损失函数权重,并使用多任务联合训练的人脸动
作单元识别算法。首先基于迁移学习理论,预先使
用大量的人脸识别数据库训练网络,使得网络学习
到关于人脸五官的各种抽象特征,并在此基础上进
行后续的面部动作单元识别优化;利用网络训练过
程中输出的分类置信度,设计了一个动态调整权重
的损失函数来处理数据集中的类别不平衡问题,使
得本身分类困难的面部动作得到更充分的训练;最
后结合多种具有相关性的监督任务,联合训练并通
过反向传播优化深度网络参数。算法的整体框架图
如图1所示。
2.1 迁移学习
深度网络具有广阔的模型参数空间与强大的非
性拟合能力,在损失函数的监督下可以学习到关于
输入数据的各种抽象表征,但同时也因为模型的高
复杂度和数据集的稀缺性,容易造成过拟合,模型缺
少泛化性,而通过迁移学习则能够改善这种现象。
通过在具有大量数据集并且与目标任务相关的其他
任务上预先训练,使网络具备了解决相关任务的能
力,再利用少量的目标任务数据将这些能力迁移并
应用到目标任务上。除了能提高训练收敛速度外,
还能得到效果更好、泛化性更强的模型。
考虑到开源的面部动作单元数据集的数据量较
少,本文利用迁移学习来减少过拟合风险。因为面
部动作识别和人脸识别任务具有一定的相关性,网
络都要去学习提取关于人脸五官的某些抽象特征,
所以先以人脸识别任务为优化目标,使用具有大量
样本的VGG2数据集预训练网络。VGG2数据集包
含了8 631种人物身份在内的共3 141 890张训练图
片,除了数据量充足,其在光照、人脸角度、年龄等属
性上也具有很高的多样性,有助于模型更鲁棒。文
献[4]针对人脸识别任务提出了LMCL(Large Margin
Cosine Loss)损失函数,通过在余弦空间中最大化分
类边界间隔使得类间差异最大化和类内差异最小
化,能学习到具有判别性的人脸特征。使用该损失
函数,经过若干次迭代优化并收敛后,得到能够提取
人脸区域特征的网络参数与结构,在此基础上优化
后续的AU识别任务。对比实验验证了该策略能有
效地提高目标任务的最终分类效果。
王德勋,等:基于深度学习的面部动作单元识别算法
3
图 1 算法整体框架图
Fig. 1 Framework of the algorithm
2.2 基于分类置信度的动态加权损失函数
和许多数据集一样,面部动作识别数据集也具
有类别数量不平衡的问题[5,7]。机器学习算法通过优
化损失函数来提升正确率等评测指标,但也未考虑
数据集的类别分布情况,最终导致模型更偏向于预
测多数类而忽略掉少数类,并使得某些评测指标(如
正确率)虚高。
假 设
为 网 络 训 练 过 程 中
的某批输入图片数据,
为这批数
据对应的标签,其中 S为 batch size,。因为目标任务
是 多 标 签 分 类 任 务 , 即 一 张 输 入 图 片 对 应 了 多 个
AU类 别 标 签 , 假 设 模 型 要 预 测 N种 AU结 果 , 则
实际上是一个 SxN的二 维 0,1标签
矩阵。假设训练数据经过网络前向传播后得到的预
,其中预测样本 Xs得
测结果为
到关于第 n类 AU的概率为 ,样本 Xs在 第 n类 AU
上的标签为 Ysn,则模型对于第 s个样本关于 第 n类
AU的Sigmoid交叉熵损失函数为
则最终该批训练数据的多标签交叉熵损失函
数为
因为多种 AU都具有严重的类别不平衡问题,
由式(2)作为损失函数训练得到的模型严重倾向于
预测多数类。例如对于 AU20(即嘴角拉伸)这个面
部动作,由于数据集中未拉伸的样本数量远多于拉
伸的样本数量,对于新样本,模型预测 AU20未出现
的概率也会大大增加。假设网络在式 (1)损失函数
的监督下训练完成后,网络正确预测出第 n类 AU的
概率为
通过对目标数据集中的不平衡 AU类别数据采
样,并分别统计模型对于多数类和少数类样本预测
的 Psn值 分 布 , 可 以 发 现 模 型 关 于 多 数 类 数 据 的
Psn分布整体接近 于 1,对于少数类数据的 Psn分布处
于 0.5附近,即模型错误预测少数类样本的概率大于
X=(X1;X2;X3;:::;XS)Y=(Y1;Y2;Y3;:::;YS)(Y1;Y2;Y3;:::;YS)ˆY=(ˆY1;ˆY2;ˆY3;:::;ˆYS)ˆYsnL0(Ysn;ˆYsn)=YsnlgˆYsn(1Ysn)lg(1ˆYsn)(1)L1(Y;ˆY)=1SS∑s=1N∑n=1L0(Ysn;ˆYsn)(2)Psn={ˆYsn;ifYsn=11ˆYsn;ifYsn=0(3)step 1Pre-trainingstep 2Training AUrecognitionmodelFace recognitiondataset like VGG2InputConvolutional neuralnetwork with randomlyinitialized parametersForwardpropagationForwardpropagationBackwardpropagationBackwardpropagationAccording to the prediction result, the loss function iscalculated by using CosFace algorithm, and the networkparameters are updated by back propagationAU recognitiondataset like CK+The loss function of multi-task learning includes:(1) Calculating the weighted loss according to the predicted confidence of AU category.(2) Predicting the multi-label co-occurrence relationshipand calculating cross-entropy loss.(3) Predicting the key points of human face andcalculating L1 loss.InputPre-trained convolutional neural network in step1
4
华 东 理 工 大 学 学 报(自 然 科 学 版)
第 45 卷
错误预测多数类样本的概率。为了强迫模型去关注
并优化少数类数据的信息,本文根据样本被正确分
类的置信度(Psn),对训练过程中的损失函数设置动
态权重,调整后的损失函数为
其中:σ[γ1−2Psn]为训 练 AU分类器过程中的损失函
数加权系数;σ为 Sigmoid函数; γ为可配置的惩罚参
数,用于调节模型对于多数类 AU和少数 类 AU的损
失惩罚力度,不同的 γ取值下动态权重的函数曲线图
如图2所示。
图 2 不同γ取值时对应的权重变化曲线
Fig. 2 Weight change curves of different γ values
从图 2可以看出, 当 γ=0时, AU的多数类样本
与少数类样本具有相同的权重,等价于式(2);当 γ越
来越大时,模型对于少数类样本即分类困难的样本
的损失函数权重更高,对于多数类样本即分类较为
容易的样本的损失函数权重更低,在这种情况下,模
型会更加关注 AU数据中少数类样本所提供的信息。
2.3 多任务联合训练
在许多机器学习场景中,模型是由单一任务驱
动训练得来,假若训练数据量不大则容易导致网络
不 够 泛 化 , 而 多 任 务 联 合 训 练 则 可 以 减 少 这 种 影
响。该方法将多个相关任务放在一起学习,梯度同
时反向传播,任务之间能够共享、互补一些信息,这
样 能 使 得 最 终 模 型 更 加 鲁 棒 , 在 目 标 任 务 上 表 现
更佳。
本文在优化式(4)加权交叉熵损失的同时,还优
化了多标签的共现关系与人脸关键点两种额外属性。
2.3.1 多标签的共现关系 因为 AU识别任务属于多标
签预测任务,不同 AU类别之间可能具有相关性 [10],
而式(4)的损失函数实际上是多个彼此独立的 Sigmoid
交叉熵损失的加权和,并未考虑不同 AU之间可能存
在的相关性。针对此问题,本文加入了考虑 AU多标
签共现关系的损失函数:
当两个不同 AU同时出现(标签均 为 1)或者同
时不出现(标签均为 0)时,具有正向相关性,否则具
有负向相关性。该损失函数会驱动网络去学习这种
隐藏的标签共现关系,而非视每种 AU类别为彼此
独立。
2.3.2 人脸关键点 考虑到人脸关键点位置与某些
AU具有一定的关联性 [2],比如对于 AU43(闭眼)来说,
人脸 68个关键点在眼睛部位上 的 6个点会倾向于一
条直线上,形成的面积接近于 0;对于 AU25、AU26
等张嘴动作来说,相比于闭嘴时上嘴唇的关键点与
下嘴唇的关键点会有一定的间距。本文利用 Dlib开
源库对训练数据集预测出人脸 68个关键点坐标 共
136维 , 并 归 一 化 至 [0,1], 记 为 (x1,y1,x2,y2,…,x68,y68),
)为网络对 第 i个关键点坐标的预测值,再利 用
(
L1损失优化网络:
2.4 算法设计
本文最终的训练损失函数为
式中,λc和λl分别对应了拟合标签共现关系与回归人
脸关键点两个任务的损失加权系数。算法步骤描述
如下:
(1)采集实验数据,其 中 AU数据及其标签记 作
(X,Y),人脸识别数据集记作D;
(2)构建深度卷积网络模 型 H0,并随机初始化
权重;
(3)使 用 MTCNN模型 对 X检测人脸并对齐裁剪;
(4)按照一定的比例随机划 分 D为训练 集 Dtrain
和验证集 Dval;除非所用的 AU数据集已经提前划分
好,否则按照一定的比例随机分割 (X,Y)为训练 集
(Xtrain,Ytrain)和验证集(Xval,Yval);
(5)利 用 LMCL损失 和 Dtrain训 练 H0,直到 H0在
Dval上的评测结果不再有明显提升,得到模型H1;
(6)使 用 Dlib开源库 对 Xtrain提 取 68个人脸关键
点坐标,记作LM;
(7)从 (Xtrain, Ytrain, LM)中采样得到批数 据 (Xbatch,
Ybatch, LMbatch),并且 Xbatch经 H1前向传播运算后得到
预测结果记为Ypred;
L(Y;ˆY)=1SS∑s=1N∑n=1[(12Psn)]L0(Ysn;ˆYsn)(4)Lcooccur(Ys;ˆYs)=N∑n1=1N∑n2=n1+1L0((Ysn1;Ysn2);(ˆYsn1;ˆYsn2))(5)(Y1;Y2)={1;ifY1=Y20;ifY1,Y2(6)ˆxi;ˆyiLlm=68∑i=1MAE(xi;ˆxi)+MAE(yi;ˆyi)(7)Lfinal(Y;ˆY;)=L(Y;ˆY)+cLcooccur(Y;ˆY)+lLlm(8)000.20.40.60.81.00.20.40.60.81.0WeightPsnγ = 0γ = 1γ = 3γ = 5γ = 10γ = 50
王德勋,等:基于深度学习的面部动作单元识别算法
5
(8)根据式( 8),利用 (Ybatch,Ypred,LMbatch)计算出该
批 数 据 的 损 失 大 小 , 并 使 用 梯 度 下 降 法 更 新 模 型
H1的参数;
(9)当达到一定的训练次数时,使 用 (Xval,Yval)对
H1评测,若评测结果已经收敛,不再有明显提升,即
得到最终的 AU识别模型,算法结束;否则跳转至步
骤(7)继续训练模型。
算法的时间开销主要由图片预处理、人脸识别
预训练和 AU识别训 练 3个部分确定。对于网络的
训练过程,算法时间性能同时受训练数据规模、模型
结构、批数据大小和硬件等多个因素共同影响,若模
型结构轻巧、参数量适中则训练速度越快;批数据越
大,单次迭代所需的时间增加,但也更容易快速收
敛;对于预训练任务,因为所用数据集规模可能较
大,所需时间可能稍长,不过基于卷积的深度模型能
受GPU硬件的良好加速支持。
对于普通的卷积神经网络模型,其对输入数据前
向推断并预测的时间复杂度约为
,
其中 D为网络的卷积层数, Ml为 第 l层输入的特征
图边长,Kl为 第 l层的卷积核边长, Cl-1和 Cl分别为
第l层的输入通道数和输出通道数。
3 仿真实验
实 验 在 配 置 了 2.20 GHz的 Intel E5-2430 CPU
和 NVIDIA Tesla M60的 GPU上运行,基 于 Python3.6
语言开发,使用 MTCNN模型检测人脸区域并对齐,
使用 Dlib开源库提取关键点,使 用 Tensorflow库搭
建网络模型并训练和评测。
3.1 实验数据
使用两个流行的面部动作单元识别数据库 MMI
和 CK+作为实验数据,数据集对应的属性如表 1所
示。虽然两个数据集都包含 30种以上 的 AU种类,
但通过统计各 AU的数量分布情况发现其非常不均
匀,在此只选择样本数量大于 100张 的 AU作为实验
数据集。
表 1 两个实验数据集的属性
Table 1 Attributes of two datasets
Number of samples
Number of AU category
Number of objects
MMI
CK+
68
123
Resolution
720×576
493 pictures, 2 383 videos
640×490、640×480
593 picture sequences
46
30
在使用本文方法进行 AU识别前,需要对原始
图片预处理,包括利用 MTCNN进行人脸检测与对
齐。预处理后的数据集的部分采样数据如图 3所示,
其中第 1行 为 MMI数据库图片, 第 2行 为 CK+数据
库图片。裁剪出人脸区域主要是为了去除不必要的
背景噪声,使模型专注在人脸区域内学习特征;而对
齐是许多人脸相关算法重要的预处理步骤,对检测
到的人脸关键点进行刚体相似变化到若干个固定点
位置,这样深度网络在特征抽取的时候能够着重学
习五官周围的相对结构信息,而无需学习绝对位置
等信息,降低学习难度。
3.2 评价标准
本文以正确率和 F1分数作为评测指标,因 为
AU识别任务的分类目标只有两类即二分类问题,
根据真实标签与预测标签可将数据集样本划分为
4类:
(1) True Positives(TP):被正确分类为正例的样
本个数;
(2) True Negatives(TN):被正确分类为负例的样
本个数;
(3) False Positives(FP):被错误分类为正例的样
本个数;
(4) False Negatives(FN):被错误分类为负例的
样本个数。
正确率 Accuracy定义为正确分类的样本数与总
样本数之比:
图 3 预处理后的实验数据
Fig. 3 Processed experimental data
F1分数定义为
O(D∑l=1Ml2Kl2Cl1Cl)Accuracy=TP+TNTP+TN+FP+FN(9)F1=2TP2TP+FP+FN(10)
6
华 东 理 工 大 学 学 报(自 然 科 学 版)
第 45 卷
CK+
MMI
Training strategy
Datasets
3.3 实验结果与分析
实验使用的卷积模型包括 ResNet50和 MobileNet
V2。为了在模型训练过程中不受其他可变因素影响
得到更可信的对比实验结果,实验中统一设置训练
参数,即初始学习率设置为 0.1,每 500步衰减 为 0.8
倍;使用 Adam方法优化网络参数;批数据大小统一
设置为 32。为了避免单次训练结果可能会出现随机
性和波动,对每次实验均训练 3次,并观 察 3次的结
果有无较大差异后,取平均值作为结果。
3.3.1 算法结果对比分析 将本文算法与其他 4种
面部动作单元检测算法在两个数据集上进行比较,
对比结果如表 2所示。可以看到本文算法在两个数
据集上均有很好的表现,在 F1分数上均高于另 外
4种算法。而对 于 CK+数据集,本文算法在正确率上
略低于文献 [7]提出 的 DRML算法,可能是因为引入
了样本动态加权损失,使得模型对多数类的关注减
少,使得正确率精度可能有所影响。
表 2 与开源算法的对比结果
Table 2 Comparison results of with open-source algorithms
Algorithm
LSVM[11]
JPML[10]
DRML[7]
RAN[12]
This paper
Accuracy
F1
Accuracy
F1
0.901
0.933
0.946
−
0.941
0.769
0.780
0.791
0.769
0.802
0.634
0.758
0.789
−
0.797
0.602
0.643
0.662
0.521
0.679
3.3.2 人脸识别预训练对精度的影响分析 为了探
究与对比不同预训练策略对最终模型精度的影响,
本文考虑了3种情况:
(1)无预训练即直接使用AU数据集训练;
(2)使用ImageNet数据集预训练;
(3)使用人脸识别数据集VGG2预训练。
实验结果表明,3种策略在多次重新训练中都只
有 较 小 的 波 动 性 , 模 型 学 习 过 程 较 稳 定 。 模 型 在
CK+与 MMI数据集上的实验结果如 表 3所示可以看
出,因为 ResNet50模型深度更深,具有更广阔的参数
空间与特征表达能力,所以比 MobileNet V2的效果
要好;对于两种基础模型,使用数据集 VGG2预训练
人脸识别任务的策略均比另外两种策略效果更佳,
同时收敛速度也更快,说明人脸识别任务与目标任
务具有很强的关联性,通过这种预训练能给予模型
有意义的先验信息。
3.3.3 动态加权损失函数对精度的影响分析 为了
表 3 不同预训练策略的结果
Table 3 Comparison results of different pre-training strategies
Initial strategy
Dataset
ResNet50
MobileNet
Accuracy F1 Accuracy F1
Without pre-training
Pre-training on ImageNet
Pre-training for face recognition
CK+
MMI
CK+
MMI
CK+
MMI
0.92
0.75
0.93
0.75
0.93
0.78
0.71
0.60
0.72
0.61
0.76
0.64
0.90
0.72
0.90
0.71
0.93
0.76
0.68
0.56
0.69
0.58
0.73
0.62
验证 2.2节提出的动态加权损失函数的有效性, 在
3.3.2的 结 论 之 上 , 实 验 并 得 到 了 可 配 置 惩 罚 参 数
γ在多种取值下的算法表现,包括不使用动态加权
(即 γ等 于 0)与文献 [7]中使用的批数据随机下采样
两种情况,对比结果如表4和图4所示。
表 4 不同目标函数的比较效果
Table 4 Comparison results of different loss functions
ResNet50
MobileNet
Accuracy
F1
Accuracy
F1
0.90
0.74
0.93
0.78
0.94
0.78
0.94
0.79
0.91
0.75
0.75
0.62
0.76
0.64
0.77
0.65
0.78
0.67
0.75
0.65
0.89
0.72
0.93
0.76
0.94
0.77
0.93
0.78
0.89
0.74
0.71
0.60
0.73
0.62
0.74
0.63
0.76
0.65
0.72
0.62
Down-sampling
γ=0
γ=1
γ=3
γ=10
CK+
MMI
CK+
MMI
CK+
MMI
CK+
MMI
CK+
MMI
图 4 CK+上不同优化函数的训练曲线
Fig. 4 Training curves for different loss functions on CK+
002 0004 0006 0008 00010 0000.20.40.60.81.0StepF1Downsampleγ = 0γ = 3
王德勋,等:基于深度学习的面部动作单元识别算法
7
实验结果表明,在训练过程中随机对批数据中
的多数类样本下采样,使得正负样本平衡的策略可
能会损失模型精度;γ=3时,除 了 MobileNet V2模型
在 CK+上的正确率比 γ=1时略低,其他评测均达到
最 优 ; γ=10时 , 因 为 忽 略 掉 了 许 多 分 类 置 信 度 为
0.7以上的样本,样本权重已经接近 于 0,虽然这些样
本具有较高的分类置信度即已经分类正确,但若直
接视而不见也会丢失数据信息,影响模型精度。
3.3.4 多任务联合学习对精度的影响分析 为了验
证结合标签共现关系与关键点回归两个子任务共同
优化模型能进一步提高最终 AU分类精度,本文 在
3.3.3的结论之上,实验并对比了联合与不联合两种
情况,联合训练的时候 λc与 λl两个参数均取 为 0.5,
实验结果如表5所示。
表 5 多任务联合训练的比较结果
Table 5 Comparison results of multi-task training
Training strategy
Dataset
ResNet50
MobileNet
Accuracy F1 Accuracy
F1
Without multi-task learning
With multi-task learning
CK+
MMI
CK+
MMI
0.94
0.79
0.94
0.80
0.78
0.67
0.80
0.68
0.93
0.78
0.94
0.80
0.76
0.65
0.78
0.67
4 结束语
本文提出了一种基于深度学习框架的面部动作
单元识别算法,包括 3个部分:使用大规模人脸识别
数据集预训练、在训练过程中根据 AU分类置信度
动态调整损失函数权重,以及联合两个相关任务(预
测标签共现关系与回归人脸关键点)协同训练。该
算法在开源的 CK+和 MMI数据集上取得了很好的
精度效果,但是并未考虑到如何处理人脸被遮挡以
及出现不同人脸姿态角度时的情况[13]。此外,如何很
好地拟合 2个以上 的 AU之间的共现关系,以及 对 AU
强度的识别分析[14-15],这些都是将来需要研究的问题。
参考文献:
[ 1 ]
[ 2 ]
EKMAN P, FRIESEN W V, HAGER J C. Facial Action
Coding System: The Manual on CD ROM[M]. Salt Lake
City: A Human Face, 2002.
KOTSIA I, PITAS I. Facial expression recognition in im-
age sequences using geometric deformation features and
support vector machines[J]. IEEE Transactions on Image
Processing, 2007, 16(1): 172-187.
[ 3 ]
[ 4 ]
[ 5 ]
[ 6 ]
[ 7 ]
[ 8 ]
[ 9 ]
[10]
[11]
[12]
[13]
[14]
[15]
ZHANG K, ZHANG Z, LI Z, et al. Joint face detection and
alignment using multitask cascaded convolutional net-
works[J]. IEEE Signal Processing Letters, 2016, 23(10):
1499-1503.
WANG H, WANG Y, ZHOU Z, et al. CosFace: Large mar-
gin cosine loss for deep face recognition[J]. arXiv preprint
arXiv:1801.09414, 2018.
BALTRUŠAITIS T, MAHMOUD M, ROBINSON P.
Cross-dataset learning and person-specific normalisation for
automatic action unit detection[C]//2015 11th IEEE Interna-
tional Conference and Workshops on Automatic Face and
Gesture Recognition (FG). USA: IEEE, 2015: 1-6.
YÜCE A, GAO H, THIRAN J P. Discriminant multi-label
manifold embedding for facial action unit detection[C]//
2015 11th IEEE International Conference and Workshops
on Automatic Face and Gesture Recognition (FG). USA:
IEEE, 2015: 1-6.
ZHAO K, CHU W S, ZHANG H. Deep region and multi-
label learning for facial action unit detection[C]//Proceed-
ings of the IEEE Conference on Computer Vision and Pat-
tern Recognition. USA: IEEE, 2016: 3391-3399.
TANG C, ZHENG W, YAN J, et al. View-independent fa-
cial action unit detection[C]// 2017 12th IEEE International
Conference on Automatic Face & Gesture Recognition (FG
2017). USA: IEEE, 2017: 878-882.
CHU W S, DE LA TORRE F, COHN J F. Learning spatial
and temporal cues for multi-label facial action unit detec-
tion[C]//2017 12th IEEE International Conference on Auto-
matic Face & Gesture Recognition (FG 2017).USA: IEEE,
2017: 25-32.
ZHAO K, CHU W S, DE LA Torre F, et al. Joint patch and
multi-label learning for facial action unit detection[C]//Pro-
ceedings of the IEEE Conference on Computer Vision and
Pattern Recognition. USA: IEEE, 2015: 2207-2216.
FAN R E, CHANG K W, HSIEH C J, et al. LIBLINEAR:
A library for large linear classification[J]. Journal of Ma-
chine Learning Research, 2008, 9(9): 1871-1874.
PENG G, WANG S. Weakly supervised facial action unit
recognition through adversarial training[C]//Proceedings of
the IEEE Conference on Computer Vision and Pattern Re-
cognition. USA: IEEE, 2018: 2188-2196.
徐琳琳, 张树美, 赵俊莉. 基于图像的面部表情识别方法
综述[J]. 计算机应用, 2017, 37(12): 3509-3516.
赵晖, 王志良, 刘遥峰. 人脸活动单元自动识别研究综述
[J]. 计算机辅助设计与图形学学报, 2010, 22(5): 894-906.
GUDI A, TASLI H E, DEN UYL T M, et al. Deep learning
based facs
and intensity
estimation[C]// 2015 11th IEEE International Conference
and Workshops on Automatic Face and Gesture Recogni-
tion (FG). Slovenia: IEEE, 2015: 1-5.
action unit
occurrence