一种视频驱动的三维人脸表情动画生成方法
未命名
08-02
阅读:217
评论:0

1.本发明涉及计算机视觉和计算机图形学领域,具体为一种视频驱动的三维人脸表情动画生成方法。
背景技术:
2.人脸表情动画生成技术是一种将人脸图像或视频转换成逼真的三维动态人脸表情动画的技术。现有的人脸表情动画生成技术主要存在以下四个方面的缺点和不足:
3.缺乏真实性:现有技术使用的纹理贴图和模型通常是以平均面孔为基础,难以捕捉到个体面部特征的细节,缺乏真实感。
4.局限性:现有技术大多只能生成受限制的、静态的表情,无法根据实时视频输入生成连续的、自然的表情变化。
5.计算复杂度高:现有技术需要进行复杂的数据处理和计算,需要较长时间才能生成一个人脸表情动画,且计算复杂度随着动画长度和质量的提高而增加。
6.对数据依赖性强:现有技术需要大量的已标注或未标注的训练数据,对数据的质量和数量要求较高。
技术实现要素:
7.本发明基于3dmm技术和人脸图像生成技术的视频驱动的三维人脸表情动画生成方法,引入了实时视频输入来捕捉人脸的细节和动态表情,生成更加逼真的面部纹理贴图,同时也能够实现连续的、自然的表情变化;同时,该方法还可有效减少计算复杂度和对数据的依赖性,提高了生成的动画效果的逼真度和速度。从而克服了现有技术的缺点和不足。
8.本发明为解决其技术问题所采用的技术方案是:
9.一种视频驱动的三维人脸表情动画生成方法,步骤包括:
10.s1:输入一张人脸源图像和一个驱动视频;
11.s2:逐帧将源图像和驱动视频送入编码器,得到源图像的向量和驱动视频帧的向量;
12.s3:将源图像的向量与驱动视频帧的向量混合得到混合向量,然后使用混合向量生成驱动网格和线性纹理贴图,完成人脸模型驱动;
13.s4:使用线性纹理贴图和驱动网格进行渲染,得到线性纹理渲染图;
14.s5:将源图像展开到uv空间得到源纹理贴图,然后使用源纹理贴图和驱动网格进行渲染,得到源纹理渲染图;
15.s6:从线性纹理渲染图中提取面部语义图;
16.s7:将源图像、源纹理渲染图和面部语义图作为输入条件送入纹理生成模块,得到生成的面部图像;
17.s8:将生成的面部图像展开至uv空间,得到uv纹理贴图;
18.s9:使用得到的uv纹理贴图和驱动网格进行渲染,得到动画帧;
19.s10:串联所有动画帧,输出三维人脸表情动画。
20.进一步的,步骤s2中所述的编码器采用resnet-50结构,含有一个236维的预测头,并且输出236维向量,该向量由身份参数β、表情参数θ、位姿参数ψ、纹理参数γ、光照参数l、相机参数c拼接而成,其中身份参数β、表情参数θ、位姿参数ψ为3dmm模型参数;该编码器采用端到端的无监督训练方式。
21.进一步的,步骤s3中所述将源图像的向量与驱动视频帧的向量混合得到混合向量,具体为:将源图像的向量中的身份参数、纹理参数与驱动视频帧的向量中的表情参数、位姿参数、光照参数和相机参数进行混合,通过在3dmm模型的参数空间保持所述身份参数,转移所述表情参数和所述位姿参数来完成人脸模型驱动。
22.进一步的,步骤s5中所述将源图像展开到uv空间得到源纹理贴图,具体步骤包括:
23.s51:使用编码器获得源图像的向量,并进行重建得到人脸网格;
24.s52:将人脸网格的3d顶点投影到所述源图像,使其每个3d顶点的投影都能对应所述源图像的一个像素;
25.s53:根据3d顶点投影与源图像像素的对应关系将源图像的像素映射到每个3d顶点所对应的uv空间坐标上,得到所述源纹理贴图。
26.进一步的,步骤s6中所述面部语义图的语义部分包括面部皮肤、眉毛、眼睛、鼻子、嘴、上嘴唇、下嘴唇、部分头发的语义信息,不包括耳朵、背景、脖子的语义信息。
27.进一步的,步骤s7中所述的纹理生成模块采用编码器-解码器结构,解码器中包含spade块,以融合面部语义信息;该纹理生成模块采用源图像、源纹理渲染图和面部语义图作为其输入条件;该纹理生成模块输出的图像具有所述源图像的身份特征和所述面部语义图的表情特征;该纹理生成模块采用监督学习进行训练,并且使用对抗损失、特征匹配损失、面部语义损失、眼动一致性损失。
28.进一步的,所述眼动一致性损失,采用相应的眼部遮罩划分出眼周区域,来单独计算眼周区域的像素损失,计算公式如下:
29.l
eyes
=||mask
⊙
(i
real-i
out
)||130.其中mask是眼周区域遮罩,i
real
和i
out
分别表示真实图像和生成图像。
31.本发明的有益效果包括:
32.本专利涉及的技术是一种视频驱动的三维人脸表情动画生成方法,旨在克服现有技术的局限性,提供更高质量和更逼真的面部纹理合成。该技术基于3dmm(三维形状和纹理模型)技术和人脸图像生成技术,实现了以下功能:
33.首先,该技术使用源纹理渲染图作为纹理生成的条件,提供了大部分源图像的纹理信息,以最大程度地保持纹理相似性。这样可以使网络专注于细节的合成,从而生成更逼真的面部纹理。
34.其次,该技术通过融合面部语义信息作为表情控制条件,提供更明确的指导,使得生成的人脸图像质量更高。具体而言,面部语义信息包括眉毛、眼睛、嘴巴等区域的特征点位置和运动轨迹,这些信息可以帮助生成更准确的面部表情。
35.另外,该技术在3dmm空间进行表情的转移,以最大程度地保持身份不变性。这意味着生成的动画可以保持原始面部结构和形态的一致性,同时仍然能够呈现出各种表情。
36.总之,视频驱动的三维人脸表情动画生成方法是一种创新的技术,该技术能够生
成更高质量和更逼真的三维人脸表情动画,具有广泛的应用前景,例如在游戏、虚拟现实、电影等领域中可以提供更加真实的角色表现,为人脸表情动画的应用提供了更加可靠和高质量的解决方案。
附图说明
37.图1是本发明方法的流程图;
38.图2是本发明方法中编码器的训练流程图;
39.图3是本发明方法中人脸模型驱动流程图;
40.图4是本发明方法的纹理生成模块结构图;
41.图5是本发明方法的整体网络结构图。
具体实施方式
42.下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
43.此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
44.实施例1
45.一种视频驱动的三维人脸表情动画生成方法,步骤包括:
46.s1:输入一张人脸源图像和一个驱动视频;
47.s2:逐帧将源图像和驱动视频送入编码器,得到源图像的向量和驱动视频帧的向量;
48.所述的编码器具有以下特征:
49.采用resnet-50结构,含有一个236维的预测头,并且输出236维向量,该向量由身份参数β、表情参数θ、位姿参数ψ、纹理参数γ、光照参数l、相机参数c拼接而成,其中身份参数β、表情参数θ、位姿参数ψ为3dmm模型参数;
50.采用端到端的无监督训练方式,端到端的无监督训练从未标记的数据中学习有用的特征表示。将原始输入数据作为模型的输入,并使用自编码器等方法学习数据的压缩表示,然后重构出与原始数据相似度高的输出。这些经过训练的特征表示可以用于解决各种任务,如分类、聚类、生成等。相比于有监督学习需要大量标注数据的缺点,无监督学习可以利用更丰富的未标记数据来提升模型性能。同时,端到端的无监督训练方式还可以减少特征工程的需求,使得模型设计更加简单和灵活。
51.s3:将源图像的向量与驱动视频帧的向量混合得到混合向量,然后使用混合向量生成驱动网格和线性纹理贴图,完成人脸模型驱动;
52.所述将源图像的向量与驱动视频帧的向量混合得到混合向量,具体为:将源图像的向量中的身份参数、纹理参数与驱动视频帧的向量中的表情参数、位姿参数、光照参数和相机参数进行混合,通过在3dmm模型的参数空间保持所述身份参数,转移所述表情参数和所述位姿参数来完成人脸模型驱动。输出驱动网格,驱动网格具有所述源图像的身份信息和所述驱动视频帧的表情姿势信息。
53.s4:使用线性纹理贴图和驱动网格进行渲染,得到线性纹理渲染图;
54.s5:将源图像展开到uv空间得到源纹理贴图,然后使用源纹理贴图和驱动网格进行渲染,得到源纹理渲染图;
55.所述将源图像展开到uv空间得到源纹理贴图,具体步骤包括:
56.首先使用编码器获得源图像的向量,并进行重建得到人脸网格;
57.其次将人脸网格的3d顶点投影到所述源图像,使其每个3d顶点的投影都能对应所述源图像的一个像素;
58.最后根据3d顶点投影与源图像像素的对应关系将源图像的像素映射到每个3d顶点所对应的uv空间坐标上,得到所述源纹理贴图。
59.s6:从线性纹理渲染图中提取面部语义图;
60.所述面部语义图的语义部分包括面部皮肤、眉毛、眼睛、鼻子、嘴、上嘴唇、下嘴唇、部分头发的语义信息,不包括耳朵、背景、脖子的语义信息。
61.s7:将源图像、源纹理渲染图和面部语义图作为输入条件送入纹理生成模块,得到生成的面部图像;
62.所述的纹理生成模块具有以下特征:
63.采用编码器-解码器结构,解码器中包含spade块,以融合面部语义信息;
64.采用源图像、源纹理渲染图和面部语义图作为其输入条件;
65.输出的图像具有所述源图像的身份特征和所述面部语义图的表情特征;
66.采用监督学习进行训练,并且使用对抗损失、特征匹配损失、面部语义损失、以及本发明特有的眼动一致性损失。
67.所述眼动一致性损失,采用相应的眼部遮罩划分出眼周区域,来单独计算眼周区域的像素损失,计算公式如下:
68.l
eyes
=||mask
⊙
(i
real-i
out
)||169.其中mask是眼周区域遮罩,i
real
和i
out
分别表示真实图像和生成图像。
70.s8:将生成的面部图像展开至uv空间,得到uv纹理贴图;
71.s9:使用得到的uv纹理贴图和驱动网格进行渲染,得到动画帧;
72.s10:串联所有动画帧,输出三维人脸表情动画,如图1所示。
73.实施例2
74.本实施例给出实施例1步骤s2中编码器的具体实施方案:
75.该网络使用resnet-50结构,从256
×
256分辨率的人脸源图像中提取特征信息,并通过236维预测头得到236维人脸向量;
76.通过得到的人脸向量构建人脸网格和纹理贴图,并进行渲染,得到输出图像;
77.计算输出图像与输入图像的损失,调整编码器参数权重,如图2所示。
78.实施例3
79.本实施例给出实施例1步骤s3中人脸模型驱动的具体实施方案:
80.输入源图像与驱动图像,使用训练好的编码器回归人脸向量,源图像向量为向量1,驱动图像向量为向量2;
81.将向量1的身份参数和纹理参数与向量2的表情参数、姿势参数、相机参数和光照参数混合,组成混合向量;
82.使用混合向量构建驱动网格与线性纹理贴图;
83.使用驱动网格与线性纹理贴图进行渲染,获得线性纹理渲染图,如图3所示。
84.实施例4
85.本实施例给出实施例1步骤s7中纹理生成模块的具体实施方案:
86.该模块采用编码器-解码器结构,并且解码器中包含spade块,可以融合面部语义信息;
87.输入源图像和源纹理渲染图,然后通过spade块送入面部语义图,获得生成纹理;
88.通过将生成纹理展开至uv空间,获得uv纹理贴图,如图4所示。
89.显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
技术特征:
1.一种视频驱动的三维人脸表情动画生成方法,其特征步骤包括:s1:输入一张人脸源图像和一个驱动视频;s2:逐帧将源图像和驱动视频送入编码器,得到源图像的向量和驱动视频帧的向量;s3:将源图像的向量与驱动视频帧的向量混合得到混合向量,然后使用混合向量生成驱动网格和线性纹理贴图,完成人脸模型驱动;s4:使用线性纹理贴图和驱动网格进行渲染,得到线性纹理渲染图;s5:将源图像展开到uv空间得到源纹理贴图,然后使用源纹理贴图和驱动网格进行渲染,得到源纹理渲染图;s6:从线性纹理渲染图中提取面部语义图;s7:将源图像、源纹理渲染图和面部语义图作为输入条件送入纹理生成模块,得到生成的面部图像;s8:将生成的面部图像展开至uv空间,得到uv纹理贴图;s9:使用得到的uv纹理贴图和驱动网格进行渲染,得到动画帧;s10:串联所有动画帧,输出三维人脸表情动画。2.根据权利要求1所述的一种视频驱动的三维人脸表情动画生成方法,其特征在于,步骤s2中所述的编码器采用resnet-50结构,含有一个236维的预测头,并且输出236维向量,该向量由身份参数β、表情参数θ、位姿参数ψ、纹理参数γ、光照参数l、相机参数c拼接而成,其中身份参数β、表情参数θ、位姿参数ψ为3dmm模型参数;该编码器采用端到端的无监督训练方式。3.根据权利要求2所述的一种视频驱动的三维人脸表情动画生成方法,其特征在于,步骤s3中所述将源图像的向量与驱动视频帧的向量混合得到混合向量,具体为:将源图像的向量中的身份参数、纹理参数与驱动视频帧的向量中的表情参数、位姿参数、光照参数和相机参数进行混合,通过在3dmm模型的参数空间保持所述身份参数,转移所述表情参数和所述位姿参数来完成人脸模型驱动。4.根据权利要求2所述的一种视频驱动的三维人脸表情动画生成方法,其特征在于,步骤s5中所述将源图像展开到uv空间得到源纹理贴图,具体步骤包括:s51:使用编码器获得源图像的向量,并进行重建得到人脸网格;s52:将人脸网格的3d顶点投影到所述源图像,使其每个3d顶点的投影都能对应所述源图像的一个像素;s53:根据3d顶点投影与源图像像素的对应关系将源图像的像素映射到每个3d顶点所对应的uv空间坐标上,得到所述源纹理贴图。5.根据权利要求1所述的一种视频驱动的三维人脸表情动画生成方法,其特征在于,步骤s6中所述面部语义图的语义部分包括面部皮肤、眉毛、眼睛、鼻子、嘴、上嘴唇、下嘴唇、部分头发的语义信息,不包括耳朵、背景、脖子的语义信息。6.根据权利要求1所述的一种视频驱动的三维人脸表情动画生成方法,其特征在于,步骤s7中所述的纹理生成模块采用编码器-解码器结构,解码器中包含spade块,以融合面部语义信息;该纹理生成模块采用源图像、源纹理渲染图和面部语义图作为其输入条件;该纹理生成模块输出的图像具有所述源图像的身份特征和所述面部语义图的表情特征;该纹理生成模块采用监督学习进行训练,并且使用对抗损失、特征匹配损失、面部语义损失、眼动
一致性损失。7.根据权利要求6所述的一种视频驱动的三维人脸表情动画生成方法,其特征在于,所述眼动一致性损失,采用相应的眼部遮罩划分出眼周区域,来单独计算眼周区域的像素损失,计算公式如下:l
eyes
=||mask
⊙
(i
real-i
out
)||1其中mask是眼周区域遮罩,i
real
和i
out
分别表示真实图像和生成图像。
技术总结
本发明一种视频驱动的三维人脸表情动画生成方法,逐帧将输入的源图像和驱动视频送入编码器并将得到的源图像向量与驱动视频帧向量混合,使用混合向量生成驱动网格和线性纹理贴图,完成人脸模型驱动;使用线性纹理贴图和驱动网格进行渲染得到线性纹理渲染图;将源图像展开到UV空间得到源纹理贴图,源纹理贴图和驱动网格进行渲染得到源纹理渲染图;从线性纹理渲染图中提取面部语义图;将源图像、源纹理渲染图和面部语义图作为输入条件送入纹理生成模块得到生成的面部图像并将其展开至UV空间,得到UV纹理贴图;使用UV纹理贴图和驱动网格进行渲染得到动画帧;串联所有动画帧输出三维人脸表情动画。提高了面部纹理质量,生成更高逼真度的人脸动画。高逼真度的人脸动画。高逼真度的人脸动画。
技术研发人员:魏巍 王袆宸 张丹妮
受保护的技术使用者:大连民族大学
技术研发日:2023.04.26
技术公布日:2023/8/1
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/