用于基于多任务的人脸关键点检测的方法和系统转让专利

申请号 : CN201480081241.1

文献号 : CN106575367B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 汤晓鸥张展鹏罗平吕健勤

申请人 : 北京市商汤科技开发有限公司

摘要 :

本申请公开一种用于检测人脸图像的人脸关键点的方法和系统。所述方法可以包括:从所述人脸图像的至少一个人脸区域和/或整个人脸图像中提取多个特征图;从所提取的多个特征图中生成共享的人脸特征向量;以及从所生成的共享的人脸特征向量中预测所述人脸图像的人脸关键点位置。通过本发明的方法和系统,所述人脸关键点检测能够与异构但微妙相关的任务一起优化,以便能够通过多任务学习来提高检测可靠性。

权利要求 :

1.一种用于检测人脸图像的人脸关键点的方法,包括利用卷积神经网络执行:从所述人脸图像的至少一个人脸区域中提取多个特征图;

从所提取的多个特征图中生成共享的人脸特征向量;以及

从所生成的共享的人脸特征向量中预测所述人脸图像的人脸关键点位置,以及利用所述共享的人脸特征向量来预测与人脸关键点检测相关联的至少一个辅助任务的对应目标,以同时获取所有的所述辅助任务的目标预测,其中,所述卷积神经网络使用预定训练集来训练,所述训练的步骤包括:

1)从所述预定训练集中对训练人脸图像、其标定真实关键点位置和其用于每个辅助任务的标定真实目标进行取样;

2)比较所预测的人脸关键点位置与所述标定真实关键点位置之间的不同,以生成关键点误差;

3)分别比较所述目标预测与用于每个辅助任务的标定真实目标之间的不同,以生成至少一个训练任务误差;以及

4)将所生成的关键点误差和所生成的训练任务误差反向传播通过所述卷积神经网络,以调整所述卷积神经网络的神经元之间的连接的权重;

重复步骤1)-4),直到所述生成的关键点误差小于第一预定值并且所述生成的训练任务误差小于第二预定值。

2.根据权利要求1所述的方法,其中所述人脸关键点包括选自由以下组成的组中的至少一个:人脸图像的双眼中心点、鼻子和嘴角。

3.根据权利要求1所述的方法,其中所述辅助任务包括选自由以下组成的组中的至少一个:头部姿势估计、性别分类、年龄估计、人脸表情识别或者人脸属性推断。

4.根据权利要求3所述的方法,其中,所述卷积神经网络包括被配置成执行卷积和最大池化操作的多个卷积-池化层,以及其中,从所述人脸图像的至少一个人脸区域中提取多个特征图还包括:由所述多个卷积-池化层连续地提取所述多个特征图,其中由所述卷积-池化层中的前一层提取的所述特征图输入到所述卷积-池化层的下一层,以提取与先前提取的特征图不同的特征图。

5.根据权利要求4所述的方法,其中所述卷积神经网络还包括全连接层,并且在从所提取的多个特征图中生成共享的人脸特征向量时,由所述全连接层从所有的所提取的多个特征图中生成所述共享的人脸特征向量。

6.根据权利要求5所述的方法,其中所述卷积神经网络的每个层具有多个神经元,以及其中所述方法还包括:使用预定训练集来训练所述卷积神经网络,以调整所述卷积神经网络的所述神经元之间的连接的每个权重,从而使得由具有经过调整的权重的卷积神经网络生成所述共享的人脸特征向量。

7.根据权利要求1所述的方法,其中比较以生成关键点误差根据最小二乘法处理来执行,并且比较以生成训练任务误差根据交叉熵处理来执行。

8.根据权利要求1所述的方法,其中针对每个辅助任务,所述训练的步骤还包括:

5)从预定验证集中对验证人脸图像以及其用于每个辅助任务的标定真实目标进行取样;

6)比较所述目标预测与所述标定真实目标之间的不同,以生成验证任务误差;

重复步骤5)和6),直到所述生成的训练任务误差小于第三预定值并且所生成的验证任务误差小于第四预定值。

