一种表情识别方法及装置与流程

文档序号:20920109发布日期:2020-05-29 14:02阅读:260来源:国知局
一种表情识别方法及装置与流程
本公开涉及计算机
技术领域
,具体而言,涉及一种表情识别方法及装置。
背景技术
:人脸表情识别是指从给定的静态图像或动态视频序列中分离出特定的表情状态,从而确定被识别对象的心理情绪,实现计算机对人脸表情的理解与识别。相关技术中,在进行人脸表情识别时,一般是将待识别的图像输入至预先训练好的表情识别模型中,输出预测得到的人脸表情。然而这种表情识别模型在训练过程中,需要大量带有表情标签的样本图像进行训练,一般样本图像的表情标签为用户添加的,容易受到用户的主观意识的影响,例如,对于同一张图片,用户a可能添加的表情标签是抑郁,用户b添加的表情标签是思考,通过这种样本图像训练出的表情识别模型,可能会受到用户主观意识的影响,精度较低。技术实现要素:本公开实施例至少提供一种表情识别方案,以提高表情识别的精度。第一方面,本公开实施例提供了一种表情识别方法,包括:获取人脸图像;根据所述人脸图像,识别所述人脸图像代表的人脸上的至少两个器官中每个器官的动作;基于识别到的所述每个器官的动作,确定所述人脸图像代表的人脸上的表情状态。上述方法可以先识别人脸上的器官的动作,然后基于识别出的动作,确定人脸对应的表情状态,由于人脸上的器官的动作与人脸的表情状态之间的关系是客观存在的,基于这种方式,不需要用户针对人脸图像进行表情状态的主观定义,另外,由于人脸上的器官的动作可以专注于某些特定的人脸特征,对人脸图像进行器官的动作的识别,相比直接进行表情姿态的识别,准确性可以提升许多,因此,本公开上述方法提高了人脸表情识别的精度。一种可能的实施方式中,获取人脸图像之后,所述方法还包括:对所述人脸图像进行图像预处理,得到处理后的人脸图像;所述图像预处理用于对所述人脸图像进行关键信息增强处理;根据所述人脸图像,识别所述人脸图像代表的人脸上的至少两个器官中每个器官的动作,包括:根据所述处理后的人脸图像,确定所述人脸图像代表的人脸上的至少两个器官中每个器官的动作。通过将人脸图像进行图像预处理,可以对人脸图像进行关键信息增强处理,提高了动作识别的精度。一种可能的实施方式中,所述对所述人脸图像进行图像预处理,包括:确定所述人脸图像中的关键点的位置信息;基于所述关键点的位置信息,对所述人脸图像进行仿射变换,得到所述人脸图像对应的转正后的图像;对转正后的图像进行归一化处理,得到处理后的人脸图像。这里,通过关键点的位置信息,对人脸图像进行仿射变换之后,可以实现对人脸图像的转正,避免了人脸图像中的用户的面部朝向对动作识别的影响;进一步,对对转正后的图像进行归一化处理,可以减弱仿射变换后出现的原本不存在的人脸特征对动作识别的影响。一种可能的实施方式中,所述对转正后的图像进行归一化处理,包括:基于所述关键点的位置信息,对所述转正后的图像进行图像剪切,得到剪切后的图像;计算所述剪切后的图像中所包含的各个像素点的像素值的均值、以及所述剪切后的图像中所包含的各个像素点的像素值的标准差;基于所述像素值的均值、以及所述像素值的标准差,对所述剪切后的图像中的每一个像素点的像素值进行归一化处理。这里,通过对转正后的图像进行图像剪切处理,可以降低除人脸部分外的背景区域对于动作识别速度的影响。一种可能的实施方式中,人脸上的器官的动作包括:皱眉、瞪眼、嘴角上扬、上唇上抬、嘴角向下、张嘴。一种可能的实施方式中,所述基于识别到的所述每个器官的动作,确定所述人脸图像代表的人脸上的表情状态,包括:基于识别到的所述每个器官的动作,以及预先设置的动作与表情状态之间的对应关系,确定所述人脸图像代表的人脸上的表情状态。一种可能的实施方式中,根据所述人脸图像确定所述人脸图像代表的人脸上的至少两个器官中每个器官的动作的步骤由用于进行动作识别的神经网络执行,所述用于进行动作识别的神经网络包括主干网络和至少两个分类分支网络,每个分类分支网络用于识别人脸上的一个器官的一种动作;根据所述人脸图像,识别所述人脸图像代表的人脸上的至少两个器官中每个器官的动作,包括:利用主干网络对所述人脸图像进行特征提取,得到所述人脸图像的特征图;分别利用每个分类分支网络根据所述人脸图像的特征图进行动作识别,得到每个分类分支网络能够识别的动作的发生概率;将发生概率大于预设概率的动作确定为所述人脸图像代表的人脸上的器官的动作。这里,在人脸图像代表的人脸上包含多个器官的动作时,通过这种方法,可以同时识别出人脸图像对应的多个器官的动作,另外,这里使用每个分类分支网络分别识别对应的器官的动作,由于训练每个分类分支网络时,可以专注于特定器官的动作对应的图像特征,这种方式可以使得训练出的分类分支网络的识别精度更高,从而使得情绪状态识别时的准确率更高。一种可能的实施方式中,所述用于进行动作识别的神经网络利用样本图像、以及所述样本图像对应的标签向量训练得到;其中,所述样本图像对应的标签向量用于表示该样本图像代表的人脸上的器官的动作;标签向量中的每一个元素位置处的取值用于表示该样本图像中是否产生该元素位置对应的动作。一种可能的实施方式中,利用样本图像、以及所述样本图像对应的标签向量对所述用于进行动作识别的神经网络进行训练,包括:利用神经网络的主干网络对样本图像进行特征提取,得到样本图像的特征图;分别利用每个分类分支网络根据所述样本图像的特征图进行动作识别,得到每个分类分支网络能够识别的动作的发生概率;基于每个分类分支网络能够识别的动作的发生概率,以及样本图像的标签向量,确定每一个分类分支网络对应的损失值;基于所述神经网络中每一个分类分支网络对应的损失值,调整所述神经网络的参数值。通过这种方式,可以基于每一个分类分支网络对应的损失值,调整神经网络的参数,由此可以实现多个分类分支网络的同时训练,提高了在识别多个器官的动作的过程中所应用的神经网络的训练效率。第二方面,本公开实施例还提供一种人脸识别装置,包括:获取模块,用于获取人脸图像;识别模块,用于根据所述人脸图像,识别所述人脸图像代表的人脸上的至少两个器官中每个器官的动作;确定模块,用于基于识别到的所述每个器官的动作,确定所述人脸图像代表的人脸上的表情状态。一种可能的实施方式中,所述识别模块,还用于:在获取人脸图像之后,对所述人脸图像进行图像预处理,得到处理后的人脸图像;所述图像预处理用于对所述人脸图像进行关键信息增强处理;所述识别模块,在根据所述人脸图像,识别所述人脸图像代表的人脸上的至少两个器官中每个器官的动作时,用于:根据所述处理后的人脸图像,确定所述人脸图像代表的人脸上的至少两个器官中每个器官的动作。一种可能的实施方式中,所述识别模块,在对所述人脸图像进行图像预处理时,用于:确定所述人脸图像中的关键点的位置信息;基于所述关键点的位置信息,对所述人脸图像进行仿射变换,得到所述人脸图像对应的转正后的图像;对转正后的图像进行归一化处理,得到处理后的人脸图像。一种可能的实施方式中,所述识别模块,在对转正后的图像进行归一化处理时,用于:基于所述关键点的位置信息,对所述转正后的图像进行图像剪切,得到剪切后的图像;计算所述剪切后的图像中所包含的各个像素点的像素值的均值、以及所述剪切后的图像中所包含的各个像素点的像素值的标准差;基于所述像素值的均值、以及所述像素值的标准差,对所述剪切后的图像中的每一个像素点的像素值进行归一化处理。一种可能的实施方式中,人脸上的器官的动作包括:皱眉、瞪眼、嘴角上扬、上唇上抬、嘴角向下、张嘴。一种可能的实施方式中,所述确定模块,在基于识别到的所述每个器官的动作,确定所述人脸图像代表的人脸上的表情状态时,用于:基于识别到的所述每个器官的动作,以及预先设置的动作与表情状态之间的对应关系,确定所述人脸图像代表的人脸上的表情状态。一种可能的实施方式中,根据所述人脸图像确定所述人脸图像代表的人脸上的至少两个器官中每个器官的动作的步骤由用于进行动作识别的神经网络执行,所述用于进行动作识别的神经网络包括主干网络和至少两个分类分支网络,每个分类分支网络用于识别人脸上的一个器官的一种动作;所述识别模块,在根据所述人脸图像,识别所述人脸图像代表的人脸上的至少两个器官中每个器官的动作时,用于:利用主干网络对所述人脸图像进行特征提取,得到所述人脸图像的特征图;分别利用每个分类分支网络根据所述人脸图像的特征图进行动作识别,得到每个分类分支网络能够识别的动作的发生概率;将发生概率大于预设概率的动作确定为所述人脸图像代表的人脸上的器官的动作。一种可能的实施方式中,所述装置还包括,训练模块,所述训练模块用于:利用样本图像、以及所述样本图像对应的标签向量对所述用于进行动作识别的神经网络进行训练;其中,所述样本图像对应的标签向量用于表示该样本图像代表的人脸上的器官的动作;标签向量中的每一个元素位置处的取值用于表示该样本图像中是否产生该元素位置对应的动作。一种可能的实施方式中,所述训练模块,在利用样本图像、以及所述样本图像对应的标签向量对所述用于进行动作识别的神经网络进行训练时,用于:利用神经网络的主干网络对样本图像进行特征提取,得到样本图像的特征图;分别利用每个分类分支网络根据所述样本图像的特征图进行动作识别,得到每个分类分支网络能够识别的动作的发生概率;基于每个分类分支网络能够识别的动作的发生概率,以及样本图像的标签向量,确定每一个分类分支网络对应的损失值;基于所述神经网络中每一个分类分支网络对应的损失值,调整所述神经网络的参数值。第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。关于上述表情识别装置、电子设备、及计算机可读存储介质的效果描述参见上述表情识别方法的说明,这里不再赘述。为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1示出了本公开实施例所提供的一种表情识别方法的流程图;图2示出了本公开实施例所提供的一种图像预处理方法的流程图;图3示出了本公开实施例所提供的一种图像剪切方法的示意图;图4示出了本公开实施例所提供的一种用于进行动作识别的神经网络的网络结构;图5示出了本公开实施例所提供的一种用于进行动作识别的神经网络的训练方法的流程示意图;图6示出了本公开实施例所提供的一种关键点检测模型的训练方法的流程示意图;图7示出了本公开实施例所提供的一种表情识别装置的架构示意图;图8示出了本公开实施例所提供的一种电子设备的结构示意图。具体实施方式为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。相关技术中,在进行人脸识别时,一般是基于神经网络直接对图像中的用户表情进行识别,然而这种神经网络在训练过程中,一般是需要为样本图像添加表情标签,表情标签用于表示样本图像中的用户的表情,然而由于需要人工为样本图像添加表情标签,添加的表情标签带有用户的主观思维,可能出现不同的用户为同一张样本图像添加不同表情标签的情况,进而导致神经网络的在进行表情预测时的精度受到影响。基于此,本公开实施例提供了一种表情识别方法,可以通过神经网络识别人脸图像中的器官的动作,然后基于识别的器官的动作,确定人脸对应的表情状态,由于人脸上的器官的动作与人脸的表情状态之间的关系是客观存在的,基于这种方式,不需要用户针对人脸图像进行表情状态的主观定义,另外,由于人脸器官的动作可以专注于某些特定的人脸特征,对人脸图像进行器官的动作的识别,相比直接进行表情姿态的识别,准确性可以提升许多,因此,本公开上述方法提高了人脸表情识别的精度。需要说明的是,上述技术问题的提出及分析过程,均是发明人在经过实践并仔细研究后得出的结果,因此,上述技术问题的发现过程以及本公开实施例针对上述技术问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。下面将结合本公开中附图,对本公开中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。为便于对本实施例进行理解,首先对本公开实施例所公开的一种表情识别方法进行详细介绍,本公开实施例所提供的表情识别方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(userequipment,ue)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(personaldigitalassistant,pda)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该表情识别方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。参见图1所示,为本公开实施例提供的表情识别方法的流程图,包括以下几个步骤:步骤101、获取人脸图像。步骤102、根据所述人脸图像,识别所述人脸图像代表的人脸上的至少两个器官中每个器官的动作。步骤103、基于识别到的所述每个器官的动作,确定所述人脸图像代表的人脸上的表情状态。上述方法可以先识别人脸上的器官的动作,然后基于识别出的动作,确定人脸对应的表情状态,由于人脸上的器官的动作与人脸的表情状态之间的关系是客观存在的,基于这种方式,在模型训练时不需要用户针对人脸图像进行表情状态的主观定义,另外,由于人脸上的器官的动作可以专注于某些特定的人脸特征,对人脸图像进行器官的动作的识别,相比直接进行表情姿态的识别,准确性可以提升许多,因此,本公开上述方法提高了人脸表情识别的精度。以下是对上述步骤101~步骤103的详细介绍。针对步骤101:步骤101中所述获取人脸图像可以是在接收到开始识别的指令之后,控制与执行该表情识别方法的电子设备相连接的图像采集装置所拍摄的图像,也可以是从数据库中预先存储的人脸图像集合中获取的人脸图像;其中,执行该表情识别方法的电子设备可以自身携带有图像采集装置,也可以外接图像采集装置,其连接方式可以包括有线连接和无线连接,无线连接例如可以为蓝牙连接、无线局域网连接等。针对步骤102:在将人脸图像输入至训练的神经网络进行人脸上的器官的动作识别之前,为了提高神经网络进行动作识别的效率和精度,在一种可能的实施方式中,还可以先将人脸图像进行图像预处理,得到处理后的人脸图像;其中,所述图像预处理用于对人脸图像进行关键信息增强处理;然后将处理后的人脸图像输入至训练的神经网络进行动作识别。在一种可能的实施方式中,在对人脸图像进行图像预处理时,可以参照图2所示的图像预处理方法,包括以下几个步骤:步骤201、确定人脸图像中关键点的位置信息。人脸图像中的关键点例如可以包括眼角、嘴角、眉头、眉尾、鼻子等,具体实施中,人脸图像中的关键点可以根据需求进行设置;关键点的位置信息可以是关键点在人脸图像中的位置坐标,示例性的,在确定人脸图像中的关键点之后,可以以人脸图像的左上角为坐标原点,以左上角至右上角的水平方向为x轴,以左上角至左下角的垂直方向为y轴,建立直角坐标系,然后确定人脸图像中的关键点在直角坐标系中的坐标,并将确定的坐标作为关键点的位置信息。具体在确定人脸图像中关键点的位置信息时,可以将人脸图像输入至训练的关键点检测模型中,得到关键点的位置信息;在另外一种实施方式中,为提高关键点识别的效率,还可以先识别人脸图像中的人脸区域,并截取人脸区域内的图像,然后将截取的人脸区域内的图像输入至训练的关键点检测模型中,得到关键点的位置信息。具体关键点检测模型的训练方法将在下边详细介绍,在此将暂不展开说明。其中,在识别人脸图像中的人脸区域时,例如可以通过人脸识别算法进行识别,具体识别过程将不再展开介绍。步骤202、基于关键点的位置信息,对人脸图像进行仿射变换,得到人脸图像对应的转正后的图像。在基于关键点的位置信息,对人脸图像进行仿射变换时,可以先基于关键点的位置信息、以及预存的目标关键点的预设位置信息,确定变换矩阵,变换矩阵用于表示人脸图像中每个关键点的位置信息、和与该关键点匹配的目标关键点的预设位置信息之间的变换关系,然后基于变换矩阵,对人脸图像进行仿射变换。以关键点为眼睛(包括左眼和右眼)和嘴巴为例,预存的目标关键点的预设位置信息可以是预先存储的眼睛和嘴巴的位置坐标,具体实施中,预设位置信息可以是基于多个样本图像中目标关键点的坐标进行均值计算得到的。示例性的,若获取100张标准的样本图像,则可以分别以样本图像中的左眼为坐标原点,确定右眼和嘴巴的位置坐标,然后计算嘴巴和右眼的位置坐标的均值,将计算出的均值、以及左眼的坐标(即坐标原点)确定为目标关键点的预设位置信息。实际应用中,还可以不以左眼为坐标原点,此时,目标关键点的预设位置信息可以是目标关键之间的位置关系,例如左眼和右眼之间的距离、嘴巴和左眼之间的距离、嘴巴和右眼之间的距离等。在另外一种可能的实施方式中,预存的目标关键点的预设位置关系还可以是人工进行设置的。在基于关键点的位置信息、以及预存的目标关键点的预设位置信息,确定变换矩阵时,可以根据以下公式进行计算:其中,x’,y’表示预存的目标关键点的横纵坐标,x,y表示关键点的横纵坐标,表示变换矩阵。在基于变换矩阵,对人脸图像进行仿射变换时,可以先确定人脸图像中每一个像素点的坐标,然后将人脸图像中每一个像素点的坐标带入上述公式中,确定每一个像素点对应的变换后的坐标,基于每一个像素点对应的变换后的坐标,确定人脸图像对应的转正后的图像。通过将人脸图像进行仿射变换,可以将人脸图像中不同朝向的人脸图像转换为正面朝向的人脸图像,基于人脸图像对应的转正后的图像进行动作识别,可以提高动作识别的精度。步骤203、对转正后的图像进行归一化处理,得到处理后的人脸图像。在一种可能的实施方式中,在基于关键点的位置信息,对人脸图像进行仿射变换,得到人脸图像对应的转正后的图像之后,还可以基于关键点的位置信息,对转正后的图像进行图像剪切,得到剪切后的图像,然后对剪切后的图像进行归一化处理。其中,在基于关键点的位置信息,对转正后的图像进行图像剪切时,可以先确定转正后的图像中所有关键点的位置信息中,横纵坐标的最大值和最小值,然后基于横纵坐标的最大值和最小值,对转正后的图像进行图像剪切。示例性的,如图3所示,若识别出的关键点中横坐标最大值为x1,最小值为x2,纵坐标最大值为y1,最小值为y2,则可以先基于横纵坐标的最大值和最小值确定最小切割区域,然后将距离最小切割区域为预设距离的区域作为切割线,对转正后的图像进行图像剪切。在对剪切后的图像进行归一化处理时,可以先计算剪切后的图像中所包含的各个像素点的像素值的均值、以及剪切后的图像中所包含的各个像素点的像素值的标准差,然后基于像素值的均值、以及像素值的标准差,对剪切后的图像中的每一个像素点的像素值进行归一化处理。具体的,在基于像素值的均值、以及像素值的标准差,对剪切后的图像中的每一个像素点的像素值进行归一化处理时,可以参照下述公式:其中,z表示像素点进行归一化处理后的像素值,x表示像素点进行归一化处理前的像素值,μ表示像素值的均值,σ表示像素值的标准差。这里,通过关键点的位置信息,对人脸图像进行仿射变换之后,可以实现对人脸图像的转正,避免了人脸图像中的用户的面部朝向对器官的动作识别的影响;进一步,对对转正后的图像进行归一化处理,可以减弱仿射变换后出现的原本不存在的人脸特征对器官的动作识别的影响。在另外一种可能的实施方式中,在对人脸图像进行图像预处理之前,还可以先检测人脸图像的图像类型,若检测到人脸图像为rgb彩色图像,则可以先将人脸图像转换为灰度图像,然后对转换后的图像执行图像预处理的过程,若检测到人脸图像为灰度图像,则可以对人脸图像执行图像预处理的过程。在基于人脸图像,确定人脸图像代表的人脸上的至少两个器官中每个器官的动作的步骤可以是由用于进行动作识别的神经网络执行的;用于进行动作识别的神经网络包括主干网络和至少两个分类分支网络,每个分类分支网络用于识别一种器官的动作。具体的,可以将人脸图像输入至用于进行动作识别的神经网络中,由主干网络对人脸图像进行特征提取,得到人脸图像的特征图,然后分别利用每个分支网络根据人脸图像的特征图进行动作识别,得到每个分类分支网络能够识别的动作的发生概率,将发生概率大于预设概率的动作确定为人脸图像代表的人脸上的器官的动作。其中,人脸上的器官的动作,包括:皱眉、瞪眼、嘴角上扬、上唇上抬、嘴角向下、张嘴。示例性的,用于进行动作识别的神经网络的网络结构可以如图4所示,神经网络包括6个分类分支网络,分类分支网络1用于识别动作1,分类分支网络2用于识别动作2,以此类推,人脸图像输入到神经网络的各个分类分支网络中之后,可以先基于主干网络对人脸图像进行特征提取,得到人脸图像对应的特征图,然后把人脸图像对应的特征图分别输入到各个分类分支网络中,每个分类分支网络输出该网络对应的器官的动作的发生概率,各个分类分支网络的输出再输入到分类网络中,分类网络输出对应的发生概率大于预设概率的器官的动作,分类网络的输出即为神经网络的输出。需要说明的是,用于进行动作识别的神经网络中的各个分类分支网络是同时进行训练的,其训练方法将在下边展开说明,在此暂不介绍。这里,在人脸图像中包含多个器官的动作时,通过这种方法,可以同时识别出人脸图像对应的多个器官的动作,另外,这里使用每个分类分支网络分别识别对应的器官的动作,由于训练每个分类分支网络时,可以专注于特定动作对应的图像特征,这种方式可以使得训练出的分类分支网络的识别精度更高,从而使得图像识别时的准确率更高。针对步骤103:实际应用中,用户的表情状态与用户的面部动作之间有一定的对应关系,示例性的,用户的面部动作为嘴角上扬时,对应的表情状态为开心,用户的面部动作为瞪眼且张嘴时,对应的表情状态为惊讶。具体实施中,在基于识别的器官的动作,确定人脸图像对应的用户表情状态时,可以是基于识别的人脸上的每个器官的动作、以及预先设置的动作与表情状态之间的对应关系,确定人脸图像对应的用户表情状态。其中,预先设置的动作与表情状态之间的对应关系示例性的可以如下表所示:表情状态动作平静没有任意一个动作开心嘴角上扬,且没有其他动作伤心皱眉,嘴角向下生气皱眉,上唇上抬恶心皱眉,张嘴惊讶瞪眼,张嘴通过这种方法,可以先识别人脸图像中的器官的动作,然后基于识别的器官的动作,确定人脸图像对应的用户表情状态,与直接识别用户表情状态相比,这种方式可以降低用户主观意识对于识别结果的影响,提高了用户表情状态识别的精度。参见图5所示,为本公开实施例所提供的一种用于进行动作识别的神经网络的训练方法的流程示意图,包括以下几个步骤:步骤501、获取样本图像,以及所述样本图像对应的标签向量。其中,所述样本图像对应的标签向量用于表示该样本图像代表的人脸上的器官的动作;标签向量中的每一个元素位置处的取值用于表示该样本图像中是否产生该元素位置对应的动作。在训练同一个用于进行动作识别的神经网络的过程中,不同样本图像对应的标签向量的元素值的个数是相同的,标签向量的元素值的个数与神经网络所包含的分类分支网络的个数相同。示例性的,若标签向量的元素个数包括6个,第一个元素表示是否皱眉,第二个元素表示是否瞪眼,第三个元素表示是否嘴角上扬,第四个元素表示是否上唇上抬,第五个元素表示是否嘴角向下,第六个元素表示是否张嘴,若用户的动作为瞪眼和张嘴,则对应的标签向量为[0,1,0,0,0,1](标签向量中“0”表示该元素位置对应的人脸位置处发生对应的动作,“1”表示该元素位置对应的人脸位置处未发生对应的动作)。步骤502、利用神经网络的主干网络对样本图像进行特征提取,得到样本图像的特征图。步骤503、分别利用每个分类分支网络根据所述样本图像的特征图进行动作识别,得到每个分类分支网络能够识别的动作的发生概率。步骤504、基于每个分类分支网络能够识别的动作的发生概率,以及样本图像的标签向量,确定每一个分类分支网络对应的损失值。具体的,针对任一个分类分支网络,在确定该分类分支网络对应的损失值时,可以参照如下公式:其中,n的取值为标签向量中的元素个数减1,yk表示标签向量中的第k个元素,p表示该分类分支网络输出的发生概率。步骤505、基于所述神经网络中每一个分类分支网络对应的损失值,调整所述神经网络的参数值。具体的,在基于神经网络中每一个分类分支网络对应的损失值,调整神经网络的参数时,可以先基于神经网络中每一个分类分支网络对应的损失值,确定本次训练过程中的总损失,例如可以将各个分类分支网络对应的损失值之和作为本次训练过程中的总损失,然后通过梯度反向传播的方法调整神经网络的参数值。通过这种方式,可以基于每一个分类分支网络对应的损失值,调整神经网络的参数,由此可以实现多个分类分支网络的同时训练,提高了在识别多个器官的动作的过程中所应用的神经网络的训练效率。参见图6所示,为本公开实施例所提供的一种关键点检测模型的训练方法的流程示意图,包括以下几个步骤:步骤601、获取带有标注的样本图像,所述标注用于表示所述样本图像中关键点的位置。其中,样本图像中的标注可以是人工标注的。步骤602、将所述带有标注的样本图像,输入至待训练的关键点检测模型中,得到所述关键点检测模型对应的预测关键点位置。步骤603、基于所述样本图像的标注、以及所述样本图像对应的预测关键点位置,确定本次训练过程中的损失值,基于所述损失值,调整所述关键点检测模型的参数值。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。基于同一发明构思,本公开实施例中还提供了与表情识别方法对应的表情识别装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述表情识别方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。参照图7所示,为本公开实施例五提供的一种表情识别装置的架构示意图,所述装置包括:获取模块701、识别模块702、确定模块703、以及训练模块704;其中:获取模块701,用于获取人脸图像;识别模块702,用于根据所述人脸图像,识别所述人脸图像代表的人脸上的至少两个器官中每个器官的动作;确定模块703,用于基于识别到的所述每个器官的动作,确定所述人脸图像代表的人脸上的表情状态。一种可能的实施方式中,所述识别模块702,还用于:在获取人脸图像之后,对所述人脸图像进行图像预处理,得到处理后的人脸图像;所述图像预处理用于对所述人脸图像进行关键信息增强处理;所述识别模块702,在根据所述人脸图像,识别所述人脸图像代表的人脸上的至少两个器官中每个器官的动作时,用于:根据所述处理后的人脸图像,确定所述人脸图像代表的人脸上的至少两个器官中每个器官的动作。一种可能的实施方式中,所述识别模块702,在对所述人脸图像进行图像预处理时,用于:确定所述人脸图像中的关键点的位置信息;基于所述关键点的位置信息,对所述人脸图像进行仿射变换,得到所述人脸图像对应的转正后的图像;对转正后的图像进行归一化处理,得到处理后的人脸图像。一种可能的实施方式中,所述识别模块702,在对转正后的图像进行归一化处理时,用于:基于所述关键点的位置信息,对所述转正后的图像进行图像剪切,得到剪切后的图像;计算所述剪切后的图像中所包含的各个像素点的像素值的均值、以及所述剪切后的图像中所包含的各个像素点的像素值的标准差;基于所述像素值的均值、以及所述像素值的标准差,对所述剪切后的图像中的每一个像素点的像素值进行归一化处理。一种可能的实施方式中,人脸上的器官的动作包括:皱眉、瞪眼、嘴角上扬、上唇上抬、嘴角向下、张嘴。一种可能的实施方式中,所述确定模块703,在基于识别到的所述每个器官的动作,确定所述人脸图像代表的人脸上的表情状态时,用于:基于识别到的所述每个器官的动作,以及预先设置的动作与表情状态之间的对应关系,确定所述人脸图像代表的人脸上的表情状态。一种可能的实施方式中,根据所述人脸图像确定所述人脸图像代表的人脸上的至少两个器官中每个器官的动作的步骤由用于进行动作识别的神经网络执行,所述用于进行动作识别的神经网络包括主干网络和至少两个分类分支网络,每个分类分支网络用于识别人脸上的一个器官的一种动作;所述识别模块702,在根据所述人脸图像,识别所述人脸图像代表的人脸上的至少两个器官中每个器官的动作时,用于:利用主干网络对所述人脸图像进行特征提取,得到所述人脸图像的特征图;分别利用每个分类分支网络根据所述人脸图像的特征图进行动作识别,得到每个分类分支网络能够识别的动作的发生概率;将发生概率大于预设概率的动作确定为所述人脸图像代表的人脸上的器官的动作。一种可能的实施方式中,所述装置还包括,训练模块704,所述训练模块704用于:利用样本图像、以及所述样本图像对应的标签向量对所述用于进行动作识别的神经网络进行训练;其中,所述样本图像对应的标签向量用于表示该样本图像代表的人脸上的器官的动作;标签向量中的每一个元素位置处的取值用于表示该样本图像中是否产生该元素位置对应的动作。一种可能的实施方式中,所述训练模块704,在利用样本图像、以及所述样本图像对应的标签向量对所述用于进行动作识别的神经网络进行训练时,用于:利用神经网络的主干网络对样本图像进行特征提取,得到样本图像的特征图;分别利用每个分类分支网络根据所述样本图像的特征图进行动作识别,得到每个分类分支网络能够识别的动作的发生概率;基于每个分类分支网络能够识别的动作的发生概率,以及样本图像的标签向量,确定每一个分类分支网络对应的损失值;基于所述神经网络中每一个分类分支网络对应的损失值,调整所述神经网络的参数值。关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。基于同一技术构思,本公开实施例还提供了一种电子设备。参照图8所示,为本公开实施例提供的电子设备的结构示意图,包括处理器801、存储器802、和总线803。其中,存储器802用于存储执行指令,包括内存8021和外部存储器8022;这里的内存8021也称内存储器,用于暂时存放处理器801中的运算数据,以及与硬盘等外部存储器8022交换的数据,处理器801通过内存8021与外部存储器8022进行数据交换,当电子设备800运行时,处理器801与存储器802之间通过总线803通信,使得处理器801在执行以下指令:获取人脸图像;根据所述人脸图像,识别所述人脸图像代表的人脸上的至少两个器官中每个器官的动作;基于识别到的所述每个器官的动作,确定所述人脸图像代表的人脸上的表情状态。本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的表情识别方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。本公开实施例所提供的表情识别方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的表情识别方法的步骤,具体可参见上述方法实施例,在此不再赘述。本公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(softwaredevelopmentkit,sdk)等等。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本
技术领域
的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1