识别对象和面部表情的方法以及训练面部表情的方法与流程

文档序号:18198326发布日期:2019-07-17 06:00阅读:245来源:国知局
识别对象和面部表情的方法以及训练面部表情的方法与流程

下面的描述涉及一种对面部表情的改变具有鲁棒性的识别对象和面部表情的技术。



背景技术:

为了试图解决将输入模式分类为预定组的问题,最近正在积极进行对尝试将人的有效模式识别方法应用于实际计算机的研究。该研究包括对通过由数学表达式对人类生物神经元的特性进行建模而获得的人工神经网络(ann)的研究。为了试图解决上述问题,ann采用模仿人类的学习能力的算法。ann使用该算法产生输入模式与输出模式之间的映射,产生映射的能力被表示为ann的学习能力。此外,ann具有基于训练结果响应于在训练中未使用的输入模式而产生相对正确的输出的泛化能力。



技术实现要素:

提供本发明内容以简化的形式介绍在以下具体实施方式中进一步描述的构思的选择。本发明内容既不意在标识所要求保护的主题的关键特征或必要特征,也不意在用于帮助确定要求保护的主题的范围。

在一个总体方面,一种基于讲话识别面部表情的方法包括:获取包括对象的对象图像;基于讲话模型从对象图像提取讲话图;基于面部表情模型从对象图像提取面部表情特征;基于讲话图和面部表情特征识别对象的面部表情。

识别面部表情的步骤可包括:基于讲话图减小与面部表情特征中的与讲话相关联的特征对应的值;基于讲话图增大与面部表情特征中的与讲话不相关联的特征对应的值。

提取讲话图的步骤可包括:通过使用讲话模型基于讲话与对象图像的每个区域之间的相关性水平确定权重来产生讲话图。

产生讲话图的步骤可包括:基于讲话模型将对象图像的目标区域的权重确定为响应于目标区域与讲话之间的相关性水平的增大而增大;基于讲话模型将目标区域的权重确定为响应于目标区域与讲话之间的相关性水平的减小而减小。

识别面部表情的步骤可包括:对讲话图进行反转;基于反转的讲话图和面部表情特征来识别所述面部表情。

对讲话图进行反转的步骤可包括:通过从预定最大值减去讲话图的值来对讲话图进行反转。

提取讲话图的步骤可包括:基于讲话模型提取指示对象图像的与对象的讲话对应的部分的讲话特征向量。提取面部表情特征的步骤可包括:基于面部表情模型提取指示对象图像的与面部表情对应的部分的面部表情特征向量。

识别面部表情的步骤可包括:通过对讲话特征向量进行反转来产生反转的向量;通过将反转的向量施加到面部表情特征向量来产生目标向量;基于目标向量辨识所述面部表情。

辨识所述面部表情的步骤可包括:从目标向量确定多个面部表情标签之中的与所述面部表情对应的面部表情标签。

辨识所述面部表情的步骤可包括:通过对目标向量进行归一化来产生归一化向量;基于归一化向量辨识所述面部表情。

识别面部表情的步骤可包括:从面部表情的识别排除对象的声音信号。

获取对象图像的步骤可包括:获取输入图像,输入图像与对象相关联并包括连续的多个帧图像;顺序地选择所述多个帧图像中的一个作为对象图像。识别面部表情的步骤可包括:针对所述多个帧图像中的每一个顺序地识别对象的面部表情。

所述方法还可包括获取与对象相关联的声音信号。提取讲话图的步骤可包括进一步基于声音信号从对象图像提取讲话图。

在另一总体方面,一种基于讲话识别对象的方法,包括:获取包括对象的对象图像;基于讲话模型从对象图像提取讲话图;基于对象模型从对象图像提取对象特征;基于讲话图和对象特征识别对象。

在另一总体方面,一种基于讲话训练面部表情的方法包括:获取参考图像和参考面部表情;通过处理器基于面部表情模型和讲话模型训练面部表情模型的参数和讲话模型的参数,以响应于参考图像的输入而输出参考面部表情,面部表情模型用于从对象图像提取面部表情特征,讲话模型用于从对象图像提取讲话图。

获取参考图像和参考面部表情的步骤可包括:除了获取参考图像和参考面部表情之外,获取与参考图像对应的参考声音。训练参数的步骤可包括:从基于讲话模型从参考图像提取的讲话图恢复声音信息;通过使恢复的声音信息与参考声音之间的讲话损失最小化来训练讲话模型。

训练参数的步骤可包括:基于面部表情模型和讲话模型,通过使参考面部表情与从参考图像识别的面部表情之间的面部表情损失最小化来训练面部表情模型。

训练参数的步骤可包括:将基于讲话模型从参考图像提取的讲话图应用于基于面部表情模型从参考图像提取的面部表情特征;使基于应用了讲话图的面部表情特征确定的面部表情标签和与参考面部表情对应的标签之间的面部表情损失最小化。

应用讲话图的步骤可包括:对提取的讲话图进行反转,并将反转的讲话图反映到提取的面部表情特征。

从下面的具体实施方式、附图和权利要求,其他特征和方面将是清楚的。

附图说明

图1示出模型的示例。

图2示出基于讲话的面部表情的改变的示例。

图3a是示出基于讲话识别面部表情的方法的示例的流程图。

图3b是示出基于讲话识别对象的方法的示例的流程图。

图4示出基于讲话模型和面部表情模型识别面部表情的处理的示例。

图5a示出基于讲话特征和面部表情特征的面部表情的识别的示例。

图5b示出基于对象特征和讲话特征的面部表情的识别的示例。

图6a示出基于讲话的面部表情识别设备的示例。

图6b示出基于讲话的对象识别设备的示例。

图7示出基于讲话模型和面部表情模型输出面部表情识别结果的处理的示例。

图8是示出基于讲话的面部表情训练方法的示例的流程图。

图9示出基于讲话的面部表情训练设备的示例。

图10示出训练面部表情模型和讲话模型的处理的示例。

图11和图12示出面部表情识别设备的示例。

贯穿附图和具体实施方式,除非另外描述或提供,否则相同的附图参考标号将被理解为表示相同的元件、特征和结构。附图可不按比例绘制,并且为了清楚、说明和方便,附图中元件的相对大小、比例和描述可被夸大。

具体实施方式

