一种基于复杂度感知分类算法的面部表情识别方法与流程

文档序号:15888615发布日期:2018-11-09 19:52阅读:325来源:国知局
一种基于复杂度感知分类算法的面部表情识别方法与流程

本发明涉及计算机应用中的图像识别领域,具体涉及一种基于复杂度感知分类算法的面部表情识别方法。

背景技术

面部微表情识别在人机交互和情感计算领域具有极其广泛的研究前景,包括测谎、智能安防、娱乐、互联网教育和智慧医疗等。面部表情常被人类作为表达情绪的一种主要方式,因此表情识别的主要工作是如何自动、可靠、高效地识别人脸表情传达的信息。在表情识别的研究中定义了7种基本的表情类别:惊讶、害怕、厌恶、生气、高兴、伤心、平和,这7种类别通常被作为表情识别的基础标签。大部分面部表情识别工作主要着眼于特征提取和表情识别这两部分。表情识别方法可以分成静态和动态,其中静态分类适用于静态图像,使用的技术主要有svm、bayesiannetworkclassifiers、radomforests和softmax。动态分类适用于面部视频,考虑了随着时间推移从每帧独立提取的特征作为分类的依据,使用的模型主要有hmm和vsl-crf。

近几年不同传统机器学习的方法被用于表情识别的研究中来提取图像的外观特征,其中包括gaborfilters、localbinarypattern(lbp)、localgaborbinarypattern(lgbp)、histogramsoforientedgradients(hog)和scaleinvariantfeaturetransform(sift)。这些传统的方法提取的特征应用在特定的小样本集中往往比较有效,但是很难进行调整识别新的测试人脸图像。这是由于提取到的特征往往属于低层次的特征,从数据中难以提取和组织对类别划分有区分性的信息。这些不足对于面部表情识别在实际应用中有很大的挑战。

convolutionalneuralnetwork(cnn)和deepbeliefnetwork(dbn)作为深度学习的两种框架在面部表情识别取得了显著的成果,同时已经被用来做特征提取和识别工作。越来越多不同的cnn结构应用在面部表情识别和图像分类问题中,比如:vgg-net、googlenet、inceptionlayer、resnet、densenet等。通过cnn中的多个卷积和池化层可能提取到整个面部或者局部区域的更高级多层次的特征,作为面部表情图像辨别特征有不错的分类性能。相比于cnn,dbn通过多层受限玻尔兹曼机(rbm)网络形成分层学习结构,实现了从细粒度到粗粒度的多层次特征学习。利用dbn的模型生成能力可以显著提高有像素缺失或遮挡的人脸面部表情识别的性能。

目前面部表情识别工作仍具有很大的挑战,许多相关研究和工作着重于分类模型和特征提取方法的改进,往往很容易忽视面部表情7个基本类别之间的联系和数据集中样本间的关系。一些表情比如:happy和surprise属于辨识度很高的类别,很容易通过特征将它们区分开,而有一些表情比如:fear和sad,有些环境下是非常相似很难将它们有效的区分开。即由于很难去确切地划分每个表情特征空间,不同的表情类别中的某些样本的面部特征在特征空间中可能非常接近,而属于同一个表情中的某些样本的面部特征在特征空间可能离得比较远。另外在不受控的环境中,人脸很容易受到种族、年龄、性别、头发、周围环境等因素的影响,导致每个样本提取到用于表情分类的面部特征分布和特征复杂性是不同的。



技术实现要素:

本发明的目的是针对由于人们情绪的不同表达方式和不受控的环境因素导致情绪识别复杂度的不一致性和面部表情类别之间的可变性问题,提供了一种基于复杂度感知分类算法的面部表情识别方法,通过将复杂度感知算法应用在面部微表情识别领域,不仅提高了辨识度较高的面部表情类别的分类准确率,同时缓解了容易混淆表情类别误分的问题,另外也有效解决了数据集样本特征分布不一致的问题。

所述方法借鉴奥卡姆剃刀原理的思想,将复杂度感知分类算法用于面部微表情识别,通过评估每一个样本面部特征的复杂性将数据集中的样本划分为容易样本集和困难样本集两部分,分别针对这两种不同特征分布的特征空间进行有区分性的学习,即针对这两个子数据集分别进行训练得到不同样本特征复杂度的分类器;测试样本不再是通过一个整体的分类器完成面部表情识别的分类预测,而是进行特征复杂性的鉴定后划分到相应的分类器中完成面部表情识别工作。

