Print

发布时间: 2017-12-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.170251
2017 | Volume 22 | Number 12




    图像分析和识别    




  <<上一篇 




  下一篇>> 





结合像素模式和特征点模式的实时表情识别
expand article info 梁华刚, 易生, 茹锋
长安大学电子与控制工程学院, 西安 710064

摘要

目的 目前2D表情识别方法对于一些混淆性较高的表情识别率不高并且容易受到人脸姿态、光照变化的影响,利用RGBD摄像头Kinect获取人脸3D特征点数据,提出了一种结合像素2D特征和特征点3D特征的实时表情识别方法。方法 首先,利用3种经典的LBP(局部二值模式)、Gabor滤波器、HOG(方向梯度直方图)提取了人脸表情2D像素特征,由于2D像素特征对于人脸表情描述能力的局限性,进一步提取了人脸特征点之间的角度、距离、法向量3种3D表情特征,以对不同表情的变化情况进行更加细致地描述。为了提高算法对混淆性高的表情识别能力并增加鲁棒性,将2D像素特征和3D特征点特征分别训练了3组随机森林模型,通过对6组随机森林分类器的分类结果加权组合,得到最终的表情类别。结果 在3D表情数据集Face3D上验证算法对9种不同表情的识别效果,结果表明结合2D像素特征和3D特征点特征的方法有利于表情的识别,平均识别率达到了84.7%,高出近几年提出的最优方法4.5%,而且相比单独地2D、3D融合特征,平均识别率分别提高了3.0%和5.8%,同时对于混淆性较强的愤怒、悲伤、害怕等表情识别率均高于80%,实时性也达到了10~15帧/s。结论 该方法结合表情图像的2D像素特征和3D特征点特征,提高了算法对于人脸表情变化的描述能力,而且针对混淆性较强的表情分类,对多组随机森林分类器的分类结果加权平均,有效地降低了混淆性表情之间的干扰,提高了算法的鲁棒性。实验结果表明了该方法相比普通的2D特征、3D特征等对于表情的识别不仅具有一定的优越性,同时还能保证算法的实时性。

关键词

多特征提取; 实时表情识别; 随机森林; Kinect深度传感器; 多表情分类

Real-time expression recognition method based on pixel and feature point patterns
expand article info Liang Huagang, Yi Sheng, Ru Feng
School of Electronics and Control Engineering, Chang'an University, Xi'an 710064, China

Abstract

Objective Facial expression recognition (FER) is a major research topic in pattern recognition and computer vision and presents a wide application prospect.At present, the method of FER usually focuses on extracting features from 2D face images and analyzing the feature of local facial texture and contours to recognize facial expressions. Given the complexity and subtlety of facial expressions, distinguishing facial expression accurately only using 2D features extracted from 2D face images is difficult and the recognition effect decreases drastically when processing non-database images or face poses and ambient light changes.Traditional 2D facial expression recognition methods are easily influencedby various factors, such as posture and illumination, and cannot effectively recognize a few confusing expressions. In this study, a method that combines 2D pixel features (2D PF) and 3D feature point features (3D FPF)based on Kinect sensor is proposed to achieve robust real-time FER and thus overcome the above-mentioned disadvantages of previous methods. Method First, 3D data of facial feature points are obtained with Kinect. The face image is segmented by the enclosing rectangle around the area of the eyebrows and mouth. As a result, the segmented face image does not contain the background part and the block of the forehead and chin; other irrelevant areas that do not reflect the expression changes are excluded as well. Then, the classic LBP, Gabor, and HOG operators are used to extract 2D PF from the segmented face images. The computation of LBP, Gabor, and HOG feature extraction is generally relatively complex, thereby hindering the real-time operation of the algorithm. Accordingly, proper adjustments on the process of extracting LBP, HOG, and Gabor features are performed to reduce the computation cost.The eigenvectors are also reduced dimensionally to ensure the real-time performance of the algorithm. However, 2D PF presents difficulty in describing the feature changes in facial expression and is sensitive to various extraneous factors. Thus, three types of 3D features of angle, distance, and normal vector are proposed to describe the deformation of face in detail and thus improve the recognition effects on confusing expressions.The facial expression information mainly includes that of the eyebrows, eyes, mouth, and other local areas. Interferences can be reduced and the efficiency of feature extraction can be improved by excluding a few feature points that are unrelated to facial expression. Thus, the 3D features of angular, distance, and plane normal vectors between the connection line of different feature points in eyebrows and mouth area are selected as feature vectors in describing the changes in facial expression. However, the small number of feature points in eyebrows and mouth area and the low precision of 3D data acquired with Kinect result in poor recognition effects.Accordingly, 2D PF and 3D FPF are integrated to complete the recognition task and thus ensure the balance between the accuracy of expression recognition and real-time performance. Finally, three sets of random forest models are trained by 2D PF and 3D FPF, and the weighting factors of six sets of random forest classifiers are assigned using the feature dimension size to mitigate the influence of the difference between 2D PF and 3D FPF.The final classification results are decided by weighting the average of six sets of random forest to improve the robustness and recognition capability of the algorithm. Result The effect of the algorithm is verified by recognizing 9 different expressions including calmness, smile, laugh, surprise, fear, anger, sadness, meditation and disgust on the 3D expression database called Face 3D that contains 9 types of facial expressions of 10 individuals, with a total of 9 000 sets of images and feature point data. Experimental results show that the combination of 2D PF and 3D FPF is conducive to discriminating facial expressions. The average recognition rate of 9 expressions on the Face 3D database is 84.7%, which is 4.5% higher than that of the best method proposed in recent years that only combines 2D high-dimensional HOG feature and 3D angle feature. The average recognition rate is 3.0% and 5.8% higher than the rates obtained by the use of 2D or 3D fusion features alone. The recognition rate can reach more than 80% for a few confusing expressions, such as anger, sadness, and fear, and the real-time performance can realize 10 to 15 frames per second owing to the high-speed data acquisition with Kinect. Conclusion The proposed expression recognition method can improve the expression feature describing capability of the algorithm by combining 2D PF and 3D FPF and can effectively reduce the interference between confusing expressions and enhance the robustness of the algorithm by use of the weighting average of random forest classification. The proposed method is more beneficial to the recognition of facial expression than ordinary 2D or 3D features and can guarantee insignificant decrease in real-time performance.

Key words

multi-feature extraction; real-time facial expression recognition; random forest; Kinect depth sensor; multi-expression classification

0 引言

人脸表情识别一直是模式识别与人工智能领域的研究热点,在人机交互、视频监控、安全驾驶、临床医学等众多领域具有广阔的应用前景,如何高效准确地识别出人脸表情具有重要意义。

