本发明涉及一种基于多视图卷积神经网络的表情识别方法,属于医疗健康和模式识别技术领域。
背景技术:
情感状态体现了心理的健康状态,目前很多人都面临心理压力,或多或少会出现一些心理情感问题,表现为烦躁,焦虑,抑郁等,需要及时引导,但是这些表现出来的信号,对于心理学知识缺乏的人一般很难觉察,因此借助信息技术,自动监测并提醒是很重要的。人脸表情包含了丰富的情感信息,是我们理解情感的重要途径,因此通过人脸表情分析就可以实现人类的情感状态判别,进而判断人类的情感健康情况。
技术实现要素:
本发明要解决的技术问题是:目前表情识别的准确率不高。
本发明涉及一种基于多视图卷积神经网络的表情识别方法,其特征在于该方法包括以下步骤:
[1]根据每个视图特征抽取模型抽取测试样本(输入人脸图像)在该视图下的特征向量;
[2]将测试样本在所有视图下的特征向量串接成一个高维稀疏特征向量;
[3]根据特征选择模型对高维稀疏特征向量进行特征选择,获得低维特征向量;
[4]采用表情分类模型对低维特征向量分类,获得测试样本的表情类别。
步骤[1] 根据每个视图特征抽取模型抽取测试样本在该视图下的特征向量,其包括视图定义和视图特征抽取模型的实现。
视图定义为表情类别的任意组合,每个组合就是一个视图。
视图特征抽取模型的实现是在训练阶段完成的,包括以下步骤:
(a)构造每个视图的训练样本集,其由该视图所包含的所有类的训练样本构成
(b)利用每个视图的训练样本集训练卷积神经网络,获得该视图的视图特征抽取模型,它由训练好的卷积神经网络中的特征提取部分组成。
然后用训练好的视图特征抽取模型抽取测试样本在该视图下的特征向量。
步骤[2] 将测试样本在所有视图下的特征向量串接成一个高维稀疏特征向量。
步骤[3] 根据特征选择模型对高维稀疏特征向量进行特征选择,获得低维特征向量,其中特征选择模型是在训练阶段完成的,包括以下步骤:
(a)构造每个视图的训练样本集
(b)利用每个视图抽取模型抽取每个训练样本的特征向量
(c)将每个训练样本在所有视图下的特征向量串接成一个高维稀疏特征向量
(d)采用特征选择方法对所有训练样本的高维特征向量进行特征选择,获得低维特征向量和特征选择模型。
采用特征选择方法对所有训练样本的稀疏特征向量进行特征选择时,需要预先训练,获得特征选择模型。
步骤[4] 采用表情分类模型对低维特征向量分类,获得测试样本的表情类别。
分类模型是通过大量的训练样本训练机器学习算法获得,而每个训练样本则由人脸图像和其对应的表情类别构成。训练样本的特征向量是经过步骤[3]特征选择后的特征向量。
有益效果
与现有技术相比,本发明的一种基于多视图卷积神经网络的表情识别方法具有以下优点:
[1]提高了表情识别的准确率
[2]视图特征抽取模型、特征选择模型和表情分类模型都是在训练阶段完成的,不影响测试过程
[3]多个视图特征抽取模型可以并行运行,具有提高识别速度的潜在能力。
附图说明
图1 基于多视图卷积神经网络的表情识别方法的流程图;
图2 视图的示意图。
具体实施方式
本发明提出的一种基于多视图卷积神经网络的表情识别方法,结合附图和实施例说明如下。如图1 所示,为一种基于多视图卷积神经网络的表情识别方法的流程图,该方法包括以下步骤:
[1]根据每个视图特征抽取模型抽取测试样本(输入人脸图像)在该视图下的特征向量;
[2]将测试样本在所有视图下的特征向量串接成一个高维稀疏特征向量;
[3]根据特征选择模型对高维稀疏特征向量进行特征选择,获得低维特征向量;
[4]采用表情分类模型对低维特征向量分类,获得测试样本的表情类别。
步骤[1] 根据每个视图特征抽取模型抽取测试样本的在该视图下的特征向量,其包括视图的定义和视图特征抽取模型的实现。
视图定义为表情类别的任意组合,每个组合就是一个视图。如图2所示,情感类别为高兴C1,悲伤C2,和平静C3, 则视图有:
视图V1={C1}={高兴}
视图V2={C2}={悲伤}
视图V3={C3}={平静}
视图V4={C1,C2}={高兴,悲伤}
视图V5={C1,C3}={高兴,平静}
视图V6={C2,C3}={悲伤,平静}
视图特征抽取模型的实现包括以下步骤:(a)构造每个视图的训练样本集,其由该视图所包含的所有类的训练样本组成。如图2中的视图V6={C2,C3}={悲伤,平静},其训练样本集则由类别C2的训练样本和类别C3的训练样本构成。(b)采用每个视图的训练样本集训练卷积神经网络,获得该视图的视图特征抽取模型,它由训练好的卷积神经网络中的特征提取部分组成。
然后用训练好的视图特征抽取模型抽取测试样本在该视图下的特征向量。
视图特征抽取模型采用卷积神经网络(Convolutional Neural Networks-简称CNN)实现。CNN是近年发展起来,并引起广泛重视的一种高效识别方法。由于CNN的特征检测层通过训练样本进行自动学习,避免了显示特征抽取,因而得到了更为广泛的应用。
本实施案例采用2010年Alex Krizhevsky发表的CNN结构, 其为2-GPU并行结构,基本参数如下:
输入:224×224大小的图片,3通道。
第一层卷积:5×5大小的卷积核96个,每个GPU上48个。
第一层max-pooling:2×2的核。
第二层卷积:3×3卷积核256个,每个GPU上128个。
第二层max-pooling:2×2的核。
第三层卷积:与上一层是全连接,3*3的卷积核384个。分到两个GPU上个192个。
第四层卷积:3×3的卷积核384个,两个GPU各192个。该层与上一层连接没有经过pooling层。
第五层卷积:3×3的卷积核256个,两个GPU上个128个。
第五层max-pooling:2×2的核。
第一层全连接:4096维,将第五层max-pooling的输出连接成为一个一维向量,作为该层的输入。
第二层全连接:4096维
Softmax层:输出为1000,输出的每一维都是图片属于该类别的概率
因此此CNN网络的特征提取4096维,分类器采用Softmax。
即每个视图特征抽取模型最终提取的特征维是4096维。
步骤[2] 将测试样本在所有视图下的特征向量串接成一个高维稀疏特征向量。如图2所示,共有6个视图,因此串接的高维稀疏特征向量为4096*6=24576维,这是一个典型的高维稀疏向量,需要通过特征选择方法来降维。
步骤[3] 根据特征选择模型对测试样本的高维稀疏特征向量进行特征选择,获得低维特征向量,其中特征选择模型是在训练阶段完成的,包括以下步骤:
(a)构造每个视图的训练样本集
(b)利用每个视图抽取模型抽取每个训练样本的特征向量
(c)将每个训练样本在所有视图下的特征向量串接成一个高维稀疏特征向量
(d)采用特征选择方法对所有训练样本的高维特征向量进行特征选择,获得低维特征向量和特征选择模型
采用特征选择方法对所有训练样本的稀疏特征向量进行特征选择时,需要预先训练,获得特征选择模型。
如图2所示,共有6个视图,那么根据以上步骤(a)~(c)就能将每个训练样本转为24576维的高维稀疏特征向量,然后本实施案例采用一种非常有效的多聚类特征选择 (Multi-cluster Feature Selection, MCFS)方法(Deng Cai, et al. Unsupervised Feature Selection for Multi-cluster Data, KDD 2010)在这些高维训练样本集上实现特征选择模型。
MCFS训练后的特征选择模型就是选择的d个特征的索引,其中MFCS中涉及的参数如d都是预先指定的参数,可以通过实验获取较好的值。假定选择比较好的d=5000,即每个训练样本转化为5000维的特征向量。
同样用第5步获得的特征选择模型将测试样本转为5000维的特征向量。
步骤[4] 采用表情分类模型对测试样本的低维特征向量分类,获得测试样本的表情类别。
分类模型是通过大量的训练样本训练机器学习算法获得,而每个训练数据则由人脸图像和其对应的表情类别构成。训练样本的特征向量是经过步骤[3]特征选择后的低维特征向量。
目前有很多分类器,包括支持向量机(Support Vector Machine, SVM), SOFTMAX。本实施案例采用SVM作为分类器。SVM基于结构风险最小化原则,具有良好的泛化能力。SVM算法实现直接采用LibSVM库函数
(http://www.csie.ntu.edu.tw/~cjlin/libsvm/),其由多种编程语言实现。SVM选择径向基函数作为核函数,以预测性能为准则,以10倍交叉验证方式选择SVM的合适参数,进而获得对应的支持向量机分类模型。
实验结果表明所提方法是有效的,优于现有的方法。
本领域的普通技术人员应当理解,本发明的技术方案可以进行修改,变形或等同变换,而不脱离本发明技术方案的本质和范围,均覆盖在本发明的权利要求范围之中。