人脸表情识别方法及人脸表情识别装置与流程

文档序号:21084911发布日期:2020-06-12 16:49阅读:236来源:国知局
人脸表情识别方法及人脸表情识别装置与流程

本发明涉及图像处理技术领域,特别涉及一种人脸表情识别方法及一种人脸表情识别装置。



背景技术:

人脸表情识别是人机交互系统中的关键技术,目前人脸表情可以分为7大类:生气、悲伤、厌恶、害怕、吃惊、高兴和正常。人脸表情往往是连续变化的数据序列,而现有技术通常基于人工标记特征点的方法对上述7类表情进行识别,实践表明,这种方法不仅复杂,还会在一定程度上丢失原有的表情特征信息,进而使得现有技术对人脸表情的识别准确度较低。



技术实现要素:

有鉴于此,本发明旨在提出一种人脸表情识别方法及装置,能够对人脸表情进行更加高效、准确地识别。

为达到上述目的,本发明的技术方案是这样实现的:

一种人脸表情识别方法,所述方法包括:

对待识别的图像进行人脸检测,获得人脸检测图像;

对所述人脸检测图像进行预处理,获得预处理后的人脸检测图像;

将所述预处理后的人脸检测图像输入至已训练的表情识别神经网络,以由所述表情识别神经网络输出所述人脸检测图像中人脸的表情类别;其中,所述表情识别神经网络为生成性对抗网络。

优选地,所述对待识别的图像进行人脸检测,获得人脸检测图像,包括:

将所述待识别的图像输入至已训练的adaboost分类模型,以由所述adaboost分类模型输出人脸热区域图;

将所述人脸热区域图输入至已训练的mlp分类模型,以由所述mlp分类模型输出第一人脸检测图像;

采用非极大值抑制算法对所述第一人脸检测图像进行处理,获得所述人脸检测图像。

优选地,所述人脸检测图像中包括人脸框,所述对所述人脸检测图像进行预处理,获得预处理后的人脸检测图像,包括:

对所述人脸框进行预定倍数的等比例扩大;

从扩大的人脸框中截取所需的人脸区域;

将截取的人脸区域缩放至预定尺寸,所获得的图像作为所述预处理后的人脸检测图像。

进一步地,所述对所述人脸检测图像进行预处理,获得预处理后的人脸检测图像,还包括:

将截取的人脸区域缩放至预定尺寸后再进行压缩,所获得的图像作为所述预处理后的人脸检测图像。

进一步地,所述生成性对抗网络包括生成器和判别器;

所述生成器用于根据所述预处理后的人脸检测图像生成合成人脸图像;

所述判别器用于根据所述预处理后的人脸检测图像和所述合成人脸图像输出所述人脸检测图像中人脸的表情类别。

优选地,所述判别器包括依次连接的卷积层、池化层、残差网络、全局平均池化层和全连接层;

所述卷积层用于对所述预处理后的人脸检测图像和所述合成人脸图像分别进行卷积处理,获得第一人脸语义特征和第二人脸语义特征;

所述池化层用于对所述第一人脸语义特征和所述第二人脸语义特征分别进行下采样操作,获得降维后的第一人脸语义特征和降维后的第二人脸语义特征;

所述残差网络用于对所述降维后的第一人脸语义特征和所述降维后的第二人脸语义特征分别进行特征提取,获得第一特征向量和第二特征向量,并用于计算所述第一特征向量与所述第二特征向量之和,获得人脸特征向量;

所述全局平均池化层用于将所述人脸特征向量转换为预定维数的人脸特征向量;

所述全连接层用于对所述预定维数的人脸特征向量进行降维处理,获得所述人脸检测图像中人脸的表情类别。

优选地,所述残差网络包括依次连接的第一残差子网络、第二残差子网络、第三残差子网络、第四残差子网络和计算单元,所述第一残差子网络、第二残差子网络、第三残差子网络和第四残差子网络各自均包括依次连接的第一残差块和第二残差块;

所述第一残差子网络、第二残差子网络、第三残差子网络和第四残差子网络各自的所述第一残差块均用于对所述降维后的第一人脸语义特征依次进行特征提取,获得所述第一特征向量;

所述第一残差子网络、第二残差子网络、第三残差子网络和第四残差子网络各自的所述第二残差块均用于对所述降维后的第二人脸语义特征依次进行特征提取,获得所述第二特征向量;

所述计算单元用于计算所述第一特征向量与所述第二特征向量之和,获得所述人脸特征向量;

