首页 / 专利库 / 人工智能 / 三维人脸重建 / 人脸模型的构建方法、人脸识别方法、装置及设备

人脸模型的构建方法、人脸识别方法、装置及设备

阅读:189发布:2020-05-21

专利汇可以提供人脸模型的构建方法、人脸识别方法、装置及设备专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种人脸模型的构建方法、 人脸识别 法、装置及设备。人脸模型构建方法包括,先利用二维图像的特征点作为输入通过训练得到的一组级联回归模型或非线性回归模型重建三维人脸形状;然后提出一种基于卷积金字塔的三维 人脸纹理 重建 算法 ,对重建后的三维人脸形状进行纹理重建,算法包括纹理映射和纹理融合两个阶段,可以很好地消除多面照间的光照差异恢复逼真的三维人脸纹理信息,得到带有完整纹理的三维人脸模型。本发明通过 渲染 三维人脸模型得到多视 角 人脸图像,根据多视角人脸图像可构建人脸 数据库 ,利用人脸数据库实现人脸识别,大大提高了识别率。,下面是人脸模型的构建方法、人脸识别方法、装置及设备专利的具体信息内容。

1.一种人脸模型的构建方法,其特征在于,包括以下步骤:
利用同一人的X面照进行三维人脸形状重建,X为正整数,且X≥3;
利用X面照和重建后的三维人脸形状进行纹理重建,得到纹理重建后的三维人脸形状,完成三维人脸模型的构建。
2.根据权利要求1所述的人脸模型的构建方法,其特征在于,利用纹理重建后的三维人脸形状渲染合成多视人脸图像,所述多视角人脸图像用于构建人脸数据库
3.根据权利要求1所述的人脸模型的构建方法,其特征在于,利用级联回归模型对同一人的X面照进行三维人脸形状重建,包括以下步骤:
S1、数据准备
分别提取所述X面照的二维特征点,将所述X面照的二维特征点串联成一个向量,作为二维特征点真实值;采集真实的三维人脸形状,作为三维人脸形状真实值;获取初始化的三维人脸形状;
S2、级联回归模型训练,包括:
S21、根据所述二维特征点真实值与三维人脸形状上对应索引的特征点,分别得到X面照中X个视角的投影矩阵;
S22、利用所述的投影矩阵和三维人脸形状的特征点,计算三维特征点投影到二维图像中对应的二维特征点;
S23、利用所述二维特征点真实值和所述三维投影到二维的二维特征点,计算二维特征点的调整量,利用所述三维人脸形状真实值和三维人脸形状,计算三维人脸形状调整量;
S24、根据所述二维特征点的调整量和三维人脸形状调整量,计算级联回归模型;利用所述级联回归模型、三维人脸形状和二维特征点调整量,计算三维人脸形状的更新量,对三维人脸形状进行更新;
更新后的三维人脸形状重复步骤S21-S24,直到三维人脸形状投影到二维图像中对应的特征点与二维特征点真实值之间的差异小于自定义阈值,训练结束,得到多级级联回归模型;
S3、三维人脸重建,包括:
S31、提取进行三维重建的X面照的二维特征点,将所述X面照的二维特征点串联成一个向量,作为二维特征点真实值,获取初始化的三维人脸形状;
S32、利用所述特征点真实值、三维人脸形状和步骤S24训练得到的级联回归模型,对三维人脸形状进行更新;
更新后的三维人脸形状重复步骤S32,直到每级的级联回归模型都用于三维人脸形状更新,重建完毕,得到所述X面照对应的三维人脸形状。
4.根据权利要求3所述的人脸模型的构建方法,其特征在于,利用以多层感知器网络为核心的非线性回归模型,对同一人的X面照进行三维人脸形状重建,包括以下步骤:
A1、训练数据准备
分别提取所述X面照的二维特征点,将所述X面照的二维特征点串联成一个向量,作为二维特征点真实值;采集真实的三维人脸形状,作为三维人脸形状真实值;获取初始化的三维人脸形状;
A2、非线性回归模型训练,包括:
A21、根据所述二维特征点真实值与三维人脸形状上对应索引的特征点,分别得到X面照中三个视角的投影矩阵;
A22、利用所述的投影矩阵和三维人脸形状的特征点计算三维特征点投影到二维图像中对应的二维特征点;
A23、利用所述二维特征点真实值和所述三维特征点投影到二维图像中的二维特征点,计算二维特征点的调整量,利用所述三维人脸形状真实值和所述三维人脸形状,计算三维人脸形状调整量;
A24、将所述二维特征点的调整量作为多层感知器网络的输入,三维人脸形状调整量作为网络输出的监督信号,训练网络,直到网络收敛,输出三维人脸形状的更新量,所述三维人脸形状、三维人脸形状的更新量,计算更新三维人脸形状;
更新后的三维人脸形状重复步骤A21-A24,递归的训练同一个非线性回归模型,直到三维人脸形状投影到二维图像中对应的特征点与二维特征点真实值之间的差异小于自定义阈值,训练结束,得到最终的非线性回归模型;
其中,非线性回归模型估计所得的三维人脸形状更新量与真实的三维人脸形状调整量的欧式距离将作为网络训练的损失函数;真实的三维人脸形状调整量代表在本次递归调用训练之前,真实的三维人脸形状与重建出的三维人脸形状之间的差异利用;
A3、三维人脸重建,包括:
A31、提取进行三维重建的X面照的二维特征点,将所述X面照的二维特征点串联成一个向量,作为二维特征点真实值,获取初始化的三维人脸形状;
A32、根据所述二维特征点真实值与三维人脸形状上对应索引的特征点,分别得到X面照中X个视角的投影矩阵;
A33、根据所述投影矩阵,将三维特征点投影成二维特征点,利用所述二维特征点和二维特征点真实值,计算二维特征点的调整量;
A34、将二维特征点调整量作为输入,送入训练好的非线性回归器中,得到三维人脸形状的更新量,更新三维人脸形状;
更新的三维人脸形状重复步骤A32-A34,递归的调用非线性回归器,计算三维人脸形状的更新量,得到最终重建的三维人脸形状。
5.根据权利要求3或4所述人脸模型的构建方法,其特征在于,三维人脸重建时输入的X面照的数量与模型训练输入的X面照的数量相同,且对应的视角也相同。
6.根据权利要求3-5任一项所述的人脸模型的构建方法,其特征在于,利用X面照和重建后的三维人脸形状进行纹理重建,包括以下步骤:
B1、纹理映射
B11、基于三维顶点的纹理映射:基于所述X面照及重建好的X面照的三维人脸形状,通过投影矩阵,将每个图像的纹理值分别映射到对应视角的三维人脸形状上,得到X个带有纹理的三维人脸形状;
B12、基于面片的纹理选取:采用快速行进的最远点算法,将带有纹理的三维人脸形状的三维人脸形状,分割为互相重叠的面片,每个面片选取其对应视角的带有纹理的三维人脸形状中可见性最高的相应面片纹理,最终得到带有完整纹理的三维人脸形状;
B2、纹理融合:将所述带有完整纹理的三维人脸形状投影到二维空间,根据正面纹理使用金字塔卷积方法优化侧面纹理,最后将优化后的纹理逆投影到三维空间,得到无拼接痕迹的带有完整纹理的三维人脸形状。
7.根据权利要求2所述的人脸模型的构建方法,其特征在于,利用纹理重建后的三维人脸形状渲染合成多视角人脸图像,包括以下步骤:
利用所述纹理重建的三维人脸形状和投影矩阵,将所述纹理重建的三维人脸形状投影到二维平面;
通过重心坐标插值的方法,获取到二维图像中每个像素的RGB值,最后得到多视角人脸图像。
8.一种采用人脸数据库的人脸识别方法,其特征在于,包括以下步骤:
利用目标人脸的X面照,构建权利要求2所述的人脸数据库;
将目标人脸图像与人脸数据库中每个人的多视角人脸图像逐一对比,每个人取最高相似度作为与目标人脸的相识度,按照相似度由高到低输出目标人脸的可能身份。
9.一种人脸识别装置,其特征在于,包括三维重建模、纹理重建模块、渲染模块和识别模块;
所述人脸重建模块用于重建三维人脸形状;
所述纹理重建模块用于恢复所述三维人脸形状的纹理;
所述渲染模块用于合成恢复纹理的三维人脸形状的多视角人脸图像,所述多视角人脸图像用于构建人脸识别数据库;
所述识别模块用于对比目标人脸的图像和所述多视角人脸图像的相似度,查找与目标人脸的图像对应的人脸图像。
10.一种电子设备,其特征在于,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的方法。