9.根据权利要求1所述的方法,其中,在从所生成的共享的人脸特征向量中预测所述人脸图像的人脸关键点位置时,所述人脸图像的人脸关键点位置根据(Wr)Txl来确定,其中Wr代表分配到所述人脸关键点检测的权重,并且xl代表所述共享的人脸特征矢量,以及T代表转置。

10.一种用于检测人脸图像的人脸关键点的系统,包括:

特征提取器,其被配置成利用卷积神经网络执行:

从所述人脸图像的至少一个人脸区域中提取多个特征图;并且

从所提取的多个特征图中生成共享的人脸特征向量;以及

预测器,其被配置成从由所述特征提取器生成的所述共享的人脸特征向量中预测所述人脸图像的人脸关键点位置,以及通过使用所述共享的人脸特征向量来获取与人脸关键点检测相关联的至少一个辅助任务的目标预测,其中,所述卷积神经网络的每个层具有多个神经元,并且所述系统还包括训练单元,用于训练所述卷积神经网络,从而使得所训练的卷积神经网络能够提取所述共享的人脸特征向量,所述训练单元包括:取样器,其被配置成从预定训练集中对训练人脸图像、其标定真实关键点位置和其用于每个辅助任务的标定真实目标进行取样;

比较器,其被配置成比较所预测的人脸关键点位置与所述标定真实关键点位置之间的不同,以生成关键点误差,并且分别比较所述目标预测与用于每个辅助任务的所述标定真实目标之间的不同,以生成至少一个训练任务误差;以及反向传播器,其被配置成将所生成的关键点误差和所述训练任务误差反向传播通过所述卷积神经网络,以调整所述卷积神经网络的所述神经元之间的连接的权重。

11.根据权利要求10所述的系统,其中,所述卷积神经网络包括:多个卷积池化层,其被配置成执行卷积和最大池化操作,并且其中由所述卷积池化层中的前一层提取的所述特征图输入到所述卷积池化层的下一层中,以提取与先前提取的特征图不同的特征图;以及全连接层,其被配置成从所有的所述提取的多个特征图中生成所述共享的人脸特征向量。

12.根据权利要求10所述的系统,其中所述训练单元还包括:确定器,其被配置成确定所述人脸关键点检测的训练过程是否收敛以及每个任务的训练过程是否收敛。

13.根据权利要求10所述的系统,其中所述人脸关键点包括选自由以下组成的组中的至少一个:人脸图像的眼睛的中心、鼻子、嘴角。

14.根据权利要求10所述的系统,其中所述辅助任务包括选自由以下组成的组中的至少一个:头部姿势估计、性别分类、年龄估计、人脸表情识别或者人脸属性推断。

15.一种用于训练卷积神经网络的方法,所述卷积神经网络同时执行人脸关键点检测和至少一个相关联辅助任务以获得所述辅助任务的目标预测,所述方法包括以下步骤:

1)从预定训练集中对训练人脸图像、其标定真实关键点位置和其用于每个辅助任务的标定真实目标进行取样;

2)比较所预测的人脸关键点位置与所述标定真实关键点位置之间的不同,以生成关键点误差;

3)分别比较所述目标预测与用于每个辅助任务的所述标定真实目标之间的不同,以生成至少一个训练任务误差;

4)将所生成的关键点误差和所有的所述训练任务误差反向传播通过所述卷积神经网络,以调整所述卷积神经网络的神经元之间的连接的权重;

5)从预定验证集中对验证人脸图像以及其用于每个辅助任务的标定真实目标进行取样;

6)比较所述目标预测与所述标定真实目标之间的不同,以生成验证任务误差;

7)确定所述训练任务误差是否小于第一预定值并且所述验证任务误差是否小于第二预定值;以及如果是,结束用于训练所述卷积神经网络,否则,将重复所述步骤1)到7)。

说明书 :

用于基于多任务的人脸关键点检测的方法和系统

技术领域

[0001] 本申请涉及人脸对齐,确切地说,涉及用于人脸关键点 (landmark)检测的方法和系统。

背景技术

