一种人脸关键点的检测方法、装置、计算设备及存储介质转让专利

申请号 : CN201910439919.3

文献号 : CN110175558B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙阳宋丛礼郑文

申请人 : 北京达佳互联信息技术有限公司

摘要 :

本公开公开了一种人脸关键点的检测方法、装置、计算设备及存储介质,解决了在确定偏移角度较大的原始人脸图像中的人脸关键点位置时,定位准确度低的问题,该方法包括:采用预设的卷积网络模型,识别原始人脸图像相较于预设的平均脸图像的偏移状态信息,并基于由偏移状态信息生成的偏移调整矩阵,将该平均脸图像调整至相应人脸姿态,基于调整后的平均脸图像与预设的级联回归模型,检测原始人脸图像中各个人脸关键点的位置。本公开采用卷积网络模型确定原始人脸图像的人脸姿态,将平均脸图像调整至相应姿态,基于调整后的平均脸图像,确定所述各个人脸关键点的位置,既减少了确认人脸关键点的计算量,又提高了人脸关键点定位准确度。

权利要求 :

1.一种人脸关键点的检测方法,其特征在于,包括:

获取待检测的原始人脸图像,采用预设的卷积网络模型,确定所述原始人脸图像相较于预设的平均脸图像的初始偏移状态信息,其中,所述初始偏移状态信息至少包括初始水平偏移角度、初始垂直偏移角度和初始旋转偏移角度;

确定所述初始水平偏移角度的取值对应的预设的水平偏移角度区间,并将所述水平偏移角度区间的中间值确定为偏移状态信息中的水平偏移角度;

确定所述初始垂直偏移角度的取值对应的预设的垂直偏移角度区间,并将所述垂直偏移角度区间的中间值确定为所述偏移状态信息中的垂直偏移角度;

确定所述初始旋转偏移角度的取值对应的预设的旋转偏移角度区间,并将所述旋转偏移角度区间的中间值确定为所述偏移状态信息中的旋转偏移角度;

基于所述偏移状态信息,生成相应的偏移调整矩阵;

基于所述偏移调整矩阵,对所述平均脸图像进行调整;

将所述调整后的平均脸图像作为初始输入,采用预设的级联回归模型,对所述原始人脸图像中各个人脸关键点的目标位置进行检测。

2.根据权利要求1所述的方法,其特征在于,在获取待检测的原始人脸图像之前,进一步包括:对所述卷积网络模型进行训练,具体包括:

获取至少一个样本人脸图像,记录每一个样本人脸图像相较于所述平均脸图像的偏移状态信息,以及记录各个样本人脸图像对应的偏移状态信息与相应人脸的轮廓形状之间的对应关系;

基于所述对应关系,训练所述卷积网络模型,所述卷积网络模型用于识别原始人脸图像相较于所述平均脸图像的偏移状态信息。

3.根据权利要求1-2任一项所述的方法,其特征在于,将所述调整后的平均脸图像为初始输入,采用预设的级联回归模型,对所述原始人脸图像中各个人脸关键点的目标位置进行检测,包括:采用循环迭代方式执行以下操作,直到确定各个人脸关键点的当前检测位置与预设的期望检测位置之间的误差低于设定阈值为止:基于所述调整后的平均脸图像,确定所述原始人脸图像中各个人脸关键点的当前检测位置;

在所述各个人脸关键点的当前检测位置的周边区域,分别提取特征向量;

基于预设的级联回归模型,确定获得的各个所述特征向量对应的位置调整量;

基于获得的各个所述位置调整量,分别对相应的人脸关键点的当前检测位置进行调整,获得最新的当前检测位置;

计算所述最新的当前检测位置与所述期望检测位置之间的差值;

判断所述差值是否低于所述设定阈值;

将最后一次迭代过程中输出的所述各个人脸关键点的当前检测位置,作为各个人脸关键点的最终检测位置输出。

4.根据权利要求1-2任一项所述的方法,其特征在于,将所述调整后的平均脸图像为初始输入,采用预设的级联回归模型,对所述原始人脸图像中各个人脸关键点的目标位置进行检测,包括:采用循环迭代方式执行以下操作,直到达到设定的迭代次数为止:基于所述调整后的平均脸图像,确定所述原始人脸图像中各个人脸关键点的当前检测位置;

在所述各个人脸关键点的当前检测位置的周边区域,分别提取特征向量;

基于预设的级联回归模型,确定获得的各个所述特征向量对应的位置调整量;

基于获得的各个所述位置调整量,分别对相应的人脸关键点的当前检测位置进行调整,获得最新的当前检测位置;

判断是否达到设定的迭代次数;将最后一次迭代过程中输出的所述各个人脸关键点的当前检测位置,作为各个人脸关键点的最终检测位置输出。

5.根据权利要求4所述的方法,其特征在于,在所述各个人脸关键点的当前检测位置的周边区域,包括:在所述调整后的平均脸图像中,将所述各个人脸关键点的当前检测位置的像素点确定为中心像素点;

选取距离所述中心像素点预设距离门限值的周边像素点;

将所述周边像素点构成的区域,确定为所述各个人脸关键点的当前检测位置的周边区域。

6.一种人脸关键点的检测装置,其特征在于,包括:

获取单元,被配置为执行获取待检测的原始人脸图像,采用预设的卷积网络模型,确定所述原始人脸图像相较于预设的平均脸图像的初始偏移状态信息,其中,所述初始偏移状态信息至少包括初始水平偏移角度、初始垂直偏移角度和初始旋转偏移角度;

确定所述初始水平偏移角度的取值对应的预设的水平偏移角度区间,并将所述水平偏移角度区间的中间值确定为偏移状态信息中的水平偏移角度;

确定所述初始垂直偏移角度的取值对应的预设的垂直偏移角度区间,并将所述垂直偏移角度区间的中间值确定为所述偏移状态信息中的垂直偏移角度;