说明书全文

人脸模型的构建方法、人脸识别方法、装置及设备

技术领域

[0001] 本发明涉及人脸识别技术领域,特别涉及一种人脸模型的构建方法、人脸识别法、装置及设备。

背景技术

[0002] 现阶段由于非约束条件下人脸识别技术准确率有限,三面照的互补信息并没有得到有效利用。目前,一些研究人员利用基于单张重建的三维人脸形状去辅助任意姿态的二维人脸识别取得了不错的效果。三面照由于其采集时对应不同的视,可以比单张图像提供更丰富的信息,尤其是侧面图像的引入可以大大提升三维重建的精确度以及可以进一步提升人脸识别的效果。虽然已经有一些研究人员探索使用三面照去更好的重建出三维人脸形状,并以此提升人脸识别准确率,但是他们的重建结果大多只考虑了形状信息,没有充分利用三面照的纹理信息,而且由于重建精度的限制,对于姿态偏转角度较大的二维人脸图像使用上述重建出来的三维人脸形状不能起到很好的辅助作用。
[0003] 现阶段的三维人脸重建方法大多是基于单张人脸图像,如经典方法--三维人脸形变模型(3DMM)和阴影恢复形状法(SFS)。虽说可将三幅图像单独对待利用单张重建的方法对三面照进行人脸重建,但是没有经过特殊的设计很难有效地利用图像间的互补信息。另一类传统方法是对三幅图像采用立体视觉技术进行三维人脸重建,利用视差原理和预标定的相机参数来获取人脸的三维几何信息。然而基于非约束条件下拍摄的三面照人脸图像重建其三维人脸形状较传统的标定过的多视角人脸图像重建三维模型要困难得多。现阶段国内外许多团队开展了关于三面照的三维人脸重建技术的研究,但是其中大部分算法只关注了三维人脸形状的重建,忽视了纹理的重建并没有充分利用三面照的纹理信息,或是重建出来的三维人脸形状精度较低,无法将其应用到人脸识别中,又或者重建出完整的三维人脸需要耗费较长的时间,不利于真实场景下的应用。

