基于LBP和LPQ的面部表情识别

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2020年第9期199
基于LBP 和LPQ 的面部表情识别
邹元彬* 乐思琦 廖清霖 张 云
ZOU Yuan-bin YUE Si-qi LIAO Qing-lin ZHANG Yun
摘 要 面部表情是行为分析重要组成部分,本文选用局部二值模式和局部相位量化作为图像特征,通过支持
向量机实现面部表情特征识别。

首先,本文选用日本女性面部表情(JAFFE )数据集和搜集的数据集(MyImage ),将得到的人脸图像进行预处理;然后,提取人脸图像的LBP 和LPQ 特征,并将两种特征信息融合,得到一个特征向量;最后,利用高斯核函数支持向量机作为面部表情识别的分类器,选用一对多分类模式,实现对JAFFE 和 MyIamge 两个数据集的面部表情的识别。

计算机仿真实验表明,JAFFE 和MyImage 两个数据集分别得到了90.57%和97.57%的识别率。

关键词 面部表情识别;局部二进制模式;局部相位量化;支持向量机
doi:10.3969/j.issn.1672-9528.2020.09.064
* 湖南警察学院信息技术系 湖南长沙 410138
[基金项目] 本文受湖南省自然科学基金项目(2018JJ2107);湖南省公安厅科技计划项目(2018,No.3);湖南省社科基金项目(14YBA147);湖南省大学生创新创业训练计划项目“基于语音情感和面部表情信息融合的驾驶员状态识别”(2019,No.2682)的资助
0 引言
面部表情识别是人工智能的重要应用之一,利用机器视觉的方法把图片处理为适合电脑仪器识别检测的图像,对人类面部的微表情变化做检测和判断。

识别流程一般分为人脸检测定位、图像预处理、表情特征提取、样本匹配对比;然后采用滑窗法定位一张图片中的生物体;最后一步将分割完成的目标区域通过CNN 网络进行归类。

其不足之处在于随机的遍历和选取目标区域会导致效率低。

在CNN 网络的基础上的R-CNN 算法[1]首先对接收的图像产生候选区域(region proposals);再用卷积神经网络(CNN)来做特征提取;最后进行分类识别。

2014年李海彦等人提出的人脸姿态校正方法[2],在可控范围内旋转偏移的面部姿态的角度,获取人脸正面的姿态,实验成效显著,识别率提升了4.0%左右。

由于旋转过程中人脸的地图投影点的坐标会变换成另一种地图投影点的坐标,要抽象处理该变换过程,并将其转换为几何模型,然后,利用其几何模型分析图像的详细变化,并结合仿射变换理论解析旋转中人脸的平面投影,以此实现多姿势人脸图像的校正。

对面部表情识别的研究最早可追溯到20世纪70年代,美国心理学家艾克曼把人类的基本表情分为六种:高兴、生气、吃惊、恐惧、厌恶和悲伤,用于确定识别对象的类别;其次是建立了面部动作编码系统(FACS)[3],在此系统中他发现面部肌肉有43块,肌肉间的组合运动可以组合出1万多种表情,其中3000多种表情被定义具有情感意义。

研究者按照系统划分的一系列人脸动作单元(AU)来描述人脸面部动作,依照面部肌肉运动的过程,分析人脸表情细微变化。

现代运动模板的面部AU 运动识别方法是使用Boosting 算法训练专门的识别器[4],通过识别器准确地识别AU 运动,根据不同情绪对应的AU 数值的不同的特点,从而对人内心情绪做出准确判断。

杨欣引入用于分类的视觉算子,联合LBP 和CNN 作为图像特征[5],实现了对旋转状态的面部表情识别。

近年来,随着人工智能的发展和深度网络神经学习的热潮。

面部表情识别逐渐应用到研制人工智能、开发电脑游戏、安检验证、协商谈判、医疗等领域。

未来表情识别将扩展更多的领域,识别技术需要进一步精确成熟,进而提高社会大众的认同度和信赖度。