目前,人脸表情的研究普遍利用2维人脸图像进行特征提取,如LBP(局部二值模式)[1]、Gabor滤波器[2-3]、CNNs(卷积神经网络)[4]等,这些特征提取方法通过提取局部人脸纹理、轮廓等特征进行表情识别,然而准确提取出面部表情特征并不简单,不同人的同一种表情特征不尽相同,而且当人脸姿态、环境光照发生变化时,识别效果急剧下降[5-6]

由于2D人脸表情识别的局限性,许多学者对3D人脸表情识别进行了深入研究。人脸表情是由面部肌肉发生形变而产生,通过分析人脸3D数据的变化情况相比2D人脸图像更有可能实现鲁棒性人脸表情识别[7]。例如文献[8]通过分析人脸3D特征点的距离特征进行表情识别,而文献[9]则计算深度图像人脸特征点的SIFT(尺度不变特征变换)特征进行表情识别,文献[10]通过检测人脸特征点的运动单元(AUs)信息进行表情识别,文献[11]则利用高精度的三维扫描仪分析3D人脸表面曲率和主方向进行表情识别。

然而,3D人脸的获取十分复杂,需要高精度的3D扫描设备,扫描一幅图像时间消耗十分严重,而且价格昂贵,因此无法用于实时3D人脸表情识别。Kinect作为一种深度3D传感器,已经广泛应用于体感游戏方面,虽然Kinect获取的3D人脸数据精度相对较低,但数据传输速度快,可达30帧/s,而且价格便宜,非常适合于进行实时表情识别研究,而目前国内外对这方面的研究还较少。例如文献[12]采用Kinect深度摄像头开发出了一种实时3D人脸跟踪和分析系统,该系统不仅可以实时跟踪人脸,而且可以检测人脸方向,识别人脸表情。文献[13]利用Kinect获取人脸RGB图像以及深度图像,利用AdaBoost算法选择特征点之间的斜率特征,用SVM作为分类器进行分类,在不同姿态、不同光照条件下对人脸进行表情识别,取得了较好的识别效果,但仅仅提取了特征点之间的斜率特征,特征选择过少,导致提取的表情特征不充分。文献[14]用Kinect获取面部运动单元AUs特征以及人脸3D特征点坐标,并将两种特征进行融合,然后用SVM分类器对30帧输入图像分别进行识别,统计30帧中分类结果最多的类别作为最终表情识别结果,并在FaceWarehouse数据库验证了该算法的有效性。尽管Kinect作为深度传感器具有很多优点,但Kinect获取的图像分辨率较低,而且图像深度数据噪声较多,单独采用3D数据进行表情识别,识别效果依然受限制,因此也有许多学者结合图像的2D特征和3D特征来进行表情识别,不过算法的复杂度也相应地提高了,例如文献[15]先提取RGB图像的LBP特征,再对Kinect获取的121个3D人脸特征点提取3D距离特征,然后将LBP和3D距离特征进行融合,最后用SVM分类器对融合后的特征进行识别,最终对7种人脸表情平均识别率为58.3%,识别率不够理想,并且算法复杂度较高。文献[16]通过提取多种人脸表情2D特征和3D特征,将识别效果最好的HOG特征和特征点角度特征通过一种双核判决分析方法进行融合,最终采用SVM分类器对融合后的特征进行分类,取得了较好的表情分类结果,不过论文中HOG算子提取的特征向量维数较高,降低了算法实时性。同时,文献[13-16]的方法虽然对特征变化明显的高兴、吃惊等表情识别效果较好,但对于混淆性较高的愤怒、悲伤等表情识别效果不佳,无法对这些特征变化相近的表情进行有效地区分。为了解决对于混淆性高的表情识别效果差以及算法复杂度高的问题,本文在文献[13-16]的工作基础上提出了一种结合像素特征和特征点特征的实时3D表情识别方法来解决上述问题。

本文提出的结合像素特征和特征点特征的实时表情识别方法首先通过LBP、Gabor和HOG这3种特征算子提取表情图像的像素特征,利用图像分块和降采样等方法进行特征降维,选择人脸特征点之间的角度、距离、法向量3种方法对混淆性高的表情特征变化情况进行更加详细的描述,然后对像素模式和特征点模式下的特征向量分别训练了3组随机森林分类器,采用分类器加权平均的方法来统计随机森林分类器分类结果。实验结果表明了该方法不仅能很好的区分特征变化明显的表情,而且对于特征变化微弱的表情也有较好的识别效果。

1 人脸表情特征提取

1.1 Kinect人脸检测

Kinect以30帧/s的速度实时检测人脸面部121个3D特征点,这些特征点可以准确地追踪到眉毛、眼睛、嘴巴、脸颊等器官的变化,如图 1所示,将Kinect检测到的121个面部特征点根据第9(下嘴唇外点)、15(左眉外点)、16(左眉顶点)、48(右眉外点)、49(右眉顶点)号面部特征点的外接矩形来分割人脸,分割出来的人脸不包含背景部分,而且去除了与表情变化无关的额头、下巴等区域。为了方便特征提取,分割出来的人脸统一归一化为36×36大小。

图 1 Kinect人脸分割
Fig. 1 Kinect face split

1.2 人脸像素特征提取

1.2.1 LBP特征

LBP(local binary pattern)是一种描述图像局部纹理特征的算子,可以提取人脸表情纹理特征。在应用LBP算子时,通常将图像划分成若干个子区域,然后对各个子区域提取LBP特征,将各个区域的LBP特征统计灰度直方图作为最终的特征向量,如图 2所示。通常灰度直方图的横坐标为[0~255]共256个灰度级,纵坐标为每一个灰度级的像素数量,通过对像素灰度值出现的频率的统计,可以对图像灰度特征进行描述。

图 2 人脸LBP特征提取
Fig. 2 LBP feature extraction

然而,对于一幅36×36大小的表情图像,若将图像分割成6×6个子区域,统计每个区域的LBP特征直方图,此时特征向量维数为6×6×256=9 216,如此大的维数显然不适合进行实时表情识别。一般来说,人眼睛、眉毛、嘴巴3个区域最能反映表情变化,而人鼻子脸颊等区域基本不反映表情变化,因此为了减小LBP特征维数,实现实时表情识别,将检测到的人脸分割为3个部分,如图 3所示,对眼睛眉毛区域和嘴巴区域分别提取LBP特征并统计直方图,然后将两组直方图进行合并得到最终的LBP特征向量,合并后的LBP特征向量维数为2×256=512,维数大大降低了,有利于机器学习算法的训练以及实时表情识别。LBP提取的表情特征向量可以表示为

图 3 人脸分割后LBP特征提取
Fig. 3 LBP feature extraction after face segmentation

$ {\mathit{\boldsymbol{f}}_L} = \left[ {{L_1},{L_2}, \cdots ,{L_n}} \right] \in {\mathbb{R}^{512}} $ (1)

1.2.2 HOG特征