确定所述初始旋转偏移角度的取值对应的预设的旋转偏移角度区间,并将所述旋转偏移角度区间的中间值确定为所述偏移状态信息中的旋转偏移角度;

处理单元,被配置为执行基于所述偏移状态信息,生成相应的偏移调整矩阵,以及基于所述偏移调整矩阵,对所述平均脸图像进行调整;

检测单元,被配置为执行将所述调整后的平均脸图像作为初始输入,采用预设的级联回归模型,对所述原始人脸图像中各个人脸关键点的目标位置进行检测。

7.根据权利要求6所述的装置,其特征在于,在获取待检测的原始人脸图像之前,所述获取单元进一步被配置为:对所述卷积网络模型进行训练,具体包括:

获取海量的样本人脸图像,记录每一个样本人脸图像相较于所述平均脸图像的偏移状态信息,以及记录各个样本人脸图像对应的偏移状态信息与相应人脸的轮廓形状之间的对应关系;

基于所述对应关系,训练所述卷积网络模型,所述卷积网络模型用于识别原始人脸图像相较于所述平均脸图像的偏移状态信息。

8.根据权利要求6-7任一项所述的装置,其特征在于,将所述调整后的平均脸图像为初始输入,采用预设的级联回归模型,对所述原始人脸图像中各个人脸关键点的目标位置进行检测,所述检测单元被配置为:采用循环迭代方式执行以下操作,直到确定各个人脸关键点的当前检测位置与预设的期望检测位置之间的误差低于设定阈值为止:基于所述调整后的平均脸图像,确定所述原始人脸图像中各个人脸关键点的当前检测位置;

在所述各个人脸关键点的当前检测位置的周边区域,分别提取特征向量;

基于预设的级联回归模型,确定获得的各个所述特征向量对应的位置调整量;

基于获得的各个所述位置调整量,分别对相应的人脸关键点的当前检测位置进行调整,获得最新的当前检测位置;

计算所述最新的当前检测位置与所述期望检测位置之间的差值;

判断所述差值是否低于所述设定阈值;

将最后一次迭代过程中输出的所述各个人脸关键点的当前检测位置,作为各个人脸关键点的最终检测位置输出。

9.根据权利要求6-7任一项所述的装置,其特征在于,将所述调整后的平均脸图像为初始输入,采用预设的级联回归模型,对所述原始人脸图像中各个人脸关键点的目标位置进行检测,所述检测单元被配置为:采用循环迭代方式执行以下操作,直到达到设定的迭代次数为止:基于所述调整后的平均脸图像,确定所述原始人脸图像中各个人脸关键点的当前检测位置;

在所述各个人脸关键点的当前检测位置的周边区域,分别提取特征向量;

基于预设的级联回归模型,确定获得的各个所述特征向量对应的位置调整量;

基于获得的各个所述位置调整量,分别对相应的人脸关键点的当前检测位置进行调整,获得最新的当前检测位置;

判断是否达到设定的迭代次数;将最后一次迭代过程中输出的所述各个人脸关键点的当前检测位置,作为各个人脸关键点的最终检测位置输出。

10.根据权利要求9所述的装置,其特征在于,在所述各个人脸关键点的当前检测位置的周边区域,所述检测单元被配置为:在所述调整后的平均脸图像中,将所述各个人脸关键点的当前检测位置的像素点确定为中心像素点;

选取距离所述中心像素点预设距离门限值的周边像素点;

将所述周边像素点构成的区域,确定为所述各个人脸关键点的当前检测位置的周边区域。

11.一种计算设备,其特征在于,包括:

存储器,用于存储可执行指令;

处理器,用于读取并执行所述存储器中存储的可执行指令,以实现如权利要求1至5中任一项所述的人脸关键点的检测方法。

12.一种存储介质,其特征在于,当所述存储介质中的指令由处理器执行时,使得能够执行如权利要求1至5中任一项所述的人脸关键点的检测方法。

说明书 :

一种人脸关键点的检测方法、装置、计算设备及存储介质

技术领域

[0001] 本公开涉及计算机视觉技术领域,尤其涉及一种人脸关键点的检测方法、装置、计算设备及存储介质。

背景技术

[0002] 随着科学技术的发展,将人脸识别技术应用在实际生活中的场景越来越多,如,基于一张或多张2D图像中所识别的人脸,重新构建人脸3D模型,进而实现视频换脸的效果;或者,对用户面部进行活体检测,以验证所述用户的身份或者权限,以抵御各类欺诈式攻击。
[0003] 从上述内容可以看出,人脸关键点定位是人脸识别技术中的重要组成部分,而现有技术下,主要采用级联回归模型,完成对人脸关键点的定位。
[0004] 具体的,在使用级联回归模型对人脸关键点进行定位时,首先,需要在原始人脸图像中设置各个人脸关键点的初始检测位置,并提取原始人脸图像在各个初始检测位置周边区域的特征向量;接着,将获得的各个特征向量输入到级联回归模型中,输出各个人脸关键点的初始检测位置与相应的目标位置的偏差值,并根据获得的偏差值对各个人脸关键点的初始检测位置进行调整,获得各个人脸关键点的最新的当前检测位置;然后,采用相同方式,基于各个人脸关键点的最新的当前检测位置,重新提取原始人脸图像在各个最新的当前检测位置周边区域的特征向量,再将重新获得的各个特征向量输入到级联回归模型中,再次输出各个人脸关键点的最新的当前检测位置与目标位置的偏差值,……,以此类推,通过一轮轮迭代,在原始人脸图像中,不断调整各个人脸关键点的最新的当前检测位置,直到迭代过程结束,输出人脸关键点的最终检测位置。相关技术下,采用级联回归模型,可以在光照、遮挡、表情等影响因素下,准确检测出人脸关键点的位置。
[0005] 然而,目前级联回归模型也存在其应用的局限性。
[0006] 具体的,相关技术下,在设置人脸关键点的初始位置时,往往是基于处于正视状态的平均脸图像进行设置,所谓平均脸图像,是指将各种类型(如,圆脸、方脸,长脸、尖脸)的人脸模板进行平均化处理后,得到的统一的人脸模板,通常,最终获得的平均脸图像是一张头部姿态处于正前方,且五官位置不发生偏移的人脸模板,而正视状态的平均脸图像,是级联回归模型惯用的初始输入数据之一,可以在其中设置人脸关键点的初始位置,具体如图1所示。
[0007] 但是,当原始人脸图像中的人脸位置,相较于正视状态的平均脸图像而言,偏移姿态较大时,会造成人脸五官位置的偏移,这样,在每一轮迭代中输出的人脸关键点的当前检测位置与目标位置的偏差值会较大,进而造成计算量过大,那么,在设定的迭代次数中,将无法准确地定位原始人脸图像中各个人脸关键点的最终检测位置,从而给人脸关键点的检测造成较大困难,降低人脸关键点的定位准确度。

