三维人脸模型生成方法、装置、计算机设备及存储介质转让专利

申请号 : CN202010049667.6

文献号 : CN111210510B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李文攀暴林超林祥凯

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本申请实施例公开了一种三维人脸模型生成方法、装置、计算机设备及存储介质,属于计算机技术领域。该方法包括:获取多个目标人脸图像及对应的多个深度图像,根据每个目标人脸图像所属的图像类型,获取每个目标人脸图像中与所属的图像类型匹配的区域人脸图像,根据每个目标人脸图像中的区域人脸图像,获取对应的深度图像中的区域深度图像,根据获取的多个区域人脸图像及多个区域深度图像进行融合,生成人脸的三维人脸模型。通过对获取到的多个目标人脸图像及对应的多个深度图像进行剪裁,从而使不同的区域人脸图像之间的重叠区域减少,使生成人脸的三维人脸模型过程中的计算量小,从而提高了构建三维人脸模型的效率。

权利要求 :

1.一种三维人脸模型生成方法,其特征在于,所述方法包括:获取多个人脸图像及对应的多个深度图像,所述多个人脸图像包含同一人脸,将所述多个人脸图像按照所属的图像类型进行划分,得到多个图像序列,每个图像序列包括所属图像类型相同的人脸图像,所述多个图像序列至少包括正脸类型对应的第一图像序列和其他图像类型对应的第二图像序列;

从所述第一图像序列中选取一个第一人脸图像,作为目标人脸图像;

获取每个第二图像序列中的每个第二人脸图像与所述第一人脸图像之间的姿态角度差;

分别从所述每个第二图像序列中选取一个所述姿态角度差最大的第二人脸图像,也作为所述目标人脸图像,获取多个目标人脸图像对应的深度图像,且所述多个深度图像包含对应目标人脸图像中的像素点的深度信息;

根据每个目标人脸图像所属的图像类型,获取所述每个目标人脸图像中与所属的图像类型匹配的区域人脸图像,所述图像类型包括所述正脸类型、左侧脸类型、右侧脸类型或抬头类型;

根据所述每个目标人脸图像中的区域人脸图像,获取对应的深度图像中的区域深度图像,所述区域人脸图像的位置与所述区域深度图像的位置匹配;

根据获取的多个区域人脸图像及多个区域深度图像进行融合,生成所述人脸的三维人脸模型。

2.根据权利要求1所述的方法,其特征在于,所述根据每个目标人脸图像所属的图像类型,获取所述每个目标人脸图像中与所属的图像类型匹配的区域人脸图像,包括:从任一目标人脸图像的多个标志点中,选取与所述目标人脸图像所属的图像类型匹配的至少一个第一标志点;

从所述目标人脸图像中获取所述至少一个第一标志点构成的区域人脸图像。

3.根据权利要求1所述的方法,其特征在于,所述获取每个第二图像序列中的每个第二人脸图像与所述第一人脸图像之间的姿态角度差,包括:对于任一第二人脸图像,确定所述第二人脸图像与所述第一人脸图像中序号相同的至少一个第二标志点;

根据所述第一人脸图像中所述至少一个第二标志点的坐标,及所述第二人脸图像中所述至少一个第二标志点的坐标,获取所述第一人脸图像与所述第二人脸图像之间的旋转平移矩阵;

对所述旋转平移矩阵进行转换,得到所述第二人脸图像与所述第一人脸图像之间的姿态角度差。

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取多个人脸图像及对应的多个深度图像,所述多个人脸图像包含所述人脸;

根据每个人脸图像的眼部状态,将所述多个人脸图像中处于未眨眼状态的人脸图像,确定为所述目标人脸图像,所述眼部状态包括眨眼状态或未眨眼状态。

5.根据权利要求4所述的方法,其特征在于,所述根据每个人脸图像的眼部状态,将所述多个人脸图像中处于未眨眼状态的人脸图像,确定为所述目标人脸图像之前,所述方法还包括:

对于任一人脸图像,确定所述人脸图像中目标眼部区域的上眼皮标志点、下眼皮标志点、左眼角标志点及右眼角标志点;

确定所述上眼皮标志点与所述下眼皮标志点之间的第一距离,及所述左眼角标志点与所述右眼角标志点之间的第二距离;

将所述第一距离与所述第二距离之间的比值确定为所述目标眼部区域的开合比;

响应于所述开合比小于开合比阈值,确定所述人脸图像处于眨眼状态;

响应于所述开合比不小于所述开合比阈值,确定所述人脸图像处于未眨眼状态。

6.根据权利要求5所述的方法,其特征在于,所述方法还包括:获取所述多个人脸图像对应的开合比的平均值,作为所述开合比阈值。

7.根据权利要求1所述的方法,其特征在于,所述根据获取的多个区域人脸图像及多个区域深度图像进行融合,生成所述人脸的三维人脸模型,包括:将所述多个区域深度图像进行融合,得到三维轮廓模型;

从所述多个目标人脸图像中分别提取每个区域人脸图像的颜色纹理特征;

将所述每个区域人脸图像的颜色纹理特征与所述三维轮廓模型进行融合,生成所述三维人脸模型。

8.根据权利要求7所述的方法,其特征在于,所述将所述多个区域深度图像进行融合,得到三维轮廓模型,包括:

根据所述每个目标人脸图像对应的焦距值,将所述每个目标人脸图像对应的区域深度图像转换成点云数据;

将所述每个目标人脸图像对应的点云数据进行融合,得到所述三维轮廓模型。

9.根据权利要求8所述的方法,其特征在于,所述多个目标人脸图像包括所述正脸类型对应的第一人脸图像和其他图像类型对应的第二人脸图像,所述将所述每个目标人脸图像对应的点云数据进行融合,得到所述三维轮廓模型,包括:按照每个第二人脸图像与所述第一人脸图像的姿态角度差,将所述每个第二人脸图像对应的第二点云数据进行旋转;

将旋转后的每个第二点云数据与所述第一人脸图像对应的第一点云数据进行融合,生成所述三维轮廓模型。

10.根据权利要求7所述的方法,其特征在于,所述将所述每个区域人脸图像的颜色纹理特征与所述三维轮廓模型进行融合,生成所述三维人脸模型,包括:确定每个区域人脸图像在所述三维轮廓模型中对应的区域;

分别将所述每个区域人脸图像的颜色纹理特征融合至所述三维轮廓模型中对应的区域的表面,生成所述目标人脸的三维人脸模型。

11.一种三维人脸模型生成装置,其特征在于,所述装置包括:图像获取模块,用于获取多个人脸图像及对应的多个深度图像,所述多个人脸图像包含同一人脸,将所述多个人脸图像按照所属的图像类型进行划分,得到多个图像序列,每个图像序列包括所属图像类型相同的人脸图像,所述多个图像序列至少包括正脸类型对应的第一图像序列和其他图像类型对应的第二图像序列;从所述第一图像序列中选取一个第一人脸图像,作为目标人脸图像;获取每个第二图像序列中的每个第二人脸图像与所述第一人脸图像之间的姿态角度差;分别从所述每个第二图像序列中选取一个所述姿态角度差最大的第二人脸图像,也作为所述目标人脸图像,获取多个目标人脸图像对应的深度图像,且所述多个深度图像包含对应目标人脸图像中的像素点的深度信息;