方向梯度直方图(HOG)特征算子通过计算和统计图像局部区域的梯度方向直方图构成特征。在表情识别中,HOG算子可以很好地描述人脸表面形状和边缘特征,通常做法是先将图像分割成多个小的连通区域,称之为像素单元(cell),计算cell中各像素点的梯度方向直方图,而在图像局部更大的像素区间内(block)进行对比度归一化提高对光照变化的鲁棒性。同样地,为了保证系统的实时性,在设置像素单元(cell)以及像素块(block)时,需要考虑HOG特征维数的大小。本文中,输入的人脸图像大小为36×36,像素块(block)大小设置为12×12,像素单元(cell)大小设置为6×6,像素块滑动的大小也设为12×12,各像素块之间没用重叠,梯度方向划分为9个区间,如图 4所示,因此提取到的特征向量维数为6×6×9=324,同样HOG提取的表情特征向量可以表示为

图 4 HOG特征提取
Fig. 4 HOG feature extraction

$ {\mathit{\boldsymbol{f}}_H} = \left[ {{H_1},{H_2}, \cdots ,{H_n}} \right] \in {\mathbb{R}^{324}} $ (2)

1.2.3 Gabor特征

Gabor滤波器对于图像光照变化以及人脸姿态变化具有较强的鲁棒性,非常适合用于提取人脸以及表情特征,虽然Gabor滤波器非常适用于人脸表情特征提取,但Gabor小波特征提取过程计算量大,而且提取出的特征维数非常高。Gabor特征提取过程通常是用4尺度6方向的Gabor滤波器对人脸图像进行特征提取,对于输入的36×36大小的人脸图像,Gabor滤波器特征提取后,特征维数可达4×6×36×36=31 104,数目如此庞大的特征,显然不可能进行实时表情识别。为了使系统能够实时运行,采用单尺度6方向的Gabor滤波器对输入的36×36人脸图像进行特征提取,以减少特征提取时间并降低特征向量维数,此时特征向量维数为6×36×36=7 776,维数仍然较大,不利于实时表情识别,为了解决维数过大的问题,采用mean pooling方法对Gabor提取的特征图进行降维,mean pooling的做法是用一个权重均为1/$n$2而尺寸为$n$×$n$的采样窗口在$m$×$m$大小的图像上进行卷积,卷积后的特征图像大小变为($m$/$n$)×($m$/$n$),这样可以在不丢失过多的信息条件下极大地减小特征维数。实验采用4×4大小的采样窗口进行降采样,最终提取到的特征维数为1×6×9×9=486,如图 5所示,Gabor滤波器提取的表情特征表示为

图 5 Gabor滤波器特征提取
Fig. 5 Gabor feature extraction

$ {\mathit{\boldsymbol{f}}_G} = \left[ {{G_1},{G_2}, \cdots ,{G_n}} \right] \in {\mathbb{R}^{486}} $ (3)

1.3 人脸特征点特征提取

1.3.1 特征点角度特征提取

虽然Kinect可以跟踪121个人脸3D特征点,但人脸表情信息主要集中在眉毛、眼睛、嘴巴等区域,而下巴、脸颊所反映的表情信息较少,人脸边缘和鼻子区域往往不能体现表情的变化,因此需要去除与表情无关的额头、人脸边缘等区域的特征点,去除无关特征点后得到了眉毛区域8个特征点,眼睛区域16个特征点,嘴巴区域16个特征点,鼻子区域12个特征点,脸颊及下巴区域14个特征点,共66个特征点,将这些特征点按照一定的次序连接起来,如图 6所示,显然这些特征点之间连线的夹角会随着表情的变化而改变,因此本文选择了一些变化比较明显的特征角度作为表情分类的特征。

图 6 特征点之间连线夹角的变化情况
Fig. 6 The change of the angle between different feature points

图 7(a)可知,单侧眉毛4个特征点之间可以找到4个特征角度,而每个特征点的3D坐标均可以通过Kinect获取到,因此这些特征角度可以很容易地求解出来。设眉毛顶点坐标为$A$($x$$a$, $y$$a$, $z$$a$),眉毛外角点坐标为$C$($x$$c$, $y$$c$, $z$$c$), 眉毛下顶点坐标为$B$($x$$b$, $y$$b$, $z$$b$),因此$\theta $1可以通过空间向量夹角公式计算出来,表示为

图 7 人脸表情角度特征提取
Fig. 7 Angle feature extraction

$ \begin{array}{l} \cos {\theta _1} = \frac{{\mathit{\boldsymbol{AC}} \cdot \mathit{\boldsymbol{BC}}}}{{\left| {\mathit{\boldsymbol{AC}}} \right|\left| {\mathit{\boldsymbol{BC}}} \right|}}\\ \mathit{\boldsymbol{AC}} = \left( {{x_c} - {x_a},{y_c} - {y_a},{z_c} - {z_a}} \right)\\ \mathit{\boldsymbol{BC}} = \left( {{x_c} - {x_b},{y_c} - {y_b},{z_c} - {z_b}} \right)\\ \left| {\mathit{\boldsymbol{AC}}} \right| = \sqrt {{{\left( {{x_c} - {x_a}} \right)}^2} + {{\left( {{y_c} - {y_a}} \right)}^2} + {{\left( {{z_c} - {z_a}} \right)}^2}} \\ \left| {\mathit{\boldsymbol{BC}}} \right| = \sqrt {{{\left( {{x_c} - {x_b}} \right)}^2} + {{\left( {{y_c} - {y_b}} \right)}^2} + {{\left( {{z_c} - {z_b}} \right)}^2}} \end{array} $ (4)

虽然眼睛区域的特征对于表情变化的描述很重要,但由于Kinect无法精确地反映眼睛大小的变化,因而在眼睛区域只选择眼角处的1个夹角。嘴巴区域有16个特征点,16个特征点可以构成很多个特征角,然而大部分特征角度在表情变化时变化很小,本文只选择嘴角、下嘴唇等5个变化较明显的特征角。脸颊、下巴区域反映表情的信息较少,在脸颊、下巴特征点构成的三角形中只选择1个特征角度,因此34个三角形中选择34个特征角度,如图 7(b)所示。将上述的特征角度组合成一个用来描述表情变化的特征向量,该特征向量维数为(4+1)×2+5+34=47。特征点之间的角度特征表示为

$ {\mathit{\boldsymbol{f}}_A} = \left[ {{\theta _1},{\theta _2}, \cdots ,{\theta _n}} \right] \in {\mathbb{R}^{47}} $ (5)

1.3.2 特征点距离特征提取

Kinect坐标系如图 8(a)所示,坐标原点位于Kinect中RGB摄像头中心处,RGB摄像头左方向为$X$正半轴,上方为$Y$正半轴,摄像头正前方为$Z$正半轴,Kinect提取到的特征点坐标值大小以米为单位。Kinect在检测人脸时,用户需要在Kinect摄像头前方大约1.03.0 m的范围内,否则面部特征点可能不被检测到。

