基于贝叶斯网和迁移学习的人脸表情识别方法

2022-12-01 03:37郭文强冯春石侯勇严
陕西科技大学学报 2022年6期
关键词:贝叶斯人脸样本

郭文强, 冯春石, 赵 艳, 侯勇严, 徐 成, 李 惟

(1.陕西科技大学 电子信息与人工智能学院, 陕西 西安 710021; 2.陕西科技大学 电气与控制工程学院, 陕西 西安 710021; 3.长安大学 电子与控制工程学院, 陕西 西安 710054)

0 引言

面部表情识别是一个综合了人工智能、神经学、计算机等的交叉学科,在心理分析、临床医学、车辆监控以及商业领域都有很广泛的应用[1,2].随着面部表情识别研究的不断深入,Ekman和Friesen建立了面部动作编码系统(Facial Action Coding System,FACS),其将面部肌肉运动分为44个独立的动作单元(Action Unit,AU),并描述了这些动作单元与人脸表情的关系[3,4].

文献[5]提出了一种基于支持向量机(Support Vector Machines,SVM)算法的人脸表情识别模型,对不同角度下的人脸表情图像进行识别,但SVM通常用来解决二值分类问题,在多值分类问题上具有一定的局限性.文献[6]基于深度学习机制,将卷积神经网络(Convolutional Neural Networks,CNN)应用到人脸表情识别领域中,但是CNN模型复杂、可解释性差、训练时依赖于大量的样本数据.文献[7]提出了一种基于Adaboost的人脸表情分类器,通过增强基于Harr特征,将多个弱分类器组合成强分类器对人脸表情进行识别,但该方法计算过程复杂,分类效果不太理想.由此可知,上述几种算法的模型都比较复杂,并且在模型训练和参数学习中均需要大量的样本数据,当获取到的样本数据较少时,容易存在过拟合问题,使得识别准确度降低.

本文提出了一种基于贝叶斯网和迁移学习的人脸表情识别方法.首先对获取的图像提取人脸的几何特征和HOG特征,并进行特征融合和归一化处理构成AU特征样本数据集,然后建立人脸表情识别BN结构;其次求得源域BN参数和目标域BN初始参数,借助迁移机制将源域BN参数引入目标域,此外设计的平衡因子可以在迁移过程中根据目标域的样本数据量自适应地进行参数学习;最后结合人脸表情识别BN模型和联合树推理算法更准确地实现人脸表情识别.

1 相关理论

1.1 BN参数学习

贝叶斯网络(Bayesian Network,BN)[8]由有向无环图和条件概率表组成,且模型结构清晰、可解释性强,在表示和推理不确定性知识方面具有一定优势.其中BN参数学习是在网络拓扑结构已建立好的基础上,依照一定的准则,利用数据样本集来学习、计算BN的参数分布.当数据比较充足时,常选用最大似然估计(Maximum Likelihood Estimation,MLE)进行模型参数学习,如式(1)所示[8]:

(1)

式(1)中:Di表示样本数据集,n为数据集个数,θ表示贝叶斯网络的参数.在实际中,可以用式(2)估计每个BN节点的参数:

(2)

MLE在数据充足时可以获得较好的参数学习精度,而当训练样本有限时,尤其当观察值为0时无法进行计算.为了解决这个问题,最大后验概率(Maximum a Posteriori,MAP)算法对MLE做了修正如式(3)所示[9],其中αijk为超参数:

(3)

1.2 BN推理

BN推理[10]是指利用已有BN模型,在已知证据节点集合的取值状态下,计算非证据节点的后验概率分布.本文采用计算速度快、应用范围最广的联合树推理算法进行推理,其表达如式(4)所示:

(4)

1.3 迁移学习

迁移学习是将某个领域中学习的知识应用到不同但相关的领域中,当目标域样本稀缺或缺失时,通过源域网络模型的知识来构建目标域网络模型[9].本文将目标网络表示为Δt={Dt,Gt,Vt},其中Dt表示目标网络的数据,Gt表示目标域网络的结构,Vt表示目标网络的维度;同理,将源网络表示为Δs={Ds,Gs,Vs}.

(5)

(6)

式(6)中:ωt和ωs对应目标网络参数和源网络参数对应的权重.

2 人脸特征提取

2.1 特征点定位

特征点定位是获取人脸几何特征的关键.本文采用约束局部模型(Constrained Local Models,CLM)算法构建人脸几何特征模型,其通过对获取的形状模型和Patch模型进行拟合优化得到人脸表情图像的68个特征点.本文根据CLM算法实现人脸不同表情及不同姿态下的特征点定位结果如图1所示.可以看出,CLM算法能够准确地实现人脸特征点定位,具备较强的鲁棒性.

图1 人脸特征点定位

2.2 HOG特征提取