提供下面的详细描述,以帮助读者获得对在此描述的方法、设备和/或系统的全面理解。然而,在理解本申请的公开之后,在此描述的方法、设备和/或系统的各种改变、修改和等同物将是清楚的。例如,在此描述的操作的顺序仅是示例,并不限于在此阐述的顺序,而是除了必须以特定的顺序发生的操作之外,可如在理解本申请的公开之后清楚地那样改变。此外,为了更加清楚和简明,可省略对本领域已知的特征的描述。

在此描述的特征可以不同形式实现,并且不应被解释为受限于在此描述的示例。相反,已经提供在此描述的示例,仅用于示出实现在此描述的方法、设备和/或系统的许多可能方式中的一些方式,这在理解本申请的公开之后将是清楚的。

下面的结构或功能描述是仅用于描述示例的示例,示例的范围不限于本说明书中提供的描述。

如在此所使用的,除非上下文明确另有指示,否则单数形式也意在包括复数形式。还应理解,当在本说明书中使用术语“包括”和/或“包含”时,指定存在叙述的特征、整体、步骤、操作、元件、组件或它们的组合,但不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、组件和/或它们的组。

除非这里另有定义,否则在此使用的所有术语(包括技术术语和科学术语)具有与通常理解的含义相同的含义。除非这里另有定义,否则在通用词典中定义的术语应被解释为具有与相关领域的上下文含义匹配的含义,并且将不被解释为理想化或过于正式的含义。

在下文中,将参照附图详细描述示例,并且附图中的相同的参考标号始终表示相同的元件。

图1示出模型的示例。

例如,面部表情模型、对象模型和讲话模型中的每一个可包括神经网络100。用于使用神经网络100基于讲话来识别面部表情的方法和设备(在下文中,称为“面部表情识别设备”)被提供。此外,用于基于讲话训练神经网络100的方法和设备(在下文中,称为“面部表情训练设备”)被提供。在下面的描述中,识别包括验证和辨识。验证是确定输入数据是真还是假的操作,辨识是确定输入数据指示多个标签中的哪一个的操作。

在下文中,在描述面部表情的识别之前描述神经网络100的结构。

神经网络100包括多个层,多个层中的每个层包括多个节点。此外,神经网络100包括将包括在多个层中的一个层中的多个节点连接到包括在另一层中的节点的连接权重。例如,面部表情训练设备从存储在存储器中的内部数据库(db)获取神经网络100,或者经由通信器从外部服务器接收神经网络100并获取神经网络100。

例如,神经网络100是使用经由边连接的大量的人工神经元来模仿生物系统的计算能力的识别模型。例如,神经网络100通过软件、硬件或它们的组合来实现。神经网络100被称为“人工神经网络(ann)”。

神经网络100使用具有生物神经元的简化功能的人工神经元。人工神经元被称为“节点”。人工神经元经由具有连接权重的边彼此连接。连接权重是边的预定值,并被称为“突触权重”或“连接强度”。

神经网络100包括多个层。例如,神经网络100包括输入层110、隐藏层120和输出层130。输入层110接收用于执行训练或识别的输入,并将输入传送到隐藏层120。输出层130基于从隐藏层120接收的信号产生神经网络100的输出。隐藏层120位于输入层110与输出层130之间,并将经由输入层110接收的训练数据的训练输入改变为相对更容易预测的值。

输入层110、隐藏层120和输出层130中的每一个包括多个节点。包括在输入层110中的节点被称为“输入节点”,包括在隐藏层120中的节点被称为“隐藏节点”,包括在输出层130中的节点被称为“输出节点”。

包括在输入层110中的输入节点和包括在隐藏层120中的隐藏节点经由具有连接权重的边彼此连接。此外,包括在隐藏层120中的隐藏节点和包括在输出层130中的输出节点经由具有连接权重的边彼此连接。

尽管未示出,但是神经网络包括多个隐藏层。包括多个隐藏层的神经网络被称为“深度神经网络(dnn)”或者n-层神经网络。dnn或n-层神经网络可对应于卷积神经网络(cnn)、递归神经网络(rnn)、深度信念网络、完全连接网络、双向神经网络或受限的玻耳兹曼(boltzman)机,或者可包括分别具有完全、卷积、递归和/或双向连接的不同的或重叠的神经网络部分。例如,神经网络100可被实现为cnn,但不限于此。在图1中,与神经网络100的示例对应的cnn的一些卷积层被示出,但是除了示出的卷积层之外,cnn还可包括池化层或完全连接层。dnn的训练被称为“深度学习”。例如,当假设隐藏层120包括第一隐藏层、第二隐藏层和第三隐藏层时,包括在第一隐藏层中的隐藏节点的输出连接到包括在第二隐藏层中的隐藏节点。此外,包括在第二隐藏层中的隐藏节点的输出连接到包括在第三隐藏层中的隐藏节点。

例如,面部表情训练设备和面部表情识别设备经由具有连接权重的边将包括在先前隐藏层中的先前隐藏节点的输出输入到每个当前隐藏层,并基于激活函数和通过将连接权重施加到先前隐藏节点的输出而获得的值来产生包括在每个当前隐藏层中的当前隐藏节点的输出。在一个示例中,为了将输出发送到下一隐藏节点,激活函数的结果需要超过当前隐藏节点的阈值。在这个示例中,节点在通过输入向量达到预定阈值激活强度之前不将信号发送到下一节点,并保持在非激活状态。

面部表情训练设备通过监督学习训练神经网络100。例如,面部表情训练设备通过软件模块、硬件模块或它们的组合来实现。监督学习是这样的方案:将训练数据的训练输入以及与训练输入对应的训练输出输入到神经网络100并更新边的连接权重,使得与训练输出对应的输出数据被输出。训练数据是包括一对训练输入和训练输出的数据。尽管神经网络100的结构被表示为图1中的节点结构,但是示例不限于节点结构。例如,各种数据结构可用于将神经网络存储在储存器存储装置中。