第二图像获取模块,用于根据每个目标人脸图像所属的图像类型,获取所述每个目标人脸图像中与所属的图像类型匹配的区域人脸图像,所述图像类型包括所述正脸类型、左侧脸类型、右侧脸类型或抬头类型;

第三图像获取模块,用于根据所述每个目标人脸图像中的区域人脸图像,获取对应的深度图像中的区域深度图像,所述区域人脸图像的位置与所述区域深度图像的位置匹配;

人脸模型生成模块,用于根据获取的多个区域人脸图像及多个区域深度图像进行融合,生成所述人脸的三维人脸模型。

12.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现如权利要求1至10任一权利要求所述的三维人脸模型生成方法。

13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现如权利要求1至10任一权利要求所述的三维人脸模型生成方法。

说明书 :

三维人脸模型生成方法、装置、计算机设备及存储介质

技术领域

[0001] 本申请实施例涉及计算机技术领域,特别涉及一种三维人脸模型生成方法、装置、计算机设备及存储介质。

背景技术

[0002] 随着计算机技术的发展,三维人脸模型的应用越来越广泛。三维人脸模型可以用于多种场景下,如游戏人物构建场景、虚拟人物形象构建场景等,通过用户的人脸图像,可
以生成用户的三维人脸模型,便于用户的使用。
[0003] 相关技术中提供了一种三维人脸模型生成方法,获取目标人脸的视频,将该视频中包括的多个人脸图像进行融合,生成三维人脸模型。由于上述方法是将视频中的多个人
脸图像进行融合,融合过程所需的计算量大,导致构建三维人脸模型的效率低。

发明内容

[0004] 本申请实施例提供了一种三维人脸模型生成方法、装置、计算机设备及存储介质,能够提高了构建三维人脸模型的效率。所述技术方案如下:
[0005] 一方面,提供了一种三维人脸模型构建方法,所述方法包括:
[0006] 获取多个目标人脸图像及对应的多个深度图像,所述多个目标人脸图像包含同一人脸,且所述多个深度图像包含对应目标人脸图像中的像素点的深度信息;
[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] 图1是本申请实施例提供的一种实施环境的示意图;
[0051] 图2是本申请实施例提供的一种三维人脸模型生成方法的流程图;
[0052] 图3是本申请实施例提供的一种人脸图像序列的示意图;
[0053] 图4是本申请实施例提供的一种人脸图像的示意图;
[0054] 图5是本申请实施例提供的一种坐标系的示意图;
[0055] 图6是本申请实施例提供的一种多个目标人脸图像的示意图;
[0056] 图7是本申请实施例提供的一种三维人脸模型生成方法的流程图;
[0057] 图8是本申请实施例提供的一种多个区域深度图像的示意图;
[0058] 图9是本申请实施例提供的一种三维人脸模型生成方法的流程图;
[0059] 图10是本申请实施例提供的一种三维轮廓模型的示意图;
[0060] 图11是本申请实施例提供的一种三维轮廓模型的示意图;
[0061] 图12是本申请实施例提供的一种三维人脸模型的示意图;
[0062] 图13是本申请实施例提供的一种三维人脸模型生成方法的流程图;
[0063] 图14是本申请实施例提供的一种三维人脸模型生成装置的结构示意图;
[0064] 图15是本申请实施例提供的一种三维人脸模型生成装置的结构示意图;
[0065] 图16是本申请实施例提供的一种终端的结构示意图;
[0066] 图17是本申请实施例提供的一种服务器的结构示意图。

具体实施方式