发明内容

[0004] 本发明的目的在于克服现有技术中所存在的人脸识别三维重建时没有充分利用图像的纹理信息和互补信息的不足,提供一种人脸模型的构建方法、人脸识别法、装置及设备。
[0005] 为了实现上述发明目的,本发明提供了以下技术方案:
[0006] 一种人脸模型的构建方法,包括以下步骤:
[0007] 利用同一人的X面照进行三维人脸形状重建,X为正整数,且X≥3;
[0008] 利用X面照和重建后的三维人脸形状进行纹理重建,得到纹理重建后的三维人脸形状,完成三维人脸模型的构建。
[0009] 优选的,利用纹理重建后的三维人脸形状渲染合成多视角人脸图像,所述多视角人脸图像用于构建人脸数据库
[0010] 优选的,利用级联回归模型对同一人的X面照进行三维人脸形状重建,包括以下步骤:
[0011] S1、数据准备
[0012] 分别提取所述X面照的二维特征点,将所述X面照的二维特征点串联成一个向量,作为二维特征点真实值;采集真实的三维人脸形状,作为三维人脸形状真实值;获取初始化的三维人脸形状;
[0013] S2、级联回归模型训练,包括:
[0014] S21、根据所述二维特征点真实值与三维人脸形状上对应索引的特征点,分别得到X面照中X个视角的投影矩阵;
[0015] S22、利用所述的投影矩阵和三维人脸形状的特征点,计算三维特征点投影到二维图像中对应的二维特征点;
[0016] S23、利用所述二维特征点真实值和所述三维投影到二维的二维特征点,计算二维特征点的调整量,利用所述三维人脸形状真实值和三维人脸形状,计算三维人脸形状调整量;
[0017] S24、根据所述二维特征点的调整量和三维人脸形状调整量,计算级联回归模型;利用所述级联回归模型、三维人脸形状和二维特征点调整量,计算三维人脸形状的更新量,对三维人脸形状进行更新;
[0018] 更新后的三维人脸形状重复步骤S21-S24,直到三维人脸形状投影到二维图像中对应的特征点与二维特征点真实值之间的差异小于自定义阈值,训练结束,得到多级级联回归模型;
[0019] S3、三维人脸重建,包括:
[0020] S31、提取进行三维重建的X面照的二维特征点,将所述X面照的二维特征点串联成一个向量,作为二维特征点真实值,获取初始化的三维人脸形状;
[0021] S32、利用所述特征点真实值、三维人脸形状和步骤S24训练得到的级联回归模型,对三维人脸形状进行更新;
[0022] 更新后的三维人脸形状重复步骤S32,直到每级的级联回归模型都用于三维人脸形状更新,重建完毕,得到所述X面照对应的三维人脸形状。
[0023] 利用以多层感知器网络为核心的非线性回归模型,对同一人的X面照进行三维人脸形状重建,包括以下步骤:
[0024] A1、训练数据准备
[0025] 分别提取所述X面照的二维特征点,将所述X面照的二维特征点串联成一个向量,作为二维特征点真实值;采集真实的三维人脸形状,作为三维人脸形状真实值;获取初始化的三维人脸形状;
[0026] A2、非线性回归模型训练,包括:
[0027] A21、根据所述二维特征点真实值与三维人脸形状上对应索引的特征点,分别得到X面照中三个视角的投影矩阵;
[0028] A22、利用所述的投影矩阵和三维人脸形状的特征点计算三维特征点投影到二维图像中对应的二维特征点;
[0029] A23、利用所述二维特征点真实值和所述三维特征点投影到二维图像中的二维特征点,计算二维特征点的调整量,利用所述三维人脸形状真实值和所述三维人脸形状,计算三维人脸形状调整量;
[0030] A24、将所述二维特征点的调整量作为多层感知器网络的输入,三维人脸形状调整量作为网络输出的监督信号,训练网络,直到网络收敛,输出三维人脸形状的更新量,所述三维人脸形状、三维人脸形状的更新量,计算更新三维人脸形状;
[0031] 更新后的三维人脸形状重复步骤A21-A24,递归的训练同一个非线性回归模型,直到三维人脸形状投影到二维图像中对应的特征点与二维特征点真实值之间的差异小于自定义阈值,训练结束,得到最终的非线性回归模型;
[0032] 其中,非线性回归模型估计所得的三维人脸形状更新量与真实的三维人脸形状调整量的欧式距离将作为网络训练的损失函数;真实的三维人脸形状调整量代表在本次递归调用训练之前,真实的三维人脸形状与重建出的三维人脸形状之间的差异利用;
[0033] A3、三维人脸重建,包括:
[0034] A31、提取进行三维重建的X面照的二维特征点,将所述X面照的二维特征点串联成一个向量,作为二维特征点真实值,获取初始化的三维人脸形状;
[0035] A32、根据所述二维特征点真实值与三维人脸形状上对应索引的特征点,分别得到X面照中X个视角的投影矩阵;
[0036] A33、根据所述投影矩阵,将三维特征点投影成二维特征点,利用所述二维特征点和二维特征点真实值,计算二维特征点的调整量;
[0037] A34、将二维特征点调整量作为输入,送入训练好的非线性回归器中,得到三维人脸形状的更新量,更新三维人脸形状;
[0038] 更新的三维人脸形状重复步骤A32-A34,递归的调用非线性回归器,计算三维人脸形状的更新量,得到最终重建的三维人脸形状。
[0039] 优选的,上述三维人脸重建方法中,三维人脸重建时输入的X面照的数量与模型训练输入的X面照的数量相同,且对应的视角也相同。
[0040] 优选的,利用X面照和重建后的三维人脸形状进行纹理重建,包括以下步骤:
[0041] B1、纹理映射
[0042] B11、基于三维顶点的纹理映射:基于所述X面照及重建好的X面照的三维人脸形状,通过投影矩阵,将每个图像的纹理值分别映射到对应视角的三维人脸形状上,得到X个带有纹理的三维人脸形状;
[0043] B12、基于面片的纹理选取:采用快速行进的最远点算法,将带有纹理的三维人脸形状的三维人脸形状,分割为互相重叠的面片,每个面片选取其对应视角的带有纹理的三维人脸形状中可见性最高的相应面片纹理,最终得到带有完整纹理的三维人脸形状;
[0044] B2、纹理融合:将所述带有完整纹理的三维人脸形状投影到二维空间,根据正面纹理使用金字塔卷积方法优化侧面纹理,最后将优化后的纹理逆投影到三维空间,得到无拼接痕迹的带有完整纹理的三维人脸形状。
[0045] 优选的,将纹理重建的三维人脸形状渲染成多视角人脸图像,包括以下步骤:
[0046] 利用所述纹理重建的三维人脸形状和投影矩阵,将所述纹理重建的三维人脸形状投影到二维平面;
[0047] 通过重心坐标插值的方法,获取到二维图像中每个像素的RGB值,最后得到多视角人脸图像。
[0048] 本发明还提供一种采用人脸数据库的人脸识别方法,包括以下步骤:
[0049] 利用目标人脸的X面照,构建人脸数据库;
[0050] 将目标人脸图像与人脸数据库中每个人的多视角人脸图像逐一对比,每个人取最高相似度作为与目标人脸的相识度,按照相似度由高到低输出目标人脸的可能身份。
[0051] 本发明还提供一种人脸识别装置,包括三维重建模、纹理重建模块、渲染模块和识别模块;
[0052] 所述人脸重建模块用于重建三维人脸形状;
[0053] 所述纹理重建模块用于恢复所述三维人脸形状的纹理;
[0054] 所述渲染模块用于合成恢复纹理的三维人脸形状的多视角人脸图像,所述多视角人脸图像用于构建人脸识别数据库;
[0055] 所述识别模块用于对比目标人脸的图像和所述多视角人脸图像的相似度,查找与目标人脸的图像对应的人脸图像。
[0056] 本发明还提供一种电子设备,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一项的方法。
[0057] 与现有技术相比,本发明的有益效果:采用本发明的方法、装置即设备,可以将多面照的二维特征点串联成一个完整的向量输入,通过一组级联回归模型估计出精细的三维人脸模型,充分利用了多面照的互补信息来重建三维人脸形状,可得到准确度更高的三维人脸模型;而后提出的一种基于卷积金字塔的三维人脸纹理重建算法,算法包括纹理映射和纹理融合两个阶段,可以很好地消除多面照间的光照差异,恢复逼真的三维人脸纹理信息,利用纹理重建后的人脸模型,可合成多视角人脸图像,建立人脸数据库;人脸数据库包含了丰富的面部信息,可应用于人脸识别,提高人脸识别的准确率。附图说明
[0058] 图1为人脸模型的构建流程图
[0059] 图2为利用级联回归模型进行三维人脸重建的流程示意图。
[0060] 图3为利用非线性回归模型进行三维人脸重建的流程示意图。
[0061] 图4为三维人脸纹理重建的流程示意图。
[0062] 图5为人脸识别方法流程示意图。
[0063] 图6为一种人脸识别装置机构示意图。
[0064] 图7为人脸识别电子设备结构示意图。