面部表情训练设备基于反向传播到神经网络的误差并基于节点的输出值,通过梯度下降方案来确定包括在神经网络中的节点的参数。例如,面部表情训练设备通过误差反向传播学习来更新节点之间的连接权重。误差反向传播学习是这样的方案:通过给定训练数据的前向计算来估计误差,将估计的误差从输出层反向传播到隐藏层和输入层,并更新连接权重以减小误差。神经网络100按输入层110、隐藏层120和输出层130的顺序被处理,然而,误差反向传播学习中的连接权重按输出层130、隐藏层120和输入层110的顺序被更新。例如,至少一个处理器使用被配置为存储层或计算数据的缓冲存储器按期望的顺序处理神经网络。

面部表情训练设备定义用于测量当前设置的连接权重与最优值的接近程度的目标函数,基于目标函数的结果继续改变连接权重,并重复执行训练。例如,目标函数是用于计算神经网络100中的将被输出的期望值与基于训练数据的训练输入的实际输出值之间的损失的损失函数。面部表情训练设备通过减小损失函数的值来更新连接权重。

图2示出基于讲话的面部表情的改变的示例。

在本公开中,讲话是作为对象的说话的行动。例如,对象是人。

当在对象说话时通过捕捉对象获取多个帧图像时,多个帧图像中的每一个表示对象说话的一系列过程的一时状态(temporalaspect)。因此,说话对象的内部状态(例如,情绪)保持不变,然而,对象的外部状态(例如,整体面容)被识别为改变。

例如,图2示出在对象说话的过程中内部状态210与外部状态220之间的差别。声音信号240基于对象的讲话被产生,与声音信号240对应并与对象相关联的多个帧图像230被获取。内部状态210是从讲话的开始到讲话的结束的中性状态。外部状态220从讲话的开始到讲话的结束表现为被改变成快乐、惊讶和蔑视。

在下文中,描述用于在对象说话时基于讲话准确地识别面部表情的方法和设备。

图3a是示出基于讲话识别面部表情的方法的示例的流程图。图3a中的操作可以以所示的顺序和方式来执行,但是在不脱离所描述的说明性示例的精神和范围的情况下,一些操作的顺序可被改变或者一些操作可被省略。图3a中所示的许多操作可并行或同时执行。图3a的一个或多个块以及块的组合可通过执行特定功能的基于专用硬件的计算机或者专用硬件和计算机指令的组合来实现。除了下面图3a的描述之外,图1至图2的描述也适用于图3a,通过引用包含于此。因此,这里可不重复以上描述。

参照图3a,在操作310中,面部表情识别设备获取包括对象的对象图像。例如,如上所述,对象是人。例如,对象图像是包括对象的至少一部分的图像。例如,对象图像是包括作为人的至少一部分的人的面部的图像。面部表情识别设备通过使用相机捕捉对象的至少一部分来获取对象图像。此外,面部表情识别设备获取与对象相关联并包括多个连续帧图像的输入图像。面部表情识别设备顺序地选择多个帧图像中的一个作为对象图像。

在操作320中,面部表情识别设备基于讲话模型从对象图像提取讲话图。面部表情识别设备的处理器通过将对象图像输入到讲话模型来计算讲话图。例如,讲话图是指示对象图像中的与讲话相关联的区域的信息。例如,讲话图包括“m”个水平元素和“n”个垂直元素,分配给每个元素的值指示与讲话的相关性水平。在这个示例中,“m”和“n”是整数。对象图像也包括“m”个水平像素和“n”个垂直像素。讲话图的元素对应于对象图像的像素。例如,分配给与对象图像的任意像素对应的元素的值指示像素与讲话之间的相关性水平。对象图像的分辨率和包括在对象图像中的像素的数量可与讲话图的分辨率和讲话图中的元素的数量相同,然而,示例不限于此。讲话模型是被训练为响应于参考图像的输入而输出与参考声音对应的讲话图的模型,并且例如,讲话模型具有包括神经网络的机器学习结构。

在操作330中,面部表情识别设备基于面部表情模型从对象图像提取面部表情特征。面部表情识别设备的处理器将对象图像输入到面部表情模型并提取面部表情特征。面部表情特征是与对象的面部表情相关联的特征。面部表情模型是被训练为响应于参考图像的输入而输出参考面部表情的模型,并且例如,面部表情模型具有包括神经网络的机器学习结构。

在操作340,面部表情识别设备基于面部表情特征和讲话图识别对象的面部表情。例如,面部表情识别设备对讲话图进行反转,将反转的讲话图反映到面部表情特征,产生目标向量,并基于产生的目标向量辨识对象的面部表情。例如,响应于多个帧图像被获取,面部表情识别设备针对多个帧图像中的每一个顺序地识别对象的面部表情。

此外,面部表情识别设备从面部表情的识别排除对象的声音信号。即使当声音信号被排除时,面部表情识别设备也基于讲话模型提取讲话图。

然而,示例不限于此,面部表情识别设备获取与对象相关联的声音信号。例如,面部表情识别设备基于参考图像和声音信号从对象图像提取讲话图。

图3b是示出基于讲话识别对象的方法的示例的流程图。图3b中的操作可以以所示的顺序和方式来执行,但是在不脱离所描述的说明性示例的精神和范围的情况下,一些操作的顺序可被改变或者一些操作可被省略。图3b中所示的许多操作可并行或同时执行。图3b的一个或多个块以及块的组合可通过执行特定功能的基于专用硬件的计算机或者专用硬件和计算机指令的组合来实现。除了下面图3b的描述之外,图1至图3a的描述也适用于图3b,通过引用包含于此。因此,这里可不重复以上描述。

尽管已经参照图3a描述了基于讲话识别面部表情的方法,但是示例不限于此。对象识别设备基于讲话来识别对象。

参照图3b,在操作350中,对象识别设备获取包括对象的对象图像。例如,如上所述,对象是人。例如,对象图像是包括对象的至少一部分的图像。例如,对象图像是包括作为人的至少一部分的人的面部的图像。

在操作360中,对象识别设备基于讲话模型从对象图像提取讲话图。对象识别设备的处理器将对象图像输入到讲话模型以计算讲话图。

在操作370中,对象识别设备基于对象模型从对象图像提取对象特征。对象识别设备的处理器将对象图像输入到对象模型并提取对象特征。例如,对象特征是与对象相关联并通过使对象抽象化而获得的特征。例如,当对象是人时,并且当对象图像包括作为人的至少一部分的面部时,对象特征是与面部相关联的特征。对象模型是被训练为响应于参考图像的输入而输出参考对象的模型,并且例如,对象模型具有包括神经网络的机器学习结构。