所述第一残差子网络的第二残差块有2层;所述第二残差子网络的第二残差块有3层;所述第三残差子网络的第二残差块有5层;所述第四残差子网络的第二残差块有2层;所述第一残差子网络、第二残差子网络、第三残差子网络和第四残差子网络各自的第一残差块均有1层。

进一步地,在所述对待识别的图像进行人脸检测之前,所述方法还包括:

采集原始yuv图像数据;

将所述原始yuv图像数据转换成rgb图像数据,并将所述rgb图像数据作为所述待识别的图像。

优选地,所述采集原始yuv图像数据由预设的嵌入式设备控制预设的图像采集器执行;所述将所述原始yuv图像数据转换成rgb图像数据,并将所述rgb图像数据作为所述待识别的图像由所述预设的嵌入式设备执行。

本发明的另一目的在于提出一种人脸表情识别装置,能够对人脸表情进行更加高效、准确地识别。

为达到上述目的,本发明的技术方案是这样实现的:

一种人脸表情识别装置,所述装置包括:

人脸检测模块,用于对待识别的图像进行人脸检测,获得人脸检测图像;

预处理模块,用于对所述人脸检测图像进行预处理,获得预处理后的人脸检测图像;

表情识别模块,用于将所述预处理后的人脸检测图像输入至已训练的表情识别神经网络,以由所述表情识别神经网络输出所述人脸检测图像中人脸的表情类别;其中,所述表情识别神经网络为生成性对抗网络。

本发明还提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项人脸表情识别方法。

本发明所述的人脸表情识别方法及装置,采用了生成性对抗网络来对预处理后的人脸检测图像进行表情识别,由于生成性对抗网络能够自动对人脸检测图像中的每个像素点进行分类、将人脸检测图像分割成不同的语义区域,即能够使每个像素点对应一个语义类标签,因此,与现有的人脸表情识别方法相比,本发明的技术方案能够自动提取人脸检测图像中更多、更细的技术特征,从而能够对人脸表情进行更加高效、准确地识别。

本发明的其它特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施方式及其说明用于解释本发明,并不构成对本发明的不当限定。

在附图中:

图1为本发明实施例的方法流程图一;

图2为本发明实施例的方法流程图二;

图3为本发明实施例中对待识别的图像进行人脸检测的方法流程图;

图4为本发明实施例中对人脸检测图像进行预处理的方法流程图;

图5为本发明实施例中对人脸框进行等比例扩大的示意图;

图6为本发明实施例中生成性对抗网络的判别器的结构示意图;

图7a为本发明实施例中第一残差块的结构示意图;

图7b为本发明实施例中第二残差块的结构示意图;

图8为本发明实施例的装置结构示意图;

图9a为本发明实施例中输入adaboost分类模型的待识别的图像;

图9b为本发明实施例中adaboost分类模型输出的人脸热区域图。

附图标记说明

1检测的人脸框2扩大的人脸框

201人脸检测模块202预处理模块

203表情识别模块

具体实施方式

以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。

本发明实施例提供的人脸表情识别方法如图1和图2所示,包括以下步骤:

步骤s101,对待识别的图像进行人脸检测,获得人脸检测图像;

本实施例中,所述待识别的图像为包含有人脸的图像,一般为静态图像。对于动态图像,例如视频图像,首先需将其转换成多帧静态图像后,再对每一帧静态图像进行人脸检测。

为了达到表情识别的高效性和实时性,本实施例中的待识别的图像通过嵌入式设备获取,具体地,在对上述待识别的图像进行人脸检测之前,还包括:

步骤s100,采集原始yuv图像数据;将所述原始yuv图像数据转换成rgb图像数据,并将所述rgb图像数据作为所述待识别的图像。

上述yuv图像数据和rgb图像数据均为图像的色彩空间模型,其中,yuv图像数据中的y指的是图像的亮度(即灰度值),u和v均为图像的色差信号;rgb图像数据中的r、g、b分别代表红、绿、蓝三个颜色通道,且yuv图像数据和rgb图像数据之间可以相互转换。

本实施例中,原始yuv图像数据由预设的嵌入式设备控制预设的图像采集器采集获得,并且,预设的嵌入式设备还将该原始yuv图像数据转换成rgb图像数据,并将该rgb图像数据作为待识别的图像。嵌入式设备与普通的采集设备相比,专用性很强,其能够直接读取图像采集器采集的图像数据,而普通的采集设备通常需依赖网口、usb等第三方接口才能读取图像采集器采集的图像数据,且嵌入式设备的系统内核小,因此,本发明采用嵌入式设备来获取高实时性的技术效果。嵌入式设备内部包括嵌入式芯片,本实施例中的嵌入式芯片提供了多个图像处理通道,每个图像处理通道均具有对图像进行缩放、裁剪和像素格式转换等功能。当设置了某个图像处理通道的输入属性为yuv格式、输出属性为rgb格式后,给该图像处理通道输入yuv图像数据,则该图像处理通道就会自动输出rgb图像数据,该rgb图像数据即为待识别的图像。