[0002] 人脸关键点检测是很多人脸分析任务(诸如,人脸属性推断、人脸验证和人脸识别)的基本内容,但一直受到光遮蔽(occlusion) 和姿势变化问题的阻碍。
[0003] 准确的人脸关键点检测可使用级联CNN(卷积神经网络)来执行,其中人脸被预先分区分成不同的部分,每个部分都由单独的深度CNN进行处理。得到的输出随后进行平均并且传输到单独的级联层,以分别处理每个人脸关键点。
[0004] 此外,人脸关键点检测不是独立问题,它的估计可受到很多异构但微妙关联的因素的影响。例如,当小孩在微笑时,他/她的嘴巴张开很大。有效地发现和利用此类内在关联的人脸属性将有助于更准确地检测嘴角。另外,在左右旋转较大的人脸中,两眼间的距离更小。这种姿势信息可用作附加信息来源,以约束关键点估计的解空间。在给定丰富的合理相关任务的集合的情况下,孤立地处理人脸关键点检测会适得其反。
[0005] 然而,不同任务在学习难点方面会固有地不同,并且具有不同的收敛速率。此外,在同时学习时某些任务可能比其他任务更早地过度拟合,从而将危害整个模型的学习收敛。

发明内容

[0006] 在本申请的一方面,公开了用于检测人脸图像的人脸关键点的方法。所述方法可包括利用卷积神经网络执行:从人脸图像的至少一个人脸区域中提取多个特征图;从所提取的多个特征图中生成共享的人脸特征向量;以及从所生成的共享的人脸特征向量中预测人脸图像的人脸关键点位置,以及利用共享的人脸特征向量来预测与人脸关键点检测相关联的至少一个辅助任务的对应目标,以同时获取所有的辅助任务的目标预测,其中,所述卷积神经网络使用预定训练集来训练,所述训练的步骤包括:1)从预定训练集中对训练人脸图像、其标定真实关键点位置和其用于每个辅助任务的标定真实目标进行取样;2)比较所预测的人脸关键点位置与标定真实关键点位置之间的不同,以生成关键点误差;3) 分别比较目标预测与用于每个辅助任务的标定真实目标之间的不同,以生成至少一个训练任务误差;以及4)将所生成的关键点误差和所生成的训练任务误差反向传播通过卷积神经网络,以调整卷积神经网络的神经元之间的连接的权重;重复步骤1)-4),直到生成的关键点误差小于第一预定值并且生成的训练任务误差小于第二预定值。
[0007] 在一个实施方式中,人脸关键点包括选自由以下组成的组中的至少一个:人脸图像的双眼中心点、鼻子和嘴角。
[0008] 在一个实施方式中,辅助任务包括选自由以下组成的组中的至少一个:头部姿势估计、性别分类、年龄估计、人脸表情识别或者人脸属性推断。
[0009] 在一个实施方式中,卷积神经网络包括被配置成执行卷积和最大池化操作的多个卷积-池化层,以及其中,从人脸图像的至少一个人脸区域中提取多个特征图还包括:由多个卷积-池化层连续地提取多个特征图,其中由卷积-池化层中的前一层提取的特征图输入到卷积-池化层的下一层,以提取与先前提取的特征图不同的特征图。
[0010] 在一个实施方式中,卷积神经网络还包括全连接层,并且在从所提取的多个特征图中生成共享的人脸特征向量时,由全连接层从所有的所提取的多个特征图中生成共享的人脸特征向量。
[0011] 在一个实施方式中,卷积神经网络的每个层具有多个神经元,以及其中方法还包括:使用预定训练集来训练卷积神经网络,以调整卷积神经网络的神经元之间的连接的每个权重,从而使得由具有经过调整的权重的卷积神经网络生成共享的人脸特征向量。
[0012] 在一个实施方式中,比较以生成关键点误差根据最小二乘法处理来执行,并且比较以生成训练任务误差根据交叉熵处理来执行。
[0013] 在一个实施方式中,针对每个辅助任务,使用预定训练集来训练卷积神经网络还包括以下步骤:5)从预定验证集中对验证人脸图像以及其用于每个辅助任务的标定真实目标进行取样;6)比较目标预测与标定真实目标之间的不同,以生成验证任务误差;重复步骤5)和6),直到生成的训练任务误差小于第三预定值并且所生成的验证任务误差小于第四预定值。
[0014] 在一个实施方式中,在从所生成的共享的人脸特征向量中预测人脸图像的人脸关键点位置时,人脸图像的人脸关键点位置根据(Wr)Txl来确定,其中Wr代表分配到人脸关键点检测的权重,并且xl代表共享的人脸特征矢量,以及T代表转置。
[0015] 在本申请的另一方面,公开了用于检测人脸图像的人脸关键点的系统。所述系统可包括特征提取器和预测器。特征提取器可利用卷积神经网络执行从人脸图像的至少一个人脸区域中提取多个特征图,并且从所提取的多个特征图中生成共享的人脸特征向量。预测器可从由特征提取器生成的共享的人脸特征向量中预测人脸图像的人脸关键点位置,以及通过使用共享的人脸特征向量来获取与人脸关键点检测相关联的至少一个辅助任务的目标预测,其中,卷积神经网络的每个层具有多个神经元,并且系统还包括训练单元,用于训练卷积神经网络,从而使得所训练的卷积神经网络能够提取共享的人脸特征向量,训练单元包括:取样器,其被配置成从预定训练集中对训练人脸图像、其标定真实关键点位置和其用于每个辅助任务的标定真实目标进行取样;比较器,其被配置成比较所预测的人脸关键点位置与标定真实关键点位置之间的不同,以生成关键点误差,并且分别比较目标预测与用于每个辅助任务的标定真实目标之间的不同,以生成至少一个训练任务误差;以及反向传播器,其被配置成将所生成的关键点误差和训练任务误差反向传播通过卷积神经网络,以调整卷积神经网络的神经元之间的连接的权重。
[0016] 在一个实施方式中,卷积神经网络包括:多个卷积池化层,其被配置成执行卷积和最大池化操作,并且其中由卷积池化层中的前一层提取的特征图输入到卷积池化层的下一层中,以提取与先前提取的特征图不同的特征图;以及全连接层,其被配置成从所有的提取的多个特征图中生成共享的人脸特征向量。
[0017] 在一个实施方式中,训练单元还包括:确定器,其被配置成确定人脸关键点检测的训练过程是否收敛以及每个任务的训练过程是否收敛。
[0018] 在一个实施方式中,人脸关键点包括选自由以下组成的组中的至少一个:人脸图像的眼睛的中心、鼻子、嘴角。
[0019] 在一个实施方式中,辅助任务包括选自由以下组成的组中的至少一个:头部姿势估计、性别分类、年龄估计、人脸表情识别或者人脸属性推断。
[0020] 本申请还具有训练用于同时执行人脸关键点检测和至少一个相关联辅助任务以获得辅助任务的目标预测的卷积特征网络的方法。所述方法可包括:1)从预定训练集中对训练人脸图像、其标定真实(ground-truth)关键点位置和其用于每个辅助任务的标定真实目标进行取样;2)比较所预测的人脸关键点位置与标定真实关键点位置之间的不同以生成关键点误差;3)分别比较目标预测与用于每个辅助任务的标定真实目标之间的不同,以生成至少一个训练任务误差;4)将所生成的关键点误差和所有的训练任务误差反向传播通过卷积神经网络,以调整卷积神经网络的神经元之间的连接的权重;5)从预定验证集中对验证人脸图像和其用于每个辅助任务的标定真实目标进行取样;6)比较目标预测与标定真实目标之间的不同,以生成验证任务误差;以及7)确定训练任务误差是否小于第一预定值并且验证任务误差是否小于第二预定值。如果是,结束训练卷积神经网络,否则,将重复步骤1)到7)。
[0021] 本申请还提供了一种计算机可读介质,该计算机可读介质用于存储指令,该指令可由一个或多个处理器执行以实施上述的方法。
[0022] 与现有方法相比,人脸关键点检测可与异构但微妙辅助的任务被一起优化,以便可通过多任务学习来提高检测可靠性,尤其是在处理具有显著光遮蔽和姿势变化的人脸的情况下。
[0023] 根据本申请,只使用一个单一CNN,因此,可降低所需的系统/装置的复杂性。既不需要人脸的预先分区也不需要级联卷积神经层,从而大大减小模型复杂性,而同时仍实现相当或甚至更好的准确性。
[0024] 随着训练的进行,某些相关任务在达到最佳性能时便不再对主任务有益,因此可停止对它们的训练过程。根据本申请,采用“提前停止(early stopping)”执行CNN的训练过程,以停止那些因为开始过度拟合(over-fit)训练集而危害主任务的相关任务,以便促进学习收敛。