在操作380中,对象识别设备基于对象特征和讲话图来识别对象。

在一个示例中,对象识别设备对讲话图进行反转,将反转的讲话图反映到对象特征,产生目标向量,并基于目标向量辨识对象。对象识别设备从目标向量确定多个对象标签之中的与对象对应的对象标签。例如,对象标签指示对象的身份。

在另一示例中,对象识别设备基于对象模型从第一对象图像提取第一对象特征。对象识别设备将反转的讲话图反映到第一对象特征并产生第一目标向量。此外,对象识别设备基于对象模型从第二对象图像提取第二对象特征。对象识别设备将反转的讲话图反映到第二对象特征并产生第二目标向量。对象识别设备基于第一目标向量和第二目标向量来验证对象。例如,第一对象图像是将被验证的目标图像,第二对象图像是用作验证的标准的登记图像,然而,示例不限于此。

对象识别设备基于第一目标向量与第二目标向量之间的比较来验证第一对象图像和第二对象图像是否指示同一对象。对象识别设备计算第一目标向量与第二目标向量之间的相似度分数。当相似性分数超过阈值相似度时,对象识别设备确定第一目标向量和第二目标向量相似。当第一目标向量和第二目标向量被确定为相似时,对象识别设备确定第一对象图像和第二对象图像指示同一对象。例如,当登记图像的对象与目标图像的对象相同时,对象识别设备确定与目标图像的对象对应的用户的认证是有效的。例如,对象识别设备被实现在智能装置或认证装置中。在这个示例中,对象识别设备通过执行上述操作来确定登记图像的对象与目标图像的对象相同,并响应于有效认证而允许访问智能装置。

图4示出基于讲话模型和面部表情模型识别面部表情的处理的示例。

面部表情识别设备获取对象图像410。如上所述,面部表情识别设备的相机通过捕捉对象来产生对象图像410。面部表情识别设备从对象图像410提取面部表情特征。

面部表情识别设备还从对象图像410提取讲话图420。包括在讲话图420中的每个元素与包括在对象图像410中的一个像素对应,并具有与该像素和讲话之间的相关性水平对应的值。例如,面部表情识别设备使用讲话模型基于讲话与对象图像410的每个区域之间的相关性水平确定权重以产生讲话图420。例如,图4的讲话图420是由指示与讲话的相关性水平的强度值表示的图。

讲话图420包括与包括在对象图像410中的像素的数量相同数量的元素,并且元素分别对应于像素。强度值被分配给包括在讲话图420中的元素。在讲话图420中,当分配给元素的强度值增大时,元素的亮度增大。因此,讲话图420的相对亮的部分对应于与讲话的相对高的相关性程度。此外,讲话图420由讲话特征向量表示。

面部表情识别设备基于讲话模型将对象图像410的目标区域的权重确定为响应于目标区域与讲话之间的相关性水平的增大而增大。此外,面部表情识别设备基于讲话模型将对象图像410的目标区域的权重确定响应于目标区域与讲话之间的相关性水平的减小而减小。例如,目标区域包括对象图像410中的与讲话相关联的多个像素。例如,面部表情识别设备将与关于目标像素和讲话之间的相关性的信息成比例地确定的范围内的值(例如,“0”与“1”之间的值)分配给与目标像素对应的元素。

面部表情识别设备对讲话图420进行反转以产生反转的讲话图430。面部表情识别设备从预定最大值(例如,“1”)减去讲话图420的值来对讲话图420进行反转。例如,最大值是针对将要分配给讲话图420中的每个元素的权重的预定范围内的最大值。例如,当“0”到“1”的范围被确定时,值“1”被确定为最大值。然而,范围不限于此,并根据设计而改变。

包括在反转的讲话图430中的每个元素具有当与讲话的相关性水平减小时而增大的值。例如,当人说话时,面部中的嘴部周围的部分改变,因此,对象图像410中的包括嘴部的区域具有与讲话的相对高的相关性水平。因此,与嘴部周围的部分相关联的元素在讲话图420中具有相对高的权重,然而,与嘴部周围的部分相关联的元素具有比与反转的讲话图430中的眼睛相关联的元素的权重更低的权重。反转的讲话图430的相对亮的部分对应于与讲话的相对低的相关性程度。例如,反转的讲话图430由反转的向量表示。

此外,面部表情识别设备基于反转的讲话图430和面部表情特征来识别对象的面部表情。

例如,面部表情识别设备将反转的讲话图430施加到从对象图像410提取的面部表情特征。面部表情识别设备通过将反转的向量施加到面部表情特征向量来产生目标向量440。面部表情识别设备将反转的讲话图430的权重乘以面部表情特征向量以产生目标向量440。权重表示与对象的面部表情对应的部分。例如,目标向量440是加权特征向量。然而,目标向量440的产生不限于此,并且例如,目标向量440基于包括作为变量的反转的讲话图430和面部表情特征向量的函数来产生。例如,当反转的讲话图430和面部表情特征向量具有相同的维度和相同数量的元素时,阿达玛(hadamard)乘积被使用。在这个示例中,目标向量440表示反转的讲话图430中的每个元素与面部表情特征向量的每个元素的乘积。

面部表情识别设备基于讲话图420减小与面部表情特征中的与讲话相关联的特征对应的值。面部表情识别设备对指示与讲话的相关性水平的讲话图420进行反转,并将反转的讲话图430应用于面部表情特征以减小对应于与讲话相关联的特征的值。例如,如图4中所示,与作为加权特征向量的目标向量440中的与嘴部相关联的区域443对应的面部表情特征不被强调(de-emphasize)。

面部表情识别设备基于讲话图420增大与面部表情特征中的与讲话不相关联的特征对应的值。面部表情识别设备对指示与讲话的相关性水平的讲话图420进行反转,并将反转的讲话图430应用于面部表情特征以增大对应于与讲话不相关联的特征的值。例如,如图4中所示,对应于目标向量440中的与眼睛相关联的区域441和区域442的面部表情特征被强调。

面部表情识别设备基于目标向量440辨识对象的面部表情。例如,面部表情识别设备从目标向量440确定多个面部表情标签之中的与对象的面部表情对应的面部表情标签450。

