一种基于拓扑空间模型的表情识别方法与流程

文档序号:17007012发布日期:2019-03-02 02:04阅读:129来源:国知局
本发明涉及人脸识别
技术领域
:,具体为一种基于拓扑空间模型的表情识别方法。
背景技术
::人脸表情识别主要是针对人的面部表情进行识别。要对表情特征所代表的表情类别进行判断,就必须对表情进行分类。美国心理学家ekman和friesen定义了人类的6中基本表情:“高兴”、“生气”、“惊讶”、“恐惧”、“厌恶”和“悲伤”。但是目前的表情识别尚不完善,为此,本发明通过构建基于拓扑结构的面部表情概率分类模型实现表情分类。技术实现要素:针对现有技术的不足,本发明提供了一种基于拓扑空间模型的表情识别方法,具备识别率高等优点,解决了现有技术尚不完善的问题。为实现上述目的,本发明提供如下技术方案:一种基于拓扑空间模型的表情识别方法,包括以下步骤:1)对人脸图像进行区域划分,对各区域内像素点的灰度值进行去均值和归一化操作,构建适用于面部表情概率分类模型的训练集uf,ub,ue,un,um;2)将训练集利用asm模型构建与之相应面部区域数据集;3)通过数据集uf,ub,ue,un,um这五个数据集构建起由5个不同结构概率分类子网络cfcsf、cfcsb、cfcse、cfcsn、cfcsm组成的面部表情概率分类模型,由模型输出确定网络权值,模型如附图1所示;4)首先根据初始化的网络权值,估计出模型参数的值;将模型参数的值与实际模型参数值比较估计缺失数据的值,根据估计出的缺失数据更新网络权值,重新再对参数值进行估计,然后反复迭代,直至最后收敛,迭代结束;5)使用jaffe库与ck库对上述算法进行有效性的验证。优选的,所述步骤2)面部区域数据集uf,ub,ue,un,um分别为面部区域数据集、眉毛区域数据集、眼睛区域数据集、鼻子区域数据集以及嘴巴区域数据集。优选的,所述面部区域数据集构建首先利用asm模型定人脸面部68个特征点fp={pi|i=0,…,67},pi的坐标为(xpi,ypi);(1)构建面部区域数据集,首先要确定面部区域图像块,取特征点(x0,y0)~(x67,y67)的x、y坐标平均值,根据公式(1)求得面部区域中心点坐标(xcenter,ycenter)。面部区域宽度为l=max(x0,…,x67)-min(x0,…,x67),高度为h=max(y0,…,y67)-min(y0,…,y67)。根据面部区域中心点、宽度和高度确定面部区域图像块。对各区域内像素点的灰度值进行均值归一化操作,构建面部区域数据集。对x=ufij均值归一化:其中μ为所有数据的均值,σ为所有数据的标准差。(2)眉毛区域数据集选取眉毛轮廓区域时,取特征点(x15,y15)~(x26,y26)的x、y坐标平均值,根据公式(4)求得面部区域中心点坐标(xbrow,ybrow)。眉毛区域宽度为l=max(x15,…,x26)-min(x15,…,x26),高度为h=max(y15,…,y26)-min(y15,…,y26)。(3)眼睛区域数据集选取眼睛轮廓区域时,取特征点(x27,y27)~(x36,y36)的x、y坐标平均值,根据公式(5)求得面部区域中心点坐标(xeye,yeye)。眼睛区域宽度为l=max(x27,…,x36)-min(x27,…,x36),高度为h=max(y27,…,y36)-min(y27,…,y36)。(4)鼻子区域数据集选取鼻子轮廓区域时,取特征点(x37,y37)~(x47,y47)的x、y坐标平均值,根据公式(6)求得面部区域中心点坐标(xnose,ynose)。鼻子区域宽度为l=max(x37,…,x47)-min(x37,…,x47),高度为h=max(y37,…,y47)-min(y37,…,y47)。(5)嘴巴区域数据集选取嘴部轮廓区域时,取特征点(x48,y48)~(x67,y67)的x、y坐标平均值,根据公式(7)求得面部区域中心点坐标(xmouth,ymouth)。嘴巴区域宽度为l=max(x48,…,x67)-min(x48,…,x67),高度为h=max(y48,…,y67)-min(y48,…,y67)。优选的,所述步骤3)中构建5个不同结构概率分类子网络cfcsf、cfcsb、cfcse、cfcsn、cfcsm组成面部表情概率分类模型。面部表情聚类特征分类模型(fe—cfc)由5个不同结构聚类特征分类子网络cfcsf、cfcsb、cfcse、cfcsn、cfcsm构成。由于不同结构聚类特征子网络对不同表情的分类能力不同。所以fe—cfc模型输出结果由5个网络输出结果与权值综合确定。聚类特征分类子网络cfcsf、cfcsb、cfcse、cfcsn、cfcsm通过数据集uf、ub、ue、un、um训练获得。动态权值ωf、ωb、ωe、ωn、ωm由综合训练子网络获得。1)cfcsf在cfcsf子网络中,使用面部区域数据集uf进行训练。cfcsf网络结构由特征节点层与聚类节点层交替构成,结构如附图2所示。首先将面部区域图像划分为多个独立的子块,第一层聚类节点层将输入矩阵划分为30*30个2*2大小的子块,每个子块其对应权重子块相乘后求和得到新的矩阵即为聚类节点层。第一层特征节点层将第一层聚类节点层矩阵划分为15*30个2*1大小的子块内元素相乘得到。第二层聚类节点层由15*15个1*2大小的子块内元素与其对应权重相乘后求和得到。第二层特征节点层由3*15个5*1大小的子块内元素相乘得到。第二层聚类节点层由3*3个1*5大小的子块内元素与其对应权重相乘后求和得到。第三层特征节点层由1*3个3*1大小的子块内元素相乘得到。第三层聚类节点层由1个1*3大小的子块内元素与其对应权重相乘后求和得到。2)cfcsb在cfcsb子网络中,使用面部区域数据集ub进行训练。cfcsb网络结构由特征节点层与聚类节点层交替构成,结构如附图3所示。首先将面部区域图像划分为多个独立的子块,第一层聚类节点层将输入矩阵划分为24*3个2*2大小的子块,每个子块其对应权重子块相乘后求和得到新的矩阵即为聚类节点层。第一层特征节点层将第一层聚类节点层矩阵划分为24*1个1*3大小的子块内元素相乘得到。第二层聚类节点层由4*1个3*1大小的子块内元素与其对应权重相乘后求和得到。第二层特征节点层由2*1个4*1大小的子块内元素相乘得到。第二层聚类节点层由1个1*2大小的子块内元素与其对应权重相乘后求和得到。3)cfcse在cfcse子网络中,使用面部区域数据集ue进行训练。cfcse网络结构由特征节点层与聚类节点层交替构成,结构如附图4所示。首先将面部区域图像划分为多个独立的子块,第一层聚类节点层将输入矩阵划分为24*4个2*2大小的子块,每个子块其对应权重子块相乘后求和得到新的矩阵即为聚类节点层。第一层特征节点层将第一层聚类节点层矩阵划分为24*1个1*4大小的子块内元素相乘得到。第二层聚类节点层由3*1个1*4大小的子块内元素与其对应权重相乘后求和得到。第二层特征节点层由2*1个1*3大小的子块内元素相乘得到。第二层聚类节点层由1个2*1大小的子块内元素与其对应权重相乘后求和得到。4)cfcsn在cfcsn子网络中,使用面部区域数据集un进行训练。cfcsn网络结构由特征节点层与聚类节点层交替构成,结构如附图5所示。首先将面部区域图像划分为多个独立的子块,第一层聚类节点层将输入矩阵划分为8*12个2*2大小的子块,每个子块其对应权重子块相乘后求和得到新的矩阵即为聚类节点层。第一层特征节点层将第一层聚类节点层矩阵划分为2*12个4*1大小的子块内元素相乘得到。第二层聚类节点层由4*1个1*2大小的子块内元素与其对应权重相乘后求和得到。第二层特征节点层由2*1个4*1大小的子块内元素相乘得到。第二层聚类节点层由1个1*2大小的子块内元素与其对应权重相乘后求和得到。5)cfcsm在cfcsm子网络中,使用面部区域数据集um进行训练。cfcsm网络结构由特征节点层与聚类节点层交替构成,结构如附图6所示。首先将面部区域图像划分为多个独立的子块,第一层聚类节点层将输入矩阵划分为24*3个2*2大小的子块,每个子块其对应权重子块相乘后求和得到新的矩阵即为聚类节点层。第一层特征节点层将第一层聚类节点层矩阵划分为24*1个1*3大小的子块内元素相乘得到。第二层聚类节点层由4*1个3*1大小的子块内元素与其对应权重相乘后求和得到。第二层特征节点层由2*1个4*1大小的子块内元素相乘得到。第二层聚类节点层由1个1*2大小的子块内元素与其对应权重相乘后求和得到。优选的,所述步骤4)中选用em算法来更新参数。em算法流程如下:初始化参数θ(0),开始迭代。记θ(i)为第i次迭代参数θ的估计值,计算q(θ,θ(i))=∑logp(u,z|θ)p(z|u,θ(i))(8)其中u是训练数据,z是类别隐变量,p(u,z|θ)是联合分布,p(z|u,θ(i))是条件分布。求使q(θ,θ(i))极大化的θ,确定第i+1次迭代的参数估计θ(i+1)θ(i+1)=argmaxθq(θ,θ(i))(9)重复上述步骤,直到收敛,得到彩色图像iin。与现有技术相比,本发明提供了一种基于拓扑空间模型的表情识别方法,具备以下有益效果:该基于拓扑空间模型的表情识别方法,解决了深度学习图像分析与理解在小样本上适应性较低的问题,通过在ck表情库和jaffe表情库上的实验结果证明了本发明算法的有效性,能够自下而上地表示人脸表情图像特征,识别率达到98.95%和97.78%。验证了该方法在图像分析与理解方面的有效性和通用性。多类别反向训练实验:本次实验分别采用单一类别训练样本与多类别训练样本对模型权重进行训练。从ck人脸库中每类表情选择25张图片作为实验训练集,25张作为实验测试集,多次随机选择不同图片进行实验取平均值作为最终的结果。采用单一类别训练样本实验是指在训练模型参数时,只使用单一类别训练样本进行训练,调整参数,设置训练模型期望值为1,反复训练,直到参数收敛。采用多类别训练样本实验是指在训练模型参数时,使用多类别训练样本进行训练,调整参数,当训练模型对应类别样本时设其期望值为1,训练其余类别样本时设其期望值为0.01。交叉反复训练,直到参数收敛。采用单一类别训练样本实验结果如表1所示,采用多类别训练样本实验结果如表2所示。表1采用单一类别训练样本实验识别率%table1therecognitionrateofasingle-classtrainingsampleexperiment表2采用多类别训练样本实验识别率%table2therecognitionrateofamulti-classtrainingsampleexperiment由表1、表2对比可知,所述算法经过单一类别样本训练后,得到良好的初始化值,再经过其他类别样本的交叉反向训练,剔除模型中影响力小的权值,提升特征分类能力。所以当训练样本类别多样化时,所述算法识别率会得到明显提升。变化训练样本数对比实验:本次实验主要测试所述算法在不同数量的训练样本条件下,与传统算法和深度学习算法在识别率方面的优劣程度。验证其在小样本数据下的识别准确率。从jaffe库中选择每种表选择30张图片作为实验对象集,从每类表情中随机选择5、10、20张作为实验训练集,其余作为实验测试集,多次随机选择不同图片进行实验取平均值作为最终的结果。实验结果如表3所示。从ck人脸库中每类表情选择50张图片作为实验对象集,从每类表情中随机选择10、20、30张图片作为实验训练集,其余作为实验测试集,多次随机选择不同图片进行实验取平均值作为最终的结果。实验结果如表4所示。表3jaffe库上不同训练样本数正确识别率%table3correctrecognitionrateofdifferenttrainingsamplenumbersonjaffedatabase表4ck库上不同训练样本数正确识别率%table4correctrecognitionrateofdifferenttrainingsamplenumbersonckdatabase由表3,4可知,所述算法经过少量有标签的训练样本的训练,便能达到较好的识别效果。随着训练样本数增加,开始时识别率上升然后区域不变,表明所述算法在非限制条件下表情识别具有较好的鲁棒性。同时也说明了所述算法在样本数较少时,提取特征分类的能力很高效。与其他表情识别方法对比实验:为了验证所述方法的优越性,将所述算法与最新的表情识别方法进行对比实验,实验结果如表5所示。可以看出所述算法具有较高的普适性,在识别率方面具有明显优势。表5ck库、jaffe库上不同算法识别率%table5differentalgorithmrecognitionrateoncklibraryandjaffelibrary附图说明图1为本发明的聚类特征分类子网络示意图。图2为cfcsf结构图。图3为cfcsb结构图。图4为cfcse结构图。图5为cfcsn结构图。图6为cfcsm结构图。具体实施方式下面将结合本发明的实施例和附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例一:一种基于拓扑空间模型的表情识别方法,包括以下步骤:1)对人脸图像进行区域划分,对各区域内像素点的灰度值进行去均值和归一化操作,构建适用于面部表情概率分类模型的训练集uf,ub,ue,un,um;2)将训练集利用asm模型构建与之相应面部区域数据集;3)通过数据集uf,ub,ue,un,um这五个数据集构建起由5个不同结构概率分类子网络cfcsf、cfcsb、cfcse、cfcsn、cfcsm组成的面部表情概率分类模型,由模型输出确定网络权值,模型由图1所示;4)首先根据初始化的网络权值,估计出模型参数的值;将模型参数的值与实际模型参数值比较估计缺失数据的值,根据估计出的缺失数据更新网络权值,重新再对参数值进行估计,然后反复迭代,直至最后收敛,迭代结束;5)使用jaffe库与ck库对上述算法进行有效性的验证。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1