掌桥专利:专业的专利平台
掌桥专利
首页

脸部表情识别方法和装置

文献发布时间:2023-06-19 12:22:51


脸部表情识别方法和装置

技术领域

本公开涉及人工智能技术领域,具体涉及计算机视觉和深度学习技术领域,可应用于智慧城市和智慧金融场景下,尤其涉及脸部表情识别方法和装置。

背景技术

表情可以通过面部表达感情。具体地,表情是情绪的主观体验的外化表现。比如,表情可以包括愤怒、厌恶、恐惧、高兴、中性和伤心。

在现有技术中,进行表情识别一般采用分类器进行,比如可以采用支持向量机。即便如此,表情的识别依然有较大难度。例如,生气和恐惧这两种表情,在面部的表现是较为相似的,给表情识别带来了较大的难度。

发明内容

提供了一种脸部表情识别方法、装置、电子设备以及存储介质。

根据第一方面,提供了一种脸部表情识别方法,包括:获取脸部图像中各个图像位置的特征;将各个图像位置的特征中的待处理特征,通过表情识别模型的多头自注意力网络执行如下步骤:生成待处理特征的查询向量、键向量和值向量;确定查询向量和待处理特征以外的其它特征的键向量的点乘结果,将该点乘结果作为待处理特征与其它特征之间的相关度,并对相关度进行预设处理;将预设处理结果与其它特征的值向量的乘积,确定为待处理特征相对于其它特征的目标特征;确定待处理特征相对于各个其它特征的目标特征之和;基于多头自注意力网络得到的和确定表情类别。

根据第二方面,提供了一种脸部表情识别装置,包括:获取单元,被配置成获取脸部图像中各个图像位置的特征;执行单元,被配置成将各个图像位置的特征中的待处理特征,通过表情识别模型的多头自注意力网络执行如下步骤:生成单元,被配置成生成待处理特征的查询向量、键向量和值向量;相关度确定单元,被配置成确定查询向量和待处理特征以外的其它特征的键向量的点乘结果,将该点乘结果作为待处理特征与其它特征之间的相关度,并对相关度进行预设处理;目标确定单元,被配置成将预设处理结果与其它特征的值向量的乘积,确定为待处理特征相对于其它特征的目标特征;和确定单元,被配置成确定待处理特征相对于各个其它特征的目标特征之和;类别确定单元,被配置成基于多头自注意力网络得到的和确定表情类别。

根据第三方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行脸部表情识别方法中任一实施例的方法。

根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行根据脸部表情识别方法中任一实施例的方法。

根据第五方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现根据脸部表情识别方法中任一实施例的方法。

根据本公开的方案,图像位置的特征之间的相关度表示不同图像位置的特征之间的联系。因而,本公开实施例可以不再止步于孤立地确定每个图像位置的特征,而是建立了不同位置的特征之间的联系,从而增强了表情的识别准确度。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:

图1是本公开一些实施例可以应用于其中的示例性系统架构图;

图2是根据本公开的脸部表情识别方法的一个实施例的流程图;

图3是根据本公开的脸部表情识别方法的一个应用场景的示意图;

图4是根据本公开的脸部表情识别方法的又一个实施例的流程图;

图5是根据本公开的脸部表情识别方法的又一个实施例的流程图;

图6是根据本公开的脸部表情识别装置的一个实施例的结构示意图;

图7是用来实现本公开实施例的脸部表情识别方法的电子设备的框图。

具体实施方式

以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。

本公开中的表情识别模型并不是针对某一特定用户的表情识别模型,并不能反映出某一特定用户的个人信息,其构建过程符合相关法律法规。

本公开中的脸部图像可以来自于公开数据集,或者脸部图像的获取是经过了脸部图像对应的用户的授权

本公开中,脸部表情识别方法的执行主体可以通过各种公开、合法合规的方式获取脸部图像,例如可以是从公开数据集处获取的,或者是经过了用户的授权从用户处获取的。

需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。

图1示出了可以应用本公开的脸部表情识别方法或脸部表情识别装置的实施例的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如视频类应用、直播应用、即时通信工具、邮箱客户端、社交平台软件等。