尽管上面已经参照图4描述了面部表情的识别,但是示例不限于此。以上针对图4描述的操作也适用于对象的识别。例如,对象识别设备使用对象模型而不是面部表情模型。在这个示例中,对象识别设备基于对象模型将反转的讲话图应用于从对象图像提取的对象特征。对象特征中的与讲话相关联的特征不被强调,对象特征中的与讲话不相关联的特征被强调。

图5a示出基于讲话特征和面部表情特征的面部表情的识别的示例。

参照图5a,面部表情识别设备包括图像获取器510、面部表情特征提取器530、讲话特征检测器540和面部表情识别器550。

如上所述,图像获取器510获取对象图像501。面部表情特征提取器530基于面部表情模型从对象图像501提取指示与对象的面部表情对应的部分的面部表情特征向量。讲话特征检测器540基于讲话模型从对象图像501提取指示与对象的讲话对应的部分的讲话特征向量。面部表情识别器550基于面部表情特征向量和讲话特征向量输出面部表情识别结果509。例如,面部表情识别结果509是指示对象的面部表情的标签。

例如,在本公开中,面部表情可以是表示情绪(诸如,愤怒、蔑视、厌恶、恐惧、快乐、悲伤、惊讶或中性(例如,缺乏情绪))的信息。此外,例如,面部表情可以是关于状态(诸如,困倦、专心、消极、积极、激励或平静)的信息。然而,面部表情的类型不限于此,并且不同的分类系统根据设计而被使用。例如,面部表情标签是指示如上所述分类的面部表情的类型中的一个的标签。

面部表情识别设备还可包括声音获取器520。声音获取器520获取响应于对象的讲话而产生的声音信号502。例如,当声音信号502被获取时,讲话特征检测器540基于对象图像501和声音信号502提取讲话特征向量。在这个示例中,面部表情识别器550基于面部表情特征向量和讲话特征向量输出面部表情识别结果509。

图5b示出基于对象特征和讲话特征的面部表情的识别的示例。

尽管已经主要参照图5a描述了面部表情的识别,但是示例不限于此。上面参照图5a描述的操作也适用于如图5b中所示的对象的识别。

例如,对象识别设备使用对象模型而不是面部表情模型。参照图5b,对象识别设备分别包括对象特征提取器531和对象识别器551,而不包括图5a的面部表情特征提取器530和面部表情识别器550。

对象特征提取器531基于对象模型从对象图像501提取对象特征向量。对象特征向量指示对象的抽象特征。对象识别器551基于对象特征向量和讲话特征向量输出对象识别结果508。例如,对象识别结果508是指示对象的身份的标签。

图6a示出面部表情识别设备600的示例。

参照图6a,面部表情识别设备600包括图像获取器630、处理器610和存储器620。

图像获取器630获取对象图像。例如,图像获取器630包括相机,并通过捕捉对象来获取包括对象的对象图像。

处理器610基于面部表情模型621和讲话模型622从对象图像识别对象的面部表情。例如,处理器610将对象图像输入到面部表情模型621并计算面部表情特征向量。此外,处理器610将对象图像输入到讲话模型622并计算讲话特征向量。处理器610通过将通过对讲话特征向量进行反转而产生的反转的向量施加到面部表情特征向量来产生目标向量。处理器610辨识与目标向量对应的面部表情。例如,处理器610确定与目标向量对应的面部表情标签。

存储器620存储面部表情模型621和讲话模型622。例如,面部表情模型621和讲话模型622是基于训练数据预先训练的模型。此外,例如,面部表情模型621和讲话模型622包括神经网络。

图6b示出基于讲话的对象识别设备690的示例。

尽管已经主要参照图6a描述了面部表情的识别,但是示例不限于此。例如,讲话模型也适用于对象的识别。在这个示例中,对象识别设备690使用对象模型623以及讲话模型622,而不是面部表情模型。

参照图6b,与图6a的面部表情识别设备600类似,对象识别设备690包括处理器610、存储器620和图像获取器630。存储器620存储讲话模型622以及对象模型623而不是面部表情模型621。然而,示例不限于此,存储器620存储面部表情模型621、讲话模型622和对象模型623中的所有模型。

处理器610基于对象模型623和讲话模型622从对象图像识别对象。例如,处理器610将对象图像输入到对象模型623并计算对象特征向量。此外,处理器610将对象图像输入到讲话模型622并计算讲话特征向量。处理器610通过将通过对讲话特征向量进行反转而产生的反转的向量施加到上述的对象特征向量来产生目标向量。处理器610辨识与目标向量对应的对象。例如,处理器610确定与目标向量对应的对象标签。

然而,示例不限于此,处理器610还基于目标向量验证对象。

图6a的剩余操作尽管为了便于描述而被省略,但是也适用于图6b的示例。

图7示出基于讲话模型和面部表情模型输出面部表情识别结果的处理的示例。

面部表情识别设备将对象图像701输入到面部表情模型710。面部表情识别设备基于面部表情模型710从对象图像701计算面部表情特征向量vext。例如,面部表情模型710由vext=fext(i;wext)表示,其中,i表示对象图像,wext表示作为面部表情模型的参数的连接权重。此外,fext表示通过基于连接权重wext(即,预先训练的面部表情模型的参数)对响应于对象图像i的输入而输出面部表情特征向量vext的模型进行建模而获得的函数。

此外,面部表情识别设备将对象图像701输入到讲话模型720。面部表情识别设备基于讲话模型720从对象图像701提取讲话特征向量vatt。例如,讲话模型720由vatt=fatt(i;watt)表示,其中,i表示对象图像,watt表示作为讲话模型的参数的连接权重。此外,fatt表示通过基于连接权重watt(即,预先训练的讲话模型的参数)对响应于对象图像i的输入而输出讲话特征向量vatt的模型进行建模而获得的函数。

面部表情识别设备将上述面部表情特征向量vext和上述讲话特征向量vatt输入到面部表情识别器730,并计算面部表情识别结果709。面部表情识别器730包括用于接收面部表情特征向量vext的第一层731以及用于接收讲话特征向量vatt的第二层732,并执行反转操作733、关注操作734、归一化操作735和识别操作736。

