一种人脸微表情识别方法与流程

文档序号:13662167阅读:338来源:国知局
一种人脸微表情识别方法与流程

本发明涉及图像处理与模式识别技术领域,特别是指一种人脸微表情识别方法。



背景技术:

面部表情识别是近年来受到广泛关注的比较热门的研究领域。虽然面部表情识别的研究始于20世纪70年代,但是对面部微表情的研究还是比较少的,主要是因为人们擅长区别面部动作丰富的表情,而不是有微小变化的面部表情。微表情是一种极为短暂的动作幅度微小的面部表情,通常持续时间不会超过0.5秒,由于微表情所具有的这些特点,使它在测谎、临床诊断、教育和犯罪调查领域有着广泛的应用前景。

近年来,深度学习越来越展现出它在图像分析领域的潜力。然而,由于没有足够多的可利用的微表情数据库,深度学习的方法在微表情识别上应用还很少。



技术实现要素:

本发明要解决的技术问题是提供一种人脸微表情识别方法,以解决现有技术所存在的微表情样本不足的问题。

为解决上述技术问题,本发明实施例提供一种人脸微表情识别方法,包括:

从宏观表情数据库中获取第一训练集对3d卷积神经网络进行预训练,并保存预训练得到的网络模型;

从微表情数据库中获取第二训练集,对预训练得到的网络模型进行调整,并从3d卷积神经网络的最后一层全连接层提取特征向量,输入到线性svm分类器中训练;

输入待测图像,从3d卷积神经网络的最后一层全连接层提取特征向量,输入到线性svm分类器中进行分类。

进一步地,所述从宏观表情数据库中获取第一训练集对3d卷积神经网络进行预训练包括:

从宏观表情数据库中获取宏观表情图像序列;

对获取的宏观表情图像序列进行插值处理,并调整图像的大小至预设值;

将处理后的宏观表情数据库中的宏观表情图像序列按照预设的第一比例划分为第一训练集和第一测试集;

利用第一训练集中的训练样本对3d卷积神经网络进行预训练;

利用第一测试集中的测试样本对预训练得到的网络模型进行测试。

进一步地,插值处理采用3d样条插值法。

进一步地,所述对3d卷积神经网络进行预训练包括:

利用监督学习方法对3d卷积神经网络进行预训练;

其中,监督学习方法是指从宏观表情数据库中选取和微表情数据库中具有相同或类似标签的训练样本来做预训练。

进一步地,所述3d卷积神经网络的结构包括:输入层、与所述输入层相连的卷积层1、与所述卷积层1相连的池化层1、与所述池化层1相连的卷积层2、与所述卷积层2相连的池化层2、与所述池化层2相连的全连接层1、与所述全连接层1相连的全连接层2和与所述全连接层2相连的输出层;

其中,在全连接层2后设置退出。

进一步地,在卷积层i的第j个输出特征图的位置(x,y,z)点处的卷积输出值计算公式如下:

其中,表示3d卷积核连接的上一层的输出特征图的位置(p,q,r)点处的输出值,pi和qi是3d卷积核的高度和宽度,ri是卷积核在时间维度上的大小,bij表示偏置,σ(θ)=max(0,θ)表示激活函数。

进一步地,从微表情数据库中获取第二训练集之前,所述方法还包括:

将微表情数据库中的微表情图像序列做数据扩充;

对扩充后的微表情数据库中的微表情图像序列进行插值处理,并调整图像的大小至预设值;

将处理后的微表情数据库中的微表情图像序列按照预设的第二比例划分为第二训练集和第二测试集。

进一步地,所述将微表情数据库中的微表情图像序列做数据扩包括:

将微表情数据库中的每个微表情图像序列按照预设的1个或多个角度进行水平翻转。

进一步地,在从微表情数据库中获取第二训练集,对预训练得到的网络模型进行调整,并从3d卷积神经网络的最后一层全连接层提取特征向量,输入到线性svm分类器中训练之后,所述方法还包括:

输入第二测试集中的测试样本,并从3d卷积神经网络的最后一层全连接层提取特征向量,输入到线性svm分类器中进行分类。

本发明的上述技术方案的有益效果如下:

上述方案中,从宏观表情数据库中获取第一训练集对3d卷积神经网络进行预训练,并保存预训练得到的网络模型;将预训练得到的网络模型迁移到微表情数据上,从微表情数据库中获取第二训练集,对预训练得到的网络模型进行调整,并从3d卷积神经网络的最后一层全连接层提取特征向量,输入到线性svm分类器中训练;输入待测图像,从3d卷积神经网络的最后一层全连接层提取特征向量,输入到线性svm分类器中进行分类,并输出微表情分类结果。这样,通过迁移学习的使用,在一定程度上解决了微表情样本不足的问题,同时,由于将从宏观表情数据库学到的知识迁移到微表情数据库,也提高了微表情的识别准确率。

附图说明

图1为本发明实施例提供的人脸微表情识别方法的流程示意图;

图2为本发明实施例提供的3d卷积神经网络的结构示意图;

图3为本发明实施例提供的人脸微表情识别方法的具体流程示意图;

图4为本发明实施例提供的casmeii数据库中的微表情图像序列示意图;

图5为本发明实施例提供的插值处理后的casmeii数据库中的微表情图像序列示意图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。

本发明针对现有的微表情样本不足的问题,提供一种人脸微表情识别方法。

如图1所示,本发明实施例提供的人脸微表情识别方法,包括:

s101,从宏观表情数据库中获取第一训练集对3d卷积神经网络进行预训练,并保存预训练得到的网络模型;

s102,从微表情数据库中获取第二训练集,对预训练得到的网络模型进行调整,并从3d卷积神经网络的最后一层全连接层提取特征向量,输入到线性svm分类器中训练;

s103,输入待测图像,从3d卷积神经网络的最后一层全连接层提取特征向量,输入到线性支持向量机(supportvectormachine,svm)分类器中进行分类。

本发明实施例所述的人脸微表情识别方法,从宏观表情数据库中获取第一训练集对3d卷积神经网络进行预训练,并保存预训练得到的网络模型;将预训练得到的网络模型迁移到微表情数据上,从微表情数据库中获取第二训练集,对预训练得到的网络模型进行调整,并从3d卷积神经网络的最后一层全连接层提取特征向量,输入到线性svm分类器中训练;输入待测图像,从3d卷积神经网络的最后一层全连接层提取特征向量,输入到线性svm分类器中进行分类,并输出微表情分类结果。这样,通过迁移学习的使用,在一定程度上解决了微表情样本不足的问题,同时,由于将从宏观表情数据库学到的知识迁移到微表情数据库,也提高了微表情的识别准确率。

在前述人脸微表情识别方法的具体实施方式中,进一步地,所述从宏观表情数据库中获取第一训练集对3d卷积神经网络进行预训练包括:

从宏观表情数据库中获取宏观表情图像序列;

对获取的宏观表情图像序列进行插值处理,并调整图像的大小至预设值;

将处理后的宏观表情数据库中的宏观表情图像序列按照预设的第一比例划分为第一训练集和第一测试集;

利用第一训练集中的训练样本对3d卷积神经网络进行预训练;

利用第一测试集中的测试样本对预训练得到的网络模型进行测试。

本实施例中,从宏观表情数据库中获取宏观表情图像序列,可以利用3d样条插值法对获取的宏观表情图像序列进行插值处理,将每个图像序列规整化到10帧,并将图像大小调整为32×32像素;接着,可以将处理后的宏观表情数据库中的宏观表情图像序列按照80:20的比例划分为第一训练集和第一测试集:第一训练集用来对3d卷积神经网络做预训练,第一测试集用来观察预训练得到的网络模型的学习情况。

本实施例中,通过3d样条插值法对获取的宏观表情图像序列进行插值处理,可以使每个宏观表情图像序列的时空域特征更加明显,使得3d卷积神经网络模型能够更加容易的提取微表情动态特征。