这里的终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。

服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103提供支持的后台服务器。后台服务器可以对接收到的脸部图像等数据进行分析等处理,并将处理结果(例如表情识别结果,可以是表情类别)反馈给终端设备。

需要说明的是,本公开实施例所提供的脸部表情识别方法可以由服务器105或者终端设备101、102、103执行,相应地,脸部表情识别装置可以设置于服务器105或者终端设备101、102、103中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

继续参考图2,示出了根据本公开的脸部表情识别方法的一个实施例的流程200。该脸部表情识别方法,包括以下步骤:

步骤201,获取脸部图像中各个图像位置的特征。

在本实施例中,脸部表情识别方法运行于其上的执行主体(例如图1所示的服务器或终端设备)可以获取脸部图像中各个图像位置的特征。脸部图像中的脸部可以是各种包含脸部的生命体的脸部。

具体地,一个图像位置包含脸部图像中的N个像素点,比如是8×8个像素点组成的矩形区域,其中,N是自然数。

在实践中,上述执行主体可以采用各种方式获取特征。举例来说,上述执行主体可以直接在本设备或者其它电子设备获取已生成的特征,也可以将脸部图像输入特征金字塔,并得到从待处理特征金字塔输出的特征。

步骤202,将各个图像位置的特征中的待处理特征,通过表情识别模型的多头自注意力网络执行如下步骤。

在本实施例中,上述执行主体可以将各个图像位置的特征中的特征(比如对于每个图像位置的特征)作为待处理特征,通过表情识别模型的多头自注意力网络(比如变换网络,也即Transformer)执行步骤203-步骤207的操作。表情识别模型是经过训练的深度神经网络,可以对脸部图像预测其中所包含脸部的表情。表情识别模型中包括多头自注意力模型。

步骤203,生成待处理特征的查询向量、键向量和值向量。

在本实施例中,上述执行主体可以通过上述多头自注意力网络,对待处理特征生成查询向量(query)、键向量(key)和值向量(value)。

步骤204,确定查询向量和待处理特征以外的其它特征的键向量的点乘结果,将该点乘结果作为待处理特征与其它特征之间的相关度,并对相关度进行预设处理。

在本实施例中,上述执行主体可以确定上述查询向量和待处理特征以外的其它特征的键向量之间的点乘结果,该点乘结果可以用于指示该向量与上述其它特征之间的相关度,因而可以将该点乘结果作为该向量与上述其它特征之间的相关度。点乘结果越大,则相关度越大。此外,上述执行主体还可以对该相关度进行预设处理,得到预设处理结果。

在实践中,预设处理可以包括归一化处理(例如采用softmax层进行归一化处理)。此外,预设处理还可以包括其它处理,比如对归一化的结果,除以该其它特征的键向量的维数的平方根。或者,预设处理还可以是输入预先训练的模型(比如深度神经网络),得到从该模型输出的预设处理结果。

步骤205,将预设处理结果与其它特征的值向量的乘积,确定为待处理特征关于其它特征的目标特征。

在本实施例中,上述执行主体可以确定预设处理与上述其它特征的值向量之间的乘积,并将该乘积作为与待处理特征和上述其它特征两者对应的目标特征。待处理特征与每个其它特征都可以生成一个目标特征。而多头自注意力网络中的每个自注意力网络,都可以对待处理特征生成目标特征。

步骤206,确定待处理特征关于各个其它特征的目标特征之和。

在本实施例中,上述执行主体可以在每个自注意力网络中,生成待处理特征与每个其它特征之间的目标特征,并且,确定待处理特征的目标特征之和。

步骤207,基于多头自注意力网络得到的和确定表情类别。

在本实施例中,待处理特征对应一个和,在多头自注意力网络中的每个自注意力网络中各个图像位置的各个特征则对应多个和。上述执行主体可以对各个和进行识别,从而得到表情类别。在实践中,得到的表情类别可以采用表情类别标签的形式存在。