例如,面部表情识别设备将面部表情特征向量vext输入到第一层731。此外,面部表情识别设备将讲话特征向量vatt输入到第二层732。第一层731和第二层732均包括用于从面部表情模型710和语音模型720接收面部表情特征向量vext和讲话特征向量vatt的多个节点,并被配置为将接收到的向量传送到下一层。面部表情识别设备通过对讲话特征向量vatt执行反转操作733来产生反转的向量例如,反转操作733由下面的等式1表示。

[等式1]

在等式1中,反转的向量被表示为通过从预定最大值(例如,“1”)减去讲话特征向量vatt而获得的向量。在等式1中,讲话特征向量vatt的每个元素具有“0”与“1”之间的值,并且“1”被确定为最大值。

面部表情识别设备执行用于合并面部表情特征向量vext和反转的向量的关注操作734。为了合并两个特征向量,面部表情识别设备将反转的向量施加到面部表情特征向量vext。例如,面部表情识别设备通过将面部表情特征向量vext乘以反转的向量来产生目标向量v*。例如,关注操作734由下面的等式2表示。

[等式2]

面部表情识别设备执行用于对目标向量v*进行归一化的归一化操作735,以产生归一化的目标向量例如,归一化操作735由下面的等式3表示。

[等式3]

在等式3中,面部表情识别设备将目标向量v*与目标向量v*的最小值(min(v*))之间的差除以目标向量v*的最大值(max(v*))与目标向量v*的最小值之间的差,以对目标向量v*进行归一化。归一化的目标向量具有“0”与“1”之间的值。

面部表情识别设备基于归一化的目标向量执行识别操作736,以辨识对象的面部表情。例如,面部表情识别设备基于下面的等式4执行识别操作736。

[等式4]

其中,

例如,面部表情识别设备基于池化层执行识别操作736。在这个示例中,在等式4中,wrec表示池化层的连接权重。此外,c表示任意面部表情标签,y表示当前对象图像(例如,对象图像701)中的对象的面部表情。因此,面部表情识别设备基于等式4计算关于归一化的目标向量和连接权重wrec的面部表情y对应于面部表情标签c的概率p(y=c|i)。例如,概率p(y=c|i)是对象图像701对应于预定面部表情标签的概率。

因此,面部表情识别设备基于下面所示的等式5使用面部表情识别器730来确定概率p(y=c|i)。例如,面部表情识别结果709包括概率p(y=c|i)。

[等式5]

p(y=c|i)=p(y=c|vext;vatt;wtrc)

尽管已经主要参照图7描述了面部表情的识别,但是示例不限于此。例如,面部表情模型710被对象模型替换。在这个示例中,对象识别设备基于对象模型和讲话模型720识别对象。

图8是示出基于讲话的面部表情训练方法的示例的流程图。图8中的操作可以以所示的顺序和方式来执行,但是在不脱离所描述的说明性示例的精神和范围的情况下,一些操作的顺序可被改变或者一些操作可被省略。图8中所示的许多操作可并行或同时执行。图8的一个或多个块以及块的组合可通过执行特定功能的基于专用硬件的计算机或者专用硬件和计算机指令的组合来实现。除了下面图8的描述之外,图1至图7的描述也适用于图8,通过引用包含于此。因此,这里可不重复以上描述。

参照图8,在操作810中,面部表情训练设备获取参考图像和参考面部表情。例如,参考图像是为了训练而提供的包括对象的图像。例如,作为映射到参考图像的面部表情的参考面部表情是指示包括在参考图像中的对象的面部表情的标签。训练数据包括一对参考图像和参考面部表情。面部表情训练设备从存储器加载并获取训练数据。然而,示例不限于此,例如,面部表情训练设备从外部装置获取训练数据。此外,面部表情训练设备还获取与参考图像对应的参考声音。

在操作820中,面部表情训练设备使用面部表情训练设备的处理器基于讲话模型和面部表情模型来训练讲话模型的参数和面部表情模型的参数,以响应于参考图像的输入而输出参考面部表情。面部表情模型用于从对象图像提取面部表情特征,讲话模型用于从对象图像提取讲话图。例如,在训练期间,面部表情训练设备从参考图像提取训练讲话图和训练面部表情特征,基于训练讲话图和训练面部表情特征来计算训练面部表情标签,并训练面部表情模型以使训练面部表情标签与参考面部表情之间的面部表情损失最小化。此外,面部表情训练设备从训练讲话图恢复声音信息,并训练讲话模型以使恢复的声音信息与参考声音之间的讲话损失最小化。

下面进一步描述训练面部表情模型和讲话模型的示例。

图9示出面部表情训练设备900的示例。

参照图9,面部表情训练设备900包括处理器910和存储器920。

如上所述,处理器910获取训练数据923,并基于获取的训练数据923训练面部表情模型921和讲话模型922。

例如,处理器910训练讲话模型922,使得讲话模型922响应于参考图像的输入而输出与参考声音对应的讲话特征。在训练期间,处理器910基于讲话模型922从参考图像提取训练讲话特征,将训练讲话特征转换为声音信号的形式,并将声音信号与参考声音进行比较。处理器910通过更新讲话模型922的参数来训练讲话模型922,以使参考声音与从训练讲话特征恢复的训练语音之间的讲话损失最小化。

此外,处理器910训练面部表情模型921,使得面部表情模型921响应于参考图像的输入而输出与参考面部表情对应的面部表情标签。例如,处理器910基于面部表情模型921和讲话模型922,通过使参考面部表情与从参考图像识别的面部表情之间的面部表情损失最小化来训练面部表情模型921。在训练期间,处理器910基于面部表情模型921从参考图像提取训练面部表情特征,计算与训练面部表情特征对应的面部表情标签,并将面部表情标签与参考面部表情进行比较。处理器910通过更新表情模型921的参数来训练面部表情模型921,以使参考面部表情和与训练面部表情特征对应的面部表情标签之间的面部表情损失最小化。

面部表情模型921和讲话模型922被同时训练,然而,示例不限于此。例如,当讲话模型922被训练并且讲话模型922的参数被确定时,面部表情训练设备900训练面部表情模型921。

存储器920存储面部表情模型921和讲话模型922。此外,存储器920存储训练数据923。处理器910从存储器920加载训练数据923,并使用训练数据923用于训练操作。存储器920存储包括在面部表情模型921和讲话模型922的训练期间更新的参数的面部表情模型921和讲话模型922。

