一种基于三维人脸生成和图像融合的方法及设备与流程

文档序号:31633367发布日期:2022-09-24 02:39阅读:128来源:国知局
一种基于三维人脸生成和图像融合的方法及设备与流程

1.本发明涉及人脸处理技术领域,尤其是涉及一种基于三维人脸生成和图像融合的方法及设备。


背景技术:

2.随着人工智能迅速地发展,市场上也出现了越来越多的与ai换脸、人脸识别相关的技术和产品,如视频ai换脸等,通过用户提供的照片,以及人脸关键点判断五官,再将用户脸部五官特征替换到视频原有的人脸上。通过相机扫描人脸形成3d人脸重建的过程中,需要获得人脸的深度信息去还原人脸模型。为了获得人脸的深度信息,通常需要引入深度探测感应系统,如苹果的faceid中的原深感摄像头(truedepth camera)系统。
3.目前现有技术中存在以下弊端:提取的人脸深度信息的准确性达不到要求,由于人脸是一个深度敏感的区域,需要精确的深度信息,但在神经网络中增加深度通常伴随着梯度消失,且信息损耗程度大,这会对3d人脸的效果和是否与拍照人相似程度产生重大负面影响。最后,ai换脸等方法,只是替换照片,并不能获得用户真实五官轮廓的深度数据,导致效果不够真实,不同用户的脸部肤色不一致也会导致合成到目标身上后,颜色有反差。
4.因此,如何提高三维人脸图像深度信息的准确度和减少人脸合成时肤色反差,是本领域技术人员亟待解决的技术问题。


技术实现要素:

5.本发明提供一种基于三维人脸生成和图像融合的方法,用以解决现有技术中人脸图像深度信息的准确度低、人脸合成时肤色反差大的技术问题,该方法包括:
6.接收待处理人脸图像,并基于预设神经网络模型获取待处理人脸图像的深度信息;
7.根据所述深度信息和预设三维人脸模型,生成待拼接人脸图像的三维人脸模型;
8.判断所述待处理人脸图像的脸部是否存在非肤色区域,根据判断结果生成合格人脸图像;
9.基于所述合格人脸图像和所述待拼接人脸图像的三维人脸模型,拼接成带贴图的三维人脸模型;
10.对所述带贴图的三维人脸模型进行皮肤融合处理,生成三维人脸模型;
11.其中,所述合格人脸图像为脸部不存在非肤色区域的人脸图像。
12.优选的,接收待处理人脸图像,并基于预设神经网络模型获取待处理人脸图像的深度信息,具体为:
13.所述预设神经网络模型的损失函数包括待处理人脸图像与预测图像的差值,所述预测图像为三维人脸模型在三维场景中的投影图像;
14.所述预设神经网络结构中包括残差网络块模型和卷积核,其中,预设数量的残差网络块模型不连接预设神经网络结构的全连接层;
15.所述训练数据为经过数据增强处理的数据,所述数据增强处理包括增加预设人脸图像的背景和改变预设人脸图像的旋转角度。
16.优选的,所述预设神经网络模型是基于训练数据和预设神经网络结构生成的;
17.根据预设人脸图像的长度和宽度确定预设神经网络结构的初始参数,所述初始参数包括输入层的单元个数、各隐藏层的输入数量和输出数量、初始权重值;
18.所述预设人脸图像输入到输入层,基于前向传播算法和初始参数确定输出层结果;
19.根据所述输出层结果和所述训练数据确定所述损失函数;
20.基于最优化算法与反向传播算法按预设学习率进行训练,并根据训练的结果确定所述损失函数的最小损失值,其中所述预设学习率为基于适应性矩阵估计adam算法确定的学习率;
21.根据最小损失值对应的权重值确定所述预设神经网络模型。
22.优选的,根据所述深度信息和预设三维人脸模型,生成待拼接人脸图像的三维人脸模型,具体为:
23.基于深度信息生成骨骼信息;
24.基于骨骼信息调整预设三维人脸模型的骨骼;
25.基于调整的结果生成待拼接人脸图像的三维人脸模型。
26.优选的,判断所述待处理人脸图像的脸部是否存在非肤色区域,根据判断结果生成合格人脸图像,具体为:
27.通过mask遮罩和hsv模型对所述待处理人脸图像的脸部进行过滤,人脸内除了五官区域的其它区域为人脸肤色区域,所述人脸肤色区域内出现的与人脸肤色存在偏差的地方为非肤色区域;
28.若存在非肤色区域,则构造遍历模型的三角面信息,结合顶点信息将mesh高亮,将非肤色区域标记出来,根据所述标记重新获得合格人脸图像;
29.若不存在非肤色区域,则将所述待处理人脸图像判定为合格人脸图像。
30.优选的,若存在非肤色区域,则构造遍历模型的三角面信息,结合顶点信息将mesh高亮,将非肤色区域标记出来,根据所述标记重新获得合格人脸图像,具体为:
31.存在非肤色区域,将所述非肤色区域显示到遍历模型上,保存所述遍历模型上所有顶点对应的图片上的uv信息,并将所述uv信息中颜色值符合预期的筛选出来;
32.基于筛选出来的uv信息,将其对应的顶点所在的所有三角面加入到结果队列中,得到所有的三角面队列,将三角面还原成mesh信息,基于所述结果队列所得结果分类成不同的三角面信息;
33.基于所述三角面信息,结合顶点信息,通过cg代码将所述mesh信息高亮出来,据此重新获得所述合格人脸图像。
34.优选的,基于所述合格人脸图像和所述待拼接人脸图像的三维人脸模型,拼接成带贴图的三维人脸模型,具体为:
35.将合格人脸图像按目标人脸的uv坐标进行展开,生成uv贴图,基于所述uv贴图合成融合后头部贴图,所述融合后头部贴图与mesh结合获得目标前脸贴图,所述目标前脸贴图拼接在所述待处理人脸图像的三维人脸模型上,生成带贴图的三维人脸模型。
36.优选的,基于所述uv贴图合成融合后头部贴图,具体为:
37.根据所述合格人脸图像和无脸头部贴图合成原始融合图;
38.基于所述原始融合贴图通过图像处理的分水岭算法获得人脸关键区域蒙版;
39.所述人脸关键区域蒙版保留人脸关键区域像素信息;
40.基于所述无脸头部贴图、所述人脸关键区域蒙版和所述人脸关键区域像素信息迭代融合成融合后头部贴图;
41.其中,所述人脸关键区域包括嘴唇、眼睛、眉毛、耳朵和鼻子。
42.优选的,对所述带贴图的三维人脸模型进行皮肤融合处理,生成三维人脸模型,具体为:
43.对所述带贴图的三维人脸模型的连接处用mask遮罩过渡;
44.基于过渡后的带贴图的三维人脸模型的贴图通过sp软件调整色阶;
45.基于调整色阶后的带贴图的三维人脸模型的贴图将rgb颜色空间转换成hsl颜色空间;
46.基于所述带贴图的三维人脸模型的肤色在所述hsl颜色空间确定新的hsl值;根据新的hsl值将所述hsl颜色空间转换成rgb颜色空间。
47.相应的,本发明还提出了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如权利要求1-9任一项所述的基于三维人脸生成和图像融合的方法。
48.因此,与现有技术相比,本发明具备以下有益效果:
49.本发明公开了一种基于三维人脸生成和图像融合的方法及设备,该方法包括:接收待处理人脸图像,并基于预设神经网络模型获取待处理人脸图像的深度信息;根据所述深度信息和预设三维人脸模型,生成待拼接人脸图像的三维人脸模型;判断所述待处理人脸图像的脸部是否存在非肤色区域,根据判断结果生成合格人脸图像;基于所述合格人脸图像和所述待拼接人脸图像的三维人脸模型,拼接成带贴图的三维人脸模型;对所述带贴图的三维人脸模型进行皮肤融合处理,生成三维人脸模型。采用新的神经网络方式,准确的预测出每个像素的深度信息,3d人脸重建效果好。而且在高度还原人脸的同时,可将用户的脸部模型应用于任何的虚拟形象模型上,并达到无缝拼接和肤色完美融合。适应性强,适合各种清晰度的人脸照片和各种型号的相机,成本较低。
附图说明
50.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
51.图1为本发明实施例提出的三维人脸生成和图像融合的方法流程示意图;
52.图2为本发明实施例提出的神经网络深度检测流程示意图;
53.图3为本发明实施例提出的训练数据示意图;
54.图4为本发明实施例提出的神经网络结构图;
55.图5为本发明实施例提出的基于神经网络预测人脸深度的3d人脸模型效果示意图;
56.图6为本发明实施例提出的mask遮罩示意图;
57.图7为本发明实施例提出的基于mask遮罩图后结合原图的效果图;
58.图8为本发明实施例提出的基于mask遮罩后结合带贴图的三维人脸模型融合后的效果图;
59.图9为本发明实施例提出的基于sp色阶调整后的前脸肤色与带贴图的三维人脸模型结合的效果示意图;
60.图10为本发明实施例提出的经hsl参数调整前的前脸肤色效果示意图;
61.图11为本发明实施例提出的经hsl参数调整后的前脸肤色效果示意图;
62.图12为本发明实施例提出的未经mask遮罩、sp调节和hsl调整的原始效果示意图;
63.图13为本发明实施例提出的经过mask遮罩、sp调节和hsl调整后的带贴图的三维人脸模型的效果示意图;
64.图14为本发明实施例提出的中人脸图像过渡流程示意图。
具体实施方式
65.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
66.如背景技术所述,现有技术中存在三维人脸图像深度信息的准确度低和人脸合成时肤色反差大的问题。
67.为解决上述问题,本技术实施例提出了一种基于三维人脸生成和图像融合的方法,接收待处理人脸图像,并基于预设神经网络模型获取待处理人脸图像的深度信息;根据所述深度信息和预设三维人脸模型,生成待拼接人脸图像的三维人脸模型;判断所述待处理人脸图像的脸部是否存在非肤色区域,根据判断结果生成合格人脸图像;基于所述合格人脸图像和所述待拼接人脸图像的三维人脸模型,拼接成带贴图的三维人脸模型;对所述带贴图的三维人脸模型进行皮肤融合处理,生成三维人脸模型。采用新的神经网络方式,准确的预测出每个像素的深度信息,3d人脸重建效果好。而且在高度还原人脸的同时,可将用户的脸部模型应用于任何的虚拟形象模型上,并达到无缝拼接和肤色完美融合。适应性强,适合各种清晰度的人脸照片和各种型号的相机,成本较低。
68.如图1所示本发明实施例提出的三维人脸生成和图像融合的方法流程示意图,该方法包括以下步骤:
69.s101,接收待处理人脸图像,并基于预设神经网络模型获取待处理人脸图像的深度信息,其中所述预设神经网络模型是基于训练数据和预设神经网络结构生成的。
70.具体的,接收待处理人脸图像,根据预设神经网络模型获取待处理人脸图像的深度信息,其中,所述深度信息包括像素深度、表情系数、像素纹理和球谐光照系数,所述待处理人脸图像为人脸正面照片、人脸左面照片和人脸右面照片。
71.为了提高获取深度信息的准确度,在本技术的优选实施例中,所述预设神经网络模型的损失函数包括待处理人脸图像与预测图像的差值,所述预测图像为三维人脸模型在三维场景中的投影图像。
72.所述预设神经网络结构中包括残差网络块模型和卷积核,其中,预设数量的残差网络块模型不连接预设神经网络结构的全连接层;
73.所述训练数据为经过数据增强处理的数据,所述数据增强处理包括增加预设人脸图像的背景和改变预设人脸图像的旋转角度。
74.为了提高获取深度信息的准确度,在本技术的优选实施例中,所述预设神经网络模型是基于训练数据和预设神经网络结构生成的。
75.具体的,根据预设人脸图像的长度和宽度确定预设神经网络结构的初始参数,所述初始参数包括输入层的单元个数、各隐藏层的输入数量和输出数量、初始权重值;
76.所述预设人脸图像输入到输入层,基于前向传播算法和初始参数确定输出层结果;
77.根据所述输出层结果和所述训练数据确定所述损失函数;
78.基于最优化算法与反向传播算法按预设学习率进行训练,并根据训练的结果确定所述损失函数的最小损失值,其中所述预设学习率为基于适应性矩阵估计adam算法确定的学习率;
79.根据最小损失值对应的权重值确定所述预设神经网络模型。
80.s102,根据所述深度信息和预设三维人脸模型,生成待拼接人脸图像的三维人脸模型。
81.为了获取待拼接人脸图像的三维人脸模型,在本技术的优选实施例中,基于深度信息生成骨骼信息;基于骨骼信息调整预设三维人脸模型的骨骼;基于调整的结果生成待拼接人脸图像的三维人脸模型。
82.s103,判断所述待处理人脸图像的脸部是否存在非肤色区域,根据判断结果生成合格人脸图像。
83.具体的,判断待处理人脸图像的脸部是否存在非肤色区域,非肤色区域是人脸内除去被扣除的五官区域,其它区域均为人脸肤色区域,在此区域内出现的任何与肤色偏差超过设定值的地方均为非肤色区域。若存在非肤色区域,则将非肤色区域标记出来,据标记重新获得合格人脸图像;若不存在非肤色区域,则将待处理人脸图像判定为合格人脸图像。所述合格人脸图像为脸部不存在非肤色区域的人脸图像。
84.为了获得合格人脸图像,在本技术的优选实施例中,通过mask遮罩和hsv模型对所述待处理人脸图像的脸部进行过滤,人脸内除了五官区域的其它区域为人脸肤色区域,所述人脸肤色区域内出现的与人脸肤色存在偏差的地方为非肤色区域;
85.若存在非肤色区域,则构造遍历模型的三角面信息,结合顶点信息将mesh高亮,将非肤色区域标记出来,根据所述标记重新获得合格人脸图像;
86.具体的,存在非肤色区域,将所述非肤色区域显示到遍历模型上,保存所述遍历模型上所有顶点对应的图片上的uv信息,并将所述uv信息中颜色值符合预期的筛选出来;
87.基于筛选出来的uv信息,将其对应的顶点所在的所有三角面加入到结果队列中,得到所有的三角面队列,将三角面还原成mesh信息,基于所述结果队列所得结果分类成不同的三角面信息;
88.基于所述三角面信息,结合顶点信息,通过cg代码将所述mesh信息高亮出来,据此重新获得所述合格人脸图像。
89.若不存在非肤色区域,则将所述待处理人脸图像判定为合格人脸图像。
90.s104,基于所述合格人脸图像和所述待拼接人脸图像的三维人脸模型,拼接成带贴图的三维人脸模型。
91.具体的,基于合格人脸图像和uv贴图,结合待拼接的人脸图像的三维人脸模型,生成带贴图的三维人脸模型。
92.为了三维模型与人脸图像相贴合,在本技术的优选实施例中,将合格人脸图像按目标人脸的uv坐标进行展开,生成uv贴图,基于所述uv贴图合成融合后头部贴图,所述融合后头部贴图与mesh结合获得目标前脸贴图,所述目标前脸贴图拼接在所述待处理人脸图像的三维人脸模型上,生成带贴图的三维人脸模型。
93.基于所述uv贴图合成融合后头部贴图。
94.具体的,根据所述合格人脸图像和无脸头部贴图合成原始融合图;
95.基于所述原始融合贴图通过图像处理的分水岭算法获得人脸关键区域蒙版;
96.所述人脸关键区域蒙版保留人脸关键区域像素信息;
97.基于所述无脸头部贴图、所述人脸关键区域蒙版和所述人脸关键区域像素信息迭代融合成融合后头部贴图;
98.其中,所述人脸关键区域包括嘴唇、眼睛、眉毛、耳朵和鼻子。
99.s105,对所述带贴图的三维人脸模型进行皮肤融合处理,生成三维人脸模型。
100.具体的,对所述带贴图的三维人脸模型进行皮肤融合处理,生成三维人脸模型,其中,所述皮肤融合处理包括mask遮罩、色阶调整和色差调节。
101.为了减少三维人脸模型肤色色差,在本技术的优选实施例中,对所述带贴图的三维人脸模型的连接处用mask遮罩过渡;
102.基于过渡后的带贴图的三维人脸模型的贴图通过sp软件调整色阶;
103.基于调整色阶后的带贴图的三维人脸模型的贴图将rgb颜色空间转换成hsl颜色空间;
104.基于所述带贴图的三维人脸模型的肤色在所述hsl颜色空间确定新的hsl值;根据新的hsl值将所述hsl颜色空间转换成rgb颜色空间。
105.通过应用以上技术方案,接收待处理人脸图像,并基于预设神经网络模型获取待处理人脸图像的深度信息,内部残差块使用了跳跃连接,缓解了在深度神经网络中增加深度带来的梯度消失问题,加入不同卷积核提取不同大小像素区域的特征,从而更准确的获取全局和局部的关键信息点。为了避免全连接层导致信息损耗,部分残差块跳过全连接层,从而获得较高的精准度和召回率,深度信息更精准。根据所述深度信息和预设三维人脸模型,生成待拼接人脸图像的三维人脸模型;判断所述待处理人脸图像的脸部是否存在非肤色区域,根据判断结果生成合格人脸图像;基于所述合格人脸图像和所述待拼接人脸图像的三维人脸模型,拼接成带贴图的三维人脸模型,使三维人脸模型与任何材质相贴合,使用户人脸肤色与三维人脸模型肤色完美融合,减少了肤色反差;对所述带贴图的三维人脸模型进行皮肤融合处理,生成三维人脸模型。
106.为了进一步阐述本发明的技术思想,现结合具体的应用场景,对本发明的技术方案进行说明。
107.本发明实施例提出了一种基于三维人脸生成和图像融合的方法,接收待处理人脸
图像,并基于预设神经网络模型获取待处理人脸图像的深度信息;根据所述深度信息和预设三维人脸模型,生成待拼接人脸图像的三维人脸模型。采用新的神经网络方式,准确的预测出每个像素的深度信息,3d人脸重建效果好。解决了现有技术中存在的提取深度信息的准确度低的问题。
108.判断所述待处理人脸图像的脸部是否存在非肤色区域,根据判断结果生成合格人脸图像;基于所述合格人脸图像和所述待拼接人脸图像的三维人脸模型,拼接成带贴图的三维人脸模型;对所述带贴图的三维人脸模型进行皮肤融合处理,生成三维人脸模型。在高度还原人脸的同时,可将用户的脸部模型应用于任何的虚拟形象模型上,并达到无缝拼接和肤色完美融合。解决了现有技术中存在的人脸合成时肤色有反差的问题。适应性强,适合各种清晰度的人脸照片和各种型号的相机,成本较低。
109.上述方法具体步骤如下:
110.s101,接收待处理人脸图像,并基于预设神经网络模型获取待处理人脸图像的深度信息。所述预设神经网络模型是基于训练数据和预设神经网络结构生成的。所述训练数据为经过数据增强处理的数据,所述数据增强处理包括增加预设人脸图像的背景和改变预设人脸图像的旋转角度。
111.具体的,通过设备相机实时扫描目标人脸,获取待处理人脸图像。利用神经网络在数据方面强大的拟合能力和端到端模式的优势,训练一个预设神经网络模型,来提高神经网络预测人脸照片中的深度信息的准确度。通过40万组训练数据训练出来一个预设神经网络模型,输入人脸照片到预设神经网络模型中,预设神经网络模型输出预测照片中每个像素的深度数据和像素纹理。根据深度信息改变3d人脸模型的骨骼信息,生成预测的三维人脸模型(待拼接人脸图像的三维人脸模型)。神经网络人脸深度检测流程如图2所示。
112.收集训练数据,输入一个数据(人脸照片),得到对应的一组输出数据(包括像素深度、表情系数、像素纹理和球谐光系数),这些数据由基于参数化的3d人脸模型(3dmm)产生的,因为是计算机合成的,这些数据可以作为真实数据传递给神经网络训练。将人脸作为输入数据,其它数据作为输出数据的真实值,通过增加背景和人脸旋转等方式扩大数据集,使预设神经网络的模型能适应多种环境和各种人脸位置的情况,训练数据的一组示例如图3所示。
113.所述预设神经网络模型的损失函数包括待处理人脸图像与预测图像的差值,所述预测图像为三维人脸模型在三维场景中的投影图像。所述预设神经网络结构中包括残差网络块模型和卷积核,其中,预设数量的残差网络块模型不连接预设神经网络结构的全连接层。
114.具体的,基于残差网络块模型提取人脸照片中的特征,残差网络容易优化,可以通过增加相当的深度来提高准确率。残差网络块模型内部的预设数量的残差网络块跳过全连接层,能缓解在深度神经网络中增加深度带来的梯度消失问题,且能避免全连接层导致信息损耗,获得较高的精确度和召回率。在残差网络块内部加入不同的卷积核,来提取不同大小像素区域的特征,能更准确获得全局和局部的关键信息点。此神经网络结构图如图4所示。损失函数包括待处理人脸图像与预测图像的差值,预测人脸图像为通过骨骼捏脸生成的3d人脸模型在3d场景下相机投影出来的照片,将此差值作为损失函数的一项,捏合出的人脸效果更好,精确度和召回率更高。
115.s102,根据所述深度信息和预设三维人脸模型,生成待拼接人脸图像的三维人脸模型。基于深度信息生成骨骼信息;基于骨骼信息调整预设三维人脸模型的骨骼;基于调整的结果生成待拼接人脸图像的三维人脸模型。
116.具体的,将训练好的预设神经网络模型经过封装成网络服务或sdk的方式即可供应程序调用。手机通过相机获取的照片发送给神经网络,获得像素深度和像素纹理,将这些数据输入给骨骼可以生成待拼接人脸图像的三维人脸模型。其生成的人脸模型效果如图5所示。
117.s103,判断所述待处理人脸图像的脸部是否存在非肤色区域,根据判断结果生成合格人脸图像。
118.非肤色区域是人脸内除去被扣除的五官区域,其它区域均为人脸肤色区域,在此区域内出现的任何与肤色偏差超过设定值的地方均为非肤色区域。若存在非肤色区域,则将非肤色区域标记出来,据标记重新获得合格人脸图像;若不存在非肤色区域,则将待处理人脸图像判定为合格人脸图像。所述合格人脸图像为脸部不存在非肤色区域的人脸图像。
119.判定是否存在非肤色区域,通过mask遮罩和hsv模型对所述待处理人脸图像的脸部进行过滤,人脸内除了五官区域的其它区域为人脸肤色区域,所述人脸肤色区域内出现的与人脸肤色存在偏差的地方为非肤色区域。
120.具体的,对待处理人脸图像进行hsv过滤,将待处理人脸图像的rgb值转换成hsv后,进行7《h《20,28《s《256,50《v《256过滤操作。
121.人脸的范围是根据uv图来判定的,由于人脸的uv图是一样的,可以设置一张固定的uv图,即可确认人脸范围。uv图可通过包括但不限于arkit拍摄人脸获取的mesh(模型网络)来导出获得。mesh的uv可以通过3dmax导出。
122.人脸照片中会包含人脸轮廓之外的区域,比如头发等,且人脸五官的关键区域与肤色颜色差别较大,人脸的关键区域包括嘴唇区域、眼睛区域、眉毛区域、耳朵区域和鼻子区域,需要进一步过滤。人脸的关键区域需要按照其关键点位,将照片上的坐标信息转换成上述uv信息,找出图中所有顶点,即映射为图片的uv坐标。转换后的图片中每个顶点都代表了照片中的某个位置,此位置通过faceplusplus的技术方案来定位。
123.通过上述得到的固定的uv图和转换后的图片,得到一张相对固定的mask遮罩,再将上述hsv过滤后的图片进行mask遮罩过滤,过滤后人脸内除了五官区域,其它区域均为人脸肤色区域,在此区域内出现的任何与肤色偏差超过设定值的地方,均为非肤色区域。
124.若不存在非肤色区域,则将原待处理人脸图像判定为合格人脸图像。
125.若存在非肤色区域将其标记出来,将所述非肤色区域显示到遍历模型上,保存所述遍历模型上所有顶点对应的图片上的uv信息,并将所述uv信息中颜色值符合预期的筛选出来;基于筛选出来的uv信息,将其对应的顶点所在的所有三角面加入到结果队列中,得到所有的三角面队列,将三角面还原成mesh信息,基于所述结果队列所得结果分类成不同的三角面信息;基于所述三角面信息,结合顶点信息,通过cg代码将所述mesh信息高亮出来,据此重新获得所述合格人脸图像。
126.具体的,将非肤色区域标记出来显示到遍历模型上,将遍历模型上所有顶点对应的图片上的uv信息保存,并将颜色值符合预期的uv信息对应的顶点所在的所有三角面加入到结果队列中。得到所有的三角面队列,三角面为三个顶点构成的平面。将三角面还原成
mesh信息,算法为查找所有可达的路径,具体算法步骤如下:
127.1、在所有的三角面中取第一个面为当前搜索面;
128.2、将当前搜索面加入搜索队列,同时加入结果队列;
129.3、在所有三角面中查询当前搜索面邻近的三角面;
130.4、如果邻近的三角面不在结果队列里,则将其加入搜索队列,同时加入结果队列;
131.5、移除搜索队列队首,并把当前搜索面切换成新的队列队首,重复步骤2-4,直至遍历搜索队列结束。
132.此算法能获得某个面相邻的所有面,但是其结果不可能完全连续,需要将顶点所在的所有三角面加入到结果队列中所得的结果分类成不同的三角面信息,具体步骤如下:
133.1、将三角面加入到结果队列所得结果设为集合a;
134.2、执行上述步骤5所得结果,设为集合b,将集合b存放到某个集合ds中;
135.3、将集合a和集合b作差,得到集合c,c=a-b;
136.4、对集合c重新执行上述步骤1-3,直到集合a为空集,即a=c;
137.5、ds中存放有所有分类好的集合。
138.上述算法的意义为将非肤色区域重复遍历,过滤掉人脸中非肤色区域。集合b为恒定的结果,a-b为把错误信息(非肤色信息)过滤直到空,c是a-b得出的错误信息(非肤色信息),执行多次后集合a的信息趋向集合b的正确信息(肤色信息),此算法为逻辑程序执行。
139.这样就构造好了模型需要的三角面信息,并结合顶点信息,通过cg代码mesh高亮出来,从而将脸部非肤色区域的轮廓进行准确标记、圈出,并将问题告知用户,用户根据标记进行重新拍摄,获得合格人脸图像。
140.s104,基于所述合格人脸图像和所述待拼接人脸图像的三维人脸模型,拼接成带贴图的三维人脸模型。基于合格人脸图像和uv贴图,结合待拼接的人脸图像的三维人脸模型,生成带贴图的三维人脸模型。
141.将合格人脸图像按目标人脸的uv坐标进行展开,生成uv贴图,基于所述uv贴图合成融合后头部贴图,所述融合后头部贴图与mesh结合获得目标前脸uv图,所述目标前脸uv图拼接在所述待处理人脸图像的三维人脸模型上,生成带贴图的三维人脸模型。
142.具体的,对合格人脸图像(正面、左面和右面)按目标人脸的uv进行展开,生成uv贴图。由uv贴图与无脸头部贴图合成融合后头部贴图。如图14示,其具体步骤如下:
143.1、由无脸头部贴图和uv贴图(人脸照片)合成原始融合贴图。无脸头部贴图不仅在生成原始融合贴图中使用,而且在蒙版迭代融合步骤中作为其中的一个输入项,其目的是为了提取皮肤的像素。
144.2、采用图像处理的分水岭算法获得人脸关键区域蒙版。通过脸部目标识别,从原始融合贴图中获得脸部区域,再将脸部区域的图片转成灰度图,最后用像素阈值的方式提取出人脸关键区域蒙版。人脸关键区域包括嘴唇、眼睛、眉毛、耳朵和鼻子。
145.3、提取人脸关键区域蒙版的像素信息。在融合过程中,需要尽量保留人脸关键区域的像素信息,使得这些关键区域的像素信息尽可能不被其它像素所干扰。
146.4、蒙版迭代融合。利用人脸关键区域蒙版提取非关键区域的皮肤颜色,之后对其进行高斯模糊得到高斯模糊皮肤蒙版,按照下列公式对无脸头部贴图和人脸关键区域图alpha计算,
[0147][0148]
其中a代表融合后头部贴图,b代表高斯模糊皮肤蒙版,c代表无脸头部贴图,d代表人脸关键区域图。
[0149]
通过重复三次迭代融合,此时迭代效果最佳,可以让无脸头部贴图和uv贴图完全融合在一起。
[0150]
将融合后头部贴图与mesh结合获得目标前脸贴图,将目标前脸贴图与待处理人脸图像的三维人脸模型进行拼接,获得带贴图的三维人脸模型。
[0151]
s105,对所述带贴图的三维人脸模型进行皮肤融合处理,生成三维人脸模型。
[0152]
对所述带贴图的三维人脸模型进行皮肤融合处理,生成三维人脸模型,其中,所述皮肤融合处理包括mask遮罩、sp(substance painter)色阶调整和hsl色差调节。
[0153]
具体的,mask遮罩过渡:上个步骤生成出来的带贴图的三维人脸模型,会看到有明显的色差,特别是连接处,因此需要用mask遮罩来过渡连接处。
[0154]
将mask图和目标前脸贴图进行颜色混合,混合公式如下:
[0155]
c_o=alpha_a*c_a+(1-alpha_a)*c_b。
[0156]
产生mask遮罩图,如图6所示。
[0157]
mask遮罩图结合目标前脸贴图后的效果较好,如图7所示。
[0158]
基于mask遮罩后结合带贴图的三维人脸模型融合后的效果如图8所示。
[0159]
将带贴图的三维人脸模型用mask遮罩过渡连接处,增加效果。
[0160]
sp色阶调整:通过substance painter软件调整色阶,并记录其参数,在程序中还原色阶功能,沿用sp记录的参数,其公式为:
[0161][0162]
γ为灰阶系数,v
out
为输出色值,v
in
为输入色值。
[0163]
经过sp色阶调整后的目标前脸肤色与带贴图的三维人脸模型结合后的效果如图9所示。
[0164]
mask遮罩过渡完带贴图的三维人脸模型,再用sp对其过渡后的模型进行色阶调整。
[0165]
hsl调节:在sp色阶调整下,依旧会存在色差问题,因此对hsl颜色空间调节,hsl是通过对色相(h)、饱和度(s)和亮度(l)三个颜色通道的变化以及它们相互之间的叠加来得到所需的颜色。
[0166]
先将目标前脸贴图的rgb颜色空间转换成hsl颜色空间,据此计算出变换后的hsl值,
[0167]
原始hsl经过代码中参数调整返回新的hsl值。
[0168]
根据新的hsl值转换会rgb空间。
[0169]
hsl调整前的目标前脸肤色效果如图10所示。
[0170]
经过hsl调整后的目标前脸肤色效果如图11所示,经过调整后的前脸肤色可以看见明显变化,色差减少。
[0171]
未经过mask遮罩、sp色阶调整和hsl调节的原始效果如图12所示。
[0172]
经过mask遮罩、sp色阶调整和hsl调节后的前脸肤色与带贴图的三维人脸模型结合后效果如图13所示,前脸高度融合到模型上,色差更小。
[0173]
相应的,本发明还提出了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如上述所有的基于三维人脸生成和图像融合的方法。
[0174]
本发明的方法运用到诸如手机游戏,手机app和虚拟现实等应用中,人脸扫描获得的3d人脸重建在3d场景中可以获得理想的效果,增加用户的体验程度。仅仅需要输入一张人脸照片,无需特殊的深度探测设备就可以实现3d人脸重建,耗费成本低,使用门槛低。本发明适合各类清晰度的人脸照片和各种型号的相机,适应性强。在高度还原人脸的同时,可以将用户的脸部模型,应用于任何的虚拟形象模型上,并达到无缝拼接和肤色的完美融合。
[0175]
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1