在实践中,上述执行主体可以采用各种方式确定表情类别。比如,上述执行主体可以通过多头自注意力网络中的分类层,确定表情类别。还可以将各个和输入在先训练的模型(比如深度神经网络),从而得到该模型输出的表情类别。

本公开的上述实施例提供的方法中,图像位置的特征之间的相关度表示不同图像位置的特征之间的联系。因而,本公开实施例可以不再止步于孤立地确定每个图像位置的特征,而是建立了不同位置的特征之间的联系,从而增强了表情的识别准确度。

继续参见图3,图3是根据本实施例的脸部表情识别方法的应用场景的一个示意图。在图3的应用场景中,执行主体301获取脸部图像中各个图像位置的特征。执行主体301将各个图像位置的特征中的待处理特征302,通过表情识别模型的多头自注意力网络执行如下步骤:生成待处理特征302的查询向量、键向量和值向量。执行主体301确定查询向量和待处理特征302以外的其它特征的键向量的点乘结果,将该点乘结果作为待处理特征302与其它特征之间的相关度303,并对相关度303进行预设处理。执行主体301将预设处理结果304与其它特征的值向量的乘积,确定为待处理特征302相对于其它特征的目标特征。执行主体301确定待处理特征302相对于各个其它特征的目标特征之和305。执行主体301基于多头自注意力网络得到的和确定表情类别306。

进一步参考图4,其示出了脸部表情识别方法的又一个实施例的流程400。该流程400中,表情识别模型还包括掩膜生成网络,该流程包括以下步骤:

步骤401,获取脸部图像,对脸部图像进行卷积处理,得到初始特征图。

在本实施例中,脸部表情识别方法运行于其上的执行主体(例如图1所示的服务器或终端设备)可以获取脸部图像,并对该脸部图像进行卷积处理,卷积处理的结果是初始特征图。具体地,上述执行主体可以采用各种包括卷积层(比如级联的卷积层)的神经网络,进行卷积处理。比如,该卷积层可以是卷积神经网络、残差神经网络等等。

在实践中,初始特征图还可以对应多个通道,从而是三维数据。

步骤402,通过掩膜生成网络,对初始特征图生成掩膜特征图,其中,掩膜特征图中,亮度越大的位置的特征对脸部图像的表情类别的指示度越大。

在本实施例中,上述执行主体可以通过掩膜生成网络,对初始特征图生成掩膜特征图。具体地,上述执行主体可以将初始特征图输入掩膜生成网络,并得到从该掩膜生成网络输出的掩膜特征图。

掩膜生成网络是经过训练的深度神经网络,可以通过初始特征图预测出图像的掩膜特征图。掩膜特征图中每个位置都存在对应的亮度。亮度不同的位置的特征对于表情类别的指示度也即重要性不同。位置的亮度越大,则该位置越能体现脸部图像为何种表情类别。

掩膜特征图中的位置可以包括一个像素点或者多个像素点,该位置可以对应上述的一个图像位置所包含的信息。在实践中,掩膜特征图可以是二维特征,比如可以是经过归一化得到的。具体地,掩膜特征图中的亮度都可以在0-1的区间里。

步骤403,根据掩膜特征图,生成脸部图像中各个图像位置的特征。

在本实施例中,上述执行主体可以根据掩膜特征图,生成脸部图像中各个图像位置的特征。在实践中,上述执行主体可以采用各种方式根据掩膜特征图,生成脸部图像中各个图像位置的特征。比如上述执行主体可以获取预设的模型(比如经过训练的深度学习模型),并将掩膜特征图输入该模型,从而得到该模型输出的特征。该模型可以用于通过掩膜特征图预测图像位置的特征。

步骤404,将各个图像位置的特征中的待处理特征,通过表情识别模型的多头自注意力网络执行如下步骤。

步骤405,生成待处理特征的查询向量、键向量和值向量。

步骤406,确定查询向量和待处理特征以外的其它特征的键向量的点乘结果,将该点乘结果作为待处理特征与其它特征之间的相关度,并对相关度进行预设处理。