图10示出训练面部表情模型和讲话模型的处理的示例。

面部表情训练设备训练如上面图7中所述配置的面部表情模型1010和讲话模型1020。例如,面部表情训练设备在训练讲话模型1020之后训练面部表情模型1010。然而,示例不限于此,面部表情训练设备同时训练面部表情模型1010和讲话模型1020。面部表情训练设备基于包括一对参考图像1001和参考面部表情的训练数据来训练面部表情模型1010和讲话模型1020。例如,训练数据还包括参考声音。

例如,为了训练讲话模型1020,面部表情训练设备计算讲话损失1008。面部表情训练设备基于讲话模型1020从参考图像1001计算训练讲话特征。面部表情训练设备将训练讲话特征输入到面部表情识别器1030的第二层1032。面部表情训练设备通过解码操作1037从训练讲话特征恢复与训练讲话特征对应的训练声音。例如,训练声音是从在训练讲话模型1020期间临时计算的训练讲话特征恢复的声音。例如,解码操作1037由下面的等式6表示。

[等式6]

在等式6中,vatt表示训练讲话特征,wdec表示解码操作1037的参数,fdec表示通过对解码操作1037进行建模以使用参数wdec从训练讲话特征vatt恢复训练声音而获得的函数。例如,等式6可表示交叉模态(cross-modality)函数。

面部表情训练设备使用下面所示的等式7来计算讲话损失1008。

[等式7]

例如,如等式7中所示,面部表情训练设备将讲话损失ltlk为训练声音与参考声音vvoice之间的l2范数。面部表情训练设备通过更新讲话模型1020的参数来训练讲话模型1020以使等式7中的讲话损失ltlk最小化。然而,讲话损失1008的函数不限于此,并且各种损失函数根据设计而被使用。

响应于对被训练以使讲话损失ltlk最小化的讲话模型1020的参数watt进行冻结,面部表情训练设备训练面部表情模型1010。

为了训练面部表情模型1010,面部表情训练设备计算面部表情损失1009。面部表情训练设备将基于讲话模型1020从参考图像1001提取的讲话图应用于基于面部表情模型1010从参考图像1001提取的面部表情特征。面部表情训练设备对提取的讲话图进行反转,并将反转的讲话图反映到提取的面部表情特征。面部表情训练设备使基于应用了讲话图的面部表情特征确定的面部表情标签和与参考面部表情对应的标签之间的面部表情损失最小化。

例如,面部表情训练设备基于面部表情模型1010从参考图像1001计算训练面部表情特征。面部表情训练设备将训练面部表情特征输入到面部表情识别器1030的第一层1031。面部表情训练设备通过将反转的向量施加到训练面部表情特征来执行关注操作1034。例如,反转的向量是通过对训练讲话特征vatt执行反转操作1033而获得的向量。面部表情训练设备对通过关注操作1034产生的目标向量v*执行归一化操作1035,以产生归一化的目标向量此外,面部表情训练设备通过对归一化的目标向量执行识别操作1036来确定表示训练面部表情标签的概率p(y=c|i)。例如,面部表情训练设备使用下面所示的等式8来计算面部表情损失lrec。

[等式8]

lrec=-log(p(y=c|i))

面部表情训练设备通过更新面部表情模型1010的参数来训练面部表情模型1010,以使使用等式8计算的面部表情损失lrec最小化。然而,面部表情损失1009的函数不限于此,并且各种损失函数根据设计而被使用。

尽管面部表情模型1010和讲话模型1020为了便于描述而如上面图10中所述地被顺序地训练,但是示例不限于此。例如,面部表情训练设备同时更新面部表情模型1010的参数和讲话模型1020的参数,以在单个训练周期期间使面部表情损失1009和讲话损失1008最小化。

尽管已经主要参照图8至图10描述了针对面部表情的面部表情模型的示例,但是示例不限于此。例如,对象模型和语音模型一起被训练,而不是面部表情模型和语音模型一起被训练。

例如,训练数据包括一对参考图像和参考对象。对象训练设备从存储器加载并获取训练数据。对象训练设备使用对象训练设备的处理器基于对象模型和讲话模型来训练对象模型的参数和讲话模型的参数,以响应于参考图像的输入而输出参考对象。对象模型用于从对象图像提取对象特征,讲话模型用于从对象图像提取讲话图。

在训练期间,对象训练设备从参考图像提取训练讲话图和训练对象特征。对象训练设备基于训练讲话图和训练对象特征来计算训练对象标签。对象训练设备训练对象模型以使训练对象标签与参考对象之间的对象损失最小化。此外,对象训练设备从训练讲话图恢复声音信息,并训练讲话图以使恢复的声音信息与参考声音之间的讲话损失最小化。

图8至图10的剩余操作尽管为了便于描述而被省略,但是也适用于对象训练设备。例如,通过使用对象模型替换面部表情模型,通过使用对象特征替换面部表情特征,通过使用对象标签替换面部表情标签,通过使用参考对象替换参考面部表情,并通过使用对象损失替换面部表情损失,从而图8至图10的操作适用于对象训练设备。

图11示出面部表情识别设备1100的示例,图12示出面部表情识别设备1200的示例。

图11的面部表情识别设备1100被实现为移动装置。图12的面部表情识别设备1200被实现为机器人。此外,面部表情识别设备1100和面部表情识别设备1200被实现为各种智能装置(例如,智能电视(tv)、可穿戴智能装置、智能家居装置和各种物联网(iot)装置)。

即使在对象正在说话时,面部表情识别设备1100和面部表情识别设备1200也准确地识别对象的面部表情。如上所述,面部表情识别设备1100和面部表情识别设备1200中的每一个提取讲话图,并且通过关注对象的与面部表情相关联的部分并减少关注对象的与讲话相关联的部分来识别对象的面部表情。此外,面部表情识别设备1100和面部表情识别设备1200中的每一个即使在未获取单独的声音信号时,也从对象排除与讲话相关联的部分。

尽管已经主要参照图11和图12描述了面部表情识别设备1100和面部表情识别设备1200,但是示例不限于此。例如,对象识别设备还被实现为智能装置。

