人脸情感识别方法、装置、终端设备和存储介质与流程

文档序号:16505036发布日期:2019-01-05 08:59阅读:183来源:国知局
人脸情感识别方法、装置、终端设备和存储介质与流程
本发明涉及计算机领域,特别是涉及一种人脸情感识别方法、装置、终端设备和存储介质。
背景技术
:人类依靠情感传达他人的回应,当措辞和表述的信息不一致时,表述的信息更加准确。因此,表达是人类情感沟通的重要途径,而人类的情绪主要通过面部表情传达。随着人工智能领域的进步,人类开始使用计算机来确定人类的情绪。现有技术中,随着计算机视觉领域的深度学习的发展,计算机被用于解决诸如对象检测,运动识别,异常检测、视频监视以及解决情感检测等问题。但是,在情感检测问题方面,由于计算机无法精确定位特征点的具体方位,即使有相同的表情,不同的人有不同的面部表情。计算机很难精确地划分每个表达式。因此,计算机对脸部表情的识别准确率并不是特别高。技术实现要素:本发明目的在于克服现有技术的不足,提供一种人脸情感识别方法、装置、终端设备和存储介质,通过精确定位特征点的具体方位,然后识别出面部的不同表情。第一方面,本发明提供一种人脸情感识别方法,包括:获取视频流中的当前数据帧;从所述当前数据帧中捕捉人脸,并提取人脸的特征信息;根据所述提取的人脸的特征信息,将所述特征信息通过预先训练好的表情分类模型以识别人脸的表情分类;将所述表情分类的结果发送给关联机器人,以使得所述关联机器人通过语音的形式反馈出人脸表情的分类成果。进一步地,所述提取人脸的特征信息,具体为:从所述当前数据帧捕捉人脸中之后,构建基于人脸的坐标系;根据人脸的坐标系对所述人脸所在的区域进行灰度处理,以获得人脸的灰度图;将所述灰度图转换为数组,根据所述数组提取人脸的特征信息。进一步地,还包括:获取视频流中当前数据帧的前n帧的表情分类结果;当判断当前数据帧的表情分类结果与所述前n帧的表情分类结果大于等于预定差异阈值时,对当前帧的表情分类结果进行标记及反馈。进一步地,所述特征信息包括:形状、运动、颜色、纹理和空间结构。更进一步地,所述特征信息的提取方法包括提取几何特征,统计特征,频域特征和运动特征。进一步地,所述预先训练好的表情分类模型包括:线性分类模型、神经网络分类模型、支持向量机分类算法模型、光流法模型和隐马尔可夫模型。进一步地,在所述获取视频流中的当前数据帧步骤之前,还包括:获取数据集,并分解出训练数据集;其中,所述数据集包括测试数据集和训练数据集;将所述训练数据集输入至基于vgg的卷积神经网络模型进行训练,以获得训练好的表情分类模型。第二方面,本发明提供一种人脸情感识别装置,包括:获取模块,用于获取视频流中的当前数据帧;捕捉模块,用于从所述当前数据帧中捕捉人脸,并提取人脸的特征信息;识别模块,用于根据所述提取的人脸的特征信息,将所述特征信息通过预先训练好的表情分类模型以识别人脸的表情分类;发送模块,用于将所述表情分类的结果发送给关联机器人,以使得所述关联机器人通过语音的形式反馈出人脸表情的分类成果。第三方面,本发明提供一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置由所述处理执行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的人脸情感识别方法。第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如第一方面所述的人脸情感识别方法。本发明采用上述技术方案,具有如下有益效果:通过对待分类人脸的图像进行预处理,提高图像质量,消除噪声,统一图像的灰度值和尺寸,为后续的特征提取和分类辨识打下良好的基础,保证稳定性和辨识率的前提下,可以减少海量图像数据的维数,精确定位特征点的具体方位,提取人脸的特征信息,以此提高识别出面部的不同表情分类的精确度。附图说明为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明第一实施例提供的一种人脸表情识别方法的流程示意图。图2为本发明实施例提供的卷积神经网络模型结果示意图。图3为本发明实施例提供的vgg算法的结构示意图。图4为本发明第二实施例提供的一种人脸表情识别装置的结构示意图。图5为本发明实施例提供的自己的表情库的测试示意图。图6为本发明实施例提供的jaffe表情库测试示意图。图7为本发明实施例提供的ck+表情库测试示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明第一实施例:参见图1至图3,图1为本发明第一实施例提供的一种人脸表情识别方法的流程示意图,图2为本发明实施例提供的卷积神经网络模型结果示意图,图3为本发明实施例提供的vgg算法的结构示意图。本发明提供一种人脸表情识别方法包括:s10,获取视频流中的当前数据帧。在本实施例中,所述视频流是由一张张连续的图片组成的,每幅图片就是一帧,简单地说,帧数就是在1秒钟时间里传输的图片的帧数,也可以理解为图形处理器每秒钟能够刷新几次,通常用fps(framespersecond)表示。每一帧都是静止的图象,快速连续地显示帧便形成了运动的假象。在本实施例中,采用普通cmos摄像头进行视频采集,并作跟踪测试,图像分辨率采用cif格式(352*288)24bit真彩,长度为1-3min的30帧/s不同的视频流。s20,从当前数据帧中捕捉人脸,并提取人脸的特征信息。在本实施例中,所述捕捉人脸是指在一幅图像或视频流的一帧中检测出人像并将人像从背景中分离出来,并自动地将其保存。所述人脸的特征信息包括:人脸的几何形状、运动、颜色、纹理和空间结构。所述特征信息的提取方法包括提取几何特征(一般是通过提取人眼、口、鼻等重要特征点的位置和眼睛等重要器官的几何形状作为分类特征。),统计特征(将人脸定位问题转换为多维空间分布信号的检测问题),频域特征和运动特征等。在本实施例中,在对捕捉到人脸图像进行特征提取之前需要做几何归一化和灰度归一化。几何归一化是根据人脸定位结果将图像中人脸变换到同一位置和同样大小,灰度归一化是指对图像进行光照补偿等处理,光照补偿能够一定程度地克服光照变化的影响而提高识别率。所述提取人脸的特征信息,具体为:从所述当前数据帧捕捉人脸中之后,构建基于人脸的坐标系,根据人脸的坐标系对所述人脸所在的区域进行灰度处理,以获得人脸的灰度图。将所述灰度图转换为数组,根据所述数组提取人脸的特征信息。根据灰度图转换的数组包括人脸轮廓特征、人脸灰度分布特征(镶嵌图特征、直方图特征等)、器官特征(对称性等)、模版特征等。正因为数组特征蕴含了人脸大部分的信息,所以它适合用于人脸检测,特别是人脸的特征信息的提取以及人脸定位工作等。当然,需要说明的是,由于灰度的差异,人脸图像中在人脸眼、嘴、头发、轮廓等处灰度较低,灰度与周围部分有一较大的梯度,灰度特征非常明显。基于此,我们会在转换为灰度图之前先对图像进行预处理,所述预处理包括:平滑处理去除图像中的噪声等、锐化处理对图像进行边缘增强等,二值化处理等。s30,根据提取的人脸的特征信息,将特征信息通过预先训练好的表情分类模型以识别人脸的表情分类。参见图2和图3,本实施例中,在所述获取视频流中的当前数据帧步骤之前,还包括:获取数据集,并分解出训练数据集;其中,所述数据集包括测试数据集和训练数据集。将所述训练数据集输入至基于vgg的卷积神经网络模型进行训练,以获得训练好的表情分类模型。在本实施例中,使用机器学习算法之前,通常我们需要先将数据集分为训练集和测试集。在分配训练集和测试集的时候,如果测试集的数据越小,对模型的泛化误差的估计将会越不准确。所以,在划分数据集的时候我们需要进行权衡。在实际应用中,基于整个数据集数据的大小,训练集数据和测试集数据的划分比例是6:4、7:3或8:2。对于庞大的数据可以使用9:1,甚至是99:1。将所述训练数据集和测试数据集分解后,将所述训练数据集输入至基于vgg的卷积神经网络模型进行训练,以获得训练好的表情分类模型。训练数据集在训练期间可以批量输入(随机梯度下降)神经网络模型及其所有的层。这可以是仅由一层组成的简单的完全连接的神经网络,也可以是由5,9和16层组成的更复杂的神经网络。在本实施例中所述卷积神经网络(convolutionalneuralnetwork,cnn)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。它包括卷积层(convolutionallayer)和池化层(poolinglayer)。cnn的基本结构包括两层,其一为特征提取层,每个神经元的输入与前一层的局部接受域相连,并提取该局部的特征。一旦该局部特征被提取后,它与其它特征间的位置关系也随之确定下来;其二是特征映射层,网络的每个计算层由多个特征映射组成,每个特征映射是一个平面,平面上所有神经元的权值相等。特征映射结构采用影响函数核小的sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。此外,由于一个映射面上的神经元共享权值,因而减少了网络自由参数的个数。卷积神经网络中的每一个卷积层都紧跟着一个用来求局部平均与二次提取的计算层,这种特有的两次特征提取结构减小了特征分辨率。在本实施例中,所述vgg为vggnet于2014年由牛津大学的karensimonyan和andrewzisserman创建出来。它包含更多层(16-19层),但每层的设计更简单;所有卷积图层都有3x3和3步滤波器,所有最大的合并图层的步长为2。所以它是一个更深的cnn,但更简单。它存在不同的配置,16层或19层。这两种不同配置之间的区别是在第二,第三和第四大池层之后使用3或4卷积层。训练时,输入是尺寸为48*48的rgb图像。图像经过一系列卷积层,并在卷积层中使用非常小的接受域:3*3,即使采用1*1卷积,这种1*1卷积可以被认为是输入通道的线性变换。步幅设置为1像素,并且3*3卷积层填充设置为1像素。池层采用最大池并有5层。一系列卷积层之后是完全连接的层。前两个完全连接的层有4096个通道。第三个全连接层有1000个通道,用来分类。所有网络的全连接层配置相同。优选的,表情分类模型还包括:线性分类模型:假设不同类型的模式空间是线性可分的,可微性的主要原因是不同表达式之间的差异。神经网络分类模型:人工神经网络(ann)是模仿人脑神经元细胞的网络构造。它是一个自适应非线性动力系统,由数量庞大的简单的基本元素-神经元连接起来。面部特征的坐标及其相应的灰度值被用作神经网络的输入。ann可以在类之间提供复杂的接口。神经网络分类器分类精度高,并行分布式处理能力强,分布式存储和学习能力强;它对噪声神经有很强的鲁棒性和容错性,可以完全逼近复杂的非线性关系,并且具有关联记忆功能。支持向量机(svm)分类算法:泛化能力强,小样本,非线性和高维模式识别问题,是新的研究热点。对于非线性可分样本,输入空间通过非线性变换转化为高维空间,然后在这个新空间中获得最优线性界面。这一种非线性变换是通过定义恰当的内积函数来落实的。三种常用的内积函数是多项式内积函数和径向内积函数sigmoid内积函数。作为人脸识别的分类器,它通常与表情识别中的gabor滤波器一起用作分类器。隐马尔可夫模型(hiddenmarkovmodels,hmm):统计模型强大的数学结构适用于动态过程时间序列建模,具有强大的模式分类能力,理论上可以处理任意长度的时间序列,具有广泛的应用。使用观察到的面部表情序列和模型来计算观察面部表情序列的概率,并且选择最佳标准来确定状态转换。根据观察到的面部表情序列计算,给定模型参数识别的准确度较高,平均值在97%以上。光流法:使用光流场法来实现目标检测的基本思想是:首先,计算图像中每个像素的运动矢量,即构建整个图像的光流场。如果背景中没有移动目标,则应该连续改变图像中所有像素的运动矢量;如果存在移动目标,则由于目标和背景之间存在相对运动,所以目标位置处的运动矢量必须不同于邻域(背景)的运动矢量,以便检测运动目标。通过计算光流场获得的像素运动矢量是通过目标和相机之间的相对运动产生的。因此,这种类型的检测方法可以应用于固定摄像机和运动摄像机。但是,光流场的计算过于复杂。这不满足光流基本约束方程的假设,导致计算中的较大误差。s40,将表情分类的结果发送给关联机器人,以使得关联机器人通过语音的形式反馈出人脸表情的分类成果。通过摄像头获取数据帧,捕捉人脸通过构建人脸的坐标系,然后将捕捉到的人脸的坐标系的位置进行灰度处理,通过获取到人脸的灰度图后,然后将该灰度图转换为数组,通过将灰度图转换为数组以后,将该数组带入vgg算法中,将其分类最后输出表情结果。在安装好naoqi的环境后,我们调用naoqi的语音模块,然后连接nao机器人的ip和9559端口,将结果反馈给nao机器人。最后nao机器人将以语音的形式反馈出人脸表情的探测成果。在第一实施例的基础上,本发明的一个优选实施例中,还包括:获取视频流中当前数据帧的前n帧的表情分类结果。当判断当前数据帧的表情分类结果与所述前n帧的表情分类结果大于等于预定差异阈值时,对当前帧的表情分类结果进行标记及反馈。在本发明实施例中,人脸的表情分为6个不同的类别:幸福(模型的输出值为1),惊喜(模型的输出值为2),正常(模型的输出值为3),悲伤(模型的输出值为4),恐慌(模型的输出值为5)和恼怒(模型的输出值为6)。所述预定差异阈值时设定为3时,当然,需要说明的是,所述预定差异阈值也可以根据实际情况设定,例如,所述预定差异阈值为4或者5。当当前数据帧的表情分类结果为幸福,模型的输出值为1,而所述当前数据帧的前5帧的表情分类结果分别为:第前1帧到第前5帧都为1,判断当前数据帧的表情分类结果与所述前5帧的表情分类结果小于等于预定差异阈值时,可认定当前帧的表情分类结果可信。当第前1帧到前5帧,每相隔1帧的数据帧差异变动大时,即第前1帧为1时,第前2帧为5时,第前3帧为3时,第前4帧为1时等,可认定当前帧的表情分类结果不太可信。参见图5至图7,具体地,本实施例中所述的测试结果如下:首先,我们通过摄像头来获取自己的视频流,在视频流中获取到人脸信息,通过预先训练好的表情分类模型分类表情,通过测试自己的表情每个表情并识别分类结果,其中,由于光线或则自己的脸部肌肉没有做到位所以可能产生误差。所述自己表情测试总数据表如下:happysadangryfearsurpriseneutral测试次数200200200200200200正确次数189128136131192187正确率94.5%64%68%61.5%96%93.5%接着,通过jaffe表情库的图片进行测试,排除自己脸部肌肉非正确摆放所导致的误差,测试结果如下:happysadangryfearsurpriseneutral测试次数200200200200200200正确次数193160168163195190正确率96.5%80%84%81.5%97.5%95%然后,再通过ck+表情库的图片进行测试,排除自己脸部肌肉非正确摆放所导致的误差,测试结果如下:happysadangryfearsurpriseneutral测试次数200200200200200200正确次数189140174136193191正确率94.5%70%87%63%96.5%94.5%最后,将以上两种测试取均值得到的数据作为本次实验的实际正确率,故实际正确率如下表:happysadangryfearsurpriseneutral正确率95.5%72%76%71.5%96.75%94.25%通过比对,可以发现本实施例中,所述人脸表情识别分类结果的与实际正确率表接近。本发明第二实施例;参见图4,图4为本发明第二实施例提供的一种人脸表情识别装置的结构示意图。本发明提供一种人脸情感识别装置,具体包括:获取模块100,用于获取视频流中的当前数据帧;捕捉模块200,用于从所述当前数据帧中捕捉人脸,并提取人脸的特征信息;识别模块300,用于根据所述提取的人脸的特征信息,将所述特征信息通过预先训练好的表情分类模型以识别人脸的表情分类;发送模块400,用于将所述表情分类的结果发送给关联机器人,以使得所述关联机器人通过语音的形式反馈出人脸表情的分类成果。优选地,捕捉模块200,具体为:构建模块,用于从所述当前数据帧捕捉人脸中之后,构建基于人脸的坐标系。灰度处理模块,用于根据人脸的坐标系对所述人脸所在的区域进行灰度处理,以获得人脸的灰度图,并将所述灰度图转换为数组,根据所述数组提取人脸的特征信息。优选地,所述特征信息包括:形状、运动、颜色、纹理和空间结构。优选地,所述特征信息的提取方法包括提取几何特征,统计特征,频域特征和运动特征。优选地,所述预先训练好的表情分类模型包括:线性分类模型、神经网络分类模型、支持向量机分类算法模型、光流法模型和隐马尔可夫模型。在第二实施例的基础上,本发明的一个优选实施例中,还包括:前n帧的表情分类结果获取模块,用于获取视频流中当前数据帧的前n帧的表情分类结果。判断模块,用于当判断当前数据帧的表情分类结果与所述前n帧的表情分类结果大于等于预定差异阈值时,对当前帧的表情分类结果进行标记及反馈。进一步地,在所述获取视频流中的当前数据帧步骤之前,还包括:数据集获取模块,用于获取数据集,并分解出训练数据集;其中,所述数据集包括测试数据集和训练数据集。输入模块,用于将所述训练数据集输入至基于vgg的卷积神经网络模型进行训练,以获得训练好的表情分类模型。本发明第三实施例:本发明第三实施例提供一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置由所述处理执行的计算机程序,所述处理器执行所述计算机程序时实现如本发明上述第一实施例中所述的人脸表情识别方法。本发明第四实施例:本发明第四实施例提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,例如一种人脸表情识别方法的程序。其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述第一实施例中所述的一种人脸表情识别方法。示例性地,本发明第三实施例和第四实施例中所述的计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述实现服务器设备中的执行过程。例如,本发明第二实施例中所述的装置。所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述人脸表情识别方法的控制中心,利用各种接口和线路连接整个所述实现一种人脸表情识别方法的各个部分。所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现人脸表情识别方法的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、文字转换功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、文字消息数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘、智能存储卡(smartmediacard,smc)、安全数字(securedigital,sd)卡、闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。其中,所述实现服务设备的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一个计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1