具体实施方式

[0065] 下面结合试验例及具体实施方式对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。
[0066] 实施例1
[0067] 如图所示1,本发明提供一种人脸模型的构建方法,该方法的执行主体可以是终端设备或服务器。本发明为了提高人脸识别数据库的构建效率和丰富数据库的图像信息,采用以下步骤:
[0068] 利用同一人的X面照进行三维人脸形状重建,,X为正整数,且X≥3;
[0069] 本方法可以利用人脸多个面的照片进行人脸模型重建,可以是多个角度的人脸照片。本实施例利用注册库中每个人的三面照进行每个人的三维人脸形状重建,所述注册库包括每个人的三面照,注册人员在注册时就会上传注册人员对应的三面照,其中三面照为正面照、左侧脸照和右侧脸照,本实施例采用N个人的三面照,作为N组训练数据,训练次数为k∈[1,K],其中N、K为自然数,i表示第i∈[1,N]组训练数据。
[0070] 本实施例可利用级联回归模型对同一人的三面照进行三维人脸形状重建,也可利用以多层感知器网络为核心的非线性回归模型对同一人的三面照进行三维人脸形状重建。
[0071] 利用级联回归模型对同一人的三面照进行三维人脸形状重建的步骤包括:
[0072] S1、数据准备
[0073] 分别提取所述三面照的二维特征点,将所述三面照的二维特征点串联成一个向量,作为二维特征点真实值;采集真实的三维人脸形状,作为三维人脸形状真实值;获取初始化的三维人脸形状;
[0074] 本实施例中提取正面照的特征点采用现有的基于DLIB接口实现的特征点提取算法来提取,正面照提取六十八个面部特征点,因为现有特征点提取方法在头部偏转角度较小(40度以内)时效果较好,在头部偏转角度较大(60度至90度)时提取精度急速下降,而三面照中的侧脸照偏转角为90度,本实施例使用300W-LP数据库中的姿态偏转在70度到90度之间的人脸图像重新对基于DLIB接口实现的特征点提取算法进行训练,以提升其对侧脸图像特征点检测的精度,提取侧脸图像的25个特征点,一些图像的特征点仍然存在偏差较大,对这部分图像手动修正其上的特征点。
[0075] 将正脸、右侧脸和左侧脸图像上提取到的二维特征点分别用PF,PR和PL表示,为了充分利用多视角图像之间的互补信息,将提取到的二维特征点串联起来形成一个完整的向量:
[0076]
[0077] u表示二维特征点的横坐标,v表示二维特征点的纵坐标,F表示正面、R表示左侧面、L表示右侧面。
[0078] 采集每个人真实的三维人脸形状,作为三维人脸形状真实值,用[0079] 初始化:本实施例预先对三维人脸形状进行初始化,得到初始的三维人脸形状S0(本实施例使用训练数据计算得到的平均人脸作为初始形状),利用初始的三维人脸形状进行模型训练,初始的三维人脸形状作为第一次训练的三维人脸形状。
[0080] S2、级联回归模型训练,包括:
[0081] S21、根据所述二维特征点真实值与三维人脸形状上对应索引的特征点,分别得到三面照中三个视角的投影矩阵
[0082] 使用P*表示由二维图像提取得到的特征点,作为二维特征点的真实值,使用Sk表示在第k次迭代完成后得到的三维人脸形状。三面照中三个视角的投影矩阵,分别根据相应输入图像上提取到的二维特征点与三维人脸形状上对应索引的特征点使用最小二乘法拟合得到,拟合投影矩阵Mk的公式为:
[0083]
[0084] 其中,j∈{f,l,r}表示三面照中的正面,左侧面和右侧面图像,Dk表示三维人脸形状Sk中对应的三维特征点。
[0085] S22、利用所述的投影矩阵和三维人脸形状的特征点,计算三维特征点投影到二维图像中对应的二维特征点;
[0086] 通过三维-二维投影矩阵Mk将三维人脸形状Sk投影到二维平面得到对应的二维特征点Pk;
[0087] 使用点表示重建得到的三维人脸模型,三维人脸形状模型是经过稠密对齐的,且二维图像中语义特征点在三维点云中的索引是已知的。具体地,三维人脸形状模型使用含有n个顶点的三维坐标值表示:
[0088]
[0089] 将三维特征点投影到二维图像中得到对应的二维特征点P:
[0090]
[0091] 其中,DL表示三维人脸形状S中对应的三维特征点,M为三维到二维投影矩阵,用于近似表达相机透视变换fC、姿态变换fP和表情变换fE的综合效果。
[0092] 在成像过程中,三维人脸模型经过三维-二维映射得到对应的二维图像,其中涉及到表情、姿态、透视等变换,因此二维图像中的特征点和三维人脸形状具有很强的相关性,且二维特征点在一定程度上包含了几何信息,本实施例提出根据输入的三面照上的特征点,使用级联回归框架重建其三维人脸形状。本实施例中,统一使用向量形式表示三维人脸形状S=(x1 ,y1 ,z1 ,x2,y2 ,z2 ,...,xn ,yn ,zn)T与二维人脸特征点其中“T”代表矩阵的转置变换。
[0093] S23、利用所述二维特征点真实值和所述三维特征点投影到二维图像中的二维特征点,计算二维特征点的调整量,利用所述三维人脸形状真实值和所述三维人脸形状,计算三维人脸形状调整量;
[0094] 二维特征点的调整量ΔPk和三维人脸形状调整量ΔSk的计算如下:
[0095] ΔPk=(P*-Pk-1)ΔSk=S*-Sk-1
[0096] 其中,ΔSk表示第k次迭代的三维人脸形状更新量,ΔPk表示第k次迭代的二维特征点更新量,Sk-1表示在第k-1次迭代完成后得到的三维人脸形状,Pk-1表示第k-1次迭代三维人脸形状Sk-1投影到二维平面得到对应的二维特征点。
[0097] S24、根据所述二维特征点的调整量和三维人脸形状调整量,计算级联回归模型;利用所述级联回归模、三维人脸形状和二维特征点调整量,计算三维人脸形状的更新量,对三维人脸形状进行更新;
[0098] 计算第k次迭代的级联回归模型,第k次迭代的回归模型Rk通过在N组训练数据上求解以下目标函数得到:
[0099]
[0100] 表示第i张图片的三维人脸形状真实值; 表示第i张图片在第k-1次迭代完成后得到的三维人脸形状;Pi*表示第i张图片的三维人脸形状真实值;Pik-1表示第第i张图片第k-1次迭代三维人脸形状 投影到二维平面得到对应的二维特征点。
[0101] 方法采用线性回归作为三维人脸形状回归模型,因此上式可通过最小二乘法求得全局最优的闭式解:
[0102] Rk=ΔSk-1(ΔPk-1)T(ΔPk-1(ΔPk-1)T)-1
[0103] 其中, 和 由所有训练样本的三维人脸形状和二维特征点组成,每列对应一个训练样本,且 和 分别表示三维人脸形状修正量和二维特征点调整量。(重影)
[0104] 为了防止优化求解时出现过拟合,我们在目标函数的基础上添加了正则项:
[0105]
[0106] 上式对应的全局最优闭式解为:
[0107] Rk=ΔSk-1(ΔPk-1)T(ΔPk-1(ΔPk-1)T+λE)-1
[0108] 其中,E表示单位矩阵,λ表示正则化参数。
[0109] 通过下式计算三维人脸形状Sk的更新量:
[0110] ΔSk+1=Rk+1(ΔPk)
[0111] 其中,ΔPk=(P*-Pk)表示二维特征点的调整量,Rk+1表示预先学习到的第k+1次迭代过程中的三维人脸形状回归模型。接下来可以对三维人脸形状进行更新,得到第k+1迭代完成后的三维人脸形状Sk+1:
[0112] Sk+1=Sk+ΔSk+1
[0113] 更新后的三维人脸形状重复步骤S21-S24,直到三维人脸形状投影到二维图像中对应的特征点与二维特征点真实值之间的差异小于自定义阈值,训练结束,得到多级级联回归模型;
[0114] 如图2所示,利用级联回归模型对同一人的三面照进行三维人脸形状重建时,先对三面照进行特征点定位,提取到二维特征点真实值,再利用初始的三维人脸形状和训练得到的级联回归模型进行三维重建。
[0115] S3、三维人脸重建,包括:
[0116] S31、提取进行三维重建的三面照的二维特征点,将所述三面照的二维特征点串联成一个完整的向量,作为二维特征点真实值,获取初始化的三维人脸形状;
[0117] 按照步骤S1所述方法提取三面照的二维特征点真实值,获取初始的三维人脸形状,
[0118] S32、利用所述特征点真实值、三维人脸形状和步骤S24训练得到的级联回归模型,对三维人脸形状进行更新;
[0119] 根据步骤S24中训练得到的K级级联回归模型计算三维人脸形状的更新量,对初始的三维人脸形状进行更新,三维人脸形状更新量Sk的计算:
[0120] ΔSk+1=Rk+1(ΔPk)
[0121] 其中,ΔPk=(P*-Pk)表示二维特征点的调整量,Rk+1表示预先学习到的第k+1次迭代过程中的三维人脸形状回归模型。接下来可以对三维人脸形状进行更新,得到第k+1迭代k+1完成后的三维人脸形状S :
[0122] Sk+1=Sk+ΔSk+1
[0123] 更新后的三维人脸形状重复步骤S32,直到每级的级联回归模型都用于三维人脸形状更新,重建完毕,得到所述三面照对应的三维人脸形状。
[0124] 实施例2
[0125] 本实施例与实施例1的区别在于,所述步骤S24可替换为步骤A24,步骤A24具体为:
[0126] 计算出二维特征点的调整量和三维人脸形状调整量后,将所述二维特征点的调整量作为多层感知器网络的输入,三维人脸形状调整量作为网络输出的监督信号,训练网络,直到网络收敛,输出三维人脸形状的更新量,利用所述三维人脸形状、三维人脸形状的更新量,计算更新三维人脸形状:
[0127] 多层感知器网络输出三维人脸形状的更新量ΔSk+1,计算第k+1次完成后的三维人脸形状Sk+1:
[0128] Sk+1=Sk+ΔSk+1
[0129] 其中Sk为第k次递归得到的三维人脸形状。
[0130] 更新后的三维人脸形状重复与实施例1步骤S21-S24相同的A21-A24,递归的训练同一个非线性回归模型,直到三维人脸形状投影到二维图像中对应的特征点与二维特征点真实值之间的差异小于自定义阈值,训练结束,得到最终的非线性回归模型;
[0131] 实施例2与实施例1的不同点还在于,步骤S3可替换为A3,A3包括以下步骤:
[0132] A31、提取进行三维重建的三面照的二维特征点,将所述三面照的二维特征点串联成一个完整的向量,作为二维特征点真实值,获取初始化的三维人脸形状;
[0133] A32、根据所述二维特征点真实值与三维人脸形状上对应索引的特征点,分别得到三面照中三个视角的投影矩阵;
[0134] A33、根据所述投影矩阵,将三维特征点投影成二维特征点,利用所述二维特征点和二维特征点真实值,计算二维特征点的调整量;
[0135] A34、将二维特征点调整量作为输入,送入训练好的非线性回归器中,得到三维人脸形状的更新量,更新三维人脸形状;
[0136] 更新的三维人脸形状重复步骤A32-A34,递归的调用非线性回归器,计算三维人脸形状的更新量,得到最终重建的三维人脸形状。
[0137] 如图3所示为利用非线性回归模型进行三维人脸重建的流程示意图,首先将二维特征点的调整量作为多层感知器的输入,多层感知器包括两个全连接层和一个激活层,三维人脸形状调整量作为网络输出的监督信号,训练网络,直到网络收敛,输出三维人脸形状的更新量,利用所述三维人脸形状、三维人脸形状的更新量,计算更新三维人脸形状,再根据更新的三维人脸形状,计算投影矩阵,可利用投影矩阵计算三维特征点投影到二维图像中对应的二维特征点,再利用二维特征点真实值计算二维特征点调整量,作为下一次递归调用训练的输入,递归的训练同一个非线性回归模型,直到三维人脸形状投影到二维图像中对应的特征点与二维特征点真实值之间的差异小于自定义阈值,训练结束,得到最终的非线性回归模型。
[0138] 其中,非线性回归模型估计所得的三维人脸形状更新量与真实的三维人脸形状调整量的欧式距离将作为网络训练的损失函数;真实的三维人脸形状调整量代表在本次递归调用训练之前,真实的三维人脸形状与重建出的三维人脸形状之间的差异利用。
[0139] 上述实施例中三维人脸重建时输入的X面照的数量与模型训练输入的X面照的数量相同,且对应的视角也相同,即训练时用了几个视角的照片或图像,三维人脸重建的时候用的照片就要用对应视角的照片或图像进行三维重建,数量和视角是相对应的。
[0140] 实施例3
[0141] 利用三面照和重建后的三维人脸形状进行纹理重建,得到纹理重建后的三维人脸形状,完成三维人脸模型的构建;
[0142] 为了进一步重建三维人脸的完整纹理信息,该步骤为前一阶段得到的三维人脸形状中的每一个点赋予相应的纹理值。
[0143] 如图4所示为三维人脸纹理重建的流程示意图,纹理重建分为两个阶段:纹理映射和纹理融合。纹理映射阶段粗略地得到每一个点的纹理值,纹理融合阶段进一步对上一阶段选择的纹理进行优化以消除由于光照等因素造成的拼接痕迹或纹理不一致。
[0144] B1、纹理映射
[0145] B11、基于三维顶点的纹理映射:基于所述三面照及重建好的三面照的三维人脸形状,通过投影矩阵,将每个图像的纹理值分别映射到对应视角的三维人脸形状上,得到三个带有纹理的三维人脸模型;
[0146] 首先,基于三张输入图像及重建好的三维人脸形状利用步骤S120所述投影矩阵的计算公式,可以得到投影矩阵M,将每个图像的纹理值分别映射到对应视角的三维人脸形状上,得到三个带有纹理的三维人脸模型。每个点的可见性可以通过投影矩阵M和三维人脸形状S顶点法向量 估计,计算方式如下:
[0147]
[0148] 其中,sgn()表示符号函数,‘·’表示点乘,‘×’表示叉乘,M1和M2分别投影矩阵M第一行和第二行的前三个元素。
[0149] B12、基于面片的纹理选取:采用快速行进的最远点算法将得到的三维人脸形状分割为互相重叠的面片,每个面片,选取其对应视角的带有纹理的三维人脸模型中可见性最高的相应面片纹理,最终得到带有完整纹理的三维人脸模型。
[0150] 不可见的三维点在图像中不存在对应像素点,步骤B11所述的基于三维顶点的纹理映射无法获取对应的纹理值。本实施例采用快速行进的最远点算法将得到的三维人脸形状分割为100个互相重叠的面片,面片间重叠率系数设置为σ=0.6。对于每个面片,我们从上述得到的三个纹理中选取可见性最高的对应视角的相应面片纹理,最终得到带有完整纹理的三维人脸模型。
[0151] B2、纹理融合:将所述带有完整纹理的三维人脸模型投影到二维空间,之后根据正面纹理使用金字塔卷积方法优化侧面纹理,最后将优化后的纹理逆投影到三维空间,得到无拼接痕迹的带有完整纹理的三维人脸模型。
[0152] 由于不同视角图像间的光照不一致、采集设备不同等原因,纹理映射阶段得到的纹理具有明显的拼接痕迹,为去除这些拼接痕迹,可对源纹理和目标纹理(即正面和侧面图像)进行融合。将纹理融合看成是在源纹理的约束下对目标纹理进行重采样的过程,本实施例采用直接在图像强度域而不是在梯度域中优化纹理。具体实现时,使用三个滤波器去近似梯度域中的泊松融合过程,并在多尺度空间对目标纹理滤波,将卷积金字塔应用于目标纹理图像。经过此阶段优化,可得到无拼接痕迹的带有完整纹理的三维人脸模型。
[0153] 人脸模型构建完成后,将纹理重建的三维人脸形状渲染成多视角人脸图像的步骤:
[0154] 本实施例利用纹理重建后的三维人脸形状,在-90度至90度范围内每隔15度渲染生成一张二维图像,渲染过程的实现方式如下:步骤包括:
[0155] 利用所述纹理重建的三维人脸形状和投影矩阵将所述纹理重建的三维人脸形状投影到二维平面;
[0156] 通过重心坐标插值的方法获取到二维图像中每个像素的RGB值,最后得到多视角人脸图像。
[0157] 实施例4
[0158] 如图5所示为人脸识别方法流程示意图,本实施例公开了一种采用人脸数据库的人脸识别方法,包括以下步骤:
[0159] 利用目标人脸的三面照,构建所述的人脸数据库;
[0160] 多视角人脸图像包括每个注册员多个角度的人脸图像,根据多视角的人脸图建立的人脸数据库,拥有更加丰富的人脸信息。
[0161] 将目标人脸图像输入人脸识别器中,目标人脸图像与人脸数据库中每个人的多视角人脸图像逐一对比,每个人取最高相似度作为与目标人脸的相识度,比对结果按照相似度由高到低输出目标人脸的可能身份。本实施例的人脸识别器通过现有的Light CNN模型、Center Loss模型或者Sphere Face模型来进行人脸识别。
[0162] 实施例5
[0163] 如图6所示为一种人脸识别装置机构示意图,本实施例公开了一种人脸识别装置,包括三维重建模块、纹理重建模块、渲染模块和识别模块。
[0164] 所述三维重建模块用于重建三维人脸模型;
[0165] 所述纹理重建模块用于恢复所述三维人脸模型的纹理;
[0166] 所述渲染模块用于合成恢复纹理的三维人脸模型的多视角人脸图像,所述多视角人脸图像用于构建人脸识别数据库;
[0167] 所述识别模块用于对比目标人脸的图像和所述多视角人脸图像的相似度,查找与目标人脸的图像对应的人脸图像。
[0168] 实施例6
[0169] 如图7所示为本发明提供的电子设备结构示意图,本实施例公开了一种电子设备,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述任一实施例所述的方法。所述输入输出接口可以包括显示器、键盘鼠标、以及USB接口,用于输入输出数据;电源用于为电子设备提供电能
[0170] 本领域技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等可以存储程序代码的介质。
[0171] 当本发明上述集成的单元以软件功能单元的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
[0172] 需要说明的是,对于装置及电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0173] 最后需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