本文采用方向梯度直方图(Histogram of Oriented Gradient,HOG)获取人脸表情HOG特征,其通过图像局部区域中的许多定向梯度直方图形成特征,具备较强的鲁棒性.基于HOG算法提取的HOG特征结果如图2所示.

图2 HOG特征提取结果

3 人脸表情识别BN结构模型

Ekman和Friesen提出的面部动作编码系统表明了六种基本表情(快乐、惊讶、厌恶、愤怒、害怕、悲伤)可以由不同的动作单元(Action Unit,AU)表征得到,如表1所示.

表1 面部表情与AU单元组合关系

贝叶斯网络结构的确定是贝叶斯网络建模与推理的关键步骤之一.本文通过对面部表情与AU关系的分析,确定出如图3所示的人脸表情识别BN结构.

图3 人脸表情识别BN结构

在图3中,Expression节点代表面部表情的状态,包括六种基本表情和中性表情共7种状态;AU节点代表由表情触发的动作单元,包括“发生”和“不发生”两种状态(1表示当前AU发生,0表示AU不发生);例如,当“Expression=快乐”时,AU6=1,AU12=1,其他AU单元为0;当“Expression=中性”时,所有AU单元均为0.

4 基于贝叶斯网和迁移学习的表情识别

本文设计的基于贝叶斯网和迁移学习的人脸表情识别过程如图4所示.其通过引入迁移学习机制,充分利用了源域中获取的数据和信息并迁移到目标域模型中进行学习,建立最终的人脸表情识别模型,利用BN推理算法进行表情识别.

图4 人脸表情识别过程示意图

此外,本文提出了一种基于贝叶斯网和迁移学习的人脸表情识别算法,具体步骤如下:

步骤1设置面部表情属性阈值Ψ.本文选取Ψ=0.7.

步骤2对CLM算法获取的几何特征和HOG算法获取的HOG特征进行特征融合和归一化处理,并利用SVM分类得到AU特征样本,(包含源域的AU样本集Ds和目标域的AU样本集DT).

步骤3判断是否建立面部表情识别BN模型.若是,则跳转到步骤8;否则执行步骤4至步骤7进行建模.

步骤4通过分析面部面部表情与各AU之间的关系,建立人脸表情识别BN结构,如图3所示.

(7)

(8)

(9)

(10)

步骤8对获取的待识别样本利用联合树推理算法进行人脸表情识别,得到面部表情属性概率Ψ′.

步骤9对人脸表情进行判定.若面部表情属性概率Ψ′大于等于阈值Ψ,输出表情属性,即人脸表情识别结果.否则返回步骤2,重新获取新的特征样本.

5 实验与分析

5.1 实验条件

本文实验仿真平台为Windows10系统,处理器为AMD CPU 1.8 GHz,编程工具为MATLAB R2016b.使用的数据集为Extended Cohn-Kanade(CK+)表情数据库[12]、日本女性面部表情数据库(Japanese Female Facial Expression,JAFFE)[13]和FER2013[14]数据库.

(1)CK+数据库

CK+数据库[12]是目前应用较为广泛的面部表情数据集,其是在Cohn- Kanda数据库基础上进行扩展.本文从CK+数据库中的7种表情各选取300张图像.在下文的实验一中对每种表情选取100组作为目标数据进行训练,从剩余的200组中随机选取100组进行测试;实验二选取200组作为目标数据进行模型训练,用剩余的100组进行测试.

(2)JAFFE数据库

JAFFE数据库[13]是研究亚洲人表情的重要测试库,但其规模较小,仅由10名日本女性模特在实验环境下按照指示做出七种表情,每种表情3~4张,共有 213张图像.本文对每种表情选取15组样本数据进行训练,对剩余的样本数据进行测试.

(3)FER2013数据库

FER2013面部表情数据库[14]是由研究人员从不同场景下裁剪所得,共35 887张图像,每张图像是由固定大小为48×48的灰度图像组成,包含六种基本表情和中性表情.本文对每种表情随机选取300张图像作为源域样本数据.

根据小数据集公式[9],在人脸表情识别BN结构的基础上,参数学习所需的最小样本量C的计算如式(11)所示:

(11)

式(11)中:网络节点的数量N=13,节点最大状态数k=7,最大父节点数d=1,设变量概率分布偏度系数λ=0.791,KL误差ε=0.1,置信度δ=0.05.因此,将数据量小于165的数据集称为小数据集.

5.2 表情识别结果及分析

5.2.1 CK+数据库表情识别结果

(1)实验一:100组CK+目标数据训练

本文选取CK+数据库作为目标域数据,对每种表情选取100组AU样本数据用于参数模型训练,满足小数据集条件;并从FER2013数据库中,对每种表情选取300张作为实验的源域数据用于参数模型迁移;再从CK+数据库中选取剩余的100组样本数据利用联合树推理算法实现面部表情识别,结果如表2所示.

表2 小数据集下CK+数据库表情识别结果