1 相关理论
面部表情识别分为图像预处理、表情特征提取、表情识别三个步骤,其中图像预处理能减少实验误差,有效地提高识别准确率。

1.1 图像的预处理
采集到的图像往往受到一定程度的噪声、光线干扰,因此需要使用光照补偿和直方图均衡化对图像进行预处理,提
2020年第9期
200
高特征提取、面部表情识别的可靠性。

在图像采集过程中,光照强度、光源位置偏差能引起图像亮度较低或亮度分布不均匀,为降低这种对特征提取和面部表情识别的不良影响,使用GrayWorld 色彩均衡算法对图像进行光照补偿[6]。

1.2 LBP 特征提取
局部二值模式(local binary pattern,LBP)是一种图像纹理局部提取算法,描述人脸图像特征像素点与各个相邻像素点之间的灰度关系[7]。

其中心思想是在图像内取任意一个中心像素点作为阈值,对于周围的像素点做二值处理,从而形成该像素点的LBP 编码。

假定T 为某像素点的LBP 编码,其定义如下:
(1)
其中,
是选中的中心像素点的灰度值,而是周围邻域内像素点的灰度值,g p 是由
半径R 和周围的像素点数P 决定的。

因此可以确定计算像素点g p 公式:
(2)
若取R =2,P =8,以中心像素点的灰度值g p 做阈值,其它相邻的8个像素点的值为g p (p =1,2,…,7
),如下图:
图1 LBP 纹理单元
将周围像素点的灰度值减去中心像素点的灰度值
从而获得邻域范围内的像素差值,且其中心像素点
的灰度值与周边像素点的差值独立,根据公式(1)得到如下公式:
(3)
抛开像素点差值的大小,只考虑符号的正负,若差值为正,则记为1,反之则记为0,因此:
(4)
对每一个
以2p 为权值,得出g c 点的LBP 值,
根据公式(4)做像素矩阵变换:
(5)
以顺时针方向从左上角开始组成一个8位的二进制数,转化为10进制之后得到的便是LBP
值,变换过程如下:
图2 LBP 特征纹理提取示意图
通过像素矩阵变换后,得到的LBP 特征纹理,如下图所示。

本文通过LBP 算法实现人脸表情特征提取的流程如下[8]:A)采用LBP 算法提取人脸表情图像特征。

针对图像的每个像素点计算LBP 灰度值,由灰度值计算出人脸表情图像的特征向量,并连接所有区域的特征向量形成LBP 特征直方图。

B)选择统一模式的LBP 算法减少特征维数。

C)选择人脸表情图像的尺度大小。

人脸图像的表情特征提取会存在一定程度上的丢失,选择合适的图像区块划分方式可以降低特征纹理信息丢失率[9],本文选用7*7的区域进
行划分,在表情图像中能取得较高的识别率[10]。

D)计算直方图特征。

按照LBP 算法计算每个区域的直方图,并提取出不同的纹理信息,按照顺序依次连接所有的特
征直方图,根据直方图向量描述人脸特征。

图3 LBP 人脸纹理特征图像
2020年第9期201
1.3 LPQ 特征提取
局部相位量化(local phase quantization,LPQ)是一种纹理特征描述算子[11],该算子通过量化得到的傅里叶相位光谱对图像进行描述。