本发明的目的可以通过如下技术方案实现:

一种基于复杂度感知分类算法的面部表情识别方法,所述方法包括以下步骤:

s1、对面部表情图像进行预处理后作为训练数据集;

s2、设计基于改进残差块的深度卷积神经网络对训练数据集进行训练,提取出人脸面部特征;

s3、根据复杂度感知分类算法,通过评估训练数据集提取的人脸面部特征的复杂度,将训练数据集划分为容易训练样本集和困难训练样本集,并针对这两类子样本集分别进行训练得到容易样本分类器和困难样本分类器;

s4、分别对容易训练样本集标记{+}标签和困难训练样本集标记{-}标签,针对这两类子样本集训练一个二分类的样本复杂度鉴别分类器,用于衡量面部表情图像分类的难易程度;

s5、对测试数据集进行步骤s1的预处理和步骤s2的人脸面部特征提取后,通过样本复杂度鉴别分类器对测试数据集提取的人脸面部特征进行复杂度鉴别,根据人脸面部特征的复杂度将测试数据集分别输入容易样本分类器和困难样本分类器完成人脸表情类别的识别。

进一步地,步骤s1中所述对面部表情图像进行预处理具体是指对面部表情图像进行裁剪、白化、归一化预处理,所述每张面部表情图像对应了七种面部表情类型中的一种,七种面部表情类型分别为惊讶、害怕、厌恶、生气、高兴、伤心、平和。

进一步地,步骤s1中作为训练数据集的面部表情图像来自于人脸表情数据集fer2013。

进一步地,所述用于提取人脸面部特征的基于改进残差块的深度卷积神经网络依次由卷积层、maxpooling层、四个改进的残差网络块、平均池化层、两个维度为1024的全连接层和一个维度为7的全连接层组成,其中每个改进的残差网络块包含两个卷积层,并将两个特征图的输出由传统的求和连接修改为串联的组合方式连接,这种组合方式提高了信息流在深度卷积神经网络中的流动性,不易出现梯度消失。

进一步地,将基于改进残差块的深度卷积神经网络的倒数第二层,即第二个维度为1024的全连接层的输出作为输入面部表情图像的特征表示。

进一步地,步骤s3中的容易样本分类器和困难样本分类器均为softmax分类器,步骤s4中的样本复杂度鉴别分类器为线性svm分类器。

本发明与现有技术相比,具有如下优点和有益效果:

1、本发明方法设计的深度卷积神经网络是基于改进后的残差网络块,该网络结构不仅能够缓解深度神经网络中容易出现梯度消失的问题,而且显著提高了分类的准确率,通过深度神经网络对图片强大的表达能力,能够对面部表情图片细节进行分类、甄别,从而提取出不同类别的表情特征。

2、本发明方法利用已经训练好的深度卷积神经网络中第二个维度为1024维的全连接层(倒数第二层)的输出作为输入面部表情图像的特征表示,并将复杂度感知分类算法成功应用于面部微表情识别中,显著提高了表情识别的准确率,缓解了容易混淆表情类别误分的问题,同时有效缓解了微表情识别在不受控环境中实际应用中存在的样本特征分布不一致问题,具有一定的市场价值和实用价值。

附图说明

图1为本发明实施例基于复杂度感知分类算法的面部表情识别方法的流程图。

图2为本发明实施例深度卷积神经网络的结构图。

图3(a)为传统残差块的示意图,图3(b)为改进后的残差块的示意图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

实施例:

本实施例提供了一种基于复杂度感知分类算法的面部表情识别方法,所述方法的流程图如图1所示,包括以下步骤:

s1、对来自于人脸表情数据集fer2013的面部表情图像进行裁剪、白化、归一化预处理后作为训练数据集;

s2、设计基于改进残差块的深度卷积神经网络对训练数据集进行训练,提取出人脸面部特征;

s3、根据复杂度感知分类算法,通过评估训练数据集提取的人脸面部特征的复杂度,将训练数据集划分为容易训练样本集和困难训练样本集,并针对这两类子样本集分别进行训练得到容易样本分类器和困难样本分类器;