图 8 Kinect坐标系及距离变化情况
Fig. 8 Kinect coordinate system and the distance((a)Kinect coordinate system; (b)distance from each feature point to the nose point)

通常,在做不同表情时,鼻尖特征点位置相对固定,分析面部特征点到鼻尖特征点之间的距离变化可以区分出不同的表情,如图 8(b)所示,其中点$P$为鼻尖点,人脸表情变化时,该点的相对位置不会发生变化,将$P$点作为基准点,计算其余65个面部特征点到$P$点的3D距离可以得到特征点距离特征,因为每一个特征点都包含$X$$Y$$Z$这3个方向的距离值,因此该距离特征向量的维数为65×3=195。设鼻尖特征点坐标为$P$($x$$p$, $y$$p$, $z$$p$),剩余65个面部特征点的坐标为$p$$i$($x$$pi$, $y$$pi$, $z$$pi$), $i$=1, 2, …, 65,因为Kinect获取的面部特征点的3D坐标单位为m,因此特征点坐标数值较小,而且存在负数,为了方便特征向量的计算以及分类器的训练,对距离特征向量$\mathit{\boldsymbol{f}}$$D$取指数,从而特征点距离特征可表示为

$ {\mathit{\boldsymbol{f}}_D} = c \times \left[ {{e^{\left( {{x_P} - {x_{pi}}} \right)}},{e^{\left( {{y_P} - {y_{pi}}} \right)}},{e^{\left( {{z_P} - {z_{pi}}} \right)}}} \right] \in {\mathbb{R}^{195}} $ (6)

式中,$c$为常数。

1.3.3 人脸平面法向量特征提取

相邻的3个面部特征点在3维空间中可以构成一个三角平面,对于一个三角平面来说,不仅可以提取出特征点之间的角度特征,而且可以提取出三角特征平面上的法向量特征来进一步描述表情的变化情况。如图 9所示,脸颊、下巴区域的14个特征点以及眉毛区域的6个特征点之间相互构成了46个三角平面,求出46个三角面的平面法向量,得到了46×3=138维特征向量。然而,Kinect计算出的特征点深度数据精度不高,含有较多的噪声,为了减小噪声的干扰,需要对同一种表情的多组数据进行插值平均,提高系统表情识别的稳定性。如下图 9所示,设插值后A、B、C 3点3D坐标为$A$($x$$A$, $y$$A$, $z$$A$)、$B$($x$$B$, $y$$B$, $z$$B$)、$C$($x$$C$, $y$$C$, $z$$C$),A、B、C 3点构成的平面法向量设为$\mathit{\boldsymbol{f}}_1$,可以由式(7)计算得到。其中(i, j, k)表示与x轴,y轴,z轴方向相同的单位向量。

图 9 人脸特征点三角平面法向量特征提取
Fig. 9 Trigonometric plane vector feature extraction of feature points

$ \begin{array}{*{20}{c}} {{\mathit{\boldsymbol{f}}_1} = \mathit{\boldsymbol{AB}} \times \mathit{\boldsymbol{AC}}}\\ {\left| {\begin{array}{*{20}{c}} {\rm{i}}&{\rm{j}}&{\rm{k}}\\ {{x_B} - {x_A}}&{{y_B} - {y_A}}&{{z_B} - {z_A}}\\ {{x_C} - {x_A}}&{{y_C} - {y_A}}&{{z_C} - {z_A}} \end{array}} \right| = }\\ {a{\rm{i}} + b{\rm{j}} + c{\rm{k}} = \left( {a,b,c} \right)} \end{array} $ (7)

$ a = \left( {{y_B} - {y_A}} \right) \times \left( {{z_C} - {z_A}} \right) - \left( {{y_C} - {y_A}} \right) \times \left( {{z_B} - {z_A}} \right) $

$ b = \left( {{z_B} - {z_A}} \right) \times \left( {{x_C} - {x_A}} \right) - \left( {{z_C} - {z_A}} \right) \times \left( {{x_B} - {x_A}} \right) $

$ c = \left( {{x_B} - {x_A}} \right) \times \left( {{y_C} - {y_A}} \right) - \left( {{x_C} - {x_A}} \right) \times \left( {{y_B} - {y_A}} \right) $

同样地,计算出的脸平面法向量数值较小,存在负数,对法向量特征向量$\mathit{\boldsymbol{f}}$$V$取指数,表示为

$ {\mathit{\boldsymbol{f}}_V} = t \times \left[ {{e^{{\mathit{\boldsymbol{f}}_1}}},{e^{{\mathit{\boldsymbol{f}}_2}}},{e^{{\mathit{\boldsymbol{f}}_n}}}} \right] \in {\mathbb{R}^{138}} $ (8)

式中,$t$为常数。

1.4 表情分类

表情特征提取之后就可以训练分类器模型来对表情图像进行分类了。随机森林是一种经典的机器学习模型,已被证实为一种state-of-art方法,具有许多优点,随机森林不容易陷入过拟合,具有良好的抗噪声能力,能够处理高维数据,而且训练速度快,广泛应用于模式分类问题中,因此本文选用随机森林模型作为表情识别的分类器。本文提取的表情特征包括像素特征($PF$)和特征点特征($FPF$)共6种,在这6种特征中,$\mathit{\boldsymbol{f}}$$L$$\mathit{\boldsymbol{f}}$$H$$\mathit{\boldsymbol{f}}$$G$$\mathit{\boldsymbol{f}}$$A$$\mathit{\boldsymbol{f}}$$D$$\mathit{\boldsymbol{f}}$$V$特征向量融合后$\mathit{\boldsymbol{f}}${$PF$, $FPF$}∈$\mathbb{R}$1702,若将特征向量$\mathit{\boldsymbol{f}}${$PF$, $FPF$}训练随机森林模型用作分类器,显然会降低系统运行效率,而且系统稳定性也会受到影响。因此本文对这6种特征分别单独训练随机森林模型,在分类预测阶段对这6组模型的分类结果进行综合以提高系统运行的稳定性和效率。

随机森林模型的训练过程如下,设表情训练集表示为$\mathit{\boldsymbol{f}}$$S$={$\mathit{\boldsymbol{X}}$$i$, $\mathit{\boldsymbol{Y}}$$k$},其中$\mathit{\boldsymbol{X}}_i$为表情特征向量,$i$为特征向量维数,$\mathit{\boldsymbol{Y}}_k$为表情类别标签,本文研究的表情包含平静、微笑、大笑、吃惊、害怕、愤怒、悲伤、思考、厌恶共9种,因此$\mathit{\boldsymbol{Y}}_k$∈{1, 2, …, 9},从样本数为$N$的训练集$\mathit{\boldsymbol{f}}$$S$中有放回地随机选取$N$个样本作为建立决策树的新训练集$\mathit{\boldsymbol{f}}$$S$*。在$\mathit{\boldsymbol{f}}$$S$*中随机选取$m$列特征,在这$m$列特征中利用二分函数$\Phi $($m$, $\tau $)选取最佳分裂属性将$\mathit{\boldsymbol{f}}$$S$*分成左右两个子集,表示为