在前述人脸微表情识别方法的具体实施方式中,进一步地,所述对3d卷积神经网络进行预训练包括:

利用监督学习方法对3d卷积神经网络进行预训练;

其中,监督学习方法是指从宏观表情数据库中选取和微表情数据库中具有相同或类似标签的训练样本来做预训练。

本实施例中,使用监督学习方法训练3d卷积神经网络模型,训练完后,保存预训练得到的网络模型,预训练的迭代步数可以为100。

在前述人脸微表情识别方法的具体实施方式中,进一步地,所述3d卷积神经网络的结构包括:输入层、与所述输入层相连的卷积层1、与所述卷积层1相连的池化层1、与所述池化层1相连的卷积层2、与所述卷积层2相连的池化层2、与所述池化层2相连的全连接层1、与所述全连接层1相连的全连接层2和与所述全连接层2相连的输出层;

其中,在全连接层2后设置退出。

本实施例中,如图2所示,所述3d卷积神经网络的结构包括:一个输入层,一个输出层和两个全连接层(全连接层1、全连接层2),在输入层和全连接层1之间的是:卷积层1(conv1)/池化层1(pool1)/卷积层2(conv2)/池化层2(pool2),并在全连接层2后设置退出(dropout),dropout值为0.5。

在前述人脸微表情识别方法的具体实施方式中,进一步地,在卷积层i的第j个输出特征图的位置(x,y,z)点处的卷积输出值计算公式如下:

其中,表示3d卷积核连接的上一层的输出特征图的位置(p,q,r)点处的输出值,pi和qi是3d卷积核的高度和宽度,ri是卷积核在时间维度上的大小,bij表示偏置,σ(θ)=max(0,θ)表示激活函数。

在前述人脸微表情识别方法的具体实施方式中,进一步地,从微表情数据库中获取第二训练集之前,所述方法还包括:

将微表情数据库中的微表情图像序列做数据扩充;

对扩充后的微表情数据库中的微表情图像序列进行插值处理,并调整图像的大小至预设值;

将处理后的微表情数据库中的微表情图像序列按照预设的第二比例划分为第二训练集和第二测试集。

本实施例中,将微表情数据库中的微表情图像序列做数据扩充,可以利用3d样条插值法对扩充后的微表情数据库中的微表情图像序列进行插值处理,并调整图像大小到32×32像素:接着,可以将处理后的微表情数据库中的微表情图像序列按照80:20的比例划分为第二训练集和第二测试集。

本实施例中,通过3d样条插值法对获取的微表情图像序列进行插值处理,可以使每个微表情图像序列的时空域特征更加明显,使得3d卷积神经网络模型能够更加容易的提取微表情动态特征。

在前述人脸微表情识别方法的具体实施方式中,进一步地,所述将微表情数据库中的微表情图像序列做数据扩包括:

将微表情数据库中的每个微表情图像序列按照预设的1个或多个角度进行水平翻转。

本实施例中,例如,可以将微表情数据库中的每个微表情图像序列分别按照角度{-7°,-5°,-3°,3°,5°,7°}进行水平翻转,加上原微表情图像序列共得到7倍数据,实现数据扩充;通过数据扩充能够改善过拟合的现象。

在前述人脸微表情识别方法的具体实施方式中,进一步地,在从微表情数据库中获取第二训练集,对预训练得到的网络模型进行调整,并从3d卷积神经网络的最后一层全连接层提取特征向量,输入到线性svm分类器中训练之后,所述方法还包括:

输入第二测试集中的测试样本,并从3d卷积神经网络的最后一层全连接层提取特征向量,输入到线性svm分类器中进行分类,并输出微表情分类结果。

为了更好地理解本实施例所述的人脸微表情识别方法,对本实施例所述的人脸微表情识别方法进行详细说明,如图3所示,本实施例所述的人脸微表情识别方法的具体步骤可以包括:

a11,对宏观表情数据库中的宏观表情图像序列进行插值处理,并将图像大小调整为32×32像素。