若假设表情图像为f (x ),在像素点x,取邻域A x (大小M ×M ),对邻域A x 中的图像做短时傅里叶变换,公式如下:
(6)
其中u 表示变换的频率,取F (u,x )在4个频点
的值,其
中a 为,通过4个频点,在每个像素位置上可以得出向量:
(7)
傅里叶系数相位通过每个部分的实数和虚数的符号来表示[10]:
<≥=0
001q i i j g g (8)
其中,
g i 是向量))](Im()),([Re()(x F x F x G =的第j 个分量,最后得到中心像素点的8位的LPQ 二进制编码,为每一个二进制数与二项式系数2n 做加权求和转换为LQP 的十进制编码,在[0,255]范围内,其量化表示为:
(9)
1.4 LBP 和LPQ 的特征融合
LBP 和LPQ 分别在空间域和频域上实现面部表情特征提取,两者相互融合,能够起到相互补充的作用。

研究表明选用LBP+LPQ 实现特征提取,能够在训练样本较少的情况下达到较好的效果[10]。

本文分别使用LBP 算子和LPQ 算子提取表情图像特征,采用合适的参数对两个特征向量进行简单加权,并串联生成最终向量。

1.5 表情识别分类器
将LBP 和LPQ 特征数据融合之后,需要通过融合之后的数据做表情识别,本文选用支持向量机实现表情识别功能。

支持向量机(Support
Vector Machine,简称SVM)算法是Cortes 和Vapnik 在1995年提出来的一种算法[12]。

支持向量机是一种能够寻求一个满足分类要求和约束条件的最优超平面的统计学算法。

在训练样本较小的情况下,支持向量机能通过降低经验风险和缩小置信范围获得良好的统计结果[13]。

其原理示意图如下:
图5 支持向量机示意图
假定给定一个样本训练集,
其中
,称
为训练集样本点。

设存在一个超平面,能够将训练数据集正确分类,并使得分类面间隔最大化,该超平面的表达式为:
(10)
其对应的分类决策函数为:
][)(b x w sign x f i T +⋅= (11)若要寻找一个超平面,则需要满足:
R b t b x w t i i T i ∈±=≥+⋅,w
,1,
1)( (12)
将满足1w ±=⋅i T
x 的训练样本称之为支持向量。

如图6所示:
图6 SVM 及其超平面
图4 不同对象的面部表情图像及生成LPQ 图像
2020年第9期
202
将b w ,进行等比缩放,得到最大间隔距离的超平面:
(13)
又1)(y ≥i x ,当1)(t =+⋅b x w i T i 时原目标函数根据凸优化原理,转变为:
=≥+⋅n
i b x w t t s w obj i T
i w ,,2,11)(..21min arg 2 (14)引入Lagrange 函数:
∑=−+⋅−=
n
i i T i i b x w t w b w L 1
2
)1)((21),,(αα (15)其中,T
n ),,,(21αααα =。

根据Karush-Kuhn-Tuncker(KKT)条件,将(15)分别对b w ,求偏导得:
∑∑====n
i i i n
i i
t i t x t w 1
1
0αα (16)
整理后,目标函数变为:
=≥=−⋅∑∑∑∑====n
i t
t s x x t t obj i n
i i
i n i m
j n
i i j
i j i j i ,,2,100
.
.)(21min 1
111
αααααα (17)
若计算求解得*α,则有
⋅−==∑∑==n
i j i i i j n
i i
i i x x t t b x t 1**1**)(w αα (18)求得分离超平面:
0*
=+⋅b x w (19)分类决策函数:
)()(**b x w sign x f i +⋅= (20)
模型中的()j i x x ⋅是核函数(kernel function),其作用是将原空间中线性不可分的数据集映射至高维空间中,以求得分类超平面。

支持向量机中常用的核函数有线性核,多项式核,高斯核(RBF 核)等。

其中线性核只适合线性可分的情况,多项式核虽然适应性强,但是计算较为复杂,本文选用高斯核作为分类器的核函数。

高斯核具有应用广、局部性强的优点[14],其表达式为:
}
2exp{),(ker 2
2
σj i j i x x x x nel −−
= (21)
使用高斯核函数关键在于对σ参数的控制,通过调控参数σ会使得高斯核函数具有较高的灵活性。

进行样本分类时,
在样本空间找到能将不同样本正确分类且使得超平面与不同样本集间距离最大的最优超平面[15]。

单个的SVM 只能实现二分类,而通过SVM 实现多分类通常有两种方法,即“一对多”方法和“一对一”方法。

本文选用一对多方法,若存在N 类数据集,该方法对每一类数据构造一个对应的SVM 分类器,如果当前数据为第i 类,则分类器将标签置为正,反之,剩余的N-1类数据则置为负。

对N 类数据分类的需要构造N 个SVM 分类器。

一对多方法需要
的SVM 构造器更少,操作更为简便,解决问题时有泛化性好、结构简单、全局最优等优点。

2 实验与结果分析
本文所做的实验是在MATLAB 的2018b 版的软件中进行的,引用了SVM-KM 工具包,硬件平台是Inter Core i5-
6200,内存为8G。

表1 JAFFE 和MyImage 数据集的表情数量
表情JAFF E MyImage 生气Angry
3046厌恶Disgust 290害怕Fear 320高兴Happy 3151中性Normal 3052悲伤Sad 310惊讶Surprise
30
52
2.1 数据集选取与预处理
本文采用JAFFE(日本女性面部表情)数据集[16]和搜集
的数据集(MyImage)来验证上述的算法结构。

JAFFE 数据集包含了7类表情,共213幅日本女性人脸图片,分别是生气、厌恶、害怕、高兴、中性、悲伤、惊讶,每幅图均是像素为256*256的灰度图,如图7
所示。

图7 JAFFE 数据集7种表情示意图
2020年第9期203
MyImage 数据集包含4类表情,共201幅表情,图片均为网上获取,其中4类表情分别是生气、高兴、中性、惊讶,每幅图均是像素为128*128的灰度图,如图8
所示。

图8 MyImage 数据集4种表情示意图
本文选取JAFFE 数据集和MyImage 数据集中的所有数据。

实验前,将在每一类表情中按照8:2的比例随机抽取并生成训练集和测试集,然后合并每一类训练集和测试集。

2.2 实验实施
首先,将图像进行预处理,采用光照补偿的方式降低图像中存在的色彩偏差,减少图像在收集过程中受到光源、设备等因素对识别结果的干扰。

对于两个数据集,将灰度图像的亮度值由[0.3,1]区间映射到[0,1]区间中,得到光照补偿后的图像。

如图9所示。

实现光照补偿之后,按照原图像的比例进行表情图像特征提取,本文采用LBP 和LPQ 算法提取图像特征,并将两种算法提取到的特征信息融合成一个特征向量。

本文选用支持向量机作为面部表情识别的分类器,因为高斯核函数在非线性拟合上有非常好的效果[17],由此本文采用高斯核函数作为分类器的核函数。

多次实验证明,对于JAFFE 数据集,其设置核参数为0.7的情况下可得到的识别效果较好;处理MyImage 数据集,在配置核参数为2.2的情况下,得到的识别效果较优。

配置好SVM(支持向量机)的参数之后,分别对从JAFFE 和MyIamge 两个数据集中提取的训练集的特征向量及其表情标签集进行训练,再将测试集输入训练好的模型之中得到测试结果,最后将测试的结果与测试集标签做对比得到表情识别的准确率。

具体流程如图10
所示。

图10 面部表情识别算法流程
2.3 实验结果分析
本文分别使用了JAFFE 和MyImage 两个数据集实现对文中算法的验证。

基于本文提供的算法框架,分别对JAFFE 数
据集的7类表情和MyImage 数据集的4类表情的测试集进行识别,测试结果和混淆矩阵生成图表分别对应下方的表2、表3和图11、图12。

表2 JAFFE 数据集测试结果
高兴悲伤惊讶生气厌恶害怕中性高兴0.75000.1250
0000.12500悲伤0 1.000000000惊讶0.125000.87500000生气000 1.0000000厌恶000.10000.10000.8000
00害怕00000 1.00000中性
1.0000
图11 JAFFE
混淆矩阵
图9 JAFFE 数据集 光照补偿前后图像
2020年第9期
204
由表2的测试结果可知JAFFE 数据集的7类表情中悲伤、生气、害怕和中性4个表情的识别率最高,其数据集表情特征较为明显,识别率达均到了100%。

而在混淆矩阵中的高兴、惊讶和厌恶3类表情得到的识别率较低,尤其是厌恶和高兴这两类表情,被误识为其它类别的表情的情况现象偏多。

查看原始数据集进一步分析得知,JAFFE 数据集中的高兴、惊讶和厌恶3类表情和其他的表情之间有一定程度上的相似,这些被识别成错误的表情图像表达并不明显,是导致表情误识现象产生的原因。

表3 MyImage 数据集测试结果
生气
高兴中性惊讶生气 1.0000000高兴0 1.000000中性00 1.00000惊讶
0.1667
0.8333
图12 MyImage 混淆矩阵
在MyImage 数据集的测试结果中,生气、高兴和中性3类表情识别率高。

观察MyImage 数据集中的表情图像,这三类表情表达的效果更为明显,但惊讶表情中识别错误的图像特征表达不明显,因此也产生了误识。

比较JAFFE 和MyImage 数据集中相同表情的识别率,其中生气、惊讶、中性三类表情的识别率是比较高的。

观察原始数据集,进一步分析得知,这几类表情的特征较为明显,易于识别。

综上所述,本文所使用的算法对于特征比较明显的表情有较高的识别率。

本文所述的方法对于JAFFE 和MyImage 这两个数据集的识别率分别是90.57%和97.57%,其中MyImage 数据集的面部识别率是不错的。

这是因为本文采用了LBP 和LPQ 的算法结构,高效的对面部表情图像特征进行提取,融合两种特征信息,因此能够提升表情图像的识别率从而达到一个较好的效果。

其中,JAFFE 数据集的面部表情识别率低于MyImage 数据集的识别率,一部分原因在于JAFFAE 部分表情的表达不
明显,导致的特征提取的结果存在一定的相似性[18]。

JAFFE 的悲伤、讨厌、生气这三类表情的图像特征比较相似,区分度较小[12]。

同时,原始数据集较少,训练分类器的未能发挥最佳性能。

本文所使用的方法包含了传统的机器学习方法和图像处理技术,应用更为广泛、处理难度较低、方法更简便。

3 结论
本文通过构建基于LBP 和LPQ 的检测模型实现面部表情识别,其方法相较于传统的机器学习算法容易实现;采用信息融合后的模型能够在一定程度上提高其正确率,在JAFFE 和MyImage 两个数据集上分别取得90.57%和97.57%的结果。

在今后的研究中,我们需要进一步优化数据集的处理,选用更大的数据集和性能更优的分类器。

参考文献:
[1]Girshick Ross,Donahue Jeff,Darrell Trevor, et al. Region-Based Convolutional Networks for Accurate Object Detection and Segmentation.[J]. IEEE transactions on pattern analysis and machine intelligence, 2016,38(1):142-158.
[2]李海彦. 基于仿射变换的多姿态人脸矫正与识别[D].苏州:苏州大学, 2013.
[3]EKMAN P, FRIESENWV , HAGER J C. Facial ActionCoding System: The Manual on CD ROM[M]. Salt Lake City: A Human Face, 2002.
[4]刘建征. 基于肌肉运动的人脸表情识别[D].天津:天津大学,2012.
[5]杨欣利. 基于卷积神经网络的人脸表情识别算法研究[D].兰州:兰州理工大学,2018.
[6]杨梅.变化光照环境下的人脸识别[D].重庆:重庆大学,2014.
[7] YAMBOR W, DRAPER B, BEVERIDGE J R. Analysis of PCA -based face recognition algorithms;eigenvector selection and distance measures[C]. Second Workshop on Empirical Evaluation Methods in Computer Vision, 2000.
[8] 何光辉. 四种人脸识别方法研究[D].重庆:重庆大学,2010.[9]嵇介曲. 基于LBP 算法的人脸识别研究[D].淮南:安徽理工大学,2017.
[10]吴晋椿. 基于LBP 和LPQ 的人脸表情识别[D].杭州:杭州电子科技大学,2017.
[11] KLEINSMITH A, BIANCHI-BERTHOUZE N. Affective Body Experssion Perception and Recogunition : A Surveyp[J].IEEE Transactions on Affective Computiong. 2013,4(1):15-33.[12] 蔡建峰. 基于LBP 特征与深度学习模型的人脸表情识别研究[D].南昌:南昌大学,2016.
2020年第9期205
[13] MAO X, CHEN L, ZHANG B .Mandarin Speech Emotion Recognition based on a Hybrid of HMM/ANN[J].International Journal of Computers,2007,4(1):321-324.
[14] DENG J , DONG W , SOCHER R , et al. ImageNet: A large-scale hierarchical image database[J]. Proc of IEEE Computer Vision & Pattern Recognition, 2009:248-255.
[15]梁志. 基于数据关系的SVM 多分类方法研究[D].太原:山西大学,2013.
[16] 史亚. 多核学习算法与应用研究[D].西安:西安电子科技大学,2015.
[17] 薛建明,刘宏哲,袁家政,等.基于CNN 与关键区域特
征的人脸表情识别算法[J].传感器与微系统,2019,38(10):146-149+153.
[18] 孙波,刘永娜,罗继鸿,等. 基于张量分析的表情特征提取[J]. 计算机工程与应用,2016,52(20):145-148+226.【作者简介】
邹元彬(2000—),男,汉族,湖南娄底人,本科在读,研究方向:机器视觉,图像处理;
乐思琦(1999—),女,汉族,湖南永州人,本科在读,研究方向:机器视觉。

(收稿日期:2020-07-16 修回日期:2020-08-10)
基于MATLAB 仿真的手势识别系统及其应用
林晓予* LIN Xiao-yu
摘 要 随着科技的进步和我国人民经济水平的提升,各式各样的智能家电走进了人们的生活。

这些智能家电给
人们的生活提供了大量便利,但是,绝大部分智能家电采用的都是传统的按键式,操作繁琐且不直观。

手势识别则是近年来大热的人机交互方式,由于功能强大、操作方便,在智能家居、智能穿戴设备、智能汽车以及VR/AR 等领域都增加了手势识别控制功能。

结合现如今发展蓬勃的物联网技术,本文基于MATLAB 的仿真,阐述了手势识别与物联网的结合应用。

关键词 MATLAB ;仿真;手势识别;物联网
doi:10.3969/j.issn.1672-9528.2020.09.065
* 重庆邮电大学光电工程学院 重庆 400065
0 前言
物联网是指通过各种装置与技术,实时采集任何需要监控、连接、互动的物体或过程,通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。

随着物联网技术的成熟,非接触式人机交互系统具有更加自然、直观和智能的优点。

借助物联网技术能有效地将智能家电的操作结合在一起,以满足大众对智慧生活的需求。

在物联网技术中,采集识别技术无疑是一项关键的核心,
其包括了语音识别、手势识别等内容,不同的识别技术应 用于不同的场景,其中,手势识别技术可以让用户通过简单的手势,完成与设备的互动或控制,由于其在生活生产中的优异表现,手势识别在如今被大规模地使用着。

1 手势识别技术
1.1 手势识别技术相关概念
手势识别是计算机科学和语言技术中的一个主题,其被认为是一种可以提供更自然、更有创意和更直观的与计算机进行通信的交互技术。

手势识别指的是跟踪人类手势、识别并转换为命令的整个过程,手势识别的研究旨在设计和开发可以将手势作为输入而将命令映射作为输出的系统。

作为基于视觉的手势识别系统,总体功能分为采集部分、硬件处理部分以及软件识别部分[1]。

图1 手势识别的流程。

相关文档
最新文档