发明内容

[0008] 本公开提供一种人脸关键点的检测方法、装置、计算设备及存储介质,以至少解决相关技术中当原始人脸图像中的人脸位置相较于正视状态的平均脸图像而言,偏移姿态较大时,人脸关键点定位准确度低的问题。本公开的技术方案如下:
[0009] 根据本公开实施例的第一方面,提供一种人脸关键点的检测方法,包括:
[0010] 获取待检测的原始人脸图像,采用预设的卷积网络模型,识别所述原始人脸图像相较于预设的平均脸图像的偏移状态信息,其中,所述偏移状态信息至少包括水平偏移角度、垂直偏移角度和旋转偏移角度;
[0011] 基于所述偏移状态信息,生成相应的偏移调整矩阵;
[0012] 基于所述偏移调整矩阵,对所述平均脸图像进行调整;
[0013] 将所述调整后的平均脸图像作为初始输入,采用预设的级联回归模型,对所述原始人脸图像中各个人脸关键点的目标位置进行检测。
[0014] 可选的,在获取待检测的原始人脸图像之前,进一步包括:
[0015] 对所述卷积网络模型进行训练,具体包括:
[0016] 获取至少一个样本人脸图像,记录每一个样本人脸图像相较于所述平均脸图像的偏移状态信息,以及记录各个样本人脸图像对应的偏移状态信息与相应人脸的轮廓形状之间的对应关系;
[0017] 基于所述对应关系,训练相应的卷积网络模型,所述卷积网络模型用于识别原始人脸图像相较于所述平均脸图像的偏移状态信息。
[0018] 可选的,获取待检测的原始人脸图像,采用预设的卷积网络模型,识别所述原始人脸图像相较于预设的平均脸图像的偏移状态信息,包括:
[0019] 获取待检测的原始人脸图像,采用预设的卷积网络模型,确定所述原始人脸图像相较于所述平均脸图像的初始偏移状态信息,其中,所述初始偏移状态信息至少包括初始水平偏移角度、初始垂直偏移角度和初始旋转偏移角度;
[0020] 确定所述初始水平偏移角度的取值对应的预设的水平偏移角度区间,并将所述水平偏移角度区间的中间值确定为所述偏移状态信息中的水平偏移角度;
[0021] 确定所述初始垂直偏移角度的取值对应的预设的垂直偏移角度区间,并将所述垂直偏移角度区间的中间值确定为所述偏移状态信息中的垂直偏移角度;
[0022] 确定所述初始旋转偏移角度的取值对应的预设的旋转偏移角度区间,并将所述旋转偏移角度区间的中间值确定为所述偏移状态信息中的旋转偏移角度。
[0023] 可选的,将所述调整后的平均脸图像为初始输入,采用预设的级联回归模型,对所述原始人脸图像中各个人脸关键点的目标位置进行检测,包括:
[0024] 采用循环迭代方式执行以下操作,直到确定各个人脸关键点的当前检测位置与预设的期望检测位置之间的误差低于设定阈值为止:
[0025] 基于所述调整后的平均脸图像,确定所述原始人脸图像中各个人脸关键点的当前检测位置;
[0026] 在所述各个人脸关键点的当前检测位置的周边区域,分别提取特征向量;
[0027] 基于预设的级联回归模型,确定获得的各个所述特征向量对应的位置调整量;
[0028] 基于获得的各个所述位置调整量,分别对相应的人脸关键点的当前检测位置进行调整,获得最新的当前检测位置;
[0029] 计算所述最新的当前检测位置与所述期望检测位置之间的差值;
[0030] 判断所述差值是否低于所述设定阈值;
[0031] 将最后一次迭代过程中输出的所述各个人脸关键点的当前检测位置,作为各个人脸关键点的最终检测位置输出。
[0032] 可选的,将所述调整后的平均脸图像为初始输入,采用预设的级联回归模型,对所述原始人脸图像中各个人脸关键点的目标位置进行检测,包括:
[0033] 采用循环迭代方式执行以下操作,直到达到设定的迭代次数为止:
[0034] 基于所述调整后的平均脸图像,确定所述原始人脸图像中各个人脸关键点的当前检测位置;
[0035] 在所述各个人脸关键点的当前检测位置的周边区域,分别提取特征向量;
[0036] 基于预设的级联回归模型,确定获得的各个所述特征向量对应的位置调整量;
[0037] 基于获得的各个所述位置调整量,分别对相应的人脸关键点的当前检测位置进行调整,获得最新的当前检测位置;
[0038] 判断是否达到设定的迭代次数;
[0039] 将最后一次迭代过程中输出的各个人脸关键点的当前检测位置,作为各个人脸关键点的最终检测位置输出。
[0040] 可选的,在所述各个人脸关键点的当前检测位置的周边区域,包括:
[0041] 在所述调整后的平均脸图像中,将所述各个人脸关键点的当前检测位置的像素点确定为中心像素点;
[0042] 选取距离所述中心像素点预设距离门限值的周边像素点;
[0043] 将所述周边像素点构成的区域,确定为所述各个人脸关键点的当前检测位置的周边区域。
[0044] 根据本公开实施例的第二方面,提供一种人脸关键点的检测装置,包括:
[0045] 获取单元,被配置为执行获取待检测的原始人脸图像,采用预设的卷积网络模型,识别所述原始人脸图像相较于预设的平均脸图像的偏移状态信息,其中,所述偏移状态信息至少包括水平偏移角度、垂直偏移角度和旋转偏移角度;
[0046] 处理单元,被配置为执行基于所述偏移状态信息,生成相应的偏移调整矩阵,以及基于所述偏移调整矩阵,对所述平均脸图像进行调整;
[0047] 检测单元,被配置为执行将所述调整后的平均脸图像作为初始输入,采用预设的级联回归模型,对所述原始人脸图像中各个人脸关键点的目标位置进行检测。
[0048] 可选的,在获取待检测的原始人脸图像之前,所述获取单元进一步被配置为:
[0049] 在预处理阶段对所述卷积网络模型进行训练,具体包括:
[0050] 获取海量的样本人脸图像,记录每一个样本人脸图像相较于所述平均脸图像的偏移状态信息,以及记录各个样本人脸图像对应的偏移状态信息与相应人脸的轮廓形状之间的对应关系;
[0051] 基于所述对应关系,训练相应的卷积网络模型,所述卷积网络模型用于识别原始人脸图像相较于所述平均脸图像的偏移状态信息。
[0052] 可选的,获取待检测的原始人脸图像,采用预设的卷积网络模型,识别所述原始人脸图像相较于所述平均脸图像的偏移状态信息,所述获取单元被配置为:
[0053] 获取待检测的原始人脸图像,采用预设的卷积网络模型,确定所述原始人脸图像相较于所述平均脸图像的初始偏移状态信息,其中,所述初始偏移状态信息至少包括初始水平偏移角度、初始垂直偏移角度和初始旋转偏移角度;
[0054] 确定所述初始水平偏移角度的取值对应的预设的水平偏移角度区间,并将所述水平偏移角度区间的中间值确定为所述偏移状态信息中的水平偏移角度;
[0055] 确定所述初始垂直偏移角度的取值,对应的预设的垂直偏移角度区间,并将所述垂直偏移角度区间的中间值确定为所述偏移状态信息中的垂直偏移角度;
[0056] 确定所述初始旋转偏移角度的取值,对应的预设的旋转偏移角度区间,并将所述旋转偏移角度区间的中间值确定为所述偏移状态信息中的旋转偏移角度。
[0057] 可选的,将所述调整后的平均脸图像为初始输入,采用预设的级联回归模型,对所述原始人脸图像中各个人脸关键点的目标位置进行检测,所述检测单元被配置为:
[0058] 采用循环迭代方式执行以下操作,直到确定各个人脸关键点的当前检测位置与预设的期望检测位置之间的误差低于设定阈值为止:
[0059] 基于所述调整后的平均脸图像,确定所述原始人脸图像中各个人脸关键点的当前检测位置;
[0060] 在所述各个人脸关键点的当前检测位置的周边区域,分别提取特征向量;
[0061] 基于预设的级联回归模型,确定获得的各个所述特征向量对应的位置调整量;
[0062] 基于获得的各个所述位置调整量,分别对相应的人脸关键点的当前检测位置进行调整,获得最新的当前检测位置;
[0063] 计算所述最新的当前检测位置与所述期望检测位置之间的差值;
[0064] 判断所述差值是否低于所述设定阈值;
[0065] 将最后一次迭代过程中输出的各个人脸关键点的当前检测位置,作为各个人脸关键点的最终检测位置输出。
[0066] 可选的,将所述调整后的平均脸图像为初始输入,采用预设的级联回归模型,对所述原始人脸图像中各个人脸关键点的目标位置进行检测时,所述检测单元被配置为:
[0067] 采用循环迭代方式执行以下操作,直到达到设定的迭代次数为止:
[0068] 基于所述调整后的平均脸图像,确定所述原始人脸图像中各个人脸关键点的当前检测位置;
[0069] 在所述各个人脸关键点的当前检测位置的周边区域,分别提取特征向量;
[0070] 基于预设的级联回归模型,确定获得的各个所述特征向量对应的位置调整量;
[0071] 基于获得的各个所述位置调整量,分别对相应的人脸关键点的当前检测位置进行调整,获得最新的当前检测位置;
[0072] 判断是否达到设定的迭代次数;
[0073] 将最后一次迭代过程中输出的各个人脸关键点的当前检测位置,作为各个人脸关键点的最终检测位置输出。
[0074] 可选的,在所述各个人脸关键点的当前检测位置的周边区域,所述检测单元被配置为:
[0075] 在所述调整后的平均脸图像中,将所述各个人脸关键点的当前检测位置的像素点确定为中心像素点;
[0076] 选取距离所述中心像素点预设距离门限值的周边像素点;
[0077] 将所述周边像素点构成的区域,确定为所述各个人脸关键点的当前检测位置的周边区域。
[0078] 根据本公开实施例的第三方面,提供一种计算设备,包括:
[0079] 存储器,用于存可执行指令;
[0080] 处理器,用于读取并执行所述存储器中存储的可执行指令,以实现上述任一项方法。
[0081] 根据本公开实施例的第四方面,提供一种存储介质,包括:
[0082] 当所述存储介质中的指令由的处理器执行时,使得能够执行上述任一项方法的步骤。
[0083] 本公开的实施例提供的技术方案至少带来以下有益效果:
[0084] 在本公开实施例中,通过预设的卷积网络模型,确定原始人脸图像的人脸姿态,并将预设的平均脸图像调整至相应姿态,由于原始人脸图像中的人脸相较于平均脸图像中的人脸而言,偏移姿态较大时,会造成人脸五官位置的偏移,可以根据调整后的平均脸图像,重新确定原始人脸图像中的各个人脸关键点,这样,在采用级联回归模型检测原始人脸图像中的人脸关键点位置时,可以减少确认人脸关键点位置的计算量,准确定位到原始人脸图像中各个人脸关键点的最终检测位置,有效提高人脸关键点的定位准确度。
[0085] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