附图说明

[0025] 下文参考附图描述本发明的示例性非限制实施例。附图是说明性的,并且一般不是实际的精确比例。不同图上的相同或类似元件引用相同的附图标号。
[0026] 图1是示出根据一些公开实施方式的用于人脸关键点检测的系统的示意图。
[0027] 图2是示出根据一些公开实施方式的如图1所示的训练单元的示意图。
[0028] 图3是示出根据一些公开实施方式的用于人脸关键点检测的系统的实例的示意图,其中示出卷积神经网络的实例。
[0029] 图4是示出根据一些公开实施方式的用于人脸关键点检测的系统在软件中执行时的示意图。
[0030] 图5是示出根据一些公开实施方式的用于人脸关键点检测的方法的示意流程图。
[0031] 图6是示出根据一些公开实施方式的多任务卷积神经网络的训练过程的示意流程图。

具体实施方式

[0032] 本部分将详细说明示例性实施方式,这些实施方式的实例将在附图中示出。在适当的时候,附图中相同的附图标号始终表示相同或相似部分。
[0033] 图1是示出根据一些公开实施方式的用于人脸关键点检测的示例性系统1000的示意图。根据系统1000,人脸关键点检测(在下文中也称为主任务)与至少一个相关/辅助任务共同进行优化。人脸关键点检测指的是检测2D位置,即,人脸图像的人脸区域的 2D坐标(x和y)。人脸关键点的实例可包括但不限于,人脸图像的左眼中心和右眼中心、鼻子、左嘴角和右嘴角。辅助任务的实例可包括但不限于,头部姿势估计、人口统计学(诸如,性别分类)、年龄估计、人脸表情识别(诸如,微笑)或者人脸属性推断 (诸如,戴眼镜)。应了解,辅助任务的数量或类型不限于本文中提及的那些。
[0034] 再次参考图1,当系统1000由硬件实施时可包括特征提取器 100、训练单元200和预测器300。特征提取器100可从人脸图像的至少一个人脸区域和/或整个人脸图像中提取多个特征图。随后,可由特征提取器100从所提取的多个特征图中生成共享的人脸特征向量。
[0035] 预测器300可从由特征提取器100提取的共享的人脸特征向量中预测人脸图像的人脸关键点位置。同时,预测器300可进一步从共享的人脸特征向量中预测与人脸关键点检测相关联的至少一个辅助任务的对应目标。根据系统1000,人脸关键点检测可与辅助任务共同进行优化。
[0036] 根据实施例,特征提取器100可包括卷积神经网络。该网络可包括多个卷积-池化层和全连接层。在网络中,多个卷积-池化层中的每个可执行卷积和最大池化操作,并且由卷积-池化层中的前一层提取的特征图输入到卷积池化层的下一层中,以提取与先前提取的特征图不同的特征图。全连接层可从所有的所提取的多个特征图中生成共享的人脸特征向量。
[0037] 图3中示出网络的实例,其中卷积神经网络包括输入层、多个(例如,三个)卷积-池化层、一个卷积层以及一个全连接层,其中卷积-池化层包括一个或多个(例如,三个)卷积层和一个或多个(例如,三个)池化层。应注意,所示网络是为了示例,并且特征提取器中的卷积神经网络不限于此。如图3所示,40×40(例如)灰度的人脸图像在输入层中输入。第一卷积-池化层从输入的图像中提取特征图。随后,第二卷积-池化层将第一层的输出作为输入,以生成不同的特征图。这一过程通过使用所有的三个卷积- 池化层来继续。最后,特征图的多个层由全连接层用来生成共享的人脸特征向量。换言之,通过执行多次的卷积和最大池化操作来生成共享的人脸特征向量。每个层含有带局部或全局感受野的多个神经元,并且卷积神经网络的神经元之间的连接的权重可进行调整以相应地训练网络。
[0038] 根据实施方式,系统1000可还包括训练单元200。训练单元 200可使用预定训练集来训练特征提取器,以调整卷积神经网络的神经元之间的连接的权重,从而使得所训练的特征提取器能够提取共享d人脸特征向量。根据图2所示的本申请的实施例,训练单元200可包括取样器201、比较器202和反向传播器203。
[0039] 如图2所示,取样器201可从预定训练集中对训练人脸图像、其标定真实关键点位置和用于每个辅助任务的其标定真实目标进行取样。根据实施方式,五个标定真实关键点(即,眼睛的中心、鼻尖、嘴角)可直接注释在每个训练人脸图像上。根据另一实施方式,用于每个辅助任务的标定真实目标可手动标记。例如,针对性别分类,标定真实目标可被标记为女(F)或男(M)。针对人脸属性推断,诸如,戴眼镜,标定真实目标可被标记为戴(Y)或不戴(N)。针对头部姿势估计,可标记(0°、±30°、±60°),并且针对表情识别,诸如,微笑,可相应地标记是/否。
[0040] 比较器202可比较所预测的人脸关键点位置与标定真实关键点位置之间的不同,以生成关键点误差。关键点误差可通过使用例如最小二乘法来获取。比较器203还可分别比较目标预测与用于每个辅助任务的标定真实目标之间的不同,以生成至少一个训练任务误差。根据另一实施方式,训练任务误差可通过使用例如交叉熵法来获取。
[0041] 反向传播器203可将所生成的关键点误差和所有的训练任务误差反向传播通过卷积神经网络,以调整卷积神经网络的神经元之间的连接的权重。
[0042] 根据实施例,训练单元200还可包括确定器204。确定器204 可确定人脸关键点检测的训练过程是否收敛。根据另一实施方式,确定器204还可确定每个任务的训练过程是否收敛,这将在之后论述。
[0043] 在下文中,将详细论述如上文提及的训练单元200中的部件。出于说明的目的,将描述由训练单元200共同训练T个任务的实施例。针对T个任务,人脸关键点检测(即,主任务)表示为r,并且至少一个相关/辅助任务中的一个表示为a,其中a∈A。
[0044] 针对任务中的每个,训练数据表示为(xi,yit),t={1,...,T}且 i={1,...,N},其中N代表训练数据的数量。具体而言,针对人脸关键点检测r,训练数据表示为(xi,yir),其中是五个关键点的 2D坐标。针对任务a,训练数据表示为(xi,yia)。在实施例中,示出四个任务p、g、w和s,并且它们分别代表推断‘姿势’、‘性别’、‘戴眼镜’和‘微笑’。因此,代表五个不同的姿势((0°、±30°、±60°)),并且 是二进制属性且分别代表女/男、不戴眼镜/戴眼镜和没有微笑/微笑。不同的权重被分配到主任务r 和每个辅助任务a,并且分别表示为Wr和{Wa}。
[0045] 随后,所有任务的目标函数用公式表示如下以优化主任务r 和辅助任务a:
[0046]
[0047] 其中,f(xt;wt)是xt和权重向量wt的线性函数;
[0048] l(·)代表损失函数;
[0049] λa代表第a个任务的误差的重要性系数;以及
[0050] xi代表共享人脸特征向量。
[0051] 根据实施例,最小二乘函数和交叉熵函数分别用作主任务r 和辅助任务a的损失函数l(·),以生成对应的关键点误差和训练任务误差。因此,上述目标函数可改写如下:
[0052]
[0053] 在等式(2)中,第一项中的f(xi;Wr)=(Wr)Txi是线性函数。第二项是后验概率函数其中 表示任务a、 w的权重矩阵的第j列。第三项惩罚大的权重W={(Wr,{Wa}})。
[0054] 根据实施方式,所有任务的权重可相应地更新。具体而言,人脸关键点检测的权重矩阵由 更新 ,其 中η代 表学习率 (诸如 ,η=0 .0 03)并 且另外,每个任务a  的权重矩阵可按类似的方式计算为
[0055] 随后,所生成的关键点误差和训练任务误差可由反向传播器 203逐层地反向传播通过卷积神经网络直到最低层,以便调整卷积神经网络的神经元之间的连接的权重。
[0056] 根据本申请的实施方式,误差可通过如下的反向传播策略而反向传播通过卷积神经网络:
[0057]
[0058] 在 等 式 ( 3 ) 中 ,ε l 代 表 层 l 中 的 所 有 误 差 ,其 中
[0059] 例如,ε1代表最低层的误差,并且ε2代表第二低层的误差。较低层的误差根据等式(3)进行计算。例如, 其中 是网络的激活函数σ(·)的梯度。
[0060] 重复上述训练过程,直到确定器204确定出人脸关键点检测的训练过程为收敛。换言之,如果误差小于预定值,那么训练过程将被确定为收敛。通过上述训练过程,特征提取器100能够从给定的人脸图像中提取共享的人脸特征向量。根据实施例,针对任何人脸图像x0,所训练的特征提取器100提取共享的特征向量xl。随后,通过(Wr)Txl来预测关键点位置,并且通过p(ya|xl;Wa)来获取辅助任务的预测目标。
[0061] 在上述训练过程期间,同时训练至少一个辅助任务。然而,不同的任务具有不同的损失函数和学习难点,因此具有不同的收敛速率。根据另一实施方式,确定器204还可确定辅助任务的训练过程是否收敛。
[0062] 具体而言, 和 分别代表验证集和训练集上的任务a的损失函数的值。如果一个任务的测量值超出阈值ε,如下,那么该任务将停止:
[0063]
[0064] 在等式(4)中,t代表当前迭代,k代表训练长度,并且λa代表第a个任务的误差的重要性系数。‘med’表示用于计算中间值的函数。等式(4)中的第一项代表任务a的训练任务误差的趋势。如果训练误差在一段长度k内迅速下降,那么第一项的值较小,从而表明任务的训练过程可继续,因为该任务仍有价值。否则,第一项较大,那么该任务更可能停止。因此,在训练过程期间,辅助任务可在它过度拟合之前关闭,以便该任务可在它开始过度拟合训练集因而危害主任务之前“提前停止”。
[0065] 通过上述训练过程,特征提取器100能够从任何人脸图像中提取共享的人脸特征向量。例如,人脸图像x0在卷积神经网络的输入层中输入,例如,如图3所示。CNN中的每个卷积层中存在多组卷积滤波器和应用于人脸图像的激活函数,并且它们相继地应用以将人脸图像投射到较高层。换言之,通过学习一系列的非线性映射(如下)以获取拱形人脸特征向量xl而逐步地将人脸图像投射到较高层:
[0066]
[0067] 此处,σ()和Wsl代表应用于人脸图像 的非线性激活函数和CNN的层l中需要学习的滤波器。例如,。再次参考图3,在估计阶段,共享的人脸特征向量可同时用于关键点检测和辅助/相关任务。
[0068] 应了解,系统1000可使用某一硬件、软件或它们的组合来实施。此外,本发明的实施例可适于计算机程序产品,所述计算机程序产品体现在含有计算机程序代码的一个或多个计算机可读存储介质上(包括但不限于,磁盘存储器、CD-ROM、光学存储器等)。
[0069] 在用软件实施系统1000的情况下,系统1000可包括通用计算机、计算机集群、主流计算机、专用于提供在线内容的计算装置,或者计算机网络,所述计算机网络包括一组以集中或分布方式操作的计算机。如图4所示,系统1000可包括一个或多个处理器(处理器102、104、106等)、存储器112、存储装置116以及促进系统1000的各种部件之间的信息交换的总线。处理器102到 106可包括中央处理单元(“CPU”)、图形处理单元(“GPU”)或者其他合适的信息处理装置。根据所使用的硬件的类型,处理器102 到106可包括一个或多个印刷电路板和/或一个或多个微处理器芯片。处理器102到106可执行计算机程序指令的序列,以执行将在下文更详细地说明的各种方法。
[0070] 存储器112可尤其包括随机存取存储器(“RAM”)和只读存储器(“ROM”)。计算机程序指令可由存储器112存储、访问和从该存储器中读取,以便由处理器102到106中的一个或多个处理器执行。例如,存储器112可存储一个或多个软件应用。此外,存储器112可存储整个软件应用或者只存储可由处理器102到106 中的一个或多个处理器执行的软件应用的一部分。应注意,尽管图4中只示出一个框,但存储器112可包括安装在中央处理装置或不同计算装置上的多个物理装置。
[0071] 上文描述了用于人脸关键点检测的系统。下文将参考图5和图6来描述用于人脸关键点检测的方法。
[0072] 图5示出用于人脸关键点检测的示意流程图,并且图6示出训练单元200执行的多任务卷积神经网络的训练过程的示意流程图。
[0073] 在图5和图6中,方法500和600包括可由处理器102到106 中的一个或多个处理器执行的、或系统1000的每个模块/单元执行的一系列步骤,以实施数据处理操作。出于描述的目的,在下面通过以系统1000的每个模块/单元由硬件或者硬件和软件的组合形成为例进行描述。所属领域的技术人员应了解,其他合适的装置或系统可适用于实施下列过程,并且系统1000仅仅是用作实施该过程的例示。
[0074] 如图5所示,在步骤S501中,特征提取器100从人脸图像的至少一个人脸区域中提取多个特征图。在另一实施例中,在步骤 S501中,可从整个人脸图像中提取多个特征图。随后,在步骤S502 中,从在步骤S501中提取的多个特征图中生成共享的人脸特征向量。在步骤S503中,从在步骤S502中生成的共享的人脸特征向量中预测人脸图像的人脸关键点位置。根据另一实施例,共享的人脸特征向量可用来预测与人脸关键点检测相关联的至少一个辅助任务的对应目标。随后,同时获取所有辅助任务的目标预测。
[0075] 根据本申请的实施方式,特征提取器包括卷积神经网络,该卷积神经网络包括多个卷积-池化层和全连接层。卷积-池化层中的每个被配置成执行卷积和最大池化操作。在该实施方式中,在步骤S501中,可由多个卷积-池化层连续地提取多个特征图,其中由卷积-池化层中的前一层提取的特征图输入到卷积-池化层的下一层,以提取与先前提取的特征图不同的特征图。在步骤S502中,可由全连接层从在步骤S501中提取的所有的多个特征图中生成共享的人脸特征向量。
[0076] 在该实施例中,方法500还包括训练步骤(图5中未示出),该训练步骤将参考图6进行论述。
[0077] 如图6所示,在步骤S601中,从预定训练集中对训练人脸图像、其标定真实关键点位置和其用于每个辅助任务的标定真实目标进行取样。针对训练人脸图像,在步骤S602中,可从预测器300 中相应地获取其人脸关键点预测和所有辅助任务的目标预测。随后,在步骤S603中,比较所预测的人脸关键点位置与标定真实关键点位置之间的不同,以生成关键点误差。在步骤S604中,分别比较目标预测与用于每个辅助任务的标定真实目标之间的不同,以生成至少一个训练任务误差。随后,在步骤S605中,将所生成的关键点误差和所有的训练任务误差反向传播通过卷积神经网络,以调整卷积神经网络的神经元之间的连接的权重。在步骤S606中,确定辅助任务中的一个是否收敛。如果“否”,则过程600返回到步骤S606。如果“是”,该任务的训练过程在步骤S607中停止并且前进到步骤S608。在步骤S608中,确定人脸关键点检测的训练过程是否收敛。如果“是”,则过程600结束,否则,过程600返回到步骤S601。
[0078] 因此,人脸关键点检测可与异构但微妙相关的任务一起优化。
[0079] 尽管已描述了本发明的优选实例,但在了解本发明基本概念后,所属领域的技术人员可对这些实例进行变化或更改。所附权利要求书意图包括落入本发明的范围内的优选实例和所有变化或更改。
[0080] 显然,在不脱离本发明的精神和范围的情况下,所属领域的技术人员可对本发明进行变化或更改。因此,如果这些变化或更改属于权利要求书和等效技术的范围,那么它们也可落入本发明的范围内。