s4、分别对容易训练样本集标记{+}标签和困难训练样本集标记{-}标签,针对这两类子样本集训练一个二分类的样本复杂度鉴别分类器,用于衡量面部表情图像分类的难易程度;

s5、对测试数据集进行步骤s1的预处理和步骤s2的人脸面部特征提取后,通过样本复杂度鉴别分类器对测试数据集提取的人脸面部特征进行复杂度鉴别,根据人脸面部特征的复杂度将测试数据集分别输入容易样本分类器和困难样本分类器完成人脸表情类别的识别。

其中,所述用于提取人脸面部特征的基于改进残差块的深度卷积神经网络结构图如图2所示,是基于resnet的卷积神经网络,其作用是通过原始面部表情图像作为输入,经过深度卷积神经网络模型,得到能够有效表达面部表情信息的抽象特征,其详细设计如表1所示:

表1

在resnet中,传统残差块(图3(a)所示)的特征图输出是由非线性转换的复合函数h(x)和恒等函数x进行求和连接,这种组合方式可能会阻碍信息在深度网络中的流动。为了改善层与层之间信息的流动,本实施例对残差块的组合模式做了一个改进,不再对两个输入采用求和,而是使用了concat的组合模式将两个特征图串接在一起(图3(b)所示)。

具体地,所述基于改进残差块的深度卷积神经网络分为训练阶段和测试阶段,其中训练阶段步骤是:

[1]将原始的面部表情图像进行白化和中心归一化预处理,并调整面部表情图像大小为48*48,该图像记为图像i;

[2]将图像i作为深度卷积神经网络的输入进行批次训练,一个batch的大小为128;

[3]将深度卷积神经网络倒数第二层的全连接层的结果作为面部提取的抽象特征;

[4]将该特征传入softmax分类器中,计算其损失函数及梯度g;

[5]通过反向传播,调整深度卷积神经网络的参数;

[6]重复[1]至[5]的过程,直到经过足够多的迭代或者损失函数的值非常小。

上述深度卷积神经网络测试阶段的步骤是:

[1]将原始的面部表情图像进行白化和中心归一化预处理,并调整面部表情图像大小为48*48,该图像记为图像i;

[2]载入训练后的深度卷积神经网络模型;

[3]将图像i输入到该深度卷积神经网络模型中,经过倒数第二层1024维的全连接层的输出作为面部特征。

具体地,所述复杂度感知分类算法分为训练阶段和测试阶段,训练阶段算法步骤是:

[1]将经过深度卷积神经网络特征提取后的训练集随机分成k份;

[2]从k份中依次选取1份作为训练集,剩余k-1份作为测试集;

[3]重复[1]至[2]的过程m次,得到n(n=km)个训练好的基分类器;

[4]用这n个基分类器分别对r(xi)整个训练集样本进行分类预测类别,统计每一个样本的正确分类次数n(xi),进而计算每一个样本的分类容易程度

[5]设置一个容易度阈值θ作为划分数据集分类难易的分界线,当样本分类容易度r(xi)≥θ时将样本划分到容易训练样本集se中,当样本分类容易度r(xi)<θ时将样本划分到困难训练样本集sd中;

[6]在容易训练样本集se中训练一个针对容易划分样本进行人脸表情识别的分类器ce,在困难训练样本集sd中训练一个针对困难划分样本进行人脸表情识别的分类器cd;

[7]用{+}标签标记容易训练样本集,对困难训练样本集标记{-}标签,使用这两类训练一个复杂度鉴别分类器ci来对测试样本的难易程度进行鉴定。

复杂度感知分类算法测试阶段的具体步骤是:

[1]深度卷积神经网络特征提取后使用特征向量表达的测试集样本ti通过复杂度鉴别分类器ci预测得到测试样本难易分类标签ci∈{+,-};

[2]分类结果ci为{+},使用容易样本分类器ce来对该样本进行面部表情识别,分类结果ci为{-},使用困难样本分类器cd来对该样本进行面部表情识别。

以上所述,仅为本发明专利较佳的实施例,但本发明专利的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明专利所公开的范围内,根据本发明专利的技术方案及其发明专利构思加以等同替换或改变,都属于本发明专利的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1