[0086] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
[0087] 图1是根据一示例性实施例示出的在平均脸图像中设置人脸关键点的初始位置示意图。
[0088] 图2是根据一示例性实施例示出的训练卷积网络模型的流程图。
[0089] 图3是根据一示例性实施例示出的检测原始人脸图像中各个人脸关键点的目标位置的流程图。
[0090] 图4是根据一示例性实施例示出的卷积网络模型针对人脸图像建立的三维人脸坐标系的示意图。
[0091] 图5a是根据一示例性实施例示出的处于正视状态的平均脸图像。
[0092] 图5b是根据一示例性实施例示出的基于偏移调整矩阵调整后的平均脸图像。
[0093] 图6是根据一示例性实施例示出的进行面部美颜操作后的原始人脸图像。
[0094] 图7是根据一示例性实施例示出的进行面部美妆操作后的原始人脸图像。
[0095] 图8是根据一示例性实施例示出的一种人脸关键点的检测装置的框图。
[0096] 图9是根据一示例性实施例示出的一种计算设备的结构示意图。

具体实施方式

[0097] 为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
[0098] 需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0099] 针对在确定偏移角度较大的原始人脸图像中的人脸关键点位置时,定位准确度低的问题,为了提高人脸关键点定位的准确度,在本公开实施例中,为确定原始人脸图像中各个人脸关键点的目标位置提供了一种解决方案,该方案为:采用预设的卷积网络模型,识别原始人脸图像相较于预设的平均脸图像的偏移状态信息,并基于由偏移状态信息生成的偏移调整矩阵,将平均脸图像调整为原始人脸图像中的人脸姿态,将调整后的平均脸图像输入到预设的级联回归模型中,从而完成对原始人脸图像中各个人脸关键点的目标位置进行检测。
[0100] 下面结合附图对本公开优选实施方式进行详细说明。
[0101] 本公开实施例中,在预处理阶段,可选的,需要采用海量的样本人脸数据,对卷积网络模型进行训练,该卷积网络模型是用于识别原始人脸图像相较于平均脸图像的偏移状态信息。具体的,在训练过程中,包括:
[0102] 首先,获取海量的样本人脸图像,记录每一个样本人脸图像相较于平均脸图像的偏移状态信息,以及记录各个样本人脸图像对应的偏移状态信息与相应人脸的轮廓形状之间的对应关系。
[0103] 其次,基于对应关系,训练相应的卷积网络模型,该卷积网络模型用于识别原始人脸图像相较于平均脸图像的偏移状态信息。
[0104] 例如,参阅图2所示,本公开实施例中,训练卷积网络模型的具体流程如下:
[0105] S201:获取一个样本人脸图像,提取该样本人脸图像中人脸的轮廓关键点。
[0106] 影响人脸识别准确率的因素有很多,如,光照条件的变化造成人脸图像阴暗对比明显、被识别人脸的姿态变化等等。但在人脸中存在着一些特殊的关键点,如颧骨、颌骨、下巴等棱角分明的部位,这些特征点的相对位置受人脸姿态变化的影响较小,同时包含有能够正确估计人脸姿态的人脸姿态信息,因此,采用这些特殊的关键点建立模型,既减小了人脸识别过程中受光照强度和人脸姿态变化的影响,同时又能正确估计人脸姿态,为了便于表述,在本公开实施例中,将这些特殊的关键点,称为轮廓关键点。
[0107] S202:确定各个轮廓关键点的当前位置,计算各个轮廓关键点的当前位置与平均脸图像中相应轮廓关键点的位置信息之间的位置偏差值。
[0108] 人脸姿态指的是人脸在特定头部姿势时的方向状态,其反映了包括头部摇摆、俯仰、偏斜三种动作引起的人脸的方向变化。将平均脸图像上建立的三维人脸坐标系作为参考坐标系,通过在该样本人脸图像上建立参考坐标系,将这三种头部动作看做是分别绕着三个坐标轴的旋转,使用头部绕三个坐标轴旋转的角度构成的向量来描述样本人脸图像中的当前人脸姿态,为了便于表述,在本公开实施例中,将头部绕三个坐标轴旋转的角度构成的向量分别称为水平角度、垂直角度和旋转角度,水平角度、垂直角度和旋转角度共同组成一个轮廓关键点的位置信息。由于样本人脸图像中各个轮廓关键点的位置信息是基于平均脸图像的参考坐标系得到的,因此,可以将水平角度、垂直角度和旋转角度确定为,样本人脸图像中各个轮廓关键点与平均脸图像中相应轮廓关键点的位置偏差值,为了便于表述,在本公开实施例中,将水平角度的位置偏差值称为水平偏移角度,将垂直角度的位置偏差值称为垂直偏移角度,将旋转角度的位置偏差值称为旋转偏移角度。
[0109] S203:基于获得的各个位置偏差值,计算样本人脸图像相较于平均脸图像的预测偏移状态信息。其中,所述预测偏移状态信息至少包括水平偏移角度、垂直偏移角度和旋转偏移角度。
[0110] S204:判断预测偏移状态信息与样本人脸图像的实际偏移状态信息是否相同,若是,则执行步骤S206;否则,执行步骤S205。
[0111] S205:基于实际偏移状态信息与预测偏移状态信息的差值,调整卷积网络模型的目标函数,并执行步骤206。
[0112] S206:判断样本人脸数据是否读取完毕,若是,则执行S207;否则,返回S201。
[0113] S207:输出训练完毕的卷积网络模型,该卷积网络模型用于识别样本人脸图像相较于平均脸图像的偏移状态信息。
[0114] 参阅图3所示,在本公开实施例中,检测原始人脸图像中各个人脸关键点的目标位置的详细流程如下:
[0115] S301,获取待检测的原始人脸图像,采用预设的卷积网络模型,识别原始人脸图像相较于预设的平均脸图像的偏移状态信息,其中,所述偏移状态信息至少包括水平偏移角度、垂直偏移角度和旋转偏移角度。
[0116] 待检测的原始人脸图像中包含人脸和背景,由于人脸的边缘特征向量与背景的特征向量具有明显区别,易于将人脸从背景中分离,因此,本公开实施例中的卷积网络模型主要是识别原始人脸图像中的人脸相较于平均脸图像中的人脸的偏移状态信息。
[0117] 将待检测的原始人脸图像输入到预设的卷积网络模型中,首先,该卷积网络模型提取原始人脸图像中的各个轮廓关键点,确定各个轮廓关键点的当前位置;其次,计算各个轮廓关键点的当前位置与平均脸图像中相应轮廓关键点的位置信息之间的位置偏差值;最后,根据位置偏差值,确定原始人脸图像中的人脸相较于平均脸图像中的人脸的偏移状态信息。
[0118] 例如,假设卷积网络模型针对原始人脸图像和平均脸图像,分别建立如图4所示的三维人脸坐标系,以基于水平方向x轴的俯仰角、垂直方向y轴的偏航角和绕平面旋转方向z轴的翻滚角,来确定该原始人脸图像中各个轮廓关键点的当前位置,以及该平均脸图像中的相应各个轮廓关键的当前位置。然后,计算各个轮廓关键点的当前位置与平均脸图像中相应轮廓关键点的位置信息之间的位置偏差值,该位置偏差值包括水平偏移角度、垂直偏移角度和旋转偏移角度,其中,将俯仰角差值确定为水平偏移角度,将偏航角差值确定为垂直偏移角度,将翻滚角差值确定为旋转偏移角度。最后,根据位置偏差值,确定原始人脸图像中的人脸相较于平均脸图像中的人脸的偏移状态信息。
[0119] 可选的,还可以采用以下方式识别原始人脸图像相对于平均脸图像的偏移状态信息:
[0120] 具体的,首先,获取待检测的原始人脸图像,采用预设的卷积网络模型,确定该原始人脸图像相较于平均脸图像的初始偏移状态信息,其中,初始偏移状态信息至少包括初始水平偏移角度、初始垂直偏移角度和初始旋转偏移角度;
[0121] 其次,确定初始水平偏移角度的取值对应的预设的水平偏移角度区间,并将该水平偏移角度区间的中间值确定为偏移状态信息中的水平偏移角度;
[0122] 再次,确定初始垂直偏移角度的取值对应的预设的垂直偏移角度区间,并将该垂直偏移角度区间的中间值确定为偏移状态信息中的垂直偏移角度;
[0123] 最后,确定初始旋转偏移角度的取值对应的预设的旋转偏移角度区间,并将该旋转偏移角度区间的中间值确定为偏移状态信息中的旋转偏移角度。
[0124] 例如,假设初始偏移状态信息为初始水平偏移角度15.6°、初始垂直偏移角度23.4°和初始旋转偏移角度50°,每相差20°划分一个角度区间,则初始水平偏移角度属于[0°,20°)区间,并将该区间的中间值10°确定为偏移状态信息的水平偏移角度;初始垂直偏移角度属于[20°,40°)区间,并将该区间的中间值30°确定为偏移状态信息的垂直偏移角度;初始旋转偏移角度属于[40°,60°)区间,并将该区间的中间值50°确定为偏移状态信息的旋转偏移角度,因此,最终输出的偏移状态信息为水平偏差角度10°、垂直偏差角度为30°和旋转偏移角度50°。
[0125] S302,基于偏移状态信息,生成相应的偏移调整矩阵。
[0126] 基于偏移状态信息,生成至少包含水平角度偏移调整量、垂直角度偏移调整量和旋转角度偏移调整量的偏移调整矩阵。
[0127] 例如,假设水平角度偏移调整量为,垂直角度偏移调整量为,旋转角度偏移调整量为,则计算偏移调整矩阵的表达式为:
[0128] 。
[0129] S303,基于偏移调整矩阵,对平均脸图像进行调整。
[0130] 基于偏移调整矩阵中的水平角度偏移调整值、垂直角度偏移调整值和旋转角度偏移调整值,对该平均脸图像中的各个轮廓关键点的初始位置进行调整,使得调整后的平均脸图像中各个轮廓关键点的当前位置,与原始人脸图像中相应轮廓关键点的目标位置一致。
[0131] 例如,将偏移调整矩阵与平均脸图像中各个轮廓关键点的初始检测位置相乘,得到调整后的平均脸图像中各个轮廓关键点的当前检测位置。
[0132] 例如,参阅图5a和图5b所示,所述平均脸图像中左边眼睛中心点的初始位置信息为水平角度0°、垂直角度90°、旋转角度0°,基于偏移调整矩阵,对平均脸图像进行调整后,该平均脸图像中左边眼睛中心点的当前位置信息更新为水平角度90°、垂直角度0°、旋转角度0°。
[0133] S304,在调整后的平均脸图像中,确定原始人脸图像中各个人脸关键点的当前检测位置。
[0134] 为了便于表述,在本公开实施例中,将对人脸识别贡献率较大的特征点,如眼角点、鼻尖点以及嘴巴中心点等,称为人脸关键点。
[0135] S305,在各个人脸关键点的当前检测位置的周边区域,分别提取特征向量。
[0136] 具体的,确定周边区域的过程如下:
[0137] 首先,在调整后的平均脸图像中,将各个人脸关键点的当前检测位置的像素点确定为中心像素点;
[0138] 其次,选取距离该中心像素点预设距离门限值的周边像素点;
[0139] 最后,将周边像素点构成的区域,确定为各个人脸关键点的当前检测位置的周边区域。
[0140] 其中,多个周边像素点构成的区域,可以是矩形区域,也可以是圆形区域,还可以是其他几何图形区域。
[0141] 若设置的距离门限值小,选取的多个周边像素点距离中心像素点较近,基于所述周边像素点构成的区域较小,但检测精度高;同样地,若设置的距离门限值大,选取的多个周边像素点距离中心像素点较远,基于所述周边像素点构成的区域大,但可能提取到无效特征向量,则对应的检测精度低。
[0142] S306,采用预设的级联回归模型,确定获得的各个特征向量对应的位置调整量。
[0143] 在本公开实施例中,使用海量的非正视状态的样本平均脸数据,采用局部二进制特征(Local Binary Features,LBF)方法,对级联回归模型进行线性回归训练,最终输出训练完毕的级联回归模型,该级联回归模型用于检测样本人脸图像中的人脸关键点的实际检测位置,采用表达式S=(X1,X2,…,Xn)表征非正视状态的样本平均脸图像中的各个人脸关键点的当前检测位置的集合,其中,S表示人脸形状,n表征为人脸关键点的个数。
[0144] S307,采用获得的各个位置调整量,分别对相应的人脸关键点的当前检测位置进行调整,获得最新的当前检测位置。
[0145] S308,判断各个人脸关键点的最新的当前检测位置与预设的期望检测位置之间的误差是否达到预设阈值,若是,则执行步骤309;否则,返回步骤304。
[0146] 可选的,还可以将迭代次数作为约束卷积网络模型迭代结束的条件,判断当前迭代次数是否达到设定的迭代次数,若是,则执行步骤309;否则,返回步骤304。
[0147] S309:将最后一轮迭代过程中各个人脸关键点的当前检测位置,作为各个人脸关键点的最终检测位置输出。
[0148] 具体的,各个人脸关键点的最终检测位置可以表达为St+1=St+Rt(I,St),其中,I表征为作为初始输入的原始人脸图像,Rt表征训练完毕的由t个级联回归器构成的级联回归模型,St表征为上一轮经过t次迭代得到的所述各个人脸关键点的当前检测位置的集合,St+1表征为当前轮中经过第t+1次迭代得到的所述各个人脸关键点的新的当前检测位置的集合。
[0149] 基于上述实施例,在获得各个人脸关键点的最终检测位置后,整个人脸姿态也得到了确认,即可以基于原始人脸图像中各个人脸关键点的最终检测位置,确定所述原始人脸图像中呈现的脸部形态;所述脸部形态至少包含五官位置和面部表情。
[0150] 在此基础上,智能终端按照所述脸部形态,对所述原始人脸图像进行面部美颜操作,或/和,面部美妆操作。
[0151] 例如,参阅图6所示,智能终端按照原始人脸图像中确定的脸部轮廓和五官位置,对该原始人脸图像进行放大双眼、缩小嘴巴、调整面部大小的面部美颜操作。
[0152] 例如,参阅图7所示,智能终端按照原始人脸图像中确定的五官位置,调整该原始人脸图像中的眉形,眼睛形态,以及唇色。
[0153] 基于上述实施例,参阅图8所示,本公开实施例中,提供一种基于人脸关键点的检测装置,至少包括获取单元801,处理单元802和检测单元803,其中,
[0154] 获取单元801,被配置为执行获取待检测的原始人脸图像,采用预设的卷积网络模型,识别所述原始人脸图像相较于预设的平均脸图像的偏移状态信息,其中,所述偏移状态信息至少包括水平偏移角度、垂直偏移角度和旋转偏移角度;
[0155] 处理单元802,被配置为执行基于所述偏移状态信息,生成相应的偏移调整矩阵,以及基于所述偏移调整矩阵,对所述平均脸图像进行调整;
[0156] 检测单元803,被配置为执行将所述调整后的平均脸图像作为初始输入,采用预设的级联回归模型,对所述原始人脸图像中各个人脸关键点的目标位置进行检测。
[0157] 可选的,在获取待检测的原始人脸图像之前,所述获取单元801进一步被配置为:
[0158] 在预处理阶段对所述卷积网络模型进行训练,具体包括:
[0159] 获取海量的样本人脸图像,记录每一个样本人脸图像相较于所述平均脸图像的偏移状态信息,以及记录各个样本人脸图像对应的偏移状态信息与相应人脸的轮廓形状之间的对应关系;
[0160] 基于所述对应关系,训练相应的卷积网络模型,所述卷积网络模型用于识别原始人脸图像相较于所述平均脸图像的偏移状态信息。
[0161] 可选的,获取待检测的原始人脸图像,采用预设的卷积网络模型,识别所述原始人脸图像相较于所述平均脸图像的偏移状态信息,所述获取单元801被配置为:
[0162] 获取待检测的原始人脸图像,采用预设的卷积网络模型,确定所述原始人脸图像相较于所述平均脸图像的初始偏移状态信息,其中,所述初始偏移状态信息至少包括初始水平偏移角度、初始垂直偏移角度和初始旋转偏移角度;
[0163] 确定所述初始水平偏移角度的取值对应的预设的水平偏移角度区间,并将所述水平偏移角度区间的中间值确定为所述偏移状态信息中的水平偏移角度;
[0164] 确定所述初始垂直偏移角度的取值,对应的预设的垂直偏移角度区间,并将所述垂直偏移角度区间的中间值确定为所述偏移状态信息中的垂直偏移角度;
[0165] 确定所述初始旋转偏移角度的取值,对应的预设的旋转偏移角度区间,并将所述旋转偏移角度区间的中间值确定为所述偏移状态信息中的旋转偏移角度。
[0166] 可选的,将所述调整后的平均脸图像为初始输入,采用预设的级联回归模型,对所述原始人脸图像中各个人脸关键点的目标位置进行检测,所述检测单元803被配置为:
[0167] 采用循环迭代方式执行以下操作,直到确定各个人脸关键点的当前检测位置与预设的期望检测位置之间的误差低于设定阈值为止:
[0168] 基于所述调整后的平均脸图像,确定所述原始人脸图像中各个人脸关键点的当前检测位置;
[0169] 在所述各个人脸关键点的当前检测位置的周边区域,分别提取特征向量;
[0170] 基于预设的级联回归模型,确定获得的各个所述特征向量对应的位置调整量;
[0171] 基于获得的各个所述位置调整量,分别对相应的人脸关键点的当前检测位置进行调整,获得最新的当前检测位置;
[0172] 计算所述最新的当前检测位置与所述期望检测位置之间的差值;
[0173] 判断所述差值是否低于所述设定阈值;
[0174] 将最后一次迭代过程中输出的各个人脸关键点的当前检测位置,作为各个人脸关键点的最终检测位置输出。
[0175] 可选的,将所述调整后的平均脸图像为初始输入,采用预设的级联回归模型,对所述原始人脸图像中各个人脸关键点的目标位置进行检测时,所述检测单元803被配置为:
[0176] 采用循环迭代方式执行以下操作,直到达到设定的迭代次数为止:
[0177] 基于所述调整后的平均脸图像,确定所述原始人脸图像中各个人脸关键点的当前检测位置;
[0178] 在所述各个人脸关键点的当前检测位置的周边区域,分别提取特征向量;
[0179] 基于预设的级联回归模型,确定获得的各个所述特征向量对应的位置调整量;
[0180] 基于获得的各个所述位置调整量,分别对相应的人脸关键点的当前检测位置进行调整,获得最新的当前检测位置;
[0181] 判断是否达到设定的迭代次数;
[0182] 将最后一次迭代过程中输出的各个人脸关键点的当前检测位置,作为各个人脸关键点的最终检测位置输出。
[0183] 可选的,在所述各个人脸关键点的当前检测位置的周边区域,所述检测单元803被配置为:
[0184] 在所述调整后的平均脸图像中,将所述各个人脸关键点的当前检测位置的像素点确定为中心像素点;
[0185] 选取距离所述中心像素点预设距离门限值的周边像素点;
[0186] 将所述周边像素点构成的区域,确定为所述各个人脸关键点的当前检测位置的周边区域。
[0187] 基于上述实施例,参阅图9所示,本公开实施例中,提供一种计算设备,至少包括存储器901和处理器902,其中,
[0188] 存储器901,用于存可执行指令;
[0189] 处理器902,用于读取并执行所述存储器中存储的可执行指令,以实现上述任一项方法。
[0190] 基于上述实施例,提供一种存储介质,至少包括:当所述存储介质中的指令由的处理器执行时,使得能够执行上述任一项方法的步骤。
[0191] 综上所述,在本公开实施例中,通过预设的卷积网络模型,检测输入的待检测原始人脸图像相较于预设的平均脸图像的偏移状态信息,进而生成相应的偏移调整矩阵,并对该平均脸图像进行调整,将调整后的平均脸图像作为初始输入,采用预设的级联回归模型,完成对原始人脸图像中各个人脸关键点的目标位置的检测。
[0192] 在相关技术中,先将平均脸图像中的各个人脸关键点的检测位置,确定为待检测人脸图像中的人脸关键点的初始检测位置;再提取所述初始检测位置周边区域的特征向量,和平均脸图像中相应检测位置的特征向量作比较,得到误差;直到该误差在预设范围内,才会停止确定待检测人脸图像中的人脸关键点的检测位置的过程。但是当待检测人脸图像中的人脸与平均脸图像中的人脸偏移角度较大时,人脸五官位置会出现偏移,因此,可能会出现在设定迭代次数内,没有确定出待检测人脸图像中人脸关键点的最终检测位置的情况,或者刚确定出待检测人脸图像中的初始人脸姿态,还没有确定出该人脸图像中各个人脸关键点的最终检测位置的情况。这样,为了准确检测出人脸关键点的目标位置,需要增加迭代次数,进而增加了确定人脸关键点的目标位置的计算量。
[0193] 而在本公开中,先采用预设的卷积网络模型,描绘出待检测人脸图像的初始人脸姿态,并将平均脸图像调整到相应姿态,节省了使用级联回归模型一步步将平均脸图像调整到相应姿态的时间,进而减小了使用级联回归模型确定待检测人脸图像中各个人脸关键点位置的计算量;再将处于同样人脸姿态下的平均脸图像中的各个人脸关键点的检测位置,确定为待检测人脸图像中相应的人脸关键点检测位置,相比于处于正视状态下的平均脸图像,调整后的平均脸图像中的各个人脸关键点位置,更接近待检测人脸图像中各个人脸关键点的实际位置,因此,采用调整后的平均脸图像,不仅可以减小计算量,还能够有效提高人脸关键点的定位准确度,解决当人脸姿态偏移角度较大时,人脸关键点定位准确度低的问题;最后,基于提取的待检测人脸图像中各个人脸关键点检测位置的特征向量,更新所述各个人脸关键点的新的当前检测位置,在所述当前检测位置与期望检测位置之间的误差低于设定阈值,或者达到设定的迭代次数的情况下,判断最后一轮迭代中输出的所述各个人脸关键点的当前检测位置为最终检测位置。
[0194] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0195] 应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。