获取到待识别的图像后,对待识别的图像进行人脸检测,以获得人脸检测图像,该人脸检测图像中包括人脸框、人脸面部关键点坐标及其置信度信息。本实施例优选采用级联网络的快速人脸检测算法进行人脸检测,如图3所示,人脸检测包括以下具体步骤:

步骤s1011,将所述待识别的图像输入至已训练的adaboost分类模型,以由所述adaboost分类模型输出人脸热区域图;

adaboost分类模型采用迭代的思想,每次迭代只训练一个弱分类器,训练好的弱分类器将参与下一次迭代的使用。本实施例级联网络的第一层采用adaboost分类模型,能够使得到的输出结果泛化错误率低,且一般情况下不会出现过拟合现象,不需要手动调整参数。

本实施例中的adaboost分类模型包括左侧脸模型、正脸模型和右侧脸模型,每个模型均具有自己的特征、权重和阈值。上述三个模型能够在待识别的图像中从不同的角度搜索未知场景下不同位置出现的人脸,能够极大地减少漏检的情况。三个模型分别由三组样本(左侧脸样本、正脸样本和右侧脸样本)通过adaboost分类模型训练得到。

上述每个模型中的特征,指的是用于描述人脸综合特征抽象结果的参数,包括了面部的颜色特征、纹理特征、形状特征和空间关系特征;上述每个模型中的权重和阈值,指的是组成adaboost分类模型的神经网络的神经元的参数,其中,权重是相邻两个网络层神经元之间的连接参数,阈值是同一个网络层内部神经元之间的连接参数。权重和阈值的不同取值,能够获取不同的特征,即,不同的权重和阈值能够对输入图像(本实施例中为待识别的图像)产生不同的输出结果。

上述人脸热区域图,代表某区域内人脸出现的概率,如图9a和图9b所示,在图9b中,亮点的密集程度代表该区域内出现人脸的热度,通过人脸热区域图能够初步描述场景内所有检出的人脸状态。

步骤s1012,将所述人脸热区域图输入至已训练的mlp分类模型,以由所述mlp分类模型输出第一人脸检测图像;

本实施例中,mlp(multi-layerperceptron,多层感知器)分类模型具体为3个依次连接的surfmlp分类模型,上述每个模型均有各自的surf窗口数、mlp神经网络层数以及权重参数或偏置参数,3个模型使用的激活函数均为relu,经过上述激活函数后得到三个非线性结果,然后将这三个非线性结果输入到sigmod函数压缩得到最终输出,即得到上述第一人脸检测图像,该第一人脸检测图像可以采用一个4维数据表示。

例如,第一人脸检测图像采用如下4维数据表示:[0.5,0.4,-0.3,0.02],其中,0.5代表置信度,即代表存在人脸的概率,3个surfmlp分类模型的置信度均需要大于0.5,且经过累加后的置信度需大于阈值2,系统才会判断输入图像中存在人脸;0.4代表上述第一人脸检测图像需要沿x正方向进行微调;0.3代表上述第一人脸检测图像需要沿y负方向进行微调;0.02代表上述第一人脸检测图像宽高比的微调比例为0.02,其中,正值代表对图像进行放大操作,负值代表对图像进行缩小操作。对于每一张人脸,所得到的第一人脸检测图像中包含有多个人脸框。

上述每个surfmlp分类模型中的surf窗口数为在人脸检测过程中在图像中滑动的窗口数,surf窗口数越多表示检测精度越高、检测速度越慢;每个surfmlp分类模型中的权重参数和偏置参数均代表surfmlp分类模型中神经元的权重。通过对上述各种参数的合理设置,能够实现从输入状态空间(场景图)到输出状态空间(检测结果)的非线性映射。

本实施例中,surfmlp分类模型指的是利用surf特征结合多层感知器mlp训练得到的分类模型,其中,surf特征是图像中不受周围明暗光线变化而影响的像素点,例如,图像的角点、边界点、亮处的暗点、暗处的亮点等。本实施例采用宽高为2×2的区域作为一个surf特征的尺寸。mlp是一个人工神经网络多层感知器,由许多相同的简单处理单元并联组合而成。多层感知器由输入层、隐藏层和输出层组成,层与层之间依靠神经元连接。surfmlp分类模型中的每个神经元接受其它神经元的权重或偏置参数的输入,经过每层推理运算后得到结果。