步骤407,将预设处理结果与其它特征的值向量的乘积,确定为待处理特征相对于其它特征的目标特征。

步骤408,确定待处理特征相对于各个其它特征的目标特征之和。

步骤409,基于多头自注意力网络得到的和确定表情类别。

需要说明的是,步骤404-步骤409的过程与步骤202-步骤207的过程相同或相似,在此不再赘述。

本实施例可以通过生成掩膜,提高获取特征的准确度,进而有助于提高表情识别的准确度。

在本实施例的一些可选的实现方式中,掩膜生成网络包括并行的多个掩膜生成网络;通过掩膜生成网络,对初始特征图生成掩膜特征图,包括:通过多个掩膜生成网络,对初始特征图生成多个掩膜特征图;以及根据掩膜特征图,生成脸部图像中各个图像位置的特征,包括:将多个掩膜特征图中各个掩膜特征图的亮度最大的位置的特征,集中为一个新的掩膜特征图;将该新的掩膜特征图与初始特征图进行融合,并提取出融合结果中各个位置的特征,作为脸部图像中各个图像位置的特征。

在这些可选的实现方式中,上述执行主体可以采用并行的多个掩膜生成网络,对初始特征图生成多个掩膜特征图。掩膜特征图的数量与掩膜生成网络的数量可以是一致的。

并且,上述执行主体还可以取每个掩膜特征图中亮度最大的位置的特征,并将多个掩膜特征图分别对应的亮度最大的位置的特征集中为一个特征图,也即一个新的掩膜特征图。上述执行主体还可以将新的掩膜特征图与初始特征图进行融合,并提取出融合结果中各个位置的特征。这里的位置可以与脸部图像中的图像位置相对应。上述新的掩膜特征图的尺寸与原有的掩膜特征图的尺寸可以是一致的。

在实践中,融合可以是采用各种方式。举例来说,可以确定乘积,此外,也可以进行拼接。

这些实现方式可以集中每个掩膜特征图中最能指示表情类别的特征,从而提高了确定表情类别的准确度。

可选地,表情识别模型的训练结构包括第一丢弃层;在表情识别模型的训练过程的前向传播中,上述通过多个掩膜生成网络,对初始特征图生成多个掩膜特征图,可以包括:通过多个掩膜生成网络中的每个掩膜生成网络,对初始特征图确定该掩膜生成网络对应的掩膜特征图;通过第一丢弃层,在所确定的掩膜特征图中随机选取出掩膜特征图,将该掩膜特征图的亮度修改为第一预设值,得到包括亮度修改后的掩膜特征图的多个掩膜特征图。

在这些可选的实现方式中,从每个掩膜生成网络中,可以输出一个掩膜特征图。上述执行主体通过第一丢弃层,可以实现随机将掩膜特征图(比如一个掩膜特征图)的亮度修改为第一预设值,得到亮度修改后的掩膜特征图。这样,多个掩膜特征图就包括亮度修改后的掩膜特征图。在实践中,上述第一预设值可以是各种值,比如0。

第一丢弃层可以实现随机将掩膜特征图的亮度修改为第一预设值。第一丢弃层可以在表情识别模型用于训练的训练结构中,而不存在于其用于预测的预测结构中。这里的丢弃指丢弃原有的数值。

上述执行主体可以对掩膜特征图的亮度重新设置为第一预设值,从而可以在训练的过程中,加强对该位置以外的其它位置的训练,提高了训练后的表情识别模型的准确度。

在本公开的任一实施例一些可选的实现方式中,表情识别模型的训练结构中,多头自注意力网络包括第二丢弃层;在表情识别模型的训练过程的前向传播中,各个特征的和的确定步骤,包括:在多头自注意力网络中,随机选取出一个自注意力网络,将该自注意力网络中各个特征的和修改为第二预设值,得到从第二丢弃层输出的、各个特征的和。

在这些可选的实现方式中,上述执行主体或者其它电子设备可以通过第二丢弃层,随机将多头自注意力网络中的一个自注意力网络中的各个特征的上述和,修改为第二预设值。因此,从第二丢弃层输出的各个特征的上述和,是经过修改。第二预设值可以是各种值,比如0。

