三维人脸重建方法、装置、计算机设备及存储介质与流程

文档序号:30695924发布日期:2022-07-09 17:11阅读:194来源:国知局
三维人脸重建方法、装置、计算机设备及存储介质与流程

1.本技术涉及计算机视觉技术领域,具体而言,涉及一种三维人脸重建方法、装置、计算机设备及存储介质。


背景技术:

2.随着计算机和人工智能技术的发展,三维(three-dimensional,简称3d)重建技术展现了广阔的应用前景。三维重建是指建立一个适合计算机表示和处理3d对象的数学模型的过程。其中,三维人脸重建在安防、三维动画等领域的广泛应用,使得其成为一个富有现实意义的研究方向。
3.目前,三维人脸重建中,主要是通过单张图像重建三维人脸模型,具体地,可以分为基于单视图三通道(red green blue,简称rgb)图像的三维人脸重建方法和基于单视图四通道(rgb+depth map,简称rgbd)图像的三维人脸重建方法两种。其中,基于单视图rgb图像的三维人脸重建方法将单张仅包含r、g、b三个通道的作为输入样本,对其进行三维人脸模型的重建,在难以获取对象详尽的脸部信息的条件下具有较好的建模效果。而基于但视图rgbd图像的三维人脸重建方法,能够将通过类似于灰度图像的方式,将传感器距离被测物体的距离记录在每个像素值中,得到的rgbd图像作为输入样本,这样,通过较少的存储量就能够重建得到的人脸三维模型。
4.但是,上述两种通过单张图像重建三维人脸模型的方法,无论是否包含深度信息,由于仅通过一个视角的图像进行重建,对于遮挡部分重建的三维模型缺少语义信息,只能通过估计的方式获得遮挡部分的数据,从而影响了重建的精度。


技术实现要素:

5.本技术的目的包括,例如,提供了一种三维人脸重建方法、装置、计算机设备及存储介质,其能够综合利用多张不同视角的深度图像,实现人脸三维模型的高精度重建。
6.本技术的实施例可以这样实现:
7.第一方面,本技术提供一种三维人脸重建方法,所述方法包括:
8.获取目标人脸对应的多张目标四通道图像,所述目标四通道图像的视角各不相同;
9.将所述多张目标四通道图像输入到预先训练得到的卷积神经网络中,得到初始人脸三维模型以及所述目标人脸的表情系数和姿态系数,所述初始人脸三维模型由三维平均脸模型与所述表情系数融合得到;
10.根据所述多张目标四通道图像,确定所述目标人脸的纹理系数;
11.将所述姿态系数以及所述纹理系数与所述初始人脸三维模型融合,得到所述目标人脸对应的三维人脸。
12.在一种可选的实施方式中,所述将所述多张目标四通道图像输入到预先训练得到的卷积神经网络中,得到初始人脸三维模型以及所述目标人脸的表情系数和姿态系数,包
括:
13.将所述多张目标四通道图像输入所述卷积神经网络中,得到各所述目标四通道图像的中间层特征;
14.对各中间层特征进行拼接,得到拼接后的中间层特征;
15.将所述拼接后的中间层特征输入所述卷积神经网络的模型子网络中,得到所述初始人脸三维模型以及所述表情系数;
16.将各中间层特征输入所述卷积神经网络的姿态回归子网络中,得到所述姿态系数。
17.在一种可选的实施方式中,所述根据所述多张目标四通道图像,确定所述目标人脸的纹理系数,包括:
18.根据各所述目标四通道图像,分别建立高斯金字塔模型、拉普拉斯金字塔模型以及掩膜金字塔模型;
19.根据所述高斯金字塔模型、所述拉普拉斯金字塔模型以及所述掩膜金字塔模型,确定所述纹理系数。
20.在一种可选的实施方式中,所述根据所述高斯金字塔模型、所述拉普拉斯金字塔模型以及所述掩膜金字塔模型,确定所述纹理系数,包括:
21.根据所述高斯金字塔以及所述掩膜金字塔,生成混合高斯金字塔;
22.根据所述拉普拉斯金字塔以及所述掩膜金字塔,生成混合拉普拉斯金字塔;
23.将所述混合高斯金字塔、所述混合拉普拉斯金字塔进行相加、上采样,得到采样金字塔;
24.将所述采样金字塔与所述拉普拉斯金字塔相加,确定纹理系数。
25.在一种可选的实施方式中,所述获取目标人脸对应的多张目标四通道图像,包括:
26.获取所述目标人脸对应的视频序列,所述视频序列中包括所述目标人脸对应的多张待选四通道图像;
27.确定各待选四通道图像的姿态数据,所述姿态数据包括:俯仰角、偏航角以及翻滚角;
28.根据所述各待选四通道图像的姿态数据以及预设的姿态组合信息,从所述多张待选四通道图像中筛选出所述多张目标四通道图像。
29.在一种可选的实施方式中,所述确定各待选四通道图像的姿态数据,包括:
30.对第一待选四通道图像进行关键点检测,得到第一点集,其中,所述第一待选四通道图像为所述多张待选四通道图像中的任一待选四通道图像;
31.将三维平均脸模型对应的关键点的集合作为第二点集,并确定各所述第一点集与所述第二点集的对应关系;
32.将所述第一点集和所述第二点集进行配对,得到多个点集对,每个点集对中包括第一点集中的一个关键点以及第二点集中的一个关键点;
33.分别确定各点集对所对应的维度变换信息;
34.根据各点集对所对应的维度变换信息,确定第一待选四通道图像的姿态数据。
35.在一种可选的实施方式中,所述方法还包括:
36.基于目标损失函数,对初始卷积数据网络进行训练,得到所述卷积神经网络,其
中,所述目标损失函数包括如下至少一种:关键点到极线距离损失函数、深度数据损失函数、点云最近邻点距离损失函数、图像一致性损失函数以及人脸点损失函数。
37.第二方面,本技术提供一种三维人脸重建装置,所述装置包括:
38.获取模块,用于获取目标人脸对应的多张目标四通道图像,所述目标四通道图像的视角各不相同;
39.处理模块,用于将所述多张目标四通道图像输入到预先训练得到的卷积神经网络中,得到初始人脸三维模型以及所述目标人脸的表情系数和姿态系数,所述初始人脸三维模型由三维平均脸模型与所述表情系数融合得到;
40.确定模块,用于根据所述多张目标四通道图像,确定所述目标人脸的纹理系数;
41.融合模块,用于将所述姿态系数以及所述纹理系数与所述初始人脸三维模型融合,得到所述目标人脸对应的三维人脸。
42.所述处理模块具体还用于,将所述多张目标四通道图像输入所述卷积神经网络中,得到各所述目标四通道图像的中间层特征;对各中间层特征进行拼接,得到拼接后的中间层特征;将所述拼接后的中间层特征输入所述卷积神经网络的模型子网络中,得到所述初始人脸三维模型以及所述表情系数;将各中间层特征输入所述卷积神经网络的姿态回归子网络中,得到所述姿态系数。
43.所述确定模块具体还用于,根据各所述目标四通道图像,分别建立高斯金字塔模型、拉普拉斯金字塔模型以及掩膜金字塔模型;根据所述高斯金字塔模型、所述拉普拉斯金字塔模型以及所述掩膜金字塔模型,确定所述纹理系数。
44.所述确定模块具体还用于,根据所述高斯金字塔以及所述掩膜金字塔,生成混合高斯金字塔;根据所述拉普拉斯金字塔以及所述掩膜金字塔,生成混合拉普拉斯金字塔;将所述混合高斯金字塔、所述混合拉普拉斯金字塔进行相加、上采样,得到采样金字塔;将所述采样金字塔与所述拉普拉斯金字塔相加,确定纹理系数。
45.所述获取模块具体还用于,获取所述目标人脸对应的视频序列,所述视频序列中包括所述目标人脸对应的多张待选四通道图像;确定各待选四通道图像的姿态数据,所述姿态数据包括:俯仰角、偏航角以及翻滚角;根据所述各待选四通道图像的姿态数据以及预设的姿态组合信息,从所述多张待选四通道图像中筛选出所述多张目标四通道图像。
46.所述获取模块具体还用于,对第一待选四通道图像进行关键点检测,得到第一点集,其中,所述第一待选四通道图像为所述多张待选四通道图像中的任一待选四通道图像;将三维平均脸模型对应的关键点的集合作为第二点集,并确定各所述第一点集与所述第二点集的对应关系;将所述第一点集和所述第二点集进行配对,得到多个点集对,每个点集对中包括第一点集中的一个关键点以及第二点集中的一个关键点;分别确定各点集对所对应的维度变换信息;根据各点集对所对应的维度变换信息,确定第一待选四通道图像的姿态数据。
47.训练模块,用于基于目标损失函数,对初始卷积神经网络进行训练,得到所述卷积神经网络,其中,所述目标损失函数包括如下至少一种:关键点到极线距离损失函数、深度数据损失函数、点云最近邻点距离损失函数、图像一致性损失函数以及人脸点损失函数。
48.第三方面,本技术提供一种计算机设备,所述计算机设备包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当所述计算机设备运行
时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如前述实施例中任一项所述的三维人脸重建方法的步骤。
49.第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现如前述实施例中任一项所述的三维人脸重建方法的步骤。
50.本技术实施例的有益效果包括:
51.采用本技术提供的三维人脸重建方法、装置、计算机设备及存储介质,首先,本技术通过多张不同视角的目标四通道图像输入预训练的卷积神经网络,就能够重建得到目标人脸对应的三维人脸,相比于基于单视图的人脸重建方式,能够使得重建得到的三维人脸具有更多目标人脸的特征点信息,提高了重建精度。其次,通过分别计算表情系数、姿态系数以及纹理系数,最终融合得到三维人脸的方式,易实现并行计算,实时性高,表达效果好。
附图说明
52.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
53.图1为本技术实施例提供的三维人脸重建方法整体流程图;
54.图2为本技术实施例提供的三维人脸重建方法的步骤流程示意图;
55.图3为本技术实施例提供的三维人脸重建方法的又一步骤流程示意图;
56.图4为本技术实施例提供的三维人脸重建方法的又一步骤流程示意图;
57.图5为本技术实施例提供的三维人脸重建方法的又一步骤流程示意图;
58.图6为本技术实施例提供的三维人脸重建方法的又一步骤流程示意图;
59.图7为本技术实施例提供的三维人脸重建方法的又一步骤流程示意图;
60.图8为本技术实施例提供的三维人脸重建装置的结构示意图;
61.图9为本技术实施例提供的计算机设备的结构示意图。
62.图标:101-多张待选四通道图像或视频流;102-三维平均脸模型;103-卷积神经网络;1031-表情系数;1032-姿态系数;104-纹理系数;105-目标人脸对应的三维人脸;106-目标损失函数;10-三维人脸重建装置;1001-获取模块;1002-处理模块;1003-确定模块;1004-融合模块;1005-训练模块;2001-处理器;2002-存储器。
具体实施方式
63.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。
64.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范
围。
65.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
66.此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
67.需要说明的是,在不冲突的情况下,本技术的实施例中的特征可以相互结合。
68.基于二维图像的三维人脸重建是计算机图形学和计算机视觉领域一个重要的研究内容。在目前的工作中,大多采用通过单张图像来重建三维人脸,其中,主要分为基于rgb图像的三维人脸重建方法和基于rgbd图像的三维人脸重建方法。尽管基于单视图的三维人脸重建方法在人脸角度正常的情况下取得了较好的表现,但是无论是否包含深度信息,由于仅通过一个视角的图像进行重建,缺乏遮挡部分的语义信息,只能通过估计的方式获得遮挡部分的数据,从而影响了重建的精度。
69.基于此,申请人经研究,提出了一种三维人脸重建方法、装置、计算机设备及存储介质,能够通过预训练的卷积神经网络,以多张视角不同的目标四通道图像为输入,重建得到对应的三维人脸,相比于单视图的三维人脸重建方法,能够获取到更多角度的三维人脸特征点信息,避免单一视图的人脸图像存在遮挡的问题,提高人脸重建的精度,进一步地,通过分别计算表情系数、姿态系数以及纹理系数,最终融合得到三维人脸的方式,易实现并行计算,实时性高,表达效果好。
70.如下结合多个具体的应用示例,对本技术实施例提供的一种三维人脸重建方法、装置、计算机设备及存储介质进行解释说明。
71.rgb色彩模式是工业界的一种颜色标准,是通过红(r)、绿(g)、蓝(b)三个颜色通道的变化以及它们之间的相互叠加来得到各式各样的颜色的。rgbd图像包括普通的rgb三通道彩色图像、深度图(depth map)的四通道图像。其中,depth map类似于灰度图像,只是它的每个像素值是传感器距物体的实际距离。通常,rgb图像和depth map是配准的,因而像素点之间具有一对一的关系。
72.本技术中,以多张rgbd图像或者带有深度信息的视频流作为输入,提供了一种基于多视角rgb图像的三维人脸重建方法,该方法的流程图如图1所示。
73.首先,将获取到的多张待选四通道图像或视频流101进行人脸关键点检测,并将检测到各rgbd图像对应的人脸关键点作为各rgbd图像的第一点集,将三维平均脸模型102中的三维人脸关键点作为第二点集,根据第一点集与第二点集的索引对应关系,将第一点集与第二点集配对,再根据非线性最小二乘法,迭代优化配对的第一点集中的关键点与第二点集中的关键点的损失函数,从而估计得到各rgbd图像姿态数据,包括俯仰角、偏航角以及翻滚角。
74.然后,从上述各rgbd图像中,选择与预设的姿态组合信息最接近的三张rgbd图像作为卷积神经网络103的输入,进行三维人脸的重建。其中,预设的姿态组合信息包含三组不同的目标姿态数据。卷积神经网络103首先获取三张rgbd图像的中间层特征,拼接后输入卷积神经网络103的模型子网络中,得到了初始人脸三维模型以及表情系数1031,其中,初始人脸三维模型是由三维平均脸模型102与表情系数1031融合得到的。然后,将上述三张rgbd图像的中间层特征输入到卷积神经网络103的姿态回归子网络中,得到目标人脸的姿
态系数1032。接下来,再将通过上述三张rgbd图像确定的纹理系数104与上述初始人脸三维模型、姿态系数1032以及纹理系数104进行融合,得到了目标人脸对应的三维人脸105。
75.上述过程是卷积网络训练完毕后,重建三维人脸的过程,卷积神经网络103在训练时,在重建得到目标人脸对应的三维人脸105后,根据上述步骤中获得的初始人脸三维模型、姿态系数1032以及纹理系数104,对人脸进行渲染,得到三张对应的重建图像,基于目标损失函数106,根据这三张重建图像与输入的三张rgbd图像,分别从目标损失函数106中的关键点到极线距离损失函数、深度数据损失函数、点云最近邻点距离损失函数、图像一致性损失函数以及人脸点损失函数等方面,以梯度回传的方式,对卷积神经网络103的参数进行优化,不断重复上述训练过程,直到卷积神经网络103的参数收敛到一个稳定值,就完成了对卷积神经网络103的训练。
76.图2所示为本技术实施例提供的三维人脸重建方法的步骤流程图,该方法的执行主体可以是具有计算处理能力的计算机设备。如图2所示,该方法包括:
77.s201,获取目标人脸对应的多张目标四通道图像,目标四通道图像的视角各不相同。
78.目标四通道图像可以是rgbd图像,多张rgbd图像中包含了同一目标人脸的不同视角的图像,由输入的多张rgbd图像或者含有深度信息的视频流进行筛选获得。
79.在本技术实施例中的下述步骤中,以目标四通道图像为三张进行说明。
80.s202,将多张目标四通道图像输入到预先训练得到的卷积神经网络中,得到初始人脸三维模型以及目标人脸的表情系数和姿态系数。
81.其中,初始人脸三维模型由三维平均脸模型与表情系数融合得到。
82.将上述三张目标四通道图像对应的三张rgb图像输入至预训练的卷积神经网络中,预训练的卷积神经网络能够根据三张rgb图像计算得到目标人脸的表情系数、人脸的身份标识系数,并将上述表情系数与三维平均脸模型进行融合,得到带有表情系数的初始人脸三维模型。人脸的身份标识系数用于描述人脸的特征,例如脸部宽度、额头高度以及其他特殊特征,示例性地,可以是酒窝。
83.三维平均脸模型,即为可变性人脸模型(3d morphable face model,简称3dmm),其主要思想为:若两幅图像中存在一定的对应关系,那么就可以利用这个对应关系生成一副具有平滑过渡效果的图像。也就是说,3dmm代表了一个根据多张人脸图像生成的三维平均脸模型,卷积神经网络模型可以通过计算三维平均脸模型与目标人脸的一组参数信息,描述二者之间的偏差,从而可以依据参数信息对三维平均脸模型进行变换,得到对应于目标人脸的三维人脸。其中,上述参数信息可以包括表情系数、姿态系数以及纹理系数等。
84.其中,表情系数是用于描述人脸面部肌肉的一个或者多个状态的变化的系数。
85.另外,卷积神经网络还可以根据上述三张rgb图像,计算得到三维人脸的姿态系数。可选地,若将三维平均脸模型的姿态作为标准角度,则姿态系数可以用于描述目标人脸相对于该标准角度的方位偏差。
86.s203,根据多张目标四通道图像,确定目标人脸的纹理系数。
87.可以通过对上述三张rgbd图像进行处理,提取得到目标人脸的纹理系数,用于描述目标人脸的纹理特征。
88.纹理特征是一种反映人脸图像中同质现象的视觉特征,它体现了人脸表面的具有
缓慢变化或者周期性变化的表面结构组织排列属性。纹理特征可以通过像素及其周围空间邻域的灰度分布来表现。
89.s204,将姿态系数以及纹理系数与初始人脸三维模型融合,得到目标人脸对应的三维人脸。
90.根据上述描述可知,姿态系数、纹理系数都是用于描述目标人脸对应的三维人脸与初始人脸三维模型的附加的参数,根据姿态系数、纹理系数,对初始人脸三维模型中,用于描述姿态、纹理的参数进行融合,就得到了目标人脸对应的三维人脸。
91.在本实施例中,通过多张目标四通道图像进行三维人脸重建,使得卷积神经网络能够学习并使用多视角的人脸特征信息实现三维人脸重建,提高了重建精度。另外,姿态系数、纹理系数以及表情系数可以分别同时计算,提高了实时性。
92.需要说明的是,在上述实施例中,目标人脸对应的多张目标四通道图像,可以由用户依据预先设置的姿态、数量规则,直接输入三张姿态数据符合要求的目标人脸的四通道图像作为目标四通道图像。还可以输入多张目标人脸的不同姿态的四通道图像作为待选四通道图像,并由下述步骤s302至步骤s303进行筛选,得到三张姿态数据符合要求的目标人脸的四通道图像作为目标四通道图像。还可以直接输入包含目标人脸、带有深度信息的视频流,当输入信息为视频流时,获取目标四通道图像的流程如下述实施例所述。
93.可选地,如图3所示,上述步骤s201中,获取目标人脸对应的多张目标四通道图像,可以由下述步骤s301至s303实现。
94.s301,获取目标人脸对应的视频序列,视频序列中包括目标人脸对应的多张待选四通道图像。
95.可以将目标人脸对应的视频序列拆分成多帧图像,作为目标人脸对应的多张待选四通道图像,也可以直接输入多张视角不同的rgbd图像,作为目标人脸对应的多张待选四通道图像。需输入的视频流或者图像满足:包括同一人脸的不同角度的信息,且含有图像深度信息,具体的图像输入形式本技术在此不做限定。
96.s302,确定各待选四通道图像的姿态数据,姿态数据包括:俯仰角、偏航角以及翻滚角。
97.姿态数据是用于表示二维的各四通道图像中,各目标人脸图像在实际的三维空间中的面部的方位。该方位可以通过三个不同方向的旋转角度表示,其中,俯仰角(yaw)表示目标人脸关于x轴的旋转角度,偏航角(pitch)表示目标人脸关于y轴的旋转角度,翻滚角(roll)表示目标人脸关于z轴的旋转角度。
98.也就是说,上述姿态数据,可以描述各目标人脸相对于三维平均脸模型分别在x轴、y轴以及z轴上的方位差距,根据个姿态数据对三维平均脸模型进行调整,就可以将其调整至各目标人脸的对应的姿态。因此,可以通过算法量化这种方位差距,从而确定各待选四通道图像的姿态数据。
99.s303,根据各待选四通道图像的姿态数据以及预设的姿态组合信息,从多张待选四通道图像中筛选出多张目标四通道图像。
100.预设的姿态组合信息可以分别包括人脸左侧脸、人脸右侧脸以及正面人脸的对应的姿态数据,其中,人脸右侧脸对应的姿态数据为:yaw=-45,pitch=0,roll=0,人脸左侧脸对应的姿态数据为:yaw=45,pitch=0,roll=0,正面人脸对应的姿态数据为:yaw=45,
pitch=0,roll=0。
101.接下来,可以通过对上述步骤获得的对应于各待选四通道图像的姿态数据进行筛选,确定一组姿态数据与预设的姿态组合信息最接近的三张目标四通道图像。可以理解的是,上述三张目标四通道图像对应的姿态数据,是各待选四通道图像的姿态数据中,分别与人脸左侧脸、人脸右侧脸以及正面人脸的对应的姿态数据差距最小的待选四通道图像。
102.在本实施例中,通过对计算得到的多张待选四通道图像的姿态数据进行筛选,确定了多张目标四通道图像,从而为下述步骤中的三维人脸重建提供尽可能全面的人脸信息,提高重建的准确率。
103.可选地,如图4所示,上述步骤s302中,确定各待选四通道图像的姿态数据,可以包括下述步骤。
104.s401,对第一待选四通道图像进行关键点检测,得到第一点集。
105.其中,第一待选四通道图像为多张待选四通道图像中的任一待选四通道图像。
106.人脸关键点检测是指给定人脸图像,定位出人脸面部关键区域的位置的方法,包括对眉毛、眼睛、鼻子、嘴巴以及脸部轮廓的定位。人脸关键点检测算法包括基于全局的方法、基于图模型的方法、基于级联回归的方法以及基于深度学习的方法等,本技术在此不做限定。
107.对于各待选四通道图像,可以通过人脸关键点检测算法进行处理,获取用于描述各待选四通道上用于描述目标人脸的多个关键点,并将每个待选四通道图像的多个关键点作为对应于该待选四通道图像的第一点集。需要说明的是,关键点的数量可以根据使用人脸关键点检测算法的不同而设置不同的数量,本技术在此不做限定。
108.s402,将三维平均脸模型对应的关键点的集合作为第二点集,并确定各第一点集与第二点集的对应关系。
109.第一点集是一系列二维平面上人脸关键点,第二点集是三维空间内的人脸关键点,第一点集的数量和第二点集的数量可以相等,因此,可以根据第一点集中的关键点的序号与第二点集的关键点的序号,建立第一点集与第二点集的索引对应关系。
110.s403,将第一点集和第二点集进行配对,得到多个点集对,每个点集对中包括第一点集中的一个关键点以及第二点集中的一个关键点。
111.可以理解的是,第二点集中的关键点在二维平面投影,第一点集中的关键点与距离最近的投影平面上的点对应的第二点集关键点建立索引对应关系,组成一个点集对。
112.s404,分别确定各点集对所对应的维度变换信息。
113.维度变换信息可以理解为,如何对第一点集中的关键点进行旋转、平移、拉伸等操作,使得第一点集中的关键点与第二点集中的关键点重合。对上述变换操作的过程进行量化,就是维度变换信息,具体地,可以包括第一点集通过旋转矩阵、平移矩阵以及缩放尺度变换得到第二点集的过程。
114.s405,根据各点集对所对应的维度变换信息,确定第一待选四通道图像的姿态数据。
115.可以采用非线性最小二乘法,通过下式的平方差误差损失函数,估计每个待选四通道图像的姿态数据,具体地,可以包括:俯仰角(yaw)、偏航角(pitch)、翻滚角(roll)。
[0116][0117]
其中,n表示该待选四通道图像上第一点集与第二点集的关键点的个数,qi表示第i个第一点集的关键点,pi表示第i个第二点集的关键点,qi与pi是一个点集对。r是由yaw、pitch以及roll组成的旋转矩阵,t是平移矩阵,s是缩放尺度,用于第一点集的姿态估计。
[0118]
上述函数求解第一点集中的关键点与对应的第二点集的关键点组成的多个点集对之间的最小变换角度,可以通过梯度下降法经过多次迭代,求解能够满足条件的yaw、pitch以及roll,当求解值收敛到一个稳定值时,就完成了整个优化过程。依次对各待选四通道图像求解,就得到了各待选四通道图像对应的yaw、pitch以及roll。
[0119]
在本实施例中,通过非线性最小二乘法估计求解了各待选四通道图像对应的yaw、pitch以及roll,完成了对各待选四通道图像的姿态估计,从而为选择目标四通道图像提供了选择空间。
[0120]
可选地,如图5所示,上述步骤s202中,将多张目标四通道图像输入到预先训练得到的卷积神经网络中,得到初始人脸三维模型以及目标人脸的表情系数和姿态系数,可以由下述步骤s501至s504实现。
[0121]
s501,将多张目标四通道图像输入卷积神经网络中,得到各目标四通道图像的中间层特征。
[0122]
可以将上述获得的三张目标四通道图像中的rgb图像输入到卷积神经网络中,首先卷积神经网络的第一层对上述rgb图像进行特征提取,得到分别对于上述三张目标四通道图像的中间层特征描述。
[0123]
中间层特征可以是对输入的rgb图像的进一步的特征提取,最终的目的是为了排除其他特征的干扰,尽可能的获得对于卷积神经网络进行三维人脸重建更重要的特征描述子。
[0124]
s502,对各中间层特征进行拼接,得到拼接后的中间层特征。
[0125]
将上述对应于各rgb图像的卷积神经网络的各中间层特征进行拼接,得到对于目标人脸的完整的特征,即,拼接后的中间层特征。
[0126]
s503,将拼接后的中间层特征输入卷积神经网络的模型子网络中,得到初始人脸三维模型以及表情系数。
[0127]
可以理解的是,模型子网络是卷积神经网络的一部分,可以将上述拼接后的中间层特征输入至训练好的模型子网络中,输出了初始人脸三维模型以及表情系数。
[0128]
其中,初始人脸三维模型是由三维平均脸模型与表情系数融合得到的。
[0129]
可选地,卷积神经网络根据拼接后的中间层特征,输出初始人脸三维模型、表情系数外,还可以输出人脸的身份标识系数。
[0130]
s504,将各中间层特征输入卷积神经网络的姿态回归子网络中,得到姿态系数。
[0131]
姿态回归子网络也是卷积神经网络的一部分,该姿态回归子网络可以根据多个视角的各中间层特征,可以得到目标人脸在三维空间中,相对于平均脸模型的姿态系数,包括yaw、pitch以及roll。
[0132]
在本实施例中,通过将中间层特征拼接后再输入至模型子网络中,相对于其他在
神经网络中进行拼接的方法,能够学习到多视角的人脸特征,得到的初始人脸三维模型更为准确。
[0133]
可选地,如图6所示,上述步骤s203中,根据多张目标四通道图像,确定目标人脸的纹理系数,可以由下述步骤s601至s602实现。
[0134]
s601,根据各目标四通道图像,分别建立高斯金字塔模型、拉普拉斯金字塔模型以及掩膜金字塔模型。
[0135]
在图像处理过程中,同一幅图像中一般都含有不同尺度下的有用信息,尺度越精细,图像的细节信息越丰富,为了充分且有效地利用这些信息,通常需要对图像进行多尺度描述。图像金字塔是一种经典的图像多尺度描述方法。它是一种以多分辨率来描述图像的有效且简洁的结构。一幅图像的金字塔实际上是一系列以金字塔形状排列的分辨率逐步降低并且都来自同一张原始图片的图像集合,集合里每一个图像被称为一个层。图像金字塔底层是源图像的高分辨率表示,顶层则是低分辨率的近似,一层一层堆叠的图像形如“金字塔”,层级越高,图像越小,分辨率越低。它的建立是以一系列的迭代计算方式进行的。故,图像金字塔可以较好地以多尺度方式描述图像的信息。
[0136]
高斯金字塔是利用高斯平滑以及下采样得到上一层的图像,之后反复迭代多次,形成一个具有金字塔形状的图像数据结构,即为高斯金字塔。
[0137]
拉普拉斯金字塔是高斯金字塔的重建,它是高斯金字塔的每一层图像减去其上一层图像上采样并高斯卷积之后的预测图像,从而得到一系列的差值图像。
[0138]
掩膜是用选定的图像、图形或物体,对处理的图像(全局或局部)进行遮挡,来控制图像处理的区域或者过程。掩膜金字塔就是用于标识上述高斯金字塔以及拉普拉斯金字塔进行融合时,融合的位置信息。
[0139]
以目标四通道图像为三张为例,可以分别对其建立高斯金字塔、拉普拉斯金字塔以及掩膜金字塔,可选地,可以对其中姿态系数为yaw=45,pitch=0,roll=0的目标四通道图像的左侧脸建立高斯金字塔,对姿态系数为yaw=-45,pitch=0,roll=0的目标四通道图像的右侧脸建立拉普拉斯金字塔,最后对yaw=45,pitch=0,roll=0的正面人脸建立掩膜金字塔。
[0140]
s602,根据高斯金字塔模型、拉普拉斯金字塔模型以及掩膜金字塔模型,确定纹理系数。
[0141]
最后,可以根据掩膜金字塔模型,对高斯金字塔以及拉普拉斯金字塔进行融合,得到目标人脸的纹理系数。
[0142]
在本实施例中,通过对目标四通道分别建立高斯金字塔、拉普拉斯金字塔以及掩膜金字塔,再进行融合,确定了目标人脸的纹理系数。这种方式得到的纹理系数精度更高,表达效果更好。
[0143]
可选地,如图7所示,上述步骤s602中,根据高斯金字塔模型、拉普拉斯金字塔模型以及掩膜金字塔模型,确定纹理系数,可以由下述步骤s701至s704实现。
[0144]
s701,根据高斯金字塔以及掩膜金字塔,生成混合高斯金字塔。
[0145]
将高斯金字塔的多层图像分别与掩膜金字塔的多层图像相加,得到了混合高斯金字塔。这里掩膜金字塔用于标识混合高斯金字塔进行融合的位置,混合高斯金字塔用于描述目标人脸的左半边脸的特征。
[0146]
s702,根据拉普拉斯金字塔以及掩膜金字塔,生成混合拉普拉斯金字塔。
[0147]
与上述混合高斯金字塔的生成步骤相同,可以将拉普拉斯金字塔的多层图像分别与掩膜金字塔的多层图像相加,生成混合拉普拉斯金字塔。其中,掩膜金字塔用于标识混合拉普拉斯金字塔进行融合的位置,混合拉普拉斯金字塔用于描述目标人脸右半边脸的特征。
[0148]
s703,将混合高斯金字塔、混合拉普拉斯金字塔进行相加、上采样,得到采样金字塔。
[0149]
混合高斯金字塔与混合拉普拉斯金字塔的相加是在各空间频率层上分别进行的,这样,可以针对不同层上的特征与细节,采用不同的融合算子进行相加,然后进行上采样,以达到融合混合高斯金字塔与混合拉普拉斯金字塔的目的。
[0150]
s704,将采样金字塔与拉普拉斯金字塔相加,确定纹理系数。
[0151]
将上述混合高斯金字塔与混合拉普拉斯金字塔相加、上采样后得到的采样金字塔与上述拉普拉斯金字塔的对应层相加,最终融合后的结果作为目标人脸的纹理系数。
[0152]
在本实施例中,通过混合高斯金字塔、混合拉普拉斯金字塔相加、上采样后,与拉普拉斯金字塔进行融合,得到纹理系数,相对于现有技术中的方案,能够使得纹理系数的精度更高,与目标人脸的目标四通道图像中的纹理更为近似。
[0153]
可选地,本技术实施例提供的三维人脸重建方法还包括:基于目标损失函数,对初始卷积神经网络进行训练,得到卷积神经网络,其中,目标损失函数包括如下至少一种:关键点到极线距离损失函数、深度数据损失函数、点云最近邻点距离损失函数、图像一致性损失函数以及人脸点损失函数。
[0154]
可选地,可以通过对上述初始人脸三维模型、姿态系数和纹理系数,得到对应于三张待选四通道图像的三张重建图像。再根据目标损失函数,对重建图像与对应的待选四通道图像计算损失值,最后,根据损失值,以梯度回传的方式对初始卷积神经网络的参数进行更新,得到训练好的卷积神经网络。在本技术中,目标损失函数可以包括:关键点到极线距离损失函数、深度数据损失函数、点云最近邻点距离损失函数、图像一致性损失函数以及人脸点损失函数。
[0155]
由于一对图像中的关键点一定会落在极线上,可以用于对卷积神经网络学习的姿态进行约束。关键点到极线距离损失函数用于计算待选四通道图像与重建图像中对应点距离极线的距离。可以记为:
[0156][0157]
其中,e=t1→2×
t1→2,t1→2表示从视角1到视角2的平移向量,r1→2表示从第一视角到第二视角的旋转向量,n表示不同视角的对数,也就是待选四通道图像与重建图像的对数,k表示关键点的数量,r
j1
表示第j个关键点在第一视角下的点,p
j2
表示第j个关键点在第二视角下的点,ep
j(1)
表示极线的第一个分量,ep
j(2)
表示极线的第二个分量。其中,第一视角可以是待选四通道图像的视角,第二视角可以是重建图像的视角。
[0158]
接下来,可以通过人脸的身份标识系数、表情系数,通过3dmm模型,重建出目标人
脸的三维模型,进一步对该模型的z轴进行筛选,获得重建出的目标人脸的深度数据。该数据可以与待选四通道图像的深度数据做一致性监督。该监督可以表示为:
[0159]
l
depth
=f(||d
depth-dz||2)
[0160]
其中,f(||d
depth-dz||2)表示点云均值的欧式距离,点云可以理解为通过人脸的身份标识系数、表情系数,通过3dmm模型,重建出目标人脸的三维模型。d
depth
表示该视角下对应的图像的深度信息,也就是目标四通道的深度数据,dz表示重建出的目标人脸的深度数据。
[0161]
然后,点云最近邻点距离用于计算三个视角之间的任意两个不同视角之间,点云中的点到另一个点云中的最近邻点之间的距离。点云最近邻点距离损失函数可以记为:
[0162][0163]
其中,n表示点云中点的个数,xi表示当前时间下的某个点,y表示另外一个视角下的点通过姿态变化到当前视角下的点云,通过该约束能够使卷积神经网络更充分的学习到多视角的人脸信息。
[0164]
图像一致性损失函数可以记为:
[0165][0166]
其中,ii(x)表示第i个视角的目标四通道图像,i
′i(x)表示第i个视角重建出来得到,对应于目标四通道图像的重建图像。
[0167]
人脸点损失函数可以记为:
[0168][0169]
其中,qn(x)表示从重建得到的三维人脸中,根据与目标四通道图像中关键点索引对应关系,选择出的人脸关键点。qn表示待选四通道图像中的对应的人脸关键点。因为重建出的三维关键点和待选四通道图像中的二维关键点存在语义不一致的情况,因此,可以分两部分对人脸点损失函数进行计算。左半部分只计算未被遮挡的部分,vn表示未被遮挡的人脸关键点的个数。遮挡部分采用右半部分进行计算,qi表示和三维关键点语义不一致的二维关键点,y表示重建出的三维关键点经过投影后的所有点。其中,qn、qi可以通过脸的朝向划分。目标四通道图像朝右边时,认为左半边的所有关键点是可见的。目标四通道图像朝左边时,认为右半边所有的关键点是可见的。
[0170]
最后,根据上述各参数,可以通过以下目标函数进行优化:
[0171]
loss=αl
ept
+βl
depth
+χl
cd
+δl
photo
+εl
landmark
[0172]
其中,α、β、χ、δ、ε表示各个损失函数的调节系数。通过该损失函数对初始卷积神经网络采用梯度下降法进行训练,多次迭代至参数收敛,就能够得到训练好的卷积神经网络。
[0173]
在本实施例中,通过目标函数对初始卷积神经网络进行训练,得到了训练好的卷积神经网络。目标函数充分利用了多视角数据所携带的三维人脸信息的丰富性和多视角数
据在三维空间和成像以后的关系性,提高了三维人脸重建模型的精度。
[0174]
如图8所示,本技术实施例还提供一种三维人脸重建装置10,该装置包括:
[0175]
获取模块1001,用于获取目标人脸对应的多张目标四通道图像,目标四通道图像的视角各不相同。
[0176]
处理模块1002,用于将多张目标四通道图像输入到预先训练得到的卷积神经网络中,得到初始人脸三维模型以及目标人脸的表情系数和姿态系数,初始人脸三维模型由三维平均脸模型与表情系数融合得到。
[0177]
确定模块1003,用于根据多张目标四通道图像,确定目标人脸的纹理系数。
[0178]
融合模块1004,用于将姿态系数以及纹理系数与人脸三维模型融合,得到目标人脸对应的三维人脸。
[0179]
处理模块1002具体还用于,将多张目标四通道图像输入卷积神经网络中,得到各目标四通道图像的中间层特征;对各中间层特征进行拼接,得到拼接后的中间层特征;将拼接后的中间层特征输入卷积神经网络的模型子网络中,得到初始人脸三维模型以及表情系数;将各中间层特征输入卷积神经网络的姿态回归子网络中,得到姿态系数。
[0180]
确定模块1003具体还用于,根据各目标四通道图像,分别建立高斯金字塔模型、拉普拉斯金字塔模型以及掩膜金字塔模型;根据高斯金字塔模型、拉普拉斯金字塔模型以及掩膜金字塔模型,确定纹理系数。
[0181]
确定模块1003具体还用于,根据高斯金字塔以及掩膜金字塔,生成混合高斯金字塔;根据拉普拉斯金字塔以及掩膜金字塔,生成混合拉普拉斯金字塔;将混合高斯金字塔、混合拉普拉斯金字塔进行相加、上采样,得到采样金字塔;将采样金字塔与拉普拉斯金字塔相加,确定纹理系数。
[0182]
获取模块1001具体还用于,获取目标人脸对应的视频序列,视频序列中包括目标人脸对应的多张待选四通道图像;确定各待选四通道图像的姿态数据,姿态数据包括:俯仰角、偏航角以及翻滚角;根据各待选四通道图像的姿态数据以及预设的姿态组合信息,从多张待选四通道图像中筛选出多张目标四通道图像。
[0183]
获取模块1001具体还用于,对第一待选四通道图像进行关键点检测,得到第一点集,其中,第一待选四通道图像为多张待选四通道图像中的任一待选四通道图像;将三维平均脸模型对应的关键点的集合作为第二点集,并确定各第一点集与第二点集的对应关系;将第一点集和第二点集进行配对,得到多个点集对,每个点集对中包括第一点集中的一个关键点以及第二点集中的一个关键点;分别确定各点集对所对应的维度变换信息;根据各点集对所对应的维度变换信息,确定第一待选四通道图像的姿态数据。
[0184]
训练模块1005,用于基于目标损失函数,对初始卷积神经网络进行训练,得到卷积神经网络,其中,目标损失函数包括如下至少一种:关键点到极线距离损失函数、深度数据损失函数、点云最近邻点距离损失函数、图像一致性损失函数以及人脸点损失函数。
[0185]
请参阅图9,本实施例还提供一种计算机设备,该计算机设备包括:处理器2001、存储器2002和总线,存储器2002存储有处理器2001可执行的机器可读指令,当计算机设备运行时,执行上述机器可读指令,处理器2001与存储器2002之间通过总线通信,处理器2001用于执行上述实施例中的三维人脸重建方法的步骤。
[0186]
存储器2002、处理器2001以及总线各元件相互之间直接或间接地电性连接,以实
现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。三维人脸重建系统的数据处理装置包括至少一个可以软件或固件(firmware)的形式存储于存储器2002中或固化在计算机设备的操作系统(operating system,os)中的软件功能模块。处理器2001用于执行存储器2002中存储的可执行模块,例如三维人脸重建系统的数据处理装置所包括的软件功能模块及计算机程序等。
[0187]
其中,存储器2002可以是,但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。
[0188]
可选地,本技术还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
[0189]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本技术中不再赘述。在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0190]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0191]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1