由表2可以看出,通过迁移学习的面部表情识别方法在七种表情下的识别率在80%~100%,平均识别率达到了93.57%,表明在小数据集条件下,本文所提的方法可以取得较好的人脸表情识别效果.

(2)实验二:200组CK+目标数据训练

为了验证本文所提方法在较为充足数据条件下仍能取得不错的面部表情识别效果,对CK+数据库的每种表情选取200组样本数据用于参数模型训练;并从FER2013数据库中,对每种表情选取300张作为实验的源域数据用于参数模型迁移;再从CK+数据库中选取剩余的100组样本数据利用联合树推理算法实现面部表情识别.实验结果如图5所示.

由图5可以看出,七种表情的识别率均在85%~100%,平均识别率为95.57%.进一步说明本文方法设计的平衡因子可以根据目标样本量的变化,使其不仅在小数据集下取得较好的识别结果,而且在目标样本数据充足时依然能取得更好的人脸表情识别结果.

图5 目标样本充足条件下的表情识别结果

5.2.2 JAFFE数据库表情识别结果

本文对JAFFE数据库中的每种表情选取15组样本数据进行训练,满足小数据集条件;再从FER2013数据库中,对每种表情选取300张作为实验的源域数据用于参数模型迁移,并对剩余的JAFFE样本数据利用联合树推理算法进行表情识别,实验结果如表3所示.

表3 小数据集JAFFE数据库表情识别结果

由表3可以看出,通过JAFFE数据库对本文所提的基于贝叶斯网和迁移学习的方法进行验证,七种表情的识别率在75.59%~100%,平均识别率达到了92.94%,进一步证明本文所提的方法适用于不同数据库下的人脸表情识别,具有良好的泛化性,且识别准确度较高.

5.2.3 不同识别方法的实验结果对比

为了验证本文方法的有效性,在不同数据库上与经典的SVM[5]方法、基于深度学习的CNN[6]方法以及Adaboost[7]识别方法进行实验对比,结果如表4所示.

表4 不同识别方法的实验结果

由表4可以看出,在CK+数据库上本文方法的平均识别率是最高的,相较于CNN方法和Adaboost方法,表情识别精度分别提高了13.62%和4.27%.在JAFFE数据库上本文方法的平均识别率为92.94%,相较于SVM方法、CNN方法和Adaboost方法,表情识别精度分别提高了3.66%、14.69%和1.7%.证明了本文所提的方法利用迁移机制将源域的表情识别模型参数映入到目标域模型进行学习,较好的解决了人脸表情识别过程中获得的特征样本较少的建模难题,并取得较好的人脸表情识别结果.

为进一步验证本文提出的基于贝叶斯网和迁移学习模型的性能,采用CK+数据库上的100组样本数据进行对比实验.利用机器学习中常用的分类模型评价指标接收工作特性曲线(Receiver Operating Characteristic,ROC)和曲线下面积(Area Under the Curve,AUC)对分类模型的准确性进行衡量[15].一般ROC曲线越靠近左上角,即AUC值越大时,说明该分类模型的性能更好.本次实验采用ROC曲线和AUC值对SVM方法、CNN方法和本文方法的分类模型描述的结果如图6所示.

图6 不同方法的ROC曲线

由图6可知,SVM方法、CNN方法和本文方法在人脸表情识别分类中,AUC值均大于0.5,说明这三种分类器模型均具备基本的识别分类能力.其中本文方法的AUC值明显大于SVM方法和CNN方法,进一步证明本文提出的基于贝叶斯网和迁移学习的人脸表情识别方法在小数据集条件下有着更好人脸表情识别效果.

6 结论

针对人脸表情识别过程中获得的特征样本数据较少的建模问题,提出了一种基于贝叶斯网和迁移学习的人脸表情识别方法.其通过引入迁移学习机制,充分利用了源域中获取的数据和信息并迁移到目标域模型中进行学习,有效提高了小数据集条件下BN参数的学习精度.此外,设计的平衡因子可以根据目标域样本数据量动态调整自适应地进行参数学习.实验结果表明:与其他方法相比,本文所提的方法有效解决了目标域人脸表情识别中训练样本不足的建模难题,并取得了较好的人脸表情识别结果,为人脸表情识别的研究提供了一种新方法.

本文主要针对视频中的图像帧进行人脸表情识别,在后续的研究中,将进一步考虑视频中每一帧图像之间的关联性问题,结合动态贝叶斯网络,引入时间序列增强每一帧图像前后的关联性,提高人脸表情识别的精度.

猜你喜欢
贝叶斯人脸样本
有特点的人脸
一起学画人脸
用样本估计总体复习点拨
基于贝叶斯解释回应被告人讲述的故事
三国漫——人脸解锁
推动医改的“直销样本”
随机微分方程的样本Lyapunov二次型估计
基于贝叶斯估计的轨道占用识别方法
村企共赢的样本
基于互信息的贝叶斯网络结构学习