具体地,第二丢弃层可以实现随机将自注意力网络中的各个特征的上述和修改为第二预设值。

在这些可选的实现方式中,上述执行主体可以在训练的过程中,将由一个自注意力网络得到的各个特征的上述和重新设置为0,从而可以提高其它自注意力网络生成相关度乃至上述和的准确度。

在本公开的任一实施例一些可选的实现方式中,上述基于多头自注意力网络得到的和确定表情类别,包括:对多头自注意力网络得到的各个特征的和,与从第二丢弃层输出的、各个特征的和,进而加和处理,得到加和处理结果;通过感知机层,对加和处理结果确定表情类别,其中,感知机层包括多层感知机。

在这些可选的实现方式中,上述执行主体可以首先对多头注意力网络得到的和,以及第二丢弃层输出的和进行加和处理,并将加和处理结果输入感知机层,从而得到该感知机层输出的表情类别。在实践中,该感知机层可以是多层感知机。加和处理不仅可以包括加和,还可以包括归一化,也即对加和的结果进行归一化,并将该归一化的结果作为加和处理结果,

具体地,上述执行主体可以对多头自注意力网络得到的各个特征的和,与第二丢弃层的结果确定和,并对该和进行归一化,得到归一化结果。再通过感知机层对归一化结果进行处理,得到感知机层的输出。之后,上述执行主体还可以对感知机层的输出和上述归一化结果确定和,并再次进行归一化。

此外,上述执行主体可以采用分类头也即全连接层进行进一步的处理,比如对感知机层的处理结果或者上述再次归一化的结果进行进一步的处理,从而得到表情类型。

这些实现方式可以通过感知机层,提高表情分类的准确度。

