1.本发明涉及计算机视觉技术领域,具体而言,涉及一种三维人脸重建方法、装置、电子设备及存储介质。
背景技术:
2.三维人脸重建技术被广泛地应用于人脸识别、人脸动画、虚拟现实、3d游戏等领域,具备广泛的应用前景和巨大的市场价值。
3.单目三维人脸重建方法是利用给定的无约束的单张包含人脸的二维图像,旨在生成该人脸二维图像所对应的三维几何模型,现有的三维人脸重建主要是基于三维可变形模型(3d morphable face model,3dmm),根据人脸二维图像中人脸的表情、形状等参数对三维可变形模型进行叠加,得到三维人脸模型。
4.但是,由于三维可变形模型本身所固有的、有限的几何表示能力,只能构建粗糙的三维人脸模型,而无法有效地捕获、重建精度更高三维人脸模型。
技术实现要素:
5.本发明的目的在于,针对上述现有技术中的不足,提供一种三维人脸重建方法、装置、电子设备及存储介质,以便提高重建的三维人脸模型的精度。
6.为实现上述目的,本技术实施例采用的技术方案如下:
7.第一方面,本技术实施例提供了一种三维人脸重建方法,所述方法包括:
8.对人脸二维图像进行三维重建,得到初始三维人脸模型;
9.根据所述初始三维人脸模型以及所述人脸二维图像,生成二维人脸贴图;
10.根据所述二维人脸贴图进行多个尺度的位移预测,得到所述多个尺度下的二维人脸位移贴图;
11.根据所述二维人脸贴图,以及所述多个尺度下的二维人脸位移贴图,生成目标三维人脸模型。
12.第二方面,本技术实施例还提供了一种三维人脸重建装置,所述装置包括:
13.三维重建模块,用于对人脸二维图像进行三维重建,得到初始三维人脸模型;
14.人脸贴图生成模块,用于根据所述初始三维人脸模型以及所述人脸二维图像,生成二维人脸贴图;
15.位移贴图生成模块,用于根据所述二维人脸贴图进行多个尺度的位移预测,得到所述多个尺度下的二维人脸位移贴图;
16.三维模型生成模块,用于根据所述二维人脸贴图,以及所述多个尺度下的二维人脸位移贴图,生成目标三维人脸模型。
17.第三方面,本技术实施例还提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行如第一方面任一所述
的三维人脸重建方法的步骤。
18.第四方面,本技术实施例还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面任一所述的三维人脸重建方法的步骤。
19.本技术的有益效果是:
20.本技术提供的三维人脸重建方法、装置、电子设备及存储介质,通过对人脸二维图像和初始三维人脸模型分别在二维贴图空间进行展开,以在预设二维贴图中存储人脸二维图像中各个像素点的颜色信息,得到颜色贴图,在预设二维贴图中存储初始三维人脸模型中各个顶点的坐标信息,得到位置贴图,以便利用颜色贴图和位置贴图中各个像素点的像素信息之间的关联性,以及各个顶点的坐标信息之间的关联性,共同进行多尺度金字塔池化,得到各个顶点的位置偏移量,采用该方式得到的位置偏移量可以在不同尺度下获取人脸几何细节的深层次特征,以便可以更精准地根据多个尺度下的位置偏移量重建面部几何信息更精准的目标三维人脸模型。
附图说明
21.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
22.图1为本技术实施例提供的三维人脸重建方法的流程示意图一;
23.图2为本技术实施例提供的训练目标面部参数预测神经网络的流程框图;
24.图3为本技术实施例提供的三维人脸重建方法的流程示意图二;
25.图4为本技术实施例提供的三维人脸重建方法的流程示意图三;
26.图5为本技术实施例提供的三维人脸重建方法的流程示意图四;
27.图6为本技术实施例提供的三维人脸重建方法的流程示意图五;
28.图7为多尺度位移贴图加权示意图;
29.图8为本技术实施例提供的三维人脸重建方法的流程示意图六;
30.图9为本技术实施例提供的目标金字塔池化神经网络的示意图;
31.图10为本技术实施例提供的目标三维人脸模型重建过程的示意图;
32.图11为本技术实施例提供的三维人脸重建方法的流程示意图七;
33.图12为本技术实施例提供的三维人脸重建方法的流程示意图八;
34.图13为本技术实施例提供的三维人脸重建方法的流程示意图九;
35.图14为本技术实施例提供的训练目标金字塔池化神经网络和目标自编码神经网络的流程框图;
36.图15为本技术实施例提供的重建目标三维人脸模型的流程框图;
37.图16为本技术实施例提供的三维人脸重建装置的结构示意图;
38.图17为本技术实施例提供的电子设备的示意图。
具体实施方式
39.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
40.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
41.此外,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
42.需要说明的是,在不冲突的情况下,本技术的实施例中的特征可以相互结合。
43.现有的三维人脸重建主要是基于三维可变形模型(3d morphable face model,3dmm),根据人脸二维图像中人脸的表情、形状等参数对三维可变形模型进行叠加,得到三维人脸模型。
44.但是,由于三维可变形模型本身所固有的、有限的几何表示能力,只能构建粗糙的三维人脸模型,而无法有效地捕获、重建精度更高三维人脸模型。
45.基于此,本技术拟提供一种三维人脸重建方法、装置、电子设备及存储介质,利用人脸二维图像中所包括的人脸信息,在基于三维可变形模型生成的粗糙三维人脸模型的基础上,有效地捕获和重建精准的面部几何细节,从而显著提升生成的三维人脸模型的几何精度。
46.需要说明的是,根据本技术的实施例所提供的三维人脸重建方法的应用场景的不同,电子设备的类型也存在区别。例如,若该三维人脸重建方法应用于人脸识别、拍照等技术领域,则该电子设备可以为需要进行人脸识别的终端设备,例如智能手机、人脸识别验证的闸机、打卡机等;若该三维人脸重建方法应用于人脸动画、3d游戏等技术领域,则该电子设备可以为计算机设备。其中,当需要进行神经网络的训练时,可以在计算机设备中进行神经网络的训练,在将训练好的神经网络部署在其他需要进行三维人脸重建的终端设备中。
47.请参考图1,为本技术实施例提供的三维人脸重建方法的流程示意图一,如图1所示,该方法可以包括:
48.s101:对人脸二维图像进行三维重建,得到初始三维人脸模型。
49.在本实施例中,利用三维可变形模型对人脸二维图像进行三维重建,得到初始三维人脸模型s1,其中,初始三维人脸模型为基于三维可变形模型生成的粗糙三维人脸模型。
50.示例的,生成初始三维人脸模型s1的过程可以为:
51.采用预先训练的目标面部参数预测神经网络net1对人脸二维图像i
t
进行图像识别,基于人脸二维图像i
t
中的面部特征,预测人脸二维图像i
t
中的人脸的面部参数,基于该
面部参数和基准三维模型,生成初始三维人脸模型s1。
52.其中,面部参数可以包括:多个形状系数和多个表情系数,其中,形状系数用于指示人脸二维图像i
t
中人脸的轮廓形状以及五官的轮廓形状,表情系数用于指示人脸二维图像i
t
中人脸的表情;基于面部参数和基准三维模型,生成初始三维人脸模型s1的过程可以包括:
53.基于多个形状系数对多个形状基进行线性加权,得到形状偏移量,基于多个表情系数对多个表情基进行线性加权,得到表情偏移量,将形状偏移量、表情偏移量与基准三维模型进行相加,得到初始三维人脸模型s1。
54.示例的,计算形状偏移量的公式可以表示为:其中,s
model
为形状偏移量,s为平均人脸,αi为形状系数,si为形状基,其中,平均人脸是对人脸图像数据库中的多个人脸的形状进行平均得到的。
55.示例的,请参考图2,为本技术实施例提供的训练目标面部参数预测神经网络的流程框图,如图2所示,输入任意单目的样本人脸二维图像,采用初始面部参数预测神经网络输出样本面部参数、样本相机姿态参数和样本光照系数,根据样本面部参数和基准三维模型,生成样本初始三维人脸模型。其中,样本相机姿态参数用于指示拍摄样本人脸二维图像的相机的姿态,样本光照系数用于指示拍摄样本人脸二维图像时的光照情况。
56.样本面部参数中处理包括样本形状系数和样本表情系数外,还包括多个样本纹理系数,样本纹理系数用于指示样本人脸二维图像中人脸的纹理,例如,皱纹、法令纹、眼袋等,基于多个样本纹理系数对多个纹理基进行线性加权,并将加权结果在二维贴图空间内展开,得到样本人脸颜色贴图。
57.根据样本初始三维人脸模型、样本人脸颜色贴图、样本相机姿态参数和样本光照系数,通过可微渲染,得到样本渲染人脸图像;根据样本人脸二维图像和样本渲染人脸图像计算像素误差,确定样本人脸二维图像和样本初始三维人脸模型的面部关键点坐标,计算坐标误差,根据坐标误差和像素误差构成的损失函数,对初始面部参数预测神经网络进行参数调整,当网络迭代次数到达最大迭代次数时,保存网络参数,得到目标面部参数预测神经网络net1。
58.s102:根据初始三维人脸模型以及人脸二维图像,生成二维人脸贴图。在本实施例中,初始三维人脸模型是由多个三角面片组合成的网络(mesh),根据初始三维人脸模型中多个三角面片的顶点与预设二维贴图的对应关系、以及初始三维模型中多个三角面片的顶点与人脸二维图像中多个像素点的映射关系,将初始三维人脸模型和人脸二维图像分别在预设二维贴图对应的贴图空间展开,得到二维人脸贴图,二维人脸贴图中存储有:初始三维人脸模型中多个三角面片的顶点的坐标信息,人脸二维图像中多个像素点的像素信息。
59.s103:根据二维人脸贴图进行多个尺度的位移预测,得到多个尺度下的二维人脸位移贴图。
60.在本实施例中,对二维人脸贴图进行金字塔池化,金字塔池化根据二维人脸贴图中存储的多个三角面片的顶点的坐标信息和多个像素点的像素信息,预测多个三角面片的顶点的位移偏移量,得到二维人脸位移贴图,通过进行多个尺度下的金字塔池化,得到多个尺度下的二维人脸位移贴图二维人脸位移贴图中包括:初始三维人脸模
型中多个三角面片的顶点沿着各自的法线方向的位置偏移量,多个尺度下的二维人脸位移贴图可以有效地捕获和表征不同尺度范围下人脸的细节信息。其中,每个尺度可以获取一个局部区域最精准的面部几何信息。
61.s104:根据二维人脸贴图,以及多个尺度下的二维人脸位移贴图,生成目标三维人脸模型。
62.在本实施例中,多个尺度下的二维人脸位移贴图与二维人脸贴图在贴图空间坐标系下处于对齐状态,根据多个尺度下的二维人脸位移贴图,对二维人脸贴图中多个三角面片的顶点坐标进行坐标偏移,得到偏移后的二维人脸贴图,其中,坐标偏移的方式可以为:根据多个尺度下的二维人脸位移贴图中多个三角面片的顶点的位置偏移量,对二维人脸贴图中多个三角面片的顶点坐标进行加权,得到偏移后的顶点坐标,将偏移后的顶点坐标存储在二维人脸贴图中,得到偏移后的二维人脸贴图,基于偏移后的二维人脸贴图中多个三角面片的顶点坐标,重建三维人脸模型,得到目标三维人脸模型。
63.上述实施例提供的三维人脸重建方法,基于初始三维人脸模型和人脸二维图像生成二维人脸贴图,以通过对二维人脸贴图进行多个尺度的位移预测,以从多个尺度下确定人脸位置偏移信息,基于多个尺度的人脸位置偏移信息对二维人脸贴图进行校正,得到精准的面部几何信息,以根据校正后的三角面片的顶点坐标重建生成目标三维人脸模型,实现在粗糙三维人脸模型的基础上,有效地捕获和重建精准的面部几何信息,从而显著提升三维人脸模型的几何精度。
64.以下结合实施例对上述生成二维人脸贴图的一种可能的实现方式进行说明。
65.请参考图3,为本技术实施例提供的三维人脸重建方法的流程示意图二,如图3所示,上述s102根据初始三维人脸模型以及人脸二维图像,生成二维人脸贴图的过程,可以包括:
66.s121:根据初始三维人脸模型,将人脸二维图像展开到二维贴图坐标空间内,生成颜色贴图。
67.s122:在二维贴图坐标空间内对初始三维人脸模型中的顶点三维坐标进行重排列,生成位置贴图。
68.在本实施例中,二维人脸贴图包括:位置贴图和颜色贴图,其中,位置贴图用于存储初始三维人脸模型中多个三角面片的顶点的坐标信息;颜色贴图用于存储人脸二维图像中多个像素点的颜色信息,将初始三维人力模型和人脸二维图像展开到二维贴图空间生成颜色贴图t
it
和位置贴图p
s1
的方式,具体可以为:
69.根据初始三维人脸模型中多个三角面片的顶点与预设二维贴图的对应关系、以及初始三维模型中多个三角面片的顶点与人脸二维图像中多个像素点的映射关系,确定人脸二维图像中多个像素点在预设二维贴图中对应的位置,在预设二维贴图的对应位置中存储人脸二维图像的像素点对应的颜色信息,得到颜色贴图t
it
;根据初始三维人脸模型中多个三角面片的顶点与预设二维贴图的对应关系,确定多个三角面片的顶点在预设二维贴图中对应的位置,在预设二维贴图的对应位置中存储多个三角面片的顶点的坐标信息,得到位置贴图p
s1
。
70.基于上述颜色贴图t
it
和位置贴图p
s1
,以下结合实施例对上述根据二维人脸贴图得到多个尺度下的二维人脸位移贴图的一种可能的实现方式进行说明。
71.请参考图4,为本技术实施例提供的三维人脸重建方法的流程示意图三,如图4所示,上述s103根据二维人脸贴图进行多个尺度的位移预测,得到多个尺度下的二维人脸位移贴图的过程,可以包括:
72.s131:对颜色贴图和位置贴图进行通道拼接,生成二维拼接贴图。
73.s132:通过对二维拼接贴图进行多尺度金字塔池化,得到多个尺度下的二维人脸位移贴图。
74.对颜色贴图t
it
和位置贴图p
s1
,按照图像通道方向进行拼接,得到多通道的二维拼接贴图,图像通道可以为颜色通道,也可以为其他通道,通道数量可以根据需求设置。
75.对于拼接后的二维拼接贴图,二维拼接贴图中具有各个像素点在对应通道的颜色信息和各个顶点在对应通道的位置信息,对多通道的二维拼接贴图进行多尺度金字塔池化,以在每个尺度下获取多通道二维拼接贴图中各个顶点的位置偏移量,得到多个尺度下的二维人脸位移贴图其中,结合颜色信息和位置信息共同确定位置偏移量的目标在于利用各个像素点之间颜色信息的关联性,可以确定不同顶点之间位置信息的关联性,以便确定的各个顶点的位置偏移量更加准确。
76.基于上述位置贴图,以下结合实施例对上述根据二维人脸贴图和多个尺度下的二维人脸位移贴图,生成目标三维人脸模型的一种可能的实现方式进行说明。
77.请参考图5,为本技术实施例提供的三维人脸重建方法的流程示意图四,如图5所示,上述s104根据二维人脸贴图,以及多个尺度下的二维人脸位移贴图,生成目标三维人脸模型的过程,可以包括:
78.s141:对位置贴图和多个尺度下的二维人脸位移贴图进行加权,生成目标重排列位置贴图。
79.s142:根据目标重排列贴图,生成目标三维人脸模型。
80.在本实施例中,位置贴图p
s1
与多个尺度下的二维人脸位移贴图在贴图空间坐标系下处于对齐状态,根据多个尺度下的二维人脸位移贴图,对位置贴图p
s1
中多个三角面片的顶点坐标进行坐标偏移,得到偏移后的目标重排列位置贴图p
s2
,其中,坐标偏移的方式可以为:根据多个尺度下的二维人脸位移贴图中多个三角面片的顶点的位置偏移量,对位置贴图p
s1
中多个三角面片的顶点坐标进行加权,得到偏移后的顶点坐标,将偏移后的顶点坐标存储在二维人脸贴图中,得到目标重排列位置贴图p
s2
,基于目标重排列位置贴图p
s2
中多个三角面片的顶点坐标,重建三维人脸模型,得到目标三维人脸模型。
81.上述实施例提供的三维人脸重建方法,通过对人脸二维图像和初始三维人脸模型分别在二维贴图空间进行展开,以在预设二维贴图中存储人脸二维图像中各个像素点的颜色信息,得到颜色贴图,在预设二维贴图中存储初始三维人脸模型中各个顶点的坐标信息,得到位置贴图,以便利用颜色贴图和位置贴图中各个像素点的像素信息之间的关联性,以及各个顶点的坐标信息之间的关联性,共同进行多尺度金字塔池化,得到各个顶点的位置偏移量,采用该方式得到的位置偏移量可以在不同尺度下获取人脸几何细节的深层次特征,以便可以更精准地根据多个尺度下的位置偏移量重建面部几何信息更精准的目标三维人脸模型。
82.在一种可能的实现方式中,请参考图6,为本技术实施例提供的三维人脸重建方法的流程示意图五,如图6所示,上述s141对位置贴图和多个尺度下的二维人脸位移贴图进行
加权,生成目标重排列位置贴图的过程,可以包括:
83.s201:对位置贴图和多个尺度下的二维人脸位移贴图进行加权,生成初始重排列位置贴图。
84.s202:对初始重排列位置贴图进行优化,生成目标重排列贴图。
85.在本实施例中,示例的,请参考图7,为多尺度位移贴图加权示意图,如图7所示,对位置贴图p
s1
中多个三角面片的顶点坐标和多个尺度下的多个三角面片的顶点的位置偏移量进行逐元素相加,得到偏移后的顶点坐标,将偏移后的顶点坐标存储在位置贴图中,得到初始重排列位置贴图p
s1_1
,对于初始重排列位置贴图p
s1_1
中各个顶点的坐标,根据各个顶点的坐标之间的相关性,对初始重排列位置贴图p
s1_1
中各个顶点的坐标进行校正优化,生成目标重排列贴图p
s2
。
86.其中,校正优化方式例如可以为,对于相邻顶点,根据相邻顶点的坐标确定相邻顶点之间的距离,若相邻顶点之间的距离不在预设距离阈值范围内,则调整相邻顶点的坐标,使相邻顶点之间的距离处于预设距离阈值范围内,根据调整后的顶点的坐标生成目标重排列贴图p
s2
。
87.上述实施例提供的三维人脸重建方法,通过对初始重排列位置贴图中各个顶点的坐标进行校正,得到目标重排列贴图,以便在目标重排列贴图中存储更精致的面部几何信息,从而提高根据目标重排列贴图重建目标三维人脸模型的精度。
88.为了提高三维人脸重建方法的效率,可以采用神经网络实现上述步骤,以下结合实施例对上述得到多尺度下的二维人脸位移贴图和目标重排列位置贴图的一种可能的实现方式进行说明。
89.请参考图8,为本技术实施例提供的三维人脸重建方法的流程示意图六,如图8所示,上述s201对位置贴图和多个尺度下的二维人脸位移贴图进行加权,生成初始重排列位置贴图的过程,可以包括:
90.s211:根据二维人脸贴图,采用目标金字塔池化神经网络进行多个尺度的位移预测,得到多个尺度下的二维人脸位移贴图。
91.在本实施例中,目标金字塔池化神经网络net2用于预测多个尺度下的二维人脸位移贴图其中,目标金字塔池化神经网络net2的输入为二维人脸贴图,输出为多个尺度下的二维人脸位移贴图
92.在一些实施例中,请参考图9,为本技术实施例提供的目标金字塔池化神经网络的示意图,如图9所示,二维人脸贴图包括位置贴图p
s1
和颜色贴图t
it
,通过对位置贴图p
s1
和颜色贴图t
it
按照预设通道进行拼接后,将二维拼接贴图作为目标金字塔池化神经网络net2的输入,目标金字塔池化神经网络net2首先通过若干卷积层进行初步特征提取得到初始特征f,接着,通过多尺度金字塔池化操作将初始特征f自适应地划分为不同尺度下不同分辨率大小的局部区域,以从每个局部区域中提取最显著的特征,从而生成包括不同尺度下人脸面部几何信息的层次特征,接着,通过对不同尺度下的层次特征分别进行卷积操作,最终得到多个尺度下的二维人脸位移贴图
93.s212:对位置贴图和多个尺度下的二维人脸位移贴图进行加权,生成初始重排列位置贴图。
94.上述s202对初始重排列位置贴图进行优化,生成目标重排列贴图的过程,可以包括:
95.s213:根据初始重排列位置贴图,采用目标自编码神经网络进行优化,生成目标重排列位置贴图。
96.在本实施例中,目标自编码神经网络net3用于预测输出更精细化的位置贴图,其中,目标自编码神经网络net3的输入和输出均为位置贴图,其区别仅在于输出位置贴图的精度比输入位置贴图的精度更高。
97.目标自编码神经网络net3通过对初始重排列位置贴图进行编码压缩,以降低初始重排列位置贴图的维度,将编码过后的初始重排列位置贴图在通过升维解码,得到目标重排列位置贴图。在编码、解码即降维、升维的过程中,可以滤除初始重排列位置贴图中的噪点,并进一步捕获各个顶点之间的相关性,以得到精细化的位置贴图。
98.示例的,请参考图10,为本技术实施例提供的目标三维人脸模型重建过程的示意图,如图10所示,将初始重排列位置贴图输入至目标自编码神经网络net3,得到目标重排列位置贴图,对目标重排列位置贴图中的顶点进行采样,重建生成目标三维人脸模型。
99.上述实施例提供的三维人脸重建方法,采用目标金字塔池化神经网络对二维人脸贴图进行多尺度位移预测,采用目标自编码神经网络对初始重排列位置贴图进行优化,提高了三维人脸重建方法的效率。
100.以下结合实施例对目标金字塔池化神经网络和目标自编码神经网络的训练过程进行说明。
101.请参考图11,为本技术实施例提供的三维人脸重建方法的流程示意图七,如图11所示,在上述s211根据二维人脸贴图,采用目标金字塔池化神经网络进行多个尺度的位移预测,得到多个尺度下的二维人脸位移贴图之前,该方法还可以包括:
102.s301:对样本人脸二维图像进行三维重建,生成样本三维重建结果,样本三维重建结果包括:样本初始三维人脸模型。
103.在本实施例中,利用预先训练的目标面部参数预测神经网络net1对样本人脸二维图像进行图像识别,基于样本人脸二维图像中的面部特征,预测样本人脸二维图像中的人脸的样本面部参数。
104.根据样本面部参数中的形状系数、表情系数,以及形状基和表情基,生成样本初始三维人脸模型,具体生成样本初始三维人脸模型的过程可以参考上述s101生成初始三维人脸模型s1的过程,在此不做赘述。
105.需要说明的是,需要先完成对目标面部参数预测神经网络net1的训练,以便根据目标面部参数预测神经网络net1输出的面部参数构建的样本初始三维人脸模型,参与目标金字塔池化神经网络net2和目标自编码神经网络net3的训练。
106.s302:根据样本初始三维人脸模型对应的第一样本颜色贴图和样本位置贴图,采用初始金字塔池化神经网络进行多个尺度的位移预测,得到多个尺度下的样本人脸位移贴图。
107.在本实施例中,根据样本初始三维人脸模型和样本人脸二维图像,生成第一样本颜色贴图和样本位置贴图,其中,第一样本颜色贴图和样本位置贴图可以参考上述s121-s122,在此不做赘述。
108.对第一样本颜色贴图和样本位置贴图进行通道拼接,生成样本二维拼接图像,采用初始金字塔池化神经网络进行多个尺度的位移预测,得到多个尺度下的样本人脸位移贴图。
109.s303:根据样本位置贴图和多个尺度下的样本人脸位移贴图的加权样本位置贴图,采用初始自编码神经网络进行位置预测,生成目标样本位置贴图。
110.在本实施例中,对样本位置贴图中多个三角面片的顶点坐标和多个尺度下的多个三角面片的顶点的位置偏移量进行逐元素相加,得到偏移后的顶点坐标,将偏移后的顶点坐标存储在样本位置贴图中,得到加权样本位置贴图,采用初始自编码神经网络对加权样本位置贴图进行编码及解码,得到目标样本位置贴图。
111.s304:根据目标样本位置贴图生成的样本目标三维人脸模型和样本人脸二维图像,对初始金字塔池化神经网络和初始自编码神经网络进行参数调整,得到目标金字塔池化神经网络和目标自编码神经网络。
112.在本实施例中,根据目标样本位置贴图中多个三角面片的顶点的坐标信息,重建生成样本目标三维人脸模型,对样本目标三维人脸模型进行二维映射,对样本映射人脸图像和样本人脸二维图像进行相似度计算,根据样本映射人脸图像和样本人脸二维图像的相似度作为损失函数,对初始金字塔池化神经网络和初始自编码神经网络进行参数调整,得到目标金字塔池化神经网络和目标自编码神经网络。
113.上述实施例提供的三维人脸重建方法,根据初始金字塔池化神经网络对第一样本颜色贴图和样本位置贴图进行多尺度预测,根据初始自编码神经网络对样本位置贴图和多个尺度下的样本人脸位移贴图的加权样本位置贴图进行预测,以根据预测的目标样本位置贴图生成的样本目标三维人脸模型对应的样本映射人脸图像和样本人脸二维图像之间的像素度,对初始金字塔池化神经网络和初始自编码神经网络进行训练,由于利用了多尺度的位置偏移量对样本位置贴图进行加权,使得训练得到的目标金字塔池化神经网络和目标自编码神经网络的效果更好,从而可以构建更精准的三维人脸模型。
114.以下结合实施例对上述根据样本目标三维人脸模型和样本人脸二维图像对神经网络进行参数调整的一种可能的实现方式进行说明。
115.请参考图12,为本技术实施例提供的三维人脸重建方法的流程示意图八,如图12所示,上述s304根据目标样本位置贴图生成的样本目标三维人脸模型和样本人脸二维图像,对初始金字塔池化神经网络和初始自编码神经网络进行参数调整,得到目标金字塔池化神经网络和目标自编码神经网络的过程,可以包括:
116.s341:获取样本人脸二维图像中的第一样本人脸关键点和样本目标三维人脸模型中的第二样本人脸关键点。
117.s342:计算第一样本人脸关键点和第二样本人脸关键点的坐标误差。
118.s343:根据坐标误差,对初始金字塔池化神经网络和初始自编码神经网络进行参数调整,得到目标金字塔池化神经网络和目标自编码神经网络。
119.在本实施例中,采用预设的人脸关键点检测算法对样本人脸二维图像进行关键点提取,确定第一样本人脸关键点的坐标lm
t1
,对目标样本三维模型进行关键点提取,确定第二样本人脸关键点,根据第二样本人脸关键点的三维坐标和二维与三维之间的投影矩阵,计算第二样本人脸关键点的二维坐标lm
t2
。根据第一样本人脸关键点的坐标lm
t1
和第二样
本人脸关键点的坐标lm
t2
,计算关键点的位置误差,以位置误差作为损失函数,根据损失函数通过梯度下降算法对初始金字塔池化神经网络和初始自编码神经网络进行迭代训练,得到目标金字塔池化神经网络和目标自编码神经网络。
120.上述实施例提供的三维人脸重建方法,根据重建的样本目标三维人脸模型中关键点的二维坐标以及样本人脸二维图像中关键点的坐标,计算重建的样本目标三维人脸模型的位置误差,以通过位置误差对初始金字塔池化神经网络和初始自编码神经网络进行迭代训练,保证训练得到的目标金字塔池化神经网络和目标自编码神经网络可以更精细化地识别人脸二维图像中人脸的面部几何信息,保证重建的三维人脸模型的精度更高。
121.由于初始金字塔池化神经网络在预测多个尺度的二维人脸位置贴图时考虑到各个像素点之间的颜色信息与面部几何信息之间的相关性,因此,在训练初始金字塔池化神经网络和初始自编码神经网络时,也可以考虑颜色信息对输出结果的误差影响,以提高训练精度。
122.请参考图13,为本技术实施例提供的三维人脸重建方法的流程示意图九,如图13所示,上述s304根据目标样本位置贴图生成的样本目标三维人脸模型和样本人脸二维图像,对初始金字塔池化神经网络和初始自编码神经网络进行参数调整,得到目标金字塔池化神经网络和目标自编码神经网络的过程,还可以包括:
123.s344:根据样本目标三维人脸模型和第二样本颜色贴图,渲染得到样本渲染人脸图像。
124.在本实施例中,样本三维重建结果还包括:第二样本颜色贴图,具体的,可以根据样本面部参数中的纹理系数以及纹理基,生成第一样本颜色贴图,具体生成第二样本颜色贴图的过程可以参考上述s101生成样本人脸颜色贴图的过程,在此不做赘述。
125.将样本目标三维人脸模型投影至二维图像平面,得到二维投影图像,计算二维投影图像中每个像素点的贴图坐标,以从第二样本颜色贴图中确定相应贴图坐标对应的贴图颜色,以在二维投影图像中渲染各个像素点的贴图颜色,得到样本渲染人脸图像。
126.在一些实施例中,由于拍摄样本人脸二维图像时相机的姿态的影响,直接将样本目标三维人脸模型投影至二维图像平面的投影二维图像可能不够准确,需要根据相机姿态参数对样本目标三维人脸模型进行旋转和平移后,再将调整后的样本目标三维人脸模型投影至二维图像平面,得到二维投影图像。
127.在一些实施例中,拍摄样本人脸图像是环境光照对图像的颜色具有影响,因此,需要根据光照系数获取光照信息,以根据光照信息和颜色信息,在二维投影图像中渲染各个像素点的贴图颜色,得到样本渲染人脸图像。
128.其中,相机姿态参数和光照系数都可以由目标面部参数预测神经网络net1输出。
129.需要说明的是,第一样本颜色贴图是对样本人脸二维图像的像素点在二维贴图空间进行展开得到的,第二样本颜色贴图是根据样本面部参数中的纹理参数和纹理基生成的。
130.s345:计算样本人脸二维图像和样本渲染人脸图像中各个像素点的像素误差。
131.在本实施例中,对样本人脸二维图像和样本渲染人脸图像,通过逐像素计算各个像素点的像素误差,以得到样本人脸二维图像和样本渲染人脸图像的像素误差。示例的,可以计算各个像素点的均方误差(mean squared error,mse)得到样本人脸二维图像和样本
渲染人脸图像的像素误差。
132.s346:根据坐标误差和像素误差,对初始金字塔池化神经网络和初始自编码神经网络进行参数调整,得到目标金字塔池化神经网络和目标自编码神经网络。
133.在本实施例中,对坐标误差和像素误差进行加权,以加权结果作为损失函数,根据损失函数通过梯度下降算法对初始金字塔池化神经网络和初始自编码神经网络进行迭代训练,得到目标金字塔池化神经网络和目标自编码神经网络。
134.上述实施例提供的三维人脸重建方法,利用重建后的三维人脸模型和样本人脸二维图像中关键点的坐标误差,以及样本渲染人脸图像和样本人脸二维图像中像素点的像素误差,共同调整初始金字塔池化神经网络和初始自编码神经网络,以提高神经网络的训练精度,从而提高重建的三维人脸模型的精度。
135.请参考图14,为本技术实施例提供的训练目标金字塔池化神经网络和目标自编码神经网络的流程框图,如图14所示,输入任意单目的样本人脸二维图像,采用目标面部参数预测神经网络net1预测面部参数、相机姿态参数和光照系数,根据样本人脸二维图像生成第一样本颜色贴图,根据面部参数生成初始样本三维人脸模型和第二样本颜色贴图,根据初始样本三维人脸模型生成样本位置贴图,由初始金字塔池化神经网络根据第一样本颜色贴图和样本位置贴图预测多个尺度下的样本人脸位移贴图,根据样本位置贴图和多个尺度下的样本人脸位移贴图生成加权样本位置贴图,采用初始自编码神经网络根据加权样本位置贴图预测目标样本位置贴图,根据目标样本位置贴图生成样本目标三维人脸模型,根据样本目标三维人脸模型、第二样本颜色贴图、相机姿态参数和光照系数,生成样本渲染人脸图像,根据样本人脸二维图像和样本渲染人脸图像计算像素误差,确定样本人脸二维图像和样本目标三维人脸模型的面部关键点坐标,计算坐标误差,根据坐标误差和像素误差构成的损失函数,优化初始金字塔池化神经网络和初始自编码神经网络,当网络迭代次数到达最大迭代次数时,保存网络参数,得到目标金字塔池化神经网络net2和目标自编码神经网络net2。
136.请参考图15,为本技术实施例提供的重建目标三维人脸模型的流程框图,如图15所示,输入任意单目的人脸二维图像,采用目标面部参数预测神经网络net1预测面部参数,根据人脸二维图像生成颜色贴图,根据面部参数生成初始三维人脸模型,根据初始三维人脸模型生成位置贴图,由目标金字塔池化神经网络net2根据第颜色贴图和位置贴图预测多个尺度下的人脸位移贴图,根据位置贴图和多个尺度下的人脸位移贴图生成初始重排列位置贴图,采用目标自编码神经网络net2根据初始重排列位置贴图预测目标重排列位置贴图,根据目标重排列位置贴图生成目标三维人脸模型。
137.基于上述方法实施例,本技术实施例还提供一种三维人脸重建装置。请参考图16,为本技术实施例提供的三维人脸重建装置的结构示意图,如图16所示,该装置可以包括:
138.三维重建模块101,用于对人脸二维图像进行三维重建,得到初始三维人脸模型;
139.人脸贴图生成模块102,用于根据初始三维人脸模型以及人脸二维图像,生成二维人脸贴图;
140.位移贴图生成模块103,用于根据二维人脸贴图进行多个尺度的位移预测,得到多个尺度下的二维人脸位移贴图;
141.三维模型生成模块104,用于根据二维人脸贴图,以及多个尺度下的二维人脸位移
贴图,生成目标三维人脸模型。
142.可选的,人脸贴图生成模块102,包括:
143.颜色贴图生成单元,用于根据初始三维人脸模型,将人脸二维图像展开到二维贴图坐标空间内,生成颜色贴图;
144.位置贴图生成单元,用于在二维贴图坐标空间内对初始三维人脸模型中的顶点三维坐标进行重排列,生成位置贴图,二维人脸贴图包括:位置贴图和颜色贴图。
145.可选的,位移贴图生成模块103,包括:
146.贴图拼接单元,用于对颜色贴图和位置贴图进行通道拼接,生成二维拼接贴图;
147.位移贴图生成单元,用于通过对二维拼接贴图进行多尺度金字塔池化,得到多个尺度下的二维人脸位移贴图。
148.可选的,二维人脸贴图包括:位置贴图;三维模型生成模块104,包括:
149.贴图加权单元,用于对位置贴图和多个尺度下的二维人脸位移贴图进行加权,生成目标重排列位置贴图;
150.三维模型生成单元,用于根据目标重排列贴图,生成目标三维人脸模型。
151.可选的,贴图加权单元,具体用于对位置贴图和多个尺度下的二维人脸位移贴图进行加权,生成初始重排列位置贴图;对初始重排列位置贴图进行优化,生成目标重排列贴图。
152.可选的,位移贴图生成模块103,具体用于根据二维人脸贴图,采用目标金字塔池化神经网络进行多个尺度的位移预测,得到多个尺度下的二维人脸位移贴图;
153.贴图加权单元,具体用于根据初始重排列位置贴图,采用目标自编码神经网络进行优化,生成目标重排列位置贴图。
154.可选的,在位移贴图生成模块之前,装置还包括:
155.样本三维重建模块,用于对样本人脸二维图像进行三维重建,生成样本三维重建结果,样本三维重建结果包括:样本初始三维人脸模型;
156.样本位移贴图生成模块,用于根据样本初始三维人脸模型对应的第一样本颜色贴图和样本位置贴图,采用初始金字塔池化神经网络进行多个尺度的位移预测,得到多个尺度下的样本人脸位移贴图;
157.样本目标位置贴图生成模块,用于根据样本位置贴图和多个尺度下的样本人脸位移贴图的加权样本位置贴图,采用初始自编码神经网络进行位置预测,生成目标样本位置贴图;
158.参数调制模块,用于根据目标样本位置贴图生成的样本目标三维人脸模型和样本人脸二维图像,对初始金字塔池化神经网络和初始自编码神经网络进行参数调整,得到目标金字塔池化神经网络和目标自编码神经网络。
159.可选的,参数调制模块,包括:
160.关键点获取单元,用于获取样本人脸二维图像中的第一样本人脸关键点和样本目标三维人脸模型中的第二样本人脸关键点;
161.坐标误差计算单元,用于计算第一样本人脸关键点和第二样本人脸关键点的坐标误差;
162.参数调整单元,拥有股根据坐标误差,对初始金字塔池化神经网络和初始自编码
神经网络进行参数调整,得到目标金字塔池化神经网络和目标自编码神经网络。
163.可选的,样本三维重建结果还包括:第二样本颜色贴图,参数调制模块,还包括:
164.图像渲染单元,用于根据样本目标三维人脸模型和第二样本颜色贴图,渲染得到样本渲染人脸图像;
165.像素误差计算单元,用于计算样本人脸二维图像和样本渲染人脸图像中各个像素点的像素误差;
166.参数调整单元,还用于根据坐标误差和像素误差,对初始金字塔池化神经网络和初始自编码神经网络进行参数调整,得到目标金字塔池化神经网络和目标自编码神经网络。
167.上述实施例提供的三维人脸重建装置,基于初始三维人脸模型和人脸二维图像生成二维人脸贴图,以通过对二维人脸贴图进行多个尺度的位移预测,以从多个尺度下确定人脸位置偏移信息,基于多个尺度的人脸位置偏移信息对二维人脸贴图进行校正,得到精准的面部几何信息,以根据校正后的三角面片的顶点坐标重建生成目标三维人脸模型,实现在粗糙三维人脸模型的基础上,有效地捕获和重建精准的面部几何信息,从而显著提升三维人脸模型的几何精度。
168.以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,简称asic),或,一个或多个微处理器,或,一个或者多个现场可编程门阵列(field programmable gate array,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。
169.请参考图17,为本技术实施例提供的电子设备的示意图,如图17所示,电子设备100包括:处理器110存储介质120和总线,存储介质120存储有处理器110可执行的程序指令,当电子设备100运行时,处理器110与存储介质120之间通过总线通信,处理器110执行程序指令,以执行上述三维人脸重建方法。
170.具体的,处理器执行上述三维人脸重建方法的步骤包括:
171.对人脸二维图像进行三维重建,得到初始三维人脸模型;根据初始三维人脸模型以及人脸二维图像,生成二维人脸贴图;根据二维人脸贴图进行多个尺度的位移预测,得到多个尺度下的二维人脸位移贴图;根据二维人脸贴图,以及多个尺度下的二维人脸位移贴图,生成目标三维人脸模型。
172.在一种可能的实现方式中,处理器执行上述根据初始三维人脸模型以及人脸二维图像,生成二维人脸贴图的过程,可以包括:
173.根据初始三维人脸模型,将人脸二维图像展开到二维贴图坐标空间内,生成颜色贴图;在二维贴图坐标空间内对初始三维人脸模型中的顶点三维坐标进行重排列,生成位置贴图。
174.在一种可能的实现方式中,处理器执行上述根据二维人脸贴图进行多个尺度的位移预测,得到多个尺度下的二维人脸位移贴图的过程,可以包括:
175.对颜色贴图和位置贴图进行通道拼接,生成二维拼接贴图;通过对二维拼接贴图
进行多尺度金字塔池化,得到多个尺度下的二维人脸位移贴图。
176.在一种可能的实现方式中,处理器执行上述根据二维人脸贴图,以及多个尺度下的二维人脸位移贴图,生成目标三维人脸模型的过程,可以包括:
177.对位置贴图和多个尺度下的二维人脸位移贴图进行加权,生成目标重排列位置贴图;根据目标重排列贴图,生成目标三维人脸模型。
178.在一种可能的实现方式中,处理器执行上述对位置贴图和多个尺度下的二维人脸位移贴图进行加权,生成目标重排列位置贴图的过程,可以包括:
179.对位置贴图和多个尺度下的二维人脸位移贴图进行加权,生成初始重排列位置贴图;对初始重排列位置贴图进行优化,生成目标重排列贴图。
180.在一种可能的实现方式中,处理器执行上述对位置贴图和多个尺度下的二维人脸位移贴图进行加权,生成初始重排列位置贴图的过程,可以包括:
181.根据二维人脸贴图,采用目标金字塔池化神经网络进行多个尺度的位移预测,得到多个尺度下的二维人脸位移贴图;对位置贴图和多个尺度下的二维人脸位移贴图进行加权,生成初始重排列位置贴图;根据初始重排列位置贴图,采用目标自编码神经网络进行优化,生成目标重排列位置贴图。
182.在一种可能的实现方式中,处理器执行上述根据二维人脸贴图,采用目标金字塔池化神经网络进行多个尺度的位移预测,得到多个尺度下的二维人脸位移贴图之前,处理器执行的步骤还可以包括:
183.对样本人脸二维图像进行三维重建,生成样本三维重建结果,样本三维重建结果包括:样本初始三维人脸模型;根据样本初始三维人脸模型对应的第一样本颜色贴图和样本位置贴图,采用初始金字塔池化神经网络进行多个尺度的位移预测,得到多个尺度下的样本人脸位移贴图;根据样本位置贴图和多个尺度下的样本人脸位移贴图的加权样本位置贴图,采用初始自编码神经网络进行位置预测,生成目标样本位置贴图;根据目标样本位置贴图生成的样本目标三维人脸模型和样本人脸二维图像,对初始金字塔池化神经网络和初始自编码神经网络进行参数调整,得到目标金字塔池化神经网络和目标自编码神经网络。
184.在一种可能的实现方式中,处理器执行上述根据目标样本位置贴图生成的样本目标三维人脸模型和样本人脸二维图像,对初始金字塔池化神经网络和初始自编码神经网络进行参数调整,得到目标金字塔池化神经网络和目标自编码神经网络的过程,可以包括:
185.获取样本人脸二维图像中的第一样本人脸关键点和样本目标三维人脸模型中的第二样本人脸关键点;计算第一样本人脸关键点和第二样本人脸关键点的坐标误差;根据坐标误差,对初始金字塔池化神经网络和初始自编码神经网络进行参数调整,得到目标金字塔池化神经网络和目标自编码神经网络。
186.在一种可能的实现方式中,处理器执行上述根据目标样本位置贴图生成的样本目标三维人脸模型和样本人脸二维图像,对初始金字塔池化神经网络和初始自编码神经网络进行参数调整,得到目标金字塔池化神经网络和目标自编码神经网络的过程,还可以包括:
187.根据样本目标三维人脸模型和第二样本颜色贴图,渲染得到样本渲染人脸图像;计算样本人脸二维图像和样本渲染人脸图像中各个像素点的像素误差;根据坐标误差和像素误差,对初始金字塔池化神经网络和初始自编码神经网络进行参数调整,得到目标金字塔池化神经网络和目标自编码神经网络。
188.上述实施例处理器执行的三维人脸重建方法,基于初始三维人脸模型和人脸二维图像生成二维人脸贴图,以通过对二维人脸贴图进行多个尺度的位移预测,以从多个尺度下确定人脸位置偏移信息,基于多个尺度的人脸位置偏移信息对二维人脸贴图进行校正,得到精准的面部几何信息,以根据校正后的三角面片的顶点坐标重建生成目标三维人脸模型,实现在粗糙三维人脸模型的基础上,有效地捕获和重建精准的面部几何信息,从而显著提升三维人脸模型的几何精度。
189.可选的,本技术实施例还提供一种计算机可读存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述三维人脸重建方法。
190.具体的,处理器执行上述三维人脸重建方法的步骤包括:
191.对人脸二维图像进行三维重建,得到初始三维人脸模型;根据初始三维人脸模型以及人脸二维图像,生成二维人脸贴图;根据二维人脸贴图进行多个尺度的位移预测,得到多个尺度下的二维人脸位移贴图;根据二维人脸贴图,以及多个尺度下的二维人脸位移贴图,生成目标三维人脸模型。
192.在一种可能的实现方式中,处理器执行上述根据初始三维人脸模型以及人脸二维图像,生成二维人脸贴图的过程,可以包括:
193.根据初始三维人脸模型,将人脸二维图像展开到二维贴图坐标空间内,生成颜色贴图;在二维贴图坐标空间内对初始三维人脸模型中的顶点三维坐标进行重排列,生成位置贴图。
194.在一种可能的实现方式中,处理器执行上述根据二维人脸贴图进行多个尺度的位移预测,得到多个尺度下的二维人脸位移贴图的过程,可以包括:
195.对颜色贴图和位置贴图进行通道拼接,生成二维拼接贴图;通过对二维拼接贴图进行多尺度金字塔池化,得到多个尺度下的二维人脸位移贴图。
196.在一种可能的实现方式中,处理器执行上述根据二维人脸贴图,以及多个尺度下的二维人脸位移贴图,生成目标三维人脸模型的过程,可以包括:
197.对位置贴图和多个尺度下的二维人脸位移贴图进行加权,生成目标重排列位置贴图;根据目标重排列贴图,生成目标三维人脸模型。
198.在一种可能的实现方式中,处理器执行上述对位置贴图和多个尺度下的二维人脸位移贴图进行加权,生成目标重排列位置贴图的过程,可以包括:
199.对位置贴图和多个尺度下的二维人脸位移贴图进行加权,生成初始重排列位置贴图;对初始重排列位置贴图进行优化,生成目标重排列贴图。
200.在一种可能的实现方式中,处理器执行上述对位置贴图和多个尺度下的二维人脸位移贴图进行加权,生成初始重排列位置贴图的过程,可以包括:
201.根据二维人脸贴图,采用目标金字塔池化神经网络进行多个尺度的位移预测,得到多个尺度下的二维人脸位移贴图;对位置贴图和多个尺度下的二维人脸位移贴图进行加权,生成初始重排列位置贴图;根据初始重排列位置贴图,采用目标自编码神经网络进行优化,生成目标重排列位置贴图。
202.在一种可能的实现方式中,处理器执行上述根据二维人脸贴图,采用目标金字塔池化神经网络进行多个尺度的位移预测,得到多个尺度下的二维人脸位移贴图之前,处理器执行的步骤还可以包括:
203.对样本人脸二维图像进行三维重建,生成样本三维重建结果,样本三维重建结果包括:样本初始三维人脸模型;根据样本初始三维人脸模型对应的第一样本颜色贴图和样本位置贴图,采用初始金字塔池化神经网络进行多个尺度的位移预测,得到多个尺度下的样本人脸位移贴图;根据样本位置贴图和多个尺度下的样本人脸位移贴图的加权样本位置贴图,采用初始自编码神经网络进行位置预测,生成目标样本位置贴图;根据目标样本位置贴图生成的样本目标三维人脸模型和样本人脸二维图像,对初始金字塔池化神经网络和初始自编码神经网络进行参数调整,得到目标金字塔池化神经网络和目标自编码神经网络。
204.在一种可能的实现方式中,处理器执行上述根据目标样本位置贴图生成的样本目标三维人脸模型和样本人脸二维图像,对初始金字塔池化神经网络和初始自编码神经网络进行参数调整,得到目标金字塔池化神经网络和目标自编码神经网络的过程,可以包括:
205.获取样本人脸二维图像中的第一样本人脸关键点和样本目标三维人脸模型中的第二样本人脸关键点;计算第一样本人脸关键点和第二样本人脸关键点的坐标误差;根据坐标误差,对初始金字塔池化神经网络和初始自编码神经网络进行参数调整,得到目标金字塔池化神经网络和目标自编码神经网络。
206.在一种可能的实现方式中,处理器执行上述根据目标样本位置贴图生成的样本目标三维人脸模型和样本人脸二维图像,对初始金字塔池化神经网络和初始自编码神经网络进行参数调整,得到目标金字塔池化神经网络和目标自编码神经网络的过程,还可以包括:
207.根据样本目标三维人脸模型和第二样本颜色贴图,渲染得到样本渲染人脸图像;计算样本人脸二维图像和样本渲染人脸图像中各个像素点的像素误差;根据坐标误差和像素误差,对初始金字塔池化神经网络和初始自编码神经网络进行参数调整,得到目标金字塔池化神经网络和目标自编码神经网络。
208.上述实施例处理器执行的三维人脸重建方法,基于初始三维人脸模型和人脸二维图像生成二维人脸贴图,以通过对二维人脸贴图进行多个尺度的位移预测,以从多个尺度下确定人脸位置偏移信息,基于多个尺度的人脸位置偏移信息对二维人脸贴图进行校正,得到精准的面部几何信息,以根据校正后的三角面片的顶点坐标重建生成目标三维人脸模型,实现在粗糙三维人脸模型的基础上,有效地捕获和重建精准的面部几何信息,从而显著提升三维人脸模型的几何精度。
209.在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
210.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
211.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
212.上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-only memory,简称:rom)、随机存取存储器(英文:random access memory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
213.上仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。