本实施例中,假设宏观表情数据库为oulu-casianir,从宏观表情数据库oulu-casianir中选择生气、厌恶、高兴、悲伤和惊奇5种标签的宏观表情图像序列,每种标签含有240个图像序列,然后使用3d样条插值函数在时间维度上进行序列长度缩放,使每个图像序列都得到10帧图像,最后将图像大小调整为32×32像素。

a12,将处理后的宏观表情数据库中的宏观表情图像序列按80:20的比例划分为第一训练集和第一测试集,第一训练集用来对3d卷积神经网络做预训练,第一测试集用来观察预训练得到的网络模型的学习情况。

将处理后的oulu-casianir数据库中的宏观表情图像序列按照80:20的比例划分为oulu-casianir训练集和oulu-casianir测试集,步骤a12中所述的3d卷积神经网络包含一个输入层,一个输出层和两个全连接层(全连接层1、全连接层2),在输入层和全连接层1之间的是:卷积层1(conv1)/池化层1(pool1)/卷积层2(conv2)/池化层2(pool2),并在全连接层2后设置退出(dropout)。卷积层中3d卷积核的大小为3×5×5,3是时间维度上的深度,5×5是卷积核的空间大小,并且在三个维度上的移动步长都为1,第一层卷积(卷积层1)采用32个不同的3d卷积核,第二层卷积(卷积层2)采用64个不同的3d卷积核;池化层使用的池化核的大小为2×2×2,移动步长为1×2×2;在时间维度上设置移动步长为1是为了更好的保留时间域的动作信息;第一层全连接层(全连接层1)输出为9600个神经元,第二层全连接层(全连接层2)输出为256个神经元。

a13,使用监督学习方法训练模型,训练完后保存模型。

使用处理过的已经划分好的oulu-casianir训练集进行训练,并通过oulu-casianir测试集观察预训练得到的网络模型的学习情况,并且预训练的迭代步数为100,然后保存预训练得到的网络模型。

整个训练过程采用分批训练,每次训练150个样本。此处的分类器为softmax分类器,可以实现多分类,共有5种微表情,所以输出层有5个神经元,每个神经元输出的值在0~1之间,这个数值代表输入的样本属于该类的概率。在训练阶段采用反向传播bp算法,同时使用自适应矩估计(adam)优化器优化神经网络。

a14,将微表情数据库中的微表情图像序列做数据扩充。

本实施例中,使用casmeii数据库作为微表情数据库。casmeii包含247个微表情图像序列,包含5种微表情标签:开心(32个序列),惊奇(25个序列),厌恶(64个序列),压抑(27个序列)和其他(99个序列)。然后对每个微表情图像序列做数据扩充,具体的:将微表情数据库中的每个微表情图像序列分别按照角度{-7°,-5°,-3°,3°,5°,7°}进行水平翻转,加上原微表情图像序列共得到7倍数据。

a15,对扩充后的微表情数据库中的微表情图像序列进行步骤a11中的插值处理,并调整图像大小到32×32。

如图4和图5可知,通过插值处理可以使每个宏观表情图像序列的时空域特征更加明显。

a16,将处理后的微表情数据库中的微表情图像序列划分为5份,1-4份作为第二训练集,第5份作为第二测试集。

a17,使用第二训练集对预训练得到的网络模型进行调整,并从最后一层全连接层(全连接层2)提取特征向量,输入到线性svm分类器中训练。

整个训练过程采用分批训练,每次训练150个样本。训练完成后,从最后一层全连接层提取256维的特征向量,作为每个样本的特征表达,并输入到线性svm分类器中训练。

a18,输入第二测试集中的测试样本,并从最后一层全连接层提取特征向量,输入到线性svm分类器中进行分类。

本实施例,在casmeii数据库上实验,如表1所示是在casmeii上实验得到的混淆矩阵,其中,对角线粗体数据表示每种类型的微表情所获得的正确识别率。此外,在casmeii上的实验结果显示,结合迁移学习比不使用迁移学习准确率提高3.45%。

表1在casmeii上得到的混淆矩阵

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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