如图5所示,图中示出了利用表情识别模型对脸部图像处理的过程。脸部图像经过卷积神经网络,生成初始特征图X。之后,上述执行主体将上述X输入多个掩膜生成网络,得到多个掩膜生成网络分别输出的掩膜特征图(M

进一步参考图6,作为对上述各图所示方法的实现,本公开提供了一种脸部表情识别装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,除下面所记载的特征外,该装置实施例还可以包括与图2所示的方法实施例相同或相应的特征或效果。该装置具体可以应用于各种电子设备中。

如图6所示,本实施例的脸部表情识别装置600包括:获取单元601、执行单元602、生成单元603、相关度确定单元604和目标确定单元605、和确定单元606和类别确定单元607。其中,获取单元601,被配置成获取脸部图像中各个图像位置的特征;执行单元602,被配置成将各个图像位置的特征中的待处理特征,通过表情识别模型的多头自注意力网络执行如下步骤:生成单元603,被配置成生成待处理特征的查询向量、键向量和值向量;相关度确定单元604,被配置成确定查询向量和待处理特征以外的其它特征的键向量的点乘结果,将该点乘结果作为待处理特征与其它特征之间的相关度,并对相关度进行预设处理;目标确定单元605,被配置成将预设处理结果与其它特征的值向量的乘积,确定为待处理特征相对于其它特征的目标特征;和确定单元606,被配置成确定待处理特征相对于各个其它特征的目标特征之和;类别确定单元607,被配置成基于多头自注意力网络得到的和确定表情类别。

在本实施例中,脸部表情识别装置600的获取单元601、执行单元602、生成单元603、相关度确定单元604和目标确定单元605、和确定单元606和类别确定单元607的具体处理及其所带来的技术效果可分别参考图2对应实施例中步骤201-步骤207的相关说明,在此不再赘述。

在本实施例的一些可选的实现方式中,表情识别模型还包括掩膜生成网络;获取单元,进一步被配置成按照如下方式执行获取脸部图像中各个图像位置的特征:获取脸部图像,对脸部图像进行卷积处理,得到初始特征图;通过掩膜生成网络,对初始特征图生成掩膜特征图,其中,掩膜特征图中,亮度越大的位置的特征对脸部图像的表情类别的指示度越大;根据掩膜特征图,生成脸部图像中各个图像位置的特征。

在本实施例的一些可选的实现方式中,掩膜生成网络包括并行的多个掩膜生成网络;获取单元,进一步被配置成按照如下方式执行通过掩膜生成网络,对初始特征图生成掩膜特征图:通过多个掩膜生成网络,对初始特征图生成多个掩膜特征图;以及获取单元,进一步被配置成按照如下方式执行根据掩膜特征图,生成脸部图像中各个图像位置的特征:将多个掩膜特征图中各个掩膜特征图的亮度最大的位置的特征,集中为一个新的掩膜特征图;将该新的掩膜特征图与初始特征图进行融合,并提取出融合结果中各个位置的特征,作为脸部图像中各个图像位置的特征。

在本实施例的一些可选的实现方式中,表情识别模型的训练结构包括第一丢弃层;在表情识别模型的训练过程的前向传播中,获取单元,进一步被配置成按照如下方式执行通过多个掩膜生成网络,对初始特征图生成多个掩膜特征图:通过多个掩膜生成网络中的每个掩膜生成网络,对初始特征图确定该掩膜生成网络对应的掩膜特征图;通过第一丢弃层,在所确定的掩膜特征图中随机选取出掩膜特征图,将该掩膜特征图的亮度修改为第一预设值,得到包括亮度修改后的掩膜特征图的多个掩膜特征图。

在本实施例的一些可选的实现方式中,表情识别模型的训练结构中,多头自注意力网络包括第二丢弃层;在表情识别模型的训练过程的前向传播中,各个特征的和的确定步骤,包括:通过第二丢弃层,在多头自注意力网络中,随机选取出一个自注意力网络,将该自注意力网络中各个特征的和修改为第二预设值,得到从第二丢弃层输出的、各个特征的和。

在本实施例的一些可选的实现方式中,输出单元,进一步被配置成按照如下方式执行基于多头自注意力网络得到的和确定表情类别:对多头自注意力网络得到的各个特征的和,与从第二丢弃层输出的、各个特征的和,进而加和处理,得到加和处理结果;通过感知机层,对加和处理结果确定表情类别,其中,感知机层包括多层感知机。

根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。

如图7所示,是根据本公开实施例的脸部表情识别方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图7所示,该电子设备包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器701为例。

存储器702即为本公开所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本公开所提供的脸部表情识别方法。本公开的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本公开所提供的脸部表情识别方法。

存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本公开实施例中的脸部表情识别方法对应的程序指令/模块(例如,附图6所示的获取单元601、执行单元602、生成单元603、相关度确定单元604和目标确定单元605、和确定单元606和类别确定单元607)。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的脸部表情识别方法。

存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据脸部表情识别电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至脸部表情识别电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

脸部表情识别方法的电子设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图7中以通过总线连接为例。

输入装置703可接收输入的数字或字符信息,以及产生与脸部表情识别电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。

此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、执行单元、生成单元、相关度确定单元和目标确定单元、和确定单元和类别确定单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,生成单元还可以被描述为“生成待处理特征的生成查询向量、键向量和值向量的单元”。

作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:获取脸部图像中各个图像位置的特征,并对于各个图像位置的特征中的特征,通过表情识别模型的多头自注意力网络执行如下步骤:获取脸部图像中各个图像位置的特征;将各个图像位置的特征中的待处理特征,通过表情识别模型的多头自注意力网络执行如下步骤:生成待处理特征的查询向量、键向量和值向量;确定查询向量和待处理特征以外的其它特征的键向量的点乘结果,将该点乘结果作为待处理特征与其它特征之间的相关度,并对相关度进行预设处理;将预设处理结果与其它特征的值向量的乘积,确定为待处理特征相对于其它特征的目标特征;确定待处理特征相对于各个其它特征的目标特征之和;基于多头自注意力网络得到的和确定表情类别。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

相关技术
  • 脸部表情识别方法和装置
  • 一种融合脸部表情和语音的驾驶员情感实时识别方法
技术分类

06120113269553