本实施例中,surfmlp分类模型中的mlp神经网络包含7个卷积层和2个全连接层。surfmlp分类模型在第一层adaboost分类模型的基础上,进一步提取人脸特征。

步骤s1013,采用非极大值抑制算法对所述第一人脸检测图像进行处理,获得所述人脸检测图像。

由于在步骤s1012中所得到的第一人脸检测图像中每张人脸具有多个人脸框,因此,采用非极大值抑制算法对多个人脸框进行合并,以获得只包含一个最优人脸框的人脸检测图像。上述非极大值抑制算法为现有的公开算法。

步骤s102,对所述人脸检测图像进行预处理,获得预处理后的人脸检测图像;

具体地,如图4所示,采用以下步骤对人脸检测图像进行预处理:

步骤s1021,对所述人脸框进行预定倍数的等比例扩大;

由于本实施例中最终获取的训练样本图片需包括完整的人像部分,而检测出的人脸框仅包含人脸区域,因此,需要对人脸框进行预订倍数的等比例扩大。图5为本发明实施例中对人脸框进行等比例扩大的示意图。

步骤s1022,从扩大的人脸框中截取所需的人脸区域;

步骤s1023,将截取的人脸区域缩放至预定尺寸,所获得的图像作为所述预处理后的人脸检测图像。

本实施例将截取的人脸区域缩放至宽高为224×224大小的预定尺寸。

为了减小对图像数据的处理量,本实施例对所述人脸检测图像进行预处理,获得预处理后的人脸检测图像,还包括:

步骤s1024,将截取的人脸区域缩放至预定尺寸后再进行压缩,所获得的图像作为所述预处理后的人脸检测图像。

具体地,首先计算标准化人脸图像的均值,并分别计算标准化人脸图像r、g、b三个通道的值与上述均值的差值,然后分别将上述三个差值乘以1/255以得到连续的输入数据,该连续的输入数据作为压缩的标准化人脸图像输入至后续的表情识别神经网络中。

步骤s103,将预处理后的人脸检测图像输入至已训练的表情识别神经网络,以由所述表情识别神经网络输出所述人脸检测图像中人脸的表情类别;其中,所述表情识别神经网络为生成性对抗网络。

具体地,生成性对抗网络包括生成器和判别器,其中,生成器用于根据预处理后的人脸检测图像生成合成人脸图像;判别器用于根据预处理后的人脸检测图像和合成人脸图像输出人脸检测图像中人脸的表情类别。

如图6所示,本实施例中的判别器包括依次连接的卷积层、池化层、残差网络、全局平均池化层和全连接层,其中,卷积层用于对预处理后的人脸检测图像和合成人脸图像分别进行卷积处理,获得第一人脸语义特征和第二人脸语义特征,该卷积层设置为7×7核大小,以保证接收足够大的输入特征。本实施例中所有其它的卷积层,核大小为3×3。池化层用于对第一人脸语义特征和第二人脸语义特征分别进行下采样操作,获得降维后的第一人脸语义特征和降维后的第二人脸语义特征;残差网络用于对降维后的第一人脸语义特征和降维后的第二人脸语义特征分别进行特征提取,获得第一特征向量和第二特征向量,并用于计算第一特征向量与第二特征向量之和,获得人脸特征向量;全局平均池化层(gap)用于将人脸特征向量转换为预定维数的人脸特征向量,本实施例中,将人脸特征向量转换为2048维矢量表示;全连接层用于对预定维数的人脸特征向量进行降维处理,获得待识别的图像的表情类别,即全连接层将上述2048维矢量转换为表情属性值,以获得预测的表情类别。

进一步地,如图6所示,本实施例中的残差网络包括依次连接的第一残差子网络、第二残差子网络、第三残差子网络、第四残差子网络和计算单元(该计算单元在图6中未示出),对于所有的残差子网络,有3个卷积滤波器作为主通道,且第一残差子网络、第二残差子网络、第三残差子网络和第四残差子网络各自均包括依次连接的第一残差块和第二残差块。第一残差子网络、第二残差子网络、第三残差子网络和第四残差子网络各自的第一残差块均用于对降维后的第一人脸语义特征依次进行特征提取,获得第一特征向量。在第一残差块中,在侧道上有一个卷积滤波器,如图7a所示。第一残差子网络、第二残差子网络、第三残差子网络和第四残差子网络各自的第二残差块均用于对降维后的第二人脸语义特征依次进行特征提取,获得第二特征向量。在第二残差块中,有一个直接到输出的旁路,如图7b所示。计算单元用于计算第一特征向量与第二特征向量之和,获得人脸特征向量。