[0067] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
[0068] 本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种概念,但除非特别说明,这些概念不受这些术语限制。这些术语仅用于将一个概念与另一个概念区分。举例
来说,在不脱离本申请的范围的情况下,可以将第一人脸图像称为第二人脸图像,且类似
地,可将第二人脸图像称为第一人脸图像。
[0069] 本申请所使用的术语“至少一个”、“多个”、“每个”、“任一”,至少一个包括一个、两个或两个以上,多个包括两个或两个以上,而每个是指对应的多个中的每一个,任一是指多
个中的任意一个。举例来说,多个元素包括3个元素,而每个是指这3个元素中的每一个元
素,任一是指这3个元素中的任意一个,可以是第一个,可以是第二个、也可以是第三个。
[0070] 为了便于理解本申请实施例的技术过程,下面对本申请实施例所涉及的一些名词进行解释:
[0071] RGB‑D(Red Green Blue‑Depth,颜色深度)图像序列:通过深度摄像机采集得到的带有彩色信息的RGB(Red Green Blue,红绿蓝)图像序列和带有深度信息Depth(深度)图像
序列。RGB图像用于提取三维模型的纹理信息,Depth图像用于获取三维信息。
[0072] PnP(Pespective‑n‑Point,计算机视觉):在已知世界坐标系下n个空间点的三维坐标以及这些空间点在图像上的二维投影,求解摄像机的姿态,在本申请实施例中用来计
算人脸转动的姿态角。
[0073] RANSAC(RANdom SAmple Consensus,随机抽样一致):随机抽样一致性算法,从一组包含“局外点”的观测数据集中,通过迭代方式估计数学模型的参数。
[0074] ICP(Iterative Closest Point,最近点搜索):迭代最近点算法,是一种点云匹配算法。该算法通过迭代计算两幅点云的空间变换关系,使两幅点云转换到同一坐标系下进
行配准对齐。
[0075] SVD(Singular Value Decomposition,奇异值分解):线性代数中一种重要的对矩阵进行分解的方法,得到左奇异矩阵、Sigma(协方差)矩阵和右奇异矩阵。
[0076] Surfel(点元)模型:一种三维点云数据模型,该模型中每个点云存储了点的位置信息、面片的半径、法向量、颜色信息和点云数据的获取时间。
[0077] 本申请实施例提供的三维人脸模型生成方法,可以用于计算机设备中。在一种可能实现方式中,该计算机设备可以为终端,该终端可以为手机、计算机、平板电脑等多种类
型的终端。
[0078] 终端通过深度摄像机拍摄人脸,获取到多个目标人脸图像及对应的多个深度图像,根据获取的多个目标人脸图像及对应的多个深度图像,确定出多个区域人脸图像及多
个区域深度图像,根据该多个区域人脸图像及该多个区域深度图像生成人脸的三维人脸模
型。
[0079] 在另一种可能实现方式中,该计算机设备可以包括服务器和终端。图1是本申请实施例提供的一种实施环境的结构示意图,如图1所示,该实施环境包括终端101和服务器
102。终端101与服务器102建立通信连接,通过建立的通信连接进行交互。
[0080] 其中,该终端101可以为手机、计算机、平板电脑等多种类型的终端101。服务器102可以为一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务器中
心。
[0081] 终端101通过深度摄像机拍摄人脸,获取到多个目标人脸图像及对应的多个深度图像,将获取到多个目标人脸图像及对应的多个深度图像发送至服务器102,该服务器102
根据接收到的多个目标人脸图像及对应的多个深度图像,确定出多个区域人脸图像及多个
区域深度图像,根据该多个区域人脸图像及该多个区域深度图像生成人脸的三维人脸模
型,服务器102将生成的三维人脸模型发送至终端101,终端101显示该三维人脸模型供用户
使用。
[0082] 本申请实施例提供的方法,可用于各种场景下构建三维人脸模型,以适用于不同场景下的互动娱乐需求。例如,在游戏、宣传发布等场景中可准确构建出人脸的三维人脸模
型,用于构建逼真的游戏人物属性。在日常对话交流场景下,构建出来的三维人脸模型可用
于定制专属的颜文字,增强聊天的趣味性。构建出来的三维人脸模型还可以用于虚拟美妆、
虚拟试衣、虚拟人物形象等广泛的娱乐场景。
[0083] 例如,仿真游戏人物设置场景下:
[0084] 用户在终端显示的游戏场景界面中,点击仿真游戏人物设置按钮,打开该终端的深度摄像机,通过该深度摄像机拍摄该用户的人脸,获取到多个人脸图像及对应的深度图
像,则终端采用本申请实施例提供的三维人脸模型生成方法,根据获取的多个目标人脸图
像及对应的多个深度图像,生成人脸的三维人脸模型,在终端的游戏场景界面中显示该三
维人脸模型,用户可以通过该游戏场景界面将该三维人脸模型作为仿真游戏人物的人脸。
[0085] 图2是本申请实施例提供的一种三维人脸模型生成方法的流程图,应用于计算机设备中,如图2所示,该方法包括:
[0086] 201、计算机设备获取多个人脸图像及对应的多个深度图像。
[0087] 其中,人脸图像及对应的深度图像可以通过深度摄像机拍摄人脸得到的,人脸图像是包含人脸的RGB三通道彩色图像,深度图像是包含对应的人脸图像中的像素点的深度
信息的图像。人脸图像中每个像素点与人脸的任一位置点对应,任一像素点的深度信息可
以表示为该像素点对应的人脸位置与深度摄像机的位置之间的距离,则通过深度图像中的
深度信息,可以确定出真实空间中深度摄像机的位置与人脸任一点之间的距离。该多个人
脸图像包含同一人脸,在该多个人脸图像中,该人脸的朝向可以不同,如人脸的朝向可以为
人脸朝向正前方、人脸朝向左侧、人脸朝向右侧、人脸朝向上方等。该多个人脸图像与该多
个深度图像一一对应。
[0088] 在一种可能实现方式中,该步骤201可以包括:计算机设备通过深度摄像机对人脸进行拍摄,获取到多个人脸图像及对应的多个深度图像。其中,深度摄像机用于获取人脸图
像及对应的深度图像。在计算机设备通过深度摄像机对人脸进行拍摄时,获取到的人脸图
像与深度图像是一一对应的。
[0089] 其中,深度摄像机可以包括摄像头及深度传感器,对人脸进行拍摄时,通过摄像头可以拍摄到人脸图像,通过深度传感器可以获取到人脸图像对应的深度图像。例如,手机包
括摄像头和深度传感器,用户点击该手机的拍摄按钮对该用户的人脸进行拍摄时,通过该
摄像头获取到一个人脸图像,且同时通过该深度传感器获取到与该人脸图像对应的深度图
像。
[0090] 另外,在计算机设备对人脸拍摄时,该人脸可以按照预设顺序转动,使该计算机设备可以进行多次拍摄。其中,该预设顺序可以为初始位置为人脸正面朝向计算机设备,人脸
向左转动,人脸向右转动回到初始位置,人脸向右转动,人脸向左转动回到初始位置,人脸
向上抬头。在人脸转动过程中,计算机设备对人脸进行拍摄,可以获取到多个人脸图像及对
应的多个深度图像。对于计算机设备的拍摄方式,可以对人脸拍摄视频,也可以按照预设拍
摄间隔对人脸进行拍摄,如该预设拍摄间隔可以为1秒。
[0091] 另外,计算机设备获取到的多个人脸图像及对应的多个深度图像可以作为RGB‑D(Red Green Blue‑Depth,颜色深度)图像序列,其中,如图3所示,多个人脸图像可以为RGB‑
D图像序列包括的带有彩色信息的RGB图像序列,多个深度图像可以为RGB‑D图像序列包括
的带有深度信息Depth(深度)图像序列。
[0092] 202、计算机设备将多个人脸图像按照所属的图像类型进行划分,得到多个图像序列。
[0093] 其中,按照人脸朝向的不同,可以将人脸图像划分为多种图像类型。图像类型包括正脸类型、左侧脸类型、右侧脸类型或抬头类型,属于正脸类型的人脸图像中人脸朝向正前
方,属于左侧脸类型的人脸图像中人脸朝向该人脸的右侧,属于右侧脸类型的人脸图像中
人脸朝向该人脸的左侧,属于抬头类型的人脸图像中人脸朝向上方。如图3所示,人脸图像
231属于正脸类型,人脸图像232属于左侧脸类型,人脸图像233属于右侧脸类型,人脸图像
234属于抬头类型。
[0094] 每个图像序列包括至少一个人脸图像,每个图像序列包括所属图像类型相同的人脸图像。计算机设备获取到多个人脸图像后,确定该多个人脸图像的图像类型,将该多个人
脸图像中所属图像类型相同的人脸图像划分为一个图像序列,则得到的多个图像序列可以
包括正脸图像序列,及左侧脸图像序列、右侧脸图像序列及抬头图像序列中的至少一种。
[0095] 对于确定多个人脸图像的图像类型,在一种可能实现方式中,计算机设备对该多个人脸图像进行标志点检测,确定每个人脸图像中包括的至少一个标志点;对于任一人脸
图像,该人脸图像中与任一图像类型匹配的标志点个数超过预设阈值时,确定该人脸图像
属于该任一图像类型;或者,对于任一人脸图像,确定该人脸图像中与每个图像类型匹配的
标志点的个数,将匹配的标志点的个数最大的图像类型确定为该人脸图像的图像类型。
[0096] 其中,每个人脸图像中可以包括至少一个标志点,每个标志点指示人脸中一个位置,在多个标志点中,不同的标志点在人脸中指示的位置不同。如图4所示,人脸图像中多个
标志点在人脸中的位置,标志点71指示人脸的鼻尖位置,标志点60指示人脸中右眼的右眼
角位置等。由于不同的标志点指示人脸不同的位置,因此,可以为不同的标志点设置相匹配
的图像类型。
[0097] 例如,对于正脸类型的人脸图像,可以将指示人脸鼻尖、眼部区域、嘴唇区域的标志点设置为与该正脸类型匹配的标志点;对于左侧脸类型的人脸图像,可以将指示人脸中
左侧脸多个位置的标志点设置为与该左侧脸类型匹配。计算机设备根据每个人脸图像中包
括的人脸进行标志点检测,可以确定出每个人脸图像中包括的标志点,后续可以根据每个
人脸图像中包括的标志点匹配的图像类型,确定出每个人脸图像所属的图像类型。
[0098] 可选地,计算机设备通过标志点检测模型对该多个人脸图像进行标志点检测,确定每个人脸图像中包括的标志点。其中,该标志点检测模型可以是卷积神经网络模型,是通
过大量的样本训练后得到的。
[0099] 在另一种可能实现方式中,计算机设备按照获取该多个人脸图像顺序,将第一个人脸图像确定为正脸图像,将该多个人脸图像中其余的人脸图像作为待确定图像类型的人
脸图像;对该多个人脸图像进行标志点检测,确定每个人脸图像中包括的至少一个标志点;
对于其中的任一人脸图像,确定该人脸图像与该正脸图像中共同包括的预设数目个目标标
志点,利用该人脸图像中目标标志点的坐标,及该正脸图像中目标标志点的坐标,确定该人
脸图像与该正脸图像之间的姿态角度差;根据每个人脸图像对应的姿态角度差,确定每个
人脸图像所属的图像类型。
[0100] 其中,该多个人脸图像是按照时间顺序依次获取到的,在开始拍摄人脸时,人脸正面朝向深度摄像机,则获取到的第一个人脸图像为正脸图像。
[0101] 其中,姿态角度差包括偏航角度差或俯仰角度差,如图5所示,人脸正面朝向X轴的正方向,人脸绕Z轴的转动角度为偏航角251;人脸绕Y的转动角度为俯仰角252。该偏航角度
差和俯仰角度差均可以为正数或负数,响应于人脸图像对应的偏航角度差为正数,确定该
人脸图像属于左侧脸类型;响应于人脸图像对应的偏航角度差为负数,确定该人脸图像属
于右侧脸类型;响应于人脸图像对应的俯仰角度差为正数时,确定该人脸图像属于抬头类
型。例如,人脸向右转头,则拍摄得到的人脸图像中显示该人脸的左侧脸区域,该人脸图像
与正脸图像之间的偏航角度差为正数;人脸向左转头,则拍摄得到的人脸图像显示该人脸
的右侧脸区域,该人脸图像与正脸图像之间的偏航角度差为负数;人脸向上抬头时,则拍摄
得到的人脸图像显示该人脸的下巴区域及脖颈区域,该人脸图像与正脸图像之间的俯仰角
度差为正数。
[0102] 在确定姿态角度差时,可选地,根据人脸图像及正脸图像中序号相同的目标标志点的坐标,确定该人脸图像与该正脸图像之间的旋转矩阵,将该旋转矩阵转换成角度,作为
该人脸图像与该正脸图像之间的姿态角度差。其中,该待确定的人脸图像与该正脸图像之
间的姿态角度差,可以利用PnP算法进行计算得到。
[0103] 另外,该预设数目是由预先设置的,如预设数目为10。如果待确定的人脸图像与该正脸图像之间共同包括的标志点数目大于该预设数目,可以利用随机算法,如RANSAC算法,
从待确定的人脸图像与该正脸图像之间共同包括的标志点中,确定出预设数目个目标标志
点。
[0104] 203、计算机设备从每个图像序列中选取一个目标人脸图像,得到多个目标人脸图像,获取多个目标人脸图像对应的深度图像。
[0105] 由于每个图像序列包括所属图像类型相同的人脸图像,相同图像类型的人脸图像中包含的人脸会存在重叠区域,因此,从每个图像序列中选取一个目标人脸图像,则可以从
多个图像序列中得到多个目标人脸图像,以便后续能够通过选取得到的多个目标人脸图像
生成三维人脸模型,从而提高了生成三维人脸模型的效率。另外,多个目标人脸图像中可以
包括抬头类型的人脸图像,以使后续生成的三维人脸模型中能够包含人脸的下巴区域和脖
颈区域。
[0106] 另外,在多个图像序列中,不同的图像序列所对应的图像类型不同,则得到的多个目标人脸图像中不同的目标人脸图像所属的图像类型不同。如图6所示,该多个目标人脸图
像可以包括属于正脸类型的人脸图像231、属于左侧脸类型的人脸图像232、属于右侧脸类
型的人脸图像233、属于抬头类型人脸图像234。
[0107] 在一种可能实现方式中,计算机设备在图像序列中选取目标人脸图像的过程,如图7所示,可以包括以下步骤2031‑步骤2033:
[0108] 2031:从第一图像序列中选取一个第一人脸图像,作为目标人脸图像。
[0109] 在本申请实施例中,多个图像序列至少包括正脸类型对应的第一图像序列和其他图像类型对应的第二图像序列。第一图像序列中的第一人脸图像均属于正脸类型,则可以
从第一图像序列中随机选取一个第一人脸图像作为目标人脸图像;或者,第一图像序列中
的第一人脸图像按照拍摄时间顺序排列,可以将拍摄时间最早的第一人脸图像作为目标人
脸图像。
[0110] 2032:获取每个第二图像序列中的每个第二人脸图像与第一人脸图像之间的姿态角度差。
[0111] 其中,该步骤2032中的姿态角度差与上述步骤202中对姿态角度差的说明类似,在此不再赘述。且该步骤2032获取姿态角度差的方式,也可与上述步骤202中获取姿态角度差
的方式类似,在此不再赘述。
[0112] 在一种可能实现方式中,该2032可以包括:对于任一第二人脸图像,确定第二人脸图像与第一人脸图像中序号相同的至少一个第二标志点;根据第一人脸图像中至少一个第
二标志点的坐标,及第二人脸图像中至少一个第二标志点的坐标,获取第一人脸图像与第
二人脸图像之间的旋转平移矩阵;对旋转平移矩阵进行转换,得到第二人脸图像与第一人
脸图像之间的姿态角度差。
[0113] 其中,每个人脸图像可以包括多个标志点,每个标志点指示人脸中一个位置,不同的标志点在人脸中指示的位置不同。因此,可以将多个标志点分别设置不同的序号,根据任
一个序号可以确定出对应的标志点。例如,标志点71指示人脸的鼻尖位置,标志点60指示人
脸中右眼的右眼角位置等。
[0114] 由于该至少一个第二标志点在第一人脸图像和第二人脸图像中的坐标不同,通过第一人脸图像中至少一个第二标志点的坐标,及第二人脸图像中至少一个第二标志点的坐
标,可以确定出将第一人脸图像中至少一个第二标志点的坐标转换成第二人脸图像中至少
一个第二标志点的坐标的旋转平移矩阵,或者,可以确定出第二人脸图像中至少一个第二
标志点的坐标转换成第一人脸图像中至少一个第二标志点的坐标的旋转平移矩阵,将该旋
转平移矩阵换成角度,将该角度可以作为第二人脸图像与第一人脸图像之间的姿态角度
差。
[0115] 对于选取的第二标志点的个数,可以是预设数目个第二标志点,与上述步骤202中预设数目个目标标志点的方式类似,在此不再赘述。
[0116] 在另一种可能实现方式中,该步骤202可以包括:对于任一第二人脸图像,确定第二人脸图像中标志点集合S,及第一人脸图像中标志点集合M;从标志点集合S中随机选择预
设数目个标志点,得到标志点集合S′,从标志点集合M中随机选择预设数目个标志点,得到
标志点集合M′,且该标志点集合S′中的标志点与标志点集合M′中的标志点一一对应;分别
确定该标志点集合S′和标志点集合M′的形心μs和形心μm;分别将该标志点集合S′和标志点
集合M′中标志点的坐标减去对应的形心μs和形心μm的坐标,得到新的标志点集合s′和新的
标志点集合m′,该标志点集合S′、标志点集合M′、标志点集合s′及标志点集合m′满足以下关
系:
[0117]
[0118] 通过该标志点集合s′及该标志点集合m′构造矩阵W,并对矩阵W进行分解,得到矩阵U和矩阵V,该标志点集合s′、该标志点集合m′、该矩阵W、该矩阵U及该矩阵V满足以下关
系:
[0119]
[0120] 利用该矩阵U及该矩阵V,得到第一人脸图像与第二人脸图像之间的旋转矩阵R;通过旋转矩阵R、形心μs及形心μm,可以得到第一人脸图像与第二人脸图像之间的平移矩阵t;
该矩阵U、矩阵V、旋转矩阵R、平移矩阵t、形心μs及形心μm满足以下关系:
[0121]
[0122] 将该旋转矩阵R和平移矩阵t融合得到该旋转平移矩阵,对旋转平移矩阵进行转换,得到第二人脸图像与第一人脸图像之间的姿态角度差。其中,上述公式中的T用于表示
T
将矩阵进行转置,得到该矩阵的转置矩阵。如,矩阵V的转置矩阵为V。另外,上述过程可以
通过RANSAC算法和ICP算法,得到第二人脸图像与第一人脸图像之间的姿态角度差。
[0123] 2033:分别从每个第二图像序列中选取一个姿态角度差最大的第二人脸图像,也作为目标人脸图像。
[0124] 由于第一人脸图像属于正脸类型,第二人脸图像属于其他图像类型,如左侧脸类型或右侧脸类型,第二人脸图像与第一人脸图像之间的姿态角度差越大,第二人脸图像中
包含的与所属图像类型匹配的区域越完整,则后续生成的三维人脸模型越准确,因此,从每
个第二图像序列中选取一个姿态角度差最大的第二人脸图像,也作为目标人脸图像。例如,
左侧脸类型对应的脸部区域为人脸的左侧脸,左侧脸类型的两个第二人脸图像与第一人脸
图像对应的姿态角度差分别为20度和30度,则姿态角度差为30对应的第二人脸图像中显示
的左侧脸比姿态角度差为30对应的第二人脸图像中显示的左侧脸完整,因此选取姿态角度
差为30度的第二人脸图像作为目标人脸图像。
[0125] 需要说明的是,本申请实施例是通过将获取到多个人脸图像划分成多个图像序列来确定目标人脸图像的,而在另一实施例中,还可以获取多个人脸图像及对应的多个深度
图像;根据每个人脸图像的眼部状态,将多个人脸图像中处于未眨眼状态的人脸图像,确定
为目标人脸图像,眼部状态包括眨眼状态或未眨眼状态。
[0126] 由于处于眨眼状态的人脸图像中包含的人脸中眼部区域的特征不完整,如果将处于眨眼状态的人脸图像生成三维人脸模型,会导致该三维人脸模型的准确度差,因此,需要
在生成三维人脸模型之前,需要筛选出处于未眨眼状态的人脸图像,以便后续生成三维人
脸模型。
[0127] 对于确定人脸图像的眼部状态的方式,在一种可能实现方式中,该方法还包括:对于任一人脸图像,确定人脸图像中目标眼部区域的上眼皮标志点、下眼皮标志点、左眼角标
志点及右眼角标志点;确定上眼皮标志点与下眼皮标志点之间的第一距离,及左眼角标志
点与右眼角标志点之间的第二距离;将第一距离与第二距离之间的比值确定为目标眼部区
域的开合比;响应于开合比小于开合比阈值,确定人脸图像处于眨眼状态;响应于开合比不
小于开合比阈值,确定人脸图像处于未眨眼状态。
[0128] 其中,目标眼部区域可以为左眼部区域或右眼部区域,开合比用于表示眼睛开合的大小程度,通过该开合比可以确定眼部区域的眼部状态。开合比阈值可以是通过多个人
脸中眼部区域的开合比预先设置的;也可以是通过该多个人脸图像中眼部区域的开合比确
定。对于确定上眼皮标志点、下眼皮标志点、左眼角标志点及右眼角标志点的过程,与上述
步骤202中确定标志点的过程类似,在此不再赘述。
[0129] 通过上眼皮标志点的坐标与下眼皮标志点的坐标,可以确定出第一距离,通过左眼角标志点的坐标与右眼角标志点的坐标,可以确定出第二距离。通过该第一距离和第二
距离,可以确定出该目标眼部区域的开合比,根据开合比与开合比阈值,可以确定出该人脸
图像的眼部状态。在确定人脸图像眼部状态时,响应于左眼部区域和右眼部区域中任一眼
部区域处于眨眼状态,则确定该人脸图像处于眨眼状态;响应于左眼部区域和右眼部区域
均处于未眨眼状态,则确定该人脸图像处于未眨眼状态。
[0130] 可选地,获取多个人脸图像对应的开合比的平均值,作为开合比阈值。由于不同的人脸中眼部区域的开合比阈值不同,因此,在确定当前的人脸的开合比阈值时,需根据当前
的人脸的多个人脸图像的开合比确定,以使得到的开合比阈值与当前的人脸匹配,从而提
高确定的人脸图像的眼部状态的准确率。且对于任一人脸的多个人脸图像,每个人脸图像
中的眼部状态可能不同,导致每个人脸图像对应的开合比可能不同,则将多个人脸图像对
应的开合比的平均值作为该人脸的开合比阈值,以使得到的开合比阈值与该人脸匹配,从
而提高确定的人脸图像的眼部状态的准确率。
[0131] 可选地,在确定多个人脸图像的眼部状态时,分别确定多个人脸图像中左眼部区域的开合比阈值及右眼部区域的开合比阈值,以使后续能够根据左眼部区域的开合比阈
值,确定多个人脸图像中左眼部区域的眼部状态,根据右眼部区域的开合比阈值,确定多个
人脸图像中右眼部区域的眼部状态。由于在同一个人脸中,左眼部区域的开合比阈值与右
眼部区域的开合比阈值不同,通过分别确定多个人脸图像中左眼部区域的开合比阈值及右
眼部区域的开合比阈值,以使后续能够精准地确定人脸图像的眼部状态,从而提高确定的
人脸图像的眼部状态的准确率。
[0132] 另外,在确定目标眼部区域中上眼皮标志点和下眼皮标志点时,可以确定多个上眼皮标志点和多个下眼皮标志点,该多个上眼皮标志点和多个下眼皮标志点一一对应。例
如,上眼皮标志点序号为53、54、58,下眼皮标志点的序号为57、56、59,序号53与序号57对
应,序号54与序号56对应,序号58与序号59对应。
[0133] 可选地,确定人脸图像中目标眼部区域的多个上眼皮标志点中,上眼皮标志点1的坐标l1、上眼皮标志点2的坐标l2、上眼皮标志点3的坐标l3,及多个下眼皮标志点中下眼皮
标志点4的坐标l4、下眼皮标志点5的坐标l5、下眼皮标志点6的坐标l6,左眼角标志点7的坐
标为l7,右眼角标志点8的坐标为l8;通过坐标l1、l2、l3、l4、l5、l6、l7及l8,可以确定出该人脸
图像中目标眼部区域的开合比d,坐标l1、l2、l3、l4、l5、l6、l7、l8及开合比d满足以下关系:
[0134]
[0135] 其中,||l1‑l4||2为上眼皮标志点1与下眼皮标志点2构成的向量的二范数,也即是该向量平方和再开方,用于表示上眼皮标志点1与下眼皮标志点2之间的距离;||l2‑l5||2用
于表示上眼皮标志点2与下眼皮标志点5之间的距离;||l3‑l6||2用于表示上眼皮标志点3与
下眼皮标志点6之间的距离;||l7‑l8||2用于表示上眼皮标志点7与下眼皮标志点8之间的距
离。
[0136] 例如,目标眼部区域为左眼部区域,该左眼眼部区域的多个上眼皮标志点的序号为53、54、58,多个下眼皮标志点的序号为56、57、59,左眼角标志点为55,右眼角标志点为
52,左眼眼部区域的开合比阈值为D1,则在人脸图像中左眼眼部区域满足以下公式时,确定
该人脸图像的左眼眼部区域处于眨眼状态:
[0137]
[0138] 目标眼部区域为右眼部区域,该右眼眼部区域的多个上眼皮标志点的序号为61、62、66,多个下眼皮标志点的序号为64、65、67,左眼角标志点为63,右眼角标志点为60,左眼
眼部区域的开合比阈值为D2,则在人脸图像中左眼眼部区域满足以下公式时,确定该人脸
图像的左眼眼部区域处于眨眼状态:
[0139]
[0140] 需要说明的是,在另一实施例中,在确定目标人脸图像时,可以将上述的通过将获取到多个人脸图像划分成多个图像序列来确定目标人脸图像的方式,与通过获取到的多个
人脸图像的眼部状态来确定目标人脸图像的方式进行结合。
[0141] 204、计算机设备根据每个目标人脸图像所属的图像类型,获取每个目标人脸图像中与所属的图像类型匹配的区域人脸图像。
[0142] 其中,区域人脸图像为人脸图像中部分区域的人脸图像。例如,正脸类型匹配的区域人脸图像包括人脸的正脸区域,左侧脸类型匹配的区域人脸图像包括人脸的左侧脸区
域,右侧脸类型匹配的区域人脸图像包括人脸的右侧脸区域,抬头类型匹配的区域人脸图
像包括人脸的下巴区域和脖颈区域。
[0143] 在一种可能实现方式中,该步骤204包括:从任一目标人脸图像的多个标志点中,选取与目标人脸图像所属的图像类型匹配的至少一个第一标志点;从目标人脸图像中获取
至少一个第一标志点构成的区域人脸图像。由于预先为每个标志点设置相匹配的图像类
型,因此可以确定目标图像中与的图像类型匹配的至少一个第一标志点。对于为每个标志
点设置相匹配的图像类型与上述步骤202中的说明类似,在此不再赘述。
[0144] 对于确定区域人脸图像的方式,可选地,对该至少一个第一标志点进行边缘点检测,确定多个边缘点,将该多个边缘点进行连接构成封闭区域,将该封闭区域对应的人脸图
像,作为该区域人脸图像。其中,该至少一个第一标志点中除该多个边缘点外,其余的第一
标志点均在该封闭区域内。
[0145] 205、计算机设备根据每个目标人脸图像中的区域人脸图像,获取对应的深度图像中的区域深度图像。
[0146] 由于每个目标人脸图像与对应的深度图像中的各个像素点一一对应,则在确定目标人脸图像中的区域人脸图像后,可以从深度图像中确定出区域深度图像,该区域人脸图
像的位置与区域深度图像的位置匹配。该区域深度图像包括对应的区域人脸图像中每个像
素点的深度信息。如图8所示,图8中包括多个区域深度图像,区域深度图像281对应的图像
类型为正脸类型,区域深度图像282对应的图像类型为左侧脸类型,区域深度图像283对应
的图像类型为右侧脸类型,区域深度图像284对应的图像类型为抬头类型。
[0147] 206、计算机设备根据获取的多个区域人脸图像及多个区域深度图像进行融合,生成人脸的三维人脸模型。
[0148] 由于每个区域人脸图像中每个像素点包括对应的颜色,每个区域深度图像包括对应的区域人脸图像中每个像素点的深度信息,则通过该多个区域人脸图像及该多个区域深
度图像可以获取到人脸的皮肤颜色及人脸的轮廓,从而生成人脸的三维人脸模型。
[0149] 另外,多个区域人脸图像中可以包括抬头类型对应的区域人脸图像,使生成的三维人脸模型中能够包含人脸的下巴区域和脖颈区域。
[0150] 在一种可能实现方式中,如图9所示,该步骤206可以包括以下步骤2061‑步骤2063:
[0151] 2061、将多个区域深度图像进行融合,得到三维轮廓模型。
[0152] 由于每个区域深度图像包括对应的区域人脸图像中每个像素点的深度信息,则通过将该多个区域深度图像进行融合,可以获取到人脸的轮廓,从而得到三维轮廓模型。
[0153] 在一种可能实现方式中,该步骤2061可以包括:根据每个目标人脸图像对应的焦距值,将每个目标人脸图像对应的区域深度图像转换成点云数据;将每个目标人脸图像对
应的点云数据进行融合,得到三维轮廓模型。
[0154] 其中,点云数据可以包括多个点,每一个点包含有三维坐标。每个目标人脸图像对应的区域深度图像中包含每个像素点的深度信息,按照每个区域深度图像中的每个像素点
在区域深度图像中的二维坐标及每个像素点的深度信息,可以确定每个像素点的三维坐
标,从而将每个区域深度图像转换成点云数据。且由于目标人脸图像是深度摄像机采用焦
距值拍摄人脸得到的,该目标人脸图像是真实人脸的缩小成像得到的。则通过目标人脸图
像中确定的每个像素点的坐标,可以确定出区域深度图像中每个像素点与深度摄像机之间
的距离,利用该目标人脸图像对应的焦距值,对每个像素点与深度摄像机之间的距离进行
处理,可以得到每个像素点对应的位置点与深度摄像机之间的真实距离,从而可以确定出
多个位置点之间的真实距离,从而使每个区域深度图像转换成点云数据与真实人脸相匹
配。因此,将多个图像类型对应的点云数据可以进行融合,从而得到与真实人脸匹配的三维
轮廓模型。生成的三维轮廓模型如图10所示,该图10中三维轮廓模型261为三维轮廓模型的
正脸、三维轮廓模型262为三维轮廓模型的右侧脸及三维轮廓模型263为三维轮廓模型的左
侧脸。另外,可以采用Surfel模型将区域深度图像转换成点云数据。
[0155] 可选地,多个目标人脸图像包括正脸类型对应的第一人脸图像和其他图像类型对应的第二人脸图像,则该步骤2061还可以包括:按照每个第二人脸图像与第一人脸图像的
姿态角度差,将每个第二人脸图像对应的第二点云数据进行旋转;将旋转后的每个第二点
云数据与第一人脸图像对应的第一点云数据进行融合,生成三维轮廓模型。
[0156] 其中,其他图像类型可以为左侧脸类型、右侧脸类型或抬头类型。由于其他图像类型对应的第二人脸图像与第一人脸图像之间具有姿态角度差,不同图像类型对应的区域深
度图像对应的人脸的位置不同,因此,为了避免将属于不同位置的点云数据重叠,需要将每
个第二点云数据进行旋转,以使旋转后的点云数据与第一点云数据之间的姿态角度差为0。
在将每个第二点云数据与第一点云数据进行融合时,通过将每个第二点云数据与第一点云
数据中相同的像素点进行重合,使旋转后的每个第二点云数据与第一点云数据进行融合,
从而生成三维轮廓模型。
[0157] 另外,上述在将多个点云数据进行融合的过程中,可以采用TSDF(Truncated Signed Distance Function,截断的带符号距离函数)将多个点云数据进行融合。在生成三
维轮廓模型后,需对该三维轮廓模型进行去噪、降采样、泊松重建以及拉普拉斯平滑等处
理,最终得到一个完整的三维轮廓模型。
[0158] 2062、从多个目标人脸图像中分别提取每个区域人脸图像的颜色纹理特征。
[0159] 由于每个目标人脸图像中包括多个像素点,每个像素点具有对应的颜色特征,则提取每个区域人脸图像中的多个像素点的颜色特征,将该多个像素点的颜色特征作为颜色
纹理特征。在提取区域人脸图像中的颜色纹理特征时,可以采用LBP(Local  binary 
patterns,局部二值模式)、灰度共生矩阵等算法。
[0160] 2063、将每个区域人脸图像的颜色纹理特征与三维轮廓模型进行融合,生成三维人脸模型。
[0161] 分别将每个区域人脸图像的颜色纹理特征与三维轮廓模型进行融合,使三维轮廓模型上的每个区域显示出对应的颜色纹理特征,从而生成该三维人脸模型。
[0162] 在一种可能实现方式中,该步骤2063可以包括:确定每个区域人脸图像在三维轮廓模型中对应的区域;分别将每个区域人脸图像的颜色纹理特征融合至三维轮廓模型中对
应的区域的表面,生成三维人脸模型。
[0163] 另外,该步骤2063还可以包括:将每个区域人脸图像的颜色纹理特征进行融合,得到该人脸的颜色纹理特征的展开图像,将该颜色纹理特征的展开图像与该三维轮廓模型输
入至渲染引擎,通过该渲染引擎进行渲染后,得到该三维人脸模型。如图11所示为该人脸的
颜色纹理特征的展开图像111,渲染之后得到的三维人脸模型如图12所示,三维人脸模型
121为正脸图像,三维人脸模型122为左侧脸图像。
[0164] 本申请实施例提供的方法,获取多个目标人脸图像及对应的多个深度图像,根据每个目标人脸图像所属的图像类型,获取每个目标人脸图像中与所属的图像类型匹配的区
域人脸图像,根据每个目标人脸图像中的区域人脸图像,获取对应的深度图像中的区域深
度图像,通过获取每个目标人脸图像与所属图像类型匹配的区域人脸图像,将该目标人脸
图像中其他区域的人脸图像剪裁处理,使得到的每个区域人脸图像及对应的区域深度图像
只包括所属图像类型匹配的区域,不包括其他图像类型匹配的区域,从而使不同的区域人
脸图像之间的重叠区域减少,根据获取到多个区域人脸图像及多个区域深度图像进行融
合,生成人脸的三维人脸模型过程中的计算量小,从而提高了构建三维人脸模型的效率。
[0165] 且多个目标人脸图像中可以包含抬头类型的人脸图像,使生成的三维人脸模型中能够包含人脸的下巴区域和脖颈区域,从而提高了生成的三维人脸模型的完整性。
[0166] 并且,通过对获取到的多个人脸图像进行筛选,选取多个目标人脸图像,减少了构建三维人脸模型所需的人脸图像的数量,以使后续在传输多个目标人脸图像时,提高了人
脸图像的传输效率,且提高了构建三维人脸模型的效率。
[0167] 并且,通过确定获取到的多个人脸图像的眼部状态,筛选出处于未眨眼状态的人脸图像,使筛选后的人脸图像的数量减少,从而通过筛选后的人脸图像生成三维人脸模型
的过程中的计算量小,且通过处于未眨眼状态的人脸图像,提高了生成的三维人脸模型的
完整性。
[0168] 需要说明的是,本申请实施例是以通过将获取到多个人脸图像划分成多个图像序列来确定目标人脸图像的进行说明的,而在另一实施例中,无需执行步骤201‑203,可以直
接将获取到的多个人脸图像及对应的多个深度图像,作为多个目标人脸图像及对应的多个
深度图像;或者,还可以是获取其他设备发送的多个目标人脸及对应的多个深度图像。
[0169] 图13是本申请实施例提供的一种三维人脸模型生成方法的流程图,该流程包括:
[0170] 1、计算机设备通过深度摄像机拍摄人脸图像获取到人脸图像序列及对应的深度图像序列。
[0171] 2、对人脸图像序列中的人脸图像进行人脸标志点检测,确定每个人脸图像中的人脸标志点。
[0172] 3、通过每个人脸图像中眼部区域的人脸标志点的坐标,从该人脸图像序列中剔除处于眨眼状态的人脸图像,得到新的人脸图像序列。
[0173] 4、通过新的人脸图像序列中每个人脸图像包括的人脸标志点,确定正脸图像,根据正脸图像中人脸标志点的坐标及其他人脸图像中人脸标志点的坐标,计算每个人脸图像
中人脸转动的角度。
[0174] 5、根据每个人脸图像对应的角度的大小,将新的人脸图像序列中的人脸图像分成多个图像序列,不同的图像序列匹配的图像类型不同。
[0175] 6、从每个图像序列中根据角度大小进行筛选,选择角度最大的人脸图像,得到筛选后的目标人脸图像。
[0176] 7、从目标人脸图像中裁剪出所属图像类型对应的人脸区域,从对应的深度图像中裁剪出对应的深度区域。
[0177] 8、提取人脸区域的纹理特征,将多个深度区域进行融合,得到三维轮廓模型。
[0178] 9、将人脸区域的纹理特征与三维轮廓模型进行融合,输出完整的三维人脸模型。
[0179] 图14是本申请实施例提供的一种三维人脸模型生成装置的结构示意图,如图14所示,该装置包括:
[0180] 第一图像获取模块1401,用于获取多个目标人脸图像及对应的多个深度图像,多个目标人脸图像包含同一人脸,且多个深度图像包含对应目标人脸图像中的像素点的深度
信息;
[0181] 第二图像获取模块1402,用于根据每个目标人脸图像所属的图像类型,获取每个目标人脸图像中与所属的图像类型匹配的区域人脸图像,图像类型包括正脸类型、左侧脸
类型、右侧脸类型或抬头类型;
[0182] 第三图像获取模块1403,用于根据每个目标人脸图像中的区域人脸图像,获取对应的深度图像中的区域深度图像,区域人脸图像的位置与区域深度图像的位置匹配;
[0183] 人脸模型生成模块1404,用于根据获取的多个区域人脸图像及多个区域深度图像进行融合,生成人脸的三维人脸模型。
[0184] 本申请实施例提供的装置,通过对获取到的多个目标人脸图像及对应的多个深度图像进行剪裁,使得到的每个区域人脸图像及对应的区域深度图像只包括所属图像类型匹
配的区域,不包括其他图像类型匹配的区域,从而使不同的区域人脸图像之间的重叠区域
减少,根据获取到多个区域人脸图像及多个区域深度图像进行融合,生成人脸的三维人脸
模型过程中的计算量小,从而提高了构建三维人脸模型的效率。
[0185] 可选地,如图15所示,第二图像获取模块1402,包括:
[0186] 标志点选取单元1421,用于从任一目标人脸图像的多个标志点中,选取与目标人脸图像所属的图像类型匹配的至少一个第一标志点;
[0187] 人脸图像获取单元1422,用于从目标人脸图像中获取至少一个第一标志点构成的区域人脸图像。
[0188] 可选地,如图15所示,图像获取模块1401,包括:
[0189] 第一图像获取单元1411,用于获取多个人脸图像及对应的多个深度图像,多个人脸图像包含人脸;
[0190] 图像序列划分单元1412,用于将多个人脸图像按照所属的图像类型进行划分,得到多个图像序列,每个图像序列包括所属图像类型相同的人脸图像;
[0191] 第二图像获取单元1413,用于从每个图像序列中选取一个目标人脸图像,得到多个目标人脸图像,获取多个目标人脸图像对应的深度图像。
[0192] 可选地,多个图像序列至少包括正脸类型对应的第一图像序列和其他图像类型对应的第二图像序列,第二图像获取单元1413,还用于从第一图像序列中选取一个第一人脸
图像,作为目标人脸图像;获取每个第二图像序列中的每个第二人脸图像与第一人脸图像
之间的姿态角度差;分别从每个第二图像序列中选取一个姿态角度差最大的第二人脸图
像,也作为目标人脸图像。
[0193] 可选地,第二图像获取单元1413,还用于对于任一第二人脸图像,确定第二人脸图像与第一人脸图像中序号相同的至少一个第二标志点;根据第一人脸图像中至少一个第二
标志点的坐标,及第二人脸图像中至少一个第二标志点的坐标,获取第一人脸图像与第二
人脸图像之间的旋转平移矩阵;对旋转平移矩阵进行转换,得到第二人脸图像与第一人脸
图像之间的姿态角度差。
[0194] 可选地,如图15所示,图像获取模块1401,包括:
[0195] 第三图像获取单元1414,用于获取多个人脸图像及对应的多个深度图像,多个人脸图像包含人脸;
[0196] 人脸图像确定单元1415,用于根据每个人脸图像的眼部状态,将多个人脸图像中处于未眨眼状态的人脸图像,确定为目标人脸图像,眼部状态包括眨眼状态或未眨眼状态。
[0197] 可选地,如图15所示,装置还包括:
[0198] 标志点确定模块1405,用于对于任一人脸图像,确定人脸图像中目标眼部区域的上眼皮标志点、下眼皮标志点、左眼角标志点及右眼角标志点;
[0199] 距离确定模块1406,用于确定上眼皮标志点与下眼皮标志点之间的第一距离,及左眼角标志点与右眼角标志点之间的第二距离;
[0200] 开合比确定模块1407,用于将第一距离与第二距离之间的比值确定为目标眼部区域的开合比;
[0201] 状态确定模块1408,用于响应于开合比小于开合比阈值,确定人脸图像处于眨眼状态;
[0202] 该状态确定模块1408,还用于响应于开合比不小于开合比阈值,确定人脸图像处于未眨眼状态。
[0203] 可选地,如图15所示,装置还包括:
[0204] 阈值确定模块1409,用于获取多个人脸图像对应的开合比的平均值,作为开合比阈值。
[0205] 可选地,如图15所示,人脸模型生成模块1404,包括:
[0206] 第一融合单元1441,用于将多个区域深度图像进行融合,得到三维轮廓模型;
[0207] 特征提取单元1442,用于从多个目标人脸图像中分别提取每个区域人脸图像的颜色纹理特征;
[0208] 第二融合单元1443,用于将每个区域人脸图像的颜色纹理特征与三维轮廓模型进行融合,生成三维人脸模型。
[0209] 可选地,第一融合单元1441,还用于根据每个目标人脸图像对应的焦距值,将每个目标人脸图像对应的区域深度图像转换成点云数据;将每个目标人脸图像对应的点云数据
进行融合,得到三维轮廓模型。
[0210] 可选地,多个目标人脸图像包括正脸类型对应的第一人脸图像和其他图像类型对应的第二人脸图像,第一融合单元1441,还用于按照每个第二人脸图像与第一人脸图像的
姿态角度差,将每个第二人脸图像对应的第二点云数据进行旋转;将旋转后的每个第二点
云数据与第一人脸图像对应的第一点云数据进行融合,生成三维轮廓模型。
[0211] 可选地,第二融合单元1443,还用于确定每个区域人脸图像在三维轮廓模型中对应的区域;分别将每个区域人脸图像的颜色纹理特征融合至三维轮廓模型中对应的区域的
表面,生成目标人脸的三维人脸模型。
[0212] 图16是本申请实施例提供的一种终端的结构示意图,可以实现上述实施例中第一终端、第二终端及第三终端执行的操作。该终端1600可以是便携式移动终端,比如:智能手
机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专
家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像
专家压缩标准音频层面4)播放器、笔记本电脑、台式电脑、头戴式设备、智能电视、智能音
箱、智能遥控器、智能话筒,或其他任意智能终端。终端1600还可能被称为用户设备、便携式
终端、膝上型终端、台式终端等其他名称。
[0213] 通常,终端1600包括有:处理器1601和存储器1602。
[0214] 处理器1601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。存储器1602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态
的,用于存储至少一个指令,该至少一个指令用于被处理器1601所具有以实现本申请中方
法实施例提供的三维人脸模型生成方法。
[0215] 在一些实施例中,终端1600还可选包括有:外围设备接口1603和至少一个外围设备。处理器1601、存储器1602和外围设备接口1603之间可以通过总线或信号线相连。各个外
围设备可以通过总线、信号线或电路板与外围设备接口1603相连。具体地,外围设备包括:
射频电路1604、显示屏1605和音频电路1606中的至少一种。
[0216] 射频电路1604用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1604通过电磁信号与通信网络及其他通信设备进行通信。
[0217] 显示屏1605用于显示UI(UserInterface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。该显示屏1605可以是触摸显示屏,还可以用于提供虚拟按钮
和/或虚拟键盘。
[0218] 音频电路1606可以包括麦克风和扬声器。麦克风用于采集用户及环境的音频信号,并将音频信号转换为电信号输入至处理器1601进行处理,或者输入至射频电路1604以
实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1600的
不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器
1601或射频电路1604的电信号转换为音频信号。
[0219] 本领域技术人员可以理解,图16中示出的结构并不构成对终端1600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0220] 图17是本申请实施例提供的一种服务器的结构示意图,该服务器1700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central Processing 
Units,CPU)1701和一个或一个以上的存储器1702,其中,存储器1702中存储有至少一条指
令,至少一条指令由处理器1701加载并执行以实现上述各个方法实施例提供的方法。当然,
该服务器还可以具有有线或无线网络接口、键盘及输入输出接口等部件,以便进行输入输
出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
[0221] 服务器1700可以用于执行上述三维人脸模型生成方法。
[0222] 本申请实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,存储器中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行,以实现上述
实施例的三维人脸模型生成方法。
[0223] 本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行,以实现上述实施例的三
维人脸模型生成方法。
[0224] 本申请实施例还提供了一种计算机程序,该计算机程序中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行,以实现上述实施例的三维人脸模型生成方
法。
[0225] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述程序可以存储于一种计算机可读存
储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0226] 以上所述仅为本申请实施例的可选实施例,并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的
保护范围之内。