$ \begin{array}{*{20}{c}} {{\mathit{\boldsymbol{G}}_L}\left( \Phi \right) = \left\{ {{\mathit{\boldsymbol{f}}_S}\left| {{\mathit{\boldsymbol{f}}_m}\left( {{\mathit{\boldsymbol{X}}_m},{\mathit{\boldsymbol{Y}}_m}} \right) < \tau } \right.} \right\}}\\ {{\mathit{\boldsymbol{G}}_R}\left( \Phi \right) = \left\{ {{\mathit{\boldsymbol{f}}_S}\left| {{\mathit{\boldsymbol{f}}_m}\left( {{\mathit{\boldsymbol{X}}_m},{\mathit{\boldsymbol{Y}}_m}} \right) \ge \tau } \right.} \right\}} \end{array} $ (9)

二分函数$\Phi $($m$, $\tau $)通常选择信息增益对分裂效果进行衡量,$\tau $为阈值,表示为

$ \begin{array}{*{20}{c}} {\Phi \left( {m,\tau } \right) = \arg \mathop {\max }\limits_{m,\tau } \left( {H\left( {f_S^ * } \right) - } \right.}\\ {\sum\limits_{v \in \left\{ {L,R} \right\}} {\frac{{\left| {{\mathit{\boldsymbol{G}}_v}\left( \Phi \right)} \right|}}{{\left| {\mathit{\boldsymbol{f}}_S^ * } \right|}}H\left( {{\mathit{\boldsymbol{G}}_v}\left( \Phi \right)} \right)} } \end{array} $ (10)

式中,$H$($\mathit{\boldsymbol{f}}$$S$*)表示信息熵,定义为

$ H\left( \mathit{\boldsymbol{X}} \right) = - \sum\limits_{c \in {\mathit{\boldsymbol{Y}}_i}} {p\left( {c\left| \mathit{\boldsymbol{X}} \right.} \right)\log \left( {p\left( {c\left| \mathit{\boldsymbol{X}} \right.} \right)} \right)} $ (11)

当满足决策树深度达到预定的最大值,节点信息增益低于预设的阈值,节点样本数目达到预设的最小值3个条件时生成叶子节点即决策树停止生长,否则,依据上述分裂方法对左子集$\mathit{\boldsymbol{G}}$$L$($\Phi $)和右子集$\mathit{\boldsymbol{G}}$$R$($\Phi $)继续进行递归分裂。根据以上步骤就可以训练出包含一定数目决策树的随机森林分类器。

对表情分类时,表情类别由随机森林中所有决策树的分类结果综合决定,每一棵决策树对于输入的表情样本分类结果为9维,每种表情类别的置信度为$P$$n$($y$($x$)=$c$$k$),$n$代表随机森林中第$n$棵决策树,$P$$n$($y$($x$)=$c$$k$)则表示第$n$棵决策树计算得到的输入表情样本$x$属于第$c$$k$类表情的概率,其中$k$∈{1, 2, …, 9}代表 9类表情,随机森林最终的预测类别标签由$N$棵决策树分类结果平均得到,表示为

$ {c_{{\rm{predict}}}} = \arg \mathop {\max }\limits_{{c_k}} \left( {\frac{1}{N}\sum\limits_{n = 1}^N {{P_n}\left( {y\left( x \right) = {c_k}} \right)} } \right) $ (12)

因为6种表情特征向量$\mathit{\boldsymbol{f}}$$L$$\mathit{\boldsymbol{f}}$$H$$\mathit{\boldsymbol{f}}$$G$$\mathit{\boldsymbol{f}}$$A$$\mathit{\boldsymbol{f}}$$D$$\mathit{\boldsymbol{f}}$$V$的维数各不相同,特征提取方式存在差异,倘若简单地对各组分类器分类结果进行叠加,显然不够合理,因此为了减小因不同维数的特征向量对表情分类结果造成的偏差,需要赋予6组随机森林分类器不同的权重因子$\alpha $$i$,随机森林分类器的分类结果为$P$$T$$i$($y$($x$)=$c$$k$), $i$∈{1, 2, …, 6}表示第$i$组分类器计算出的输入表情样本$x$属于第$c$$k$类表情的概率,因此融合后的分类结果可以表示为

$ \begin{array}{*{20}{c}} {P\left( {y\left( x \right) = {c_k}} \right) = }\\ {\sum\limits_{i = 1}^M {\left( {{\alpha _i} \cdot P_T^i\left( {y\left( x \right) = {c_k}} \right)} \right)} } \end{array} $ (13)

式中,$M$=6,表示6组随机森林分类器。因此,表情样本$x$的最终所属类别则可表示为

$ c_{{\rm{predict}}}^ * = \arg \mathop {\max }\limits_{{c_k}} \left( {\sum\limits_{i = 1,k = 1}^{M,K} {{\alpha _i} \cdot P_T^i\left( {y\left( x \right) = {c_k}} \right)} } \right) $ (14)

式中,$K$=9,表示9类表情,$\alpha $$i$表示不同分类器权重,比较合理的计算方法是根据$\mathit{\boldsymbol{f}}$$L$$\mathit{\boldsymbol{f}}$$H$$\mathit{\boldsymbol{f}}$$G$$\mathit{\boldsymbol{f}}$$A$$\mathit{\boldsymbol{f}}$$D$$\mathit{\boldsymbol{f}}$$V$表情特征向量的维数大小进行计算,表示为

$ {\alpha _i} = 1 - \frac{1}{{1 + {{\rm{e}}^{ - \frac{{len\left( {{f_i}} \right) - \min len\left( {{f_i}} \right)}}{{\max len\left( {{f_i}} \right) - \min len\left( {{f_i}} \right)}}}}}} $ (15)

式中,$\mathit{\boldsymbol{f}}$$i$∈{$\mathit{\boldsymbol{f}}$$L$, $\mathit{\boldsymbol{f}}$$H$, $\mathit{\boldsymbol{f}}$$G$, $\mathit{\boldsymbol{f}}$$A$, $\mathit{\boldsymbol{f}}$$D$, $\mathit{\boldsymbol{f}}$$V$},$len$($\mathit{\boldsymbol{f}}$$i$)表示特征向量$\mathit{\boldsymbol{f}}$$i$的维数大小,利用sigmoid函数将权重因子$\alpha _i$规整到[0, 1]之间,特征向量维数越大,分类器权重因子越小,维数越小,权重因子越大。因此,可以减小因为特征维数、特征提取方法之间存在的差异而造成表情分类的偏差。

2 实验结果与分析

实验流程图如图 10所示,首先通过Kinect获取人脸图像以及人脸面部特征点的坐标位置,采用LBP、HOG、Gabor这3种常用的人脸特征描述算子对获得的人脸图像进行提取特征,通过分析面部特征点之间的几何结构关系来描述不同表情的变化情况,特征提取之后利用随机森林模型进行分类器训练,然后对6组随机森林模型分类结果进行加权平均,响应最大的表情类别为最终的分类结果,从而完成实时表情分类。

图 10 实验总体流程框图
Fig. 10 The overall flow chart of the experiment

2.1 实验环境与参数设置

目前,公开的利用Kinect采集的3D人脸表情数据集还非常少,而且需要申请才能获得。为了验证本文提出的表情识别方法不仅能很好地识别特征变化明显的高兴、吃惊等表情,而且对于一些较难识别的表情也有较高的识别率,制作了用于验证算法的3D表情数据集Face3D database,该数据集包含了同一个研究组的10个人不同光照下平静(Ca)、微笑(Sm)、大笑(La)、吃惊(Su)、害怕(Fe)、愤怒(An)、悲伤(Sa)、思考(Me)、厌恶(Di)共9种表情,如图 11所示。每人每种表情100幅图像和100组角度、距离和法向量特征数据,总共9 000幅表情图像和9 000组特征点特征数据,表情采集时人脸在Kinect前方1.0~1.5m并且可以在Kinect坐标系中左右-30°~30°,上下-15°~15°的范围内轻微转动,即实验表情数据为正脸表情数据。实验设备为i5 2.5 GHz处理器、4 GB RAM的PC机和Kinect XBOX 360深度摄像头,软件开发平台为VS2010+openCV+Kinect for Windows SDK。每个人每种表情100组特征数据中随机选择80组数据作为训练样本,剩余20组作为测试样本。训练样本共7 200组,测试样本1 800组,6组随机森林模型中CART(分类回归树)树的数目均设置为50棵,特征点距离特征向量$\mathit{\boldsymbol{f}}$$D$$c$=10,而脸平面法向量特征向量$\mathit{\boldsymbol{f}}$$V$$t$=20,实验分别验证LBP、HOG、Gabor这3种像素模式(PM)下的表情识别效果和特征角度、特征点距离、脸平面法向量3种特征点模式(FPM)下的表情识别效果,以及PM和FPM特征分类结果加权后的表情识别效果,并且与近几年提出的算法识别效果进行了对比,每次实验进行10次,最终识别结果取10次实验的平均值。

图 11 3D表情数据集Face3D中包含的9种表情
Fig. 11 The nine facial expressions of 3D expression data set

2.2 实验结果对比分析

PM特征下的LBP、HOG、Gabor以及这3种特征分类结果加权平均之后的表情识别率如图 12(a)图所示,由图可知,对于特征变化明显的微笑、大笑、吃惊三种表情,LBP、HOG、Gabor算子均能较好的进行描述,识别率超过了70%,而对于混淆性高的愤怒、悲伤、厌恶等表情识别效果不佳,识别率偏低。虽然三种特征分类结果加权平均后对于较难区分的一些表情识别率有所提升,但仍然不够理想,表情识别率依然难以让人满意,主要原因是为了保证系统表情识别的实时性而在特征提取时对特征图像进行了大幅降维,导致表情特征描述的不够充分,而且Kinect获取的RGB图像分辨率较低,噪声较多,这也会导致特征提取时表情信息的丢失,因此仅仅使用PM特征难以实现鲁棒性实时表情识别。

图 12 PM和FPM特征下表情识别效果
Fig. 12 The recognition effect of PM and FPM((a) PM; (b) FPM)

FPM特征下的角度(Angle)、距离(Dist)、脸平面法向量(Vect)以及3种特征分类结果加权平均后的表情识别率如图 12(b)图所示。由图 12(b)可知,即使使用特征点3D特征表情识别效果依然不理想,虽然角度特征可以较好的区分大笑、吃惊两种特征角度变化明显的表情,但对于愤怒、悲伤、思考等表情识别效果骤降,因为角度特征向量仅为47维,而且包含与表情关系不大的一些脸边缘处的角度,因此分类器的分类效果受限制。距离特征相比角度特征总体识别率相对提高了一些,但仍然较低,主要原因是不同的人脸形状、脸大小、五官位置均存在差异,而且Kinect对于特征点$Z$维数据测量存在误差,导致表情识别效果不佳。Kinect测量的深度数据噪声较多,精度不高,而且追踪121个面部特征点时,特征点存在轻微扰动,脸平面法向量计算存在偏差,虽然特征点的3D坐标进行了平均以减小噪声扰动误差,但表情识别率依然偏低,仅吃惊表情识别率高于75%,其余表情识别率均低于70%。然而,虽然单独的角度、距离、脸平面法向量特征对于表情识别效果不佳,但3种特征分类结果加权平均之后,表情识别率大大提高了,特别是对于愤怒、悲伤等表情识别率均提高到了70%以上。表 1图 13为不同特征分类结果加权后的识别结果,验证特征数目对分类结果的影响,由表 1图 13可知,仅仅采用LBP特征,表情平均识别率较低,若将LBP和HOG两种特征分类结果加权后,表情平均识别率相比单独的LBP特征提高了11.2%,LBP,HOG和Gabor这3组特征分类结果加权相比一组LBP特征平均识别率则提高了15.7%,而LBP,HOG,Gabor这3种像素特征和Angle,Dist,Vect这3种特征点特征分类结果加权后,平均识别率相比LBP特征提高了18.7%,识别率增加幅度明显降低,因此验证了多特征分类结果的加权组合有利于表情识别,不过随着特征数目的增加,平均识别率增加的幅度减小。

表 1 特征数量对表情识别率的影响
Table 1 Theeffect of the number of features on facial expression recognition

下载CSV
特征类别 特征数量 特征维数 平均识别率/%
LBP 1 512 66.0
LBP+HOG 2 836 77.2
LBP+HOG+Gabor 3 1 322 81.7
PM+Angle 4 1 369 82.2
PM+Angle+Dist 5 1 564 83.5
PM+FPM 6 1 702 84.7
图 13 特征数量的增加对表情识别的影响
Fig. 13 The effect of the increase in the number of features on facial expression recognition
图 14 PM和FPM特征加权的识别效果
Fig. 14 The recognition effects of weighted features of PM and FPM

图 14为PM特征和FPM特征以及PM+FPM分类结果加权后表情识别结果,由图 14可知PM特征和FPM特征加权平均后表情识别效果相比单独的PM特征或FPM特征更进一步提高了,平静、微笑、大笑、吃惊、害怕5种表情识别率高达86%以上,其中对于吃惊表情识别率更是达到了90%,而且对于一些比较难以区分的愤怒、悲伤、思考、厌恶4种表情,识别率也达到了80%以上,表 2为各种特征在人脸表情数据集上的平均识别率以及实时性表现。

表 2 各种特征下表情识别效果及实时性表现
Table 2 The recognition and real-time Performance indifferent features

下载CSV
特征类别 特征维数 平均识别率/% 实时性/
(ms/帧)
LBP 512 66.0 50~65
HOG 324 76.1 50~65
Gabor 486 68.2 50~65
LBP+HOG+Gabor 1 322 81.7 ~65
Angle 47 69.5 <50
Dist 195 71.9 <50
Vect 138 64.5 <50
Angle+Dist+Vect 380 78.9 ~50
PM+FPM 1 702 84.7 65~100

表 2可知,PM特征下LBP、HOG、Gabor这3种特征中维数最低的HOG特征对于表情分类效果最好,平均识别率最高,而LBP特征和Gabor特征虽然维数较高,但对于表情的识别效果比较差,分别为66.0%和68.2%,这是因为实验仅仅使用单尺度6方向的Gabor滤波器进行特征提取,而且提取后的Gabor特征图进行了降维,导致Gabor特征对于表情描述能力大大降低,同样LBP特征也进行了降维,平均识别率也不高,虽然HOG特征并没有进行降维,但像素块(block)、像素块滑动步长设置的均较大,而且各像素块之间没有重叠,因此平均识别率仍然偏低,仅为76.1%。FPM特征下角度、距离、法向量3种特征维数均不高,其中维数为195的距离特征对于表情分类效果最好,平均识别率达到了71.9%,而维数为138的脸平面法向量由于Kinect精度问题平均识别率仅为64.5%,虽然角度特征向量仅为47维,但对于表情的描述效果优于脸平面法向量,平均识别率为69.5%。

因为PM特征和FPM特征维数各不相同,并且不同特征对于表情的描述能力也不尽相同,由表 2得知,在PM特征下,维数最小的HOG特征,平均识别率却最高,同样地,在FPM特征中,维数较小的Angle特征却比维数较高的Vect特征识别率高。一般来说,特征向量维数越高,对表情特征提取的就越充分,表情识别效果就越好,但不同特征对同一表情的描述能力有强有弱,例如在PM特征中,维数最小的HOG特征对于表情识别效果优于维数最高的LBP特征,在FPM特征中,维数最小的Angle特征分类结果优于维数高的Vect特征,而且,PM特征和FPM特征对于表情特征提取的方式存在差异,因此在最终表情分类时,倘若直接将各分类器分类结果进行组合叠加,势必会对最终分类结果造成一定的偏差,因此,为了减小因维数差异导致的结果偏差,根据PM特征和FPM特征维数的大小,对其分类结果按照式(15)进行加权平均,加权前和加权后分类器对9种表情的分类结果如图 15所示。由图 15(a)可知,当分类器分类结果加权时,即$\alpha $$i$≠1,平静(Ca)、微笑(Sm)、大笑(La)、吃惊(Su)、害怕(Fe)、悲伤(Sa)和厌恶(Di)7种表情的识别率相比$\alpha $$i$=1时有所提高,但对于愤怒(An)和思考(Me)两种表情,识别率却下降了。图 15(b)为不同特征分类结果加权前后对9种表情平均识别率的影响,由图可知,随着特征组合数目的增加,分类器结果加权对于表情识别效果始终优于分类器结果的简单叠加,因此再一次验证了本文对于不同维数的PM特征和FPM特征的分类结果加权平均的合理性。

图 15 分类结果加权前后表情识别效果对比
Fig. 15 Comparison of effect of facial expression recognition before and after weighted ((a)recognition result; (b)average recognition result)

在实时性方面,实验所有程序均由C语言编写在VS2010平台上实现,通过离线训练得到6组随机森林模型,训练完成后6组随机森林模型加载到系统中作为实时表情分类的分类器,虽然随机森林模型离线训练会消耗许多时间,但训练好的随机森林模型对输入的数据进行分类并不会花费很多时间,PM特征和FPM特征实时处理一帧表情数据所消耗的时间如表 1所示。Kinect以30帧/s的速率传输RGB数据和深度数据,在调用Kinect SDK进行面部特征点追踪时,传输速率会略低于30帧/s,而在PM特征下提取LBP、HOG、Gabor特征均存在不小的计算量,进行实时表情识别时,处理速度会降低至15~20帧/s,而在FPM特征下提取角度、距离以及法向量特征的计算量均较小,实时性会大于20帧/s,而同时提取PM特征和FPM特征会进一步降低系统实时性,只有10~15帧/s。PM特征下提取LBP、HOG、Gabor这3种特征系统能以15帧/s的速度进行实时表情识别,而且平均识别率可达81.7%,FPM特征下提取角度、距离、法向量3种特征系统实时性为20帧/s,但平均识别率为78.9%,虽然同时提取PM特征和FPM特征导致表情识别实时性降低为10~15帧/s,但平均识别率达到了84.7%,相比加权后的PM特征提高了3.0%,相比加权后的FPM特征提高了5.8%。算法实时表情识别效果如图 16所示。

图 16 实时表情识别效果图
Fig. 16 The effect of real-time expression recognition

表 3为本文方法与近年来提出的Kinect表情识别方法在数据集上识别率的对比,文献[13]通过计算同一表情面部特征点之间的斜率(slope)直方图特征进行表情识别,用Adaboost算法选择主要的用于表情分类的特征以降低算法复杂度,最终表情识别率为68.7%,每秒处理20~25帧表情数据。文献[15]则将提取的人脸LBP特征和面部特征点之间的距离特征进行融合,LBP特征2 478维,距离特征29维,特征融合后平均表情识别率为70.8%,因为LBP特征维数较高导致实时性变差。文献[14]则融合了面部运动单元特征(AUs)和特征点坐标特征(FPPs),Kinect计算出的单帧表情数据AUs特征为6维,45个主要面部特征点的特征点坐标特征为135维,融合后的平均识别率达到了78.2%,而且通过剔除了一些无关紧要的特征点减小了系统的计算量,因此实时性也较高。文献[16]将HOG特征和特征点之间的角度特征进行融合,提取表情图像HOG特征7 344维,角度特征187维,特征维数较高,表情特征描述的比较详细,因此识别率达到了80.2%,但也牺牲了实时性。而本文方法通过提取PM特征和FPM特征并采用加权平均法对PM特征和FPM特征分类结果进行加权进一步提高了表情识别率,而且具有一定的实时性,在像素模式下首先通过关键特征点分割人脸,去除了与表情无关的面部区域和背景部分,在提取LBP特征时仅考虑最能反映表情变化的眉毛、眼睛和嘴巴区域,因此减小了LBP特征维数,而在提取Gabor特征时,为了减小特征提取时间,选用单尺度6方向的Gabor滤波器进行特征提取,使用mean pooling方法对Gabor特征图进一步降维,保证实时性,同样地,在特征点模式下,剔除了与表情无关的特征点,选择合适的角度、距离和脸平面法向量特征,减小了系统计算复杂度,将PM特征和FPM特征分类结果进行加权融合,最终实现了84.7%的识别率,同时还具有10~15帧/s的实时性。

表 3 各表情识别方法对比
Table 3 Comparison of different expression recognition methods

下载CSV
表情识别方法 特征类别 特征维数 平均识别率/% 实时性/(ms/帧)
Malawski et al.[13] Slope <7 260 68.7 40~50
Sherin et al. [15] LBP+Dist 2 507 70.8 >100
Mao et al.[14] AUs+FPPs 141 78.2 40~65
Sherin et al.[16] HOG+Angle 7 531 80.2 >100
本文 PM+FPM 1 702 84.7 65~100

3 结论

利用Kinect获取人脸3D数据,通过结合人脸图像2D像素特征和特征点3D特征实现3D实时人脸表情识别,实验结果表明该方法不仅具有较好的人脸表情识别效果,而且具有较强的鲁棒性,对于较难识别的一些表情也能很好的区分。然而,由于Kinect获取的人脸3D特征点数据不够精确,而且特征点数目较少,很难进一步描述人脸表情变化时面部肌肉的细微变化,同时为了保证表情识别的实时性,在LBP、Gabor、HOG算子提取特征时,对特征向量进行了大幅降维,这也会降低系统的表情识别效果。如今,最新一代的Kinect获取的3D数据不仅精度更高,而且能够获取更多的人脸特征点,从而能进一步提高表情识别率,但更多的人脸特征点意味着更多的计算量,因此如何在保证较高的识别效果的条件下又具有理想的实时性是本文需要进一步研究的问题。

参考文献

  • [1] He J, Cai J F, Fang L Z, et al. A method of facial expression recognition based on LBP fusion of key expressionsareas[C]//Proceedings of the201527th Chinese ControlandDecisionConference. Qingdao, China:IEEE, 2015:4200-4204.[DOI:10.1109/CCDC.2015.7162668]
  • [2] Dosodia P, Poonia A, Gupta S K, et al. NewGabor-DCT feature extraction technique for facial expression recognition[C]//Proceedings of the 2015 Fifth International Conferenceon Communication Systems and NetworkTechnologies. Gwalior, India:IEEE, 2015:546-549.[DOI:10.1109/CSNT.2015.162]
  • [3] Xu X M, Quan C Q, Ren F J. Facial expression recognition based on Gabor wavelet transform and histogram of oriented gradients[C]//Proceedings of 2015 IEEE International Conference on Mechatronics and Automation. Beijing, China:IEEE, 2015:2117-2122.[DOI:10.1109/ICMA.2015.723783]
  • [4] Hasani B, Mahoor M H. Spatio-Temporalfacial expression recognition using convolutional neural networks and conditional random fields[C]//Proceedings of the 201712th IEEEInternational Conference on Automatic Face & Gesture Recognition. Washington, DC, USA:IEEE, 2017:790-795.[DOI:10.1109/FG.2017.99]
  • [5] Pantic M, Rothkrantz L J M. Automaticanalysis of facial expressions:the state of the art[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22(12): 1424–1445. [DOI:10.1109/34.895976]
  • [6] Zeng Z H, Pantic M, Roisman G I, et al. A survey of affect recognition methods:audio, visual, and spontaneous expressions[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2009, 31(1): 39–58. [DOI:10.1109/TPAMI.2008.52]
  • [7] Fang T, Zhao X, Ocegueda O, et al. 3D facial expression recognition:a perspective on promises and challenges[C]//Proceedings of 2011 IEEE International Conference on Automatic Face & Gesture Recognitionand Workshops. Santa Barbara, CA, USA:IEEE, 2011:603-610.[DOI:10.1109/FG.2011.5771466]
  • [8] Soyel H, Demirel H. Facialexpression recognition using 3D facial feature distances[C]//Proceedings ofInternational Conference Image Analysis and Recognition. Montreal, QC, Canada:Springer, 2007:831-838.[DOI:10.1007/978-3-540-74260-9_74]
  • [9] Berretti S, Amor BB, Daoudi M, et al. 3D facial expression recognition using SIFT descriptors of automatically detected keypoints[J]. The Visual Computer, 2011, 27(11): 1021–1036. [DOI:10.1007/S00371-011-0611-X]
  • [10] Savran A, Sankur B. Automatic detection of facial actions from 3D data[C]//Proceedings of the 2009IEEE 12th International Conference on Computer Vision Workshops. Kyoto, Japan:IEEE, 2009:1993-2000.[DOI:10.1109/ICCVW.2009.5457526]
  • [11] Wang J, Yin L J, Wei X Z, et al. 3D facial expression recognition based on primitive surface feature distribution[C]//Proceedings of 2006 IEEE Computer SocietyConference on Computer Vision and Pattern Recognition. New York, NY, USA:IEEE, 2006:1399-1406.[DOI:10.1109/CVPR.2006.14]
  • [12] Tulyakov S, Vieriu R L, Sangineto E, et al. FaceCept3D:real time 3D face tracking and analysis[C]//Proceedings of 2015 IEEE International Conference on Computer VisionWorkshops. Santiago, Chile:IEEE, 2015:28-33.[DOI:10.1109/ICCVW.2015.13]
  • [13] Malawski F, Kwolek B, Sako S. UsingKinect for facial expression recognition under varying poses and illumination[C]//Proceedings ofInternational Conference on Active Media Technology. Warsaw, Poland:Springer, 2014:395-406.[DOI:10.1007/978-3-319-09912-5_33]
  • [14] Mao Q R, Pan X Y, Zhan Y Z, et al. Using Kinect for real-time emotion recognition via facialexpressions[J]. Frontiers of Information Technology & Electronic Engineering, 2015, 16(4): 272–282. [DOI:10.1631/FITEE.1400209]
  • [15] Aly S, Trubanova A, Abbott L, et al. VT-KFER:a Kinect-based RGBD+time dataset for spontaneous and non-spontaneous facial expression recognition[C]//Proceedings of 2015 International Conference on Biometrics. Phuket, Thailand:IEEE, 2015:90-97.[DOI:10.1109/ICB.2015.7139081]
  • [16] Aly S, Abbott A L, Torki M. A multi-modal feature fusion framework for kinect-based facial expression recognition using Dual Kernel Discriminant Analysis(DKDA)[C]//Proceedings of 2016 IEEE Winter Conference on Applications of Computer Vision. Lake Placid, NY, USA:IEEE, 2016:1-10.[DOI:10.1109/WACV.2016.7477577]