本实施例中,第一残差子网络的第一残差块有1层、第二残差块有2层;第二残差子网络的第一残差块有1层、第二残差块有3层;第三残差子网络的第一残差块有1层、第二残差块有5层;第四残差子网络的第一残差块有1层、第二残差块有2层。实践表明,采用本发明确定的上述各个残差块的层数,能够获得更好的特征提取效果,进而获得更好的人脸表情识别效果。

表1对判别器中部分模块的参数进行了说明。

表1

表情识别神经网络的目标是从输入的预处理后的人脸检测图像中提取出去除了背景但仍然包含人脸位置信息的人脸区域,然后进行表情识别。人脸提取任务受人脸分割任务的启发,该任务将人脸图像分解为有意义的人脸部分。因此,人脸面部特征提取过程可以通过生成性对抗网络gan模型来实现。通过gan模型中的生成器得到合成人脸图像后,将该合成人脸图像和由步骤s102得到的预处理后的人脸检测图像分别送入判别器中的双路径网络中。本实施例中,该双路径网络分别为上述4个残差子网络中的第一残差块和第二残差块,其中,第一残差块接收上述预处理后的人脸检测图像,第二残差块接收上述合成人脸图像。

生成性对抗网络gan模型中的判别器是一种学习属性分类器,可以预测人脸图像各项属性的可置信度。该分类器采用如下预测函数:

ψ=[ψj]j=1,2,…,m

ψj(i*)∈{1,0}

其中,m为待预测的表情的属性个数,ψj为第j个属性的预测结果,ψ为一张输入图片的所有预测结果。例如,m=5,预设的表情属性分别是“惊讶”、“悲伤”、“恐惧”、“愤怒”和“快乐”,则ψ2就代表图片中人脸表情为“悲伤”。

上述预测函数准确率的计算公式为:

其中,m为待预测的表情的属性个数,n和ti为实例数和正确预测的实例数,pi和tpi为正实例数和正确预测的正实例数,ni和tni为负实例数和正确预测的负实例数。

假设数据集ds={i,a,l}具有n张包含m个表情特征的待训练样本图片,其中,i为训练实例,a为表情属性类别,l为标签。如果第i张图片ii(i=1,2,…n)被标注了j个属性aj(j=1,2,…m),此时将lij(第i张图片的第j个属性)标记为1,其它标签标记为0。对于任意给定的一帧图像i*,它最终的目的是通过所有可用的训练特征来学习函数ψj(i*)∈{1,0},每个图像都可以用多个属性标记。

与上述实施方式相对应地,本发明还提供一种人脸表情识别装置,如图8所示,本实施例提供的装置包括:

人脸检测模块201,用于对待识别的图像进行人脸检测,获得人脸检测图像;

预处理模块202,用于对所述人脸检测图像进行预处理,获得预处理后的人脸检测图像;

表情识别模块203,用于将所述预处理后的人脸检测图像输入至已训练的表情识别神经网络,以由所述表情识别神经网络输出所述人脸检测图像中人脸的表情类别;其中,所述表情识别神经网络为生成性对抗网络。

上述装置的工作原理、工作流程等涉及具体实施方式的内容可参见本发明所提供的人脸表情识别方法的具体实施方式,此处不再对相同的技术内容进行详细描述。

本发明还提供一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本实施例所述的人脸表情识别方法。

本发明还提供一种终端设备,包括处理器,该处理器用于执行本实施例所述的人脸表情识别方法。

本发明所述的人脸表情识别方法及装置,采用了生成性对抗网络来对预处理后的人脸检测图像进行表情识别,由于生成性对抗网络能够自动对人脸检测图像中的每个像素点进行分类、将人脸检测图像分割成不同的语义区域,即能够使每个像素点对应一个语义类标签,因此,与现有的人脸表情识别方法相比,本发明的技术方案能够自动提取人脸检测图像中更多、更细的技术特征,从而能够对人脸表情进行更加高效、准确地识别。

以上结合附图详细描述了本发明实施例的可选实施方式,但是,本发明实施例并不限于上述实施方式中的具体细节,在本发明实施例的技术构思范围内,可以对本发明实施例的技术方案进行多种简单变型,这些简单变型均属于本发明实施例的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施例对各种可能的组合方式不再另行说明。

本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

此外,本发明实施例的不同实施方式之间也可以进行任意组合,只要其不违背本发明实施例的思想,其同样应当视为本发明实施例所公开的内容。

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