此外,上面参照图1至图12描述的对象识别设备和面部表情识别设备被组合在单个识别设备中。例如,识别设备包括面部表情模型、对象模型和语音模型。识别设备通过对基于讲话模型的讲话图进行反转,并将反转的讲话图应用于基于面部表情模型的面部表情特征和基于对象模型的对象特征来产生目标向量。识别设备基于目标向量识别对象或面部表情。

通过硬件组件来实现在此针对图5a至图5b、图6a至图6b、图7、图9、图11和图12描述的面部表情识别设备600、面部表情识别设备1100和面部表情识别设备1200,对象识别设备690,面部表情训练设备900、图像获取器510、面部表情特征提取器530、讲话特征检测器540、声音获取器520、面部表情识别器550、对象特征提取器531、对象识别器551、图像获取器630、对象识别设备690、面部表情识别器730、面部表情识别器1030以及其他设备、单元、模块、装置和其他组件。可用于执行在本申请中的适当位置描述的操作的硬件组件的示例包括:控制器、传感器、产生器、驱动器、存储器、比较器、算术逻辑单元、加法器、减法器、乘法器、除法器、积分器以及被配置为执行在本申请中描述的操作的任何其他电子组件。在其他示例中,由计算硬件(例如,由一个或多个处理器或计算机)来实现执行在本申请中描述的操作的一个或多个硬件组件。处理器或计算机可由一个或多个处理元件(诸如,逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微型计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器或者被配置为以限定的方式响应并执行指令以实现期望的结果的任何其他装置或装置的组合)来实现。在一个示例中,处理器或计算机包括或连接到存储由处理器或计算机执行的指令或软件的一个或多个存储器。由处理器或计算机实现的硬件组件可执行指令或软件(诸如,操作系统(os)以及在os上运行的一个或多个软件应用),以执行本申请中描述的操作。硬件组件还可响应于指令或软件的执行来访问、操控、处理、创建和存储数据。为了简明起见,单数术语“处理器”或“计算机”可用于在本申请中描述的示例的描述中,但是在其他示例中,多个处理器或计算机可被使用,或者一个处理器或计算机可包括多个处理元件或多种类型的处理元件或者两者。例如,单个硬件组件或者两个或更多个硬件组件可由单个处理器或者两个或更多个处理器或者一个处理器和一个控制器来实现。一个或多个硬件组件可由一个或多个处理器或者一个处理器和一个控制器来实现,一个或多个其他硬件组件可由一个或多个其他处理器或者另一处理器和另一控制器来实现。一个或多个处理器或者一个处理器和一个控制器可实现单个硬件组件或者两个或更多个硬件组件。硬件组件可具有任意一个或多个不同的处理配置,其示例包括:单个处理器、独立处理器、并行处理器、单指令单数据(sisd)多处理、单指令多数据(simd)多处理、多指令单数据(misd)多处理和多指令多数据(mimd)多处理。

由计算硬件(例如,由被实现为如上所述地执行指令或软件以执行在本申请中描述的由该方法所执行的操作的一个或多个处理器或者计算机)来执行在图3a、图3b和图8中所示的执行在本申请中描述的操作的方法。例如,单个操作或者两个或更多个操作可由单个处理器或者两个或更多个处理器或者一个处理器和一个控制器来执行。一个或多个操作可由一个或多个处理器或者一个处理器和一个控制器来执行,并且一个或多个其他操作可由一个或多个其他处理器或者另一处理器和另一控制器来执行。一个或多个处理器或者一个处理器和一个控制器可执行单个操作或者两个或更多个操作。

用于控制处理器或计算机实现硬件组件并且执行如上所述的方法的指令或软件可被编写为计算机程序、代码段、指令或它们的任意组合,以单独地或共同地指示或配置处理器或计算机作为用于执行由硬件组件执行的操作和如上所述的方法的机器或专用计算机进行操作。在一个示例中,指令或软件包括小应用程序、动态链接库(dll)、中间件、固件、装置驱动程序、存储防止碰撞的方法的应用程序中的至少一个。在一个示例中,指令或软件包括由处理器或计算机直接执行的机器代码(诸如,由编译器产生的机器代码)。在另一示例中,指令或软件包括由处理器或计算机使用解释器执行的高级代码。本领域普通技术编程人员能够基于附图中所示的框图和流程图以及说明书中的相应描述容易地编写指令或软件,其中,附图中所示的框图和流程图以及说明书中的相应描述公开了用于执行由硬件组件执行的操作和如上所述的方法的算法。

用于控制处理器或计算机实现硬件组件并执行如上所述的方法的指令或软件以及任何相关联的数据、数据文件和数据结构被记录、存储或固定在一个或多个非暂时性计算机可读存储介质中或被记录、存储或固定在一个或多个非暂时性计算机可读存储介质上。非暂时性计算机可读存储介质的示例包括:只读存储器(rom)、随机存取可编程只读存储器(prom)、电可擦除可编程只读存储器(eeprom)、随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、闪存、非易失性存储器、cd-rom、cd-r、cd+r、cd-rw、cd+rw、dvd-rom、dvd-r、dvd+r、dvd-rw、dvd+rw、dvd-ram、bd-rom、bd-r、bd-rlth、bd-re、蓝光或光盘存储、硬盘驱动器(hdd)、固态驱动器(ssd)、卡型存储器(诸如,微型多媒体卡或卡(例如,安全数字(sd)或极限数字(xd)))、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,其中,该任何其他装置被配置为:以非暂时性方式存储指令或软件以及任何相关联的数据、数据文件和数据结构,并向处理器或计算机提供指令或软件以及任何相关联的数据、数据文件和数据结构,使得处理器或计算机可执行指令。

虽然本公开包括特定的示例,但是本领域普通技术人员将清楚,在不脱离权利要求和它们的等同物的精神和范围的情况下,可在这些示例中进行形式上和细节上的各种改变。在此描述的示例仅被认为是在描述性意义,而不是为了限制的目的。每个示例中的特征或方面的描述将被认为适用于其他示例中的类似特征或方面。如果描述的技术以不同的次序被执行,和/或如果描述的系统、架构、装置或电路中的组件以不同的方式被组合和/或由其他组件或它们的等同物替换或补充,则可实现合适的结果。因此,本公开的范围不是由具体实施方式限定,而是由权利要求和它们的等同物限定,并且权利要求和它们的等同物的范围内的所有变化将被解释为包括在本公开中。

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