1.本公开涉及数据处理技术领域,尤其涉及一种虚拟表情生成方法、装置、电子设备和存储介质。
背景技术:2.三维(three dimensional,3d)建模是机器视觉领域中的一个关键问题,其中3d表情建模,在游戏、影视特效、vr等娱乐化领域应用广泛。现有3d虚拟表情建模主流方法均是基于图片进行3d虚拟表情的生成,但因人脸本身结构复杂,涉及脸部肌肉协调运动,其表情变化过程是复杂的非刚体运动,对于采集设备、采集环境、建模设备以及建模过程均有着较高的要求,难以做到实时的要求;并且,在处理视频中的各帧图像时,忽略了表情上的相关性与连续性。
技术实现要素:3.本公开提供一种虚拟表情生成方法、装置、电子设备和存储介质,以解决相关技术的不足。
4.根据本公开实施例的第一方面,提供一种虚拟表情生成方法,包括:
5.获取原始图像中的人脸区域,得到目标人脸图像;
6.获取所述目标人脸图像对应的第一人脸系数;所述第一人脸系数包括模板表情系数和位姿系数,所述模板表情系数用于表征人脸表情与各个模板的匹配程度,所述位姿系数表示虚拟形象在三个维度上的旋转角度;
7.对所述第一人脸系数中的所述模板表情系数和/或所述位姿系数进行时域修正处理,得到目标人脸系数;
8.根据所述目标人脸系数渲染所述虚拟形象的表情,得到虚拟表情。
9.可选地,获取原始图像中的人脸区域,得到目标人脸图像,包括:
10.对所述原始图像进行人脸检测,获得所述原始图像包含的至少一个人脸区域;
11.从所述至少一个人脸区域内选取出目标人脸区域;
12.对所述目标人脸区域进行校正处理得到目标人脸图像。
13.可选地,从所述至少一个人脸区域内选取出目标人脸区域,包括:
14.当所述人脸区域的数量为一个时,确定所述人脸区域为所述目标人脸区域;
15.当所述人脸区域的数量为多个时,根据所述各个人脸区域的区域参数数据计算出各个人脸区域的评分值,所述评分值用于表示各个人脸区域距离所述原始图像中轴的程度;确定所述评分值的最大值对应的人脸区域为所述目标人脸区域。
16.可选地,所述区域参数数据包括长度、宽度、人脸面积和位置数据,根据所述各个人脸区域的区域参数数据计算出各个人脸区域的评分值,包括:
17.获取各个人脸区域中间位置的横坐标与宽度一半的差值,以及所述差值的绝对值;
18.获取所述差值的绝对值与所述宽度的比值,以及所述比值与常数2的乘积;
19.获取常数1与所述乘积的差值,并获取所述乘积对应的差值与预设的距离权重的乘积;
20.获取所述各个人脸区域中人脸面积与所述长度和宽度两者乘积的比值,以及所述人脸面积对应比值的平方根;
21.获取所述平方根与预设的面积权重的乘积,所述面积权重和所述距离权重之和为1;
22.计算所述预设的面积权重对应的乘积和所述预设的距离权重的乘积的和值,得到各个人脸区域的评分值。
23.可选地,对所述目标人脸区域进行校正处理得到目标人脸图像,包括:
24.确定所述目标人脸区域对应的候选正方形区域,得到所述候选正方形区域的顶点坐标数据;
25.对所述候选正方形区域的顶点坐标数据和预设正方形的顶点坐标数据进行仿射变换,得到仿射变换系数;所述预设正方形的顶点坐标数据中包括一个指定原点;
26.利用所述仿射变换系数对所述原始图像进行仿射变换,得到仿射变换图像;
27.以所述指定原点为基准从所述仿射变换图像截取预设边长的正方形区域,并将截取的正方形区域内的图像作为所述目标人脸图像。
28.可选地,获取所述目标人脸图像对应的第一人脸系数,包括:
29.分别对所述目标人脸图像进行模糊处理和锐化处理,得到至少一张模糊图像和至少一张锐化图像;
30.分别提取所述目标人脸图像、各张模糊图像和各张锐化图像中的特征数据,得到原始特征图像、模糊特征图像和锐化特征图像;
31.拼接所述原始特征图像、所述模糊特征图像和所述锐化特征图像,得到初始特征图像;
32.获取所述初始特征图像中各特征图像对所述虚拟形象表情表达的重要性系数,并根据所述重要性系数调整所述初始特征图像得到目标特征图像;
33.根据所述目标特征图像确定模板表情系数和位姿系数,得到所述第一人脸系数。
34.可选地,获取所述目标人脸图像对应的第一人脸系数,包括:
35.将所述目标人脸图像输入到预设的人脸系数识别网络,获得所述预设的人脸系数识别网络输出的所述目标人脸图像对应的第一人脸系数。
36.可选地,所述预设的人脸系数识别网络包括:模糊锐化模块、特征提取模块、注意力模块和系数学习模块;
37.所述模糊锐化模块分别对所述目标人脸图像进行模糊处理和锐化处理,得到至少一张模糊图像和至少一张锐化图像;
38.所述特征提取模块分别提取所述目标人脸图像、各张模糊图像和各张锐化图像中的特征数据,得到原始特征图像、模糊特征图像和锐化特征图像;并拼接所述原始特征图像、所述模糊特征图像和所述锐化特征图像,得到初始特征图像;
39.所述注意力模块获取所述初始特征图像中各特征图像对所述虚拟形象表情表达的重要性系数,并根据所述重要性系数调整所述初始特征图像得到目标特征图像;
40.所述系数学习模块根据所述目标特征图像确定模板表情系数和位姿系数,得到所述第一人脸系数。
41.可选地,所述注意力模块采用时间注意力机制或者空间注意力机制的网络模型实现。
42.可选地,所述系数学习模块采用resnet50、resnet18、resnet100、densenet和yolov5中的至少一种网络模型实现。
43.可选地,对所述第一人脸系数中的所述模板表情系数和/或所述位姿系数进行时域修正处理,得到目标人脸系数,包括:
44.获取所述原始图像之前的前一帧图像的第一人脸系数和预设的权重系数;所述前一帧图像的权重系数和所述原始图像的权重系数之和为1;
45.对所述原始图像的第一人脸系数和所述前一帧图像的第一人脸系数进行加权求和值,得到所述原始图像对应的目标人脸系数。
46.可选地,对所述第一人脸系数中的所述模板表情系数和/或所述位姿系数进行时域修正处理之后,所述方法还包括:
47.获取预设的表情适配矩阵;所述表情适配矩阵是指包含不同模板数量的两个人脸系数对应的转换关系;
48.计算时域修正处理后的人脸系数和所述表情适配矩阵的乘积,得到所述目标人脸系数。
49.可选地,所述预设的表情适配矩阵通过以下步骤获取:
50.获取样本图像对应的第一预设系数,所述第一预设系数包括第一数量个模板的系数;
51.获取样本图像对应的第二预设系数,所述第二预设系数包括第二数量个模板的系数;
52.根据所述第一预设系数、所述第二预设系数和最小二乘法获取所述预设的表情适配矩阵。
53.可选地,所述方法还包括:
54.当在所述原始图像中未检测到人脸区域时,继续检测下一帧原始图像,并根据上一帧原始图像的目标人脸系数获取虚拟表情;
55.或者,
56.当在所述原始图像中未检测到人脸区域且持续时长超过设定时长阈值时,根据预设的表情系数获取虚拟表情。
57.根据本公开实施例的第二方面,提供一种虚拟表情生成装置,包括:
58.目标图像获取模块,用于获取原始图像中的人脸区域,得到目标人脸图像;
59.第一系数获取模块,用于获取所述目标人脸图像对应的第一人脸系数;所述第一人脸系数包括模板表情系数和位姿系数,所述模板表情系数用于表征人脸表情与各个模板的匹配程度,所述位姿系数表示虚拟形象在三个维度上的旋转角度;
60.目标系数获取模块,用于对所述第一人脸系数中的所述模板表情系数和/或所述位姿系数进行时域修正处理,得到目标人脸系数;
61.表情动画获取模块,用于根据所述目标人脸系数渲染所述虚拟形象的表情,得到
虚拟表情。
62.根据本公开实施例的第三方面,提供一种电子设备,包括:
63.摄像头,用于采集图像和/或视频,以作为所述处理器的原始图像;
64.3d显示器,用于实时显示虚拟形象的虚拟表情或所述图像或者所述视频;
65.处理器和用于存储可执行指令的存储器;
66.所述处理器从所述存储器中读取可执行指令,以实现第一方面任一项所述的方法的步骤。
67.根据本公开实施例的第四方面,提供一种芯片,包括:
68.处理器和用于存储可执行程序的存储器;所述处理器从所述存储器中读取可执行程序,以实现第一方面任一项所述的方法的步骤。
69.根据本公开实施例的第五方面,提供一种非暂态计算机可读存储介质,其上存储有计算机可执行程序,该可执行程序被执行时实现第一方面任一项所述方法的步骤。
70.本公开的实施例提供的技术方案可以包括以下有益效果:
71.由上述实施例可知,本公开实施例提供的方案中可以获取原始图像中的人脸区域,得到目标人脸图像;然后,获取所述目标人脸图像对应的第一人脸系数;之后,对所述第一人脸系数中的所述模板表情系数和/或所述位姿系数进行时域修正处理,得到目标人脸系数;最后,根据所述目标人脸系数渲染所述虚拟形象的表情,得到虚拟表情。这样,本实施例中通过对第一人脸系数进行时域修正处理,可以使视频中相邻的原始图像的表情具有相关性和连续性,使重建的表情更自然,提升观看体验;并且,通过传输目标人脸系数来渲染虚拟形象的表情来获得虚拟表情,与传输图像数据相比较可降低数据传输量,达到实时重建虚拟表情的效果。
72.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
73.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
74.图1是根据一示例性实施例示出的一种虚拟表情生成方法的流程图。
75.图2是根据一示例性实施例示出的一种获取目标人脸图像的流程图。
76.图3是根据一示例性实施例示出的一种获取目标人脸区域的流程图。
77.图4是根据一示例性实施例示出的一种获取人脸区域的评分值的流程图。
78.图5是根据一示例性实施例示出的一种获取目标人脸图像的流程图。
79.图6是根据一示例性实施例示出的一种获取第一人脸系数的流程图。
80.图7是根据一示例性实施例示出的一种人脸系统识别网络的框图。
81.图8是根据一示例性实施例示出的一种获取目标人脸系数的流程图。
82.图9是根据一示例性实施例示出的另一种获取目标人脸系数的流程图。
83.图10是根据一示例性实施例示出的一种获取表情适配矩阵的流程图。
84.图11是根据一示例性实施例示出的另一种获取表情适配矩阵的流程图。
85.图12是根据一示例性实施例示出的另一种虚拟表情生成方法的流程图。
86.图13是根据一示例性实施例示出的一种虚拟表情生成装置的框图。
87.图14是根据一示例性实施例示出的一种服务器的框图。
具体实施方式
88.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性所描述的实施例并不代表与本公开相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置例子。需要说明的是,在不冲突的情况下,下述的实施例及实施方式中的特征可以相互组合。
89.3d建模是机器视觉领域中的一个关键问题,其中3d表情建模,在游戏、影视特效、vr等娱乐化领域应用广泛。现有3d虚拟表情建模主流方法均是基于图片进行3d虚拟表情的生成,但因人脸本身结构复杂,涉及脸部肌肉协调运动,其表情变化过程是复杂的非刚体运动,对于采集设备、采集环境、建模设备以及建模过程均有着较高的要求,难以做到实时的要求;并且,在处理视频中的各帧图像时,忽略了表情上的相关性与连续性。
90.为解决上述技术问题,本公开实施例提供了一种虚拟表情生成方法,可以应用于电子设备,图1是根据一示例性实施例示出的一种虚拟表情生成方法的流程图。
91.参见图1,一种虚拟表情生成方法,包括步骤11~步骤14。
92.在步骤11中,获取原始图像中的人脸区域,得到目标人脸图像。
93.本实施例中,电子设备可以摄像头通信,获取摄像头所采集的图像和/或视频,并且该摄像头的采集帧率不超过60fps;也可以从指定位置读取图像和/或视频。考虑到电子设备每次处理一张图像或者视频中的一帧图像,后续处理一张图像为例描述各实施例的方案,并且将所处理的图像称之为原始图像以区别于处理过的其他图像。
94.本实施例中,在获取到原始图像后,电子设备可以获取原始图像中的人脸区域,参见图2,包括步骤21~步骤23。
95.在步骤21中,电子设备可以对所述原始图像进行人脸检测,获得所述原始图像包含的至少一个人脸区域。
96.本步骤中,电子设备可以采用预设的人脸检测模型对原始图像进行人脸检测,上述预设的人脸检测模型可以包括但不限于yolov5模型、resnet18模型、r-cnn模型、mobilenet模型等能够实现目标检测功能的模型,本领域技术人员可以根据具体场景选择合适的模型,相应方案落入本公开的保护范围。这样,上述预设的人脸检测模型可以输出上述原始图像所包含的至少一个人脸区域。
97.需要说明的是,在人脸检测过程中,电子设备可以记录是否检测到人脸区域,当没有人脸区域存在时,可以将标记设置为-1,当存在人脸区域时,可以将标记设置为人脸区域的数量,同时记录各个人脸区域的区域参数数据。上述区域参数数据包括长度、宽度、人脸面积和位置数据。
98.例如,当人脸区域的数量为1个时,人脸区域的区域参数数据为[x,y,w,h,s],其中x和y分别表示人脸区域的指定点(如中心点、左上顶点、左下顶点、右上顶点或者右下顶点)的横纵坐标,w和h分别表示人脸区域宽度和高度,s表示人脸区域的面积。又如,当人脸区域的数量为n1(n1为大于1的整数)时,n个人脸区域的区域参数数据采用列表表示,即[[x1,
y1,w1,h1,s1],[x2,y2,w2,h2,s2],
……
,[xn1,yn1,wn1,hn1,sn1]]。
[0099]
在步骤22中,电子设备可以从所述至少一个人脸区域内选取出目标人脸区域。
[0100]
例如,当人脸区域的数量为1个时,电子设备可以确定该人脸区域为目标人脸区域。
[0101]
又如,当人脸区域的数量为多个(如n1为大于1的整数)时,电子设备可以从该多个人脸区域内选取一个作为目标人脸区域。参见图3,在步骤31中,电子设备可以根据所述各个人脸区域的区域参数数据计算出各个人脸区域的评分值,上述评分值用于表示各个人脸区域距离所述原始图像中轴的程度。其中原始图像中轴是指经过原始图像中心点的竖直线,如原始图像大小为1920*1080,则直线x=960可以作为原始图像的中轴。
[0102]
本示例中,参见图4,电子设备获取各个人脸区域的评分值,包括步骤41~步骤46。
[0103]
在步骤41中,电子设备可以获取各个人脸区域中间位置的横坐标与宽度一半的差值,以及所述差值的绝对值。例如,上述差值的绝对值为其中xn1表示第n1个人脸区域的横坐标,w表示第n1个人脸区域的宽度,||表示求绝对值。
[0104]
在步骤42中,电子设备可以获取所述差值的绝对值与所述宽度的比值,以及所述比值与常数2的乘积。例如,比值与常数2的乘积为
[0105]
在步骤43中,电子设备可以获取常数1与所述乘积的差值,并获取所述乘积对应的差值与预设的距离权重的乘积。例如,乘积对应的差值与预设的距离权重的乘积为α表示预设的距离权重,或者说人脸区域中心距离中轴距离的归一化数值,并且该α受到摄像头采集距离的影响,在一示例中该α取值为0.2。
[0106]
在步骤44中,电子设备可以获取所述各个人脸区域中人脸面积与所述长度和宽度两者乘积的比值,以及所述人脸面积对应比值的平方根。例如,sn表示第n1个人脸区域中人脸的面积,h表示第n1个人脸区域的高度,w表示第n1个人脸区域的宽度。
[0107]
在步骤45中,电子设备可以获取所述平方根与预设的面积权重的乘积,所述面积权重和所述距离权重之和为1。例如,平方根与预设的面积权重的乘积为1-α表示人脸面积占原始图像面积的归一化数值。
[0108]
在步骤46中,电子设备可以计算所述预设的面积权重对应的乘积和所述预设的距离权重的乘积的和值,得到各个人脸区域的评分值。例如,各个人脸区域的评分值score如下式(1)所示:
[0109][0110]
在步骤32中,电子设备可以确定所述评分值的最大值对应的人脸区域为所述目标人脸区域。
[0111]
本示例中通过确定评分值最大的人脸区域作为目标人脸区域,即可确定出距离原始图像的中轴最近且人脸面积较大的人脸区域,可以贴近实际采集图像过程中关注对象在拍摄区域内的场景,有利于提升所获取目标人脸区域的准确度。
[0112]
在步骤23中,电子设备可以对所述目标人脸区域进行校正处理得到目标人脸图像。
[0113]
本步骤中,参见图5,电子设备校正目标人脸区域包括步骤51~步骤54。
[0114]
在步骤51中,电子设备可以确定所述目标人脸区域对应的候选正方形区域,得到所述候选正方形区域的顶点坐标数据。电子设备可以获取目标人脸区域的中心点(x
n1
,y
n1
),以该中心点(x
n1
,y
n1
)为中心来确定一个正方形区域,该正方形区域的边长为其中scale为目标人脸区域的放大系数,其取值大于1,在一示例中scale取值为1.25。w
n1
,h
n1
分别表示目标人脸区域的宽度和高度。电子设备可以获取到正方形区域各个顶点的顶点坐标数据。为方便描述,后续将上述正方形区域称之为候选正方形区域。
[0115]
在步骤52中,电子设备可以对所述候选正方形区域的顶点坐标数据和预设正方形的顶点坐标数据进行仿射变换,得到仿射变换系数;所述预设正方形的顶点坐标数据中包括一个指定原点。
[0116]
本步骤中,电子设备内可以存储一个预设正方形,该预设正方形的顶点坐标数据中包括一个指定原点(0,0),边长为预设边长(如224像素)。以左上顶点是指定原点为例,该预设正方形的四个顶点的顶点坐标数据分别为左上角(0,0)、左下角(0,224)、右上角(224,0)和右下角(224,224)。
[0117]
本步骤中,电子设备可以对候选正方形区域和预设正方形进行仿射变换,即将候选正方形区域的预设正方形的各个顶点建立仿射变换关系,得到仿射变换系数。或者说,电子设备可以对候选正方形区域进行缩放、平移和旋转,从而得到预设正方形。可理解的是,获取两个正方形的仿射变换关系可以参考相关技术的方案,在此不再赘述。
[0118]
在步骤53中,电子设备可以利用所述仿射变换系数对所述原始图像进行仿射变换,得到仿射变换图像。
[0119]
在步骤54中,电子设备可以以所述指定原点为基准从所述仿射变换图像截取预设边长的正方形区域,并将截取的正方形区域内的图像作为所述目标人脸图像。例如,电子设备从仿射变换图像中(0,0)位置截取长度和宽度均为224的正方形,得到目标人脸图像。
[0120]
这样,本示例中通过对目标人脸区域进行仿射变换修正,与拉伸或者挤压方式人脸区域相比较,可以使人脸区域具有更好的保真度即人脸表情具有更好的保真度,有利于提升后续生成虚拟表情的准确度。或者说,本示例中将原始图像处理为高保真度的归一化的目标人脸图像,可以提高后续步骤12中的第一人脸系数的准确度,以及步骤14所生成的
虚拟表情的真实度和逼真度,有利于提升交互体验。
[0121]
在步骤12中,获取所述目标人脸图像对应的第一人脸系数;所述第一人脸系数包括模板表情系数和位姿系数,所述模板表情系数用于表征人脸表情与各个模板的匹配程度,所述位姿系数表示虚拟形象在三个维度上的旋转角度。
[0122]
本步骤中,电子设备可以获取目标人脸图像对应的第一人脸系数,参见图6,包括步骤61~步骤65。
[0123]
在步骤61中,电子设备可以分别对所述目标人脸图像进行模糊处理和锐化处理,得到至少一张模糊图像和至少一张锐化图像。
[0124]
考虑到目标人脸图像是原始图像的一部分,其图像中特征并不突出,因此本步骤中先提炼目标人脸图像的整体特征和/或细节特征。
[0125]
以获取整体轮廓特征为例,本步骤中,电子设备可以对目标人脸图像进行模糊处理,所采用的模糊算法包括但不限于例如高斯模糊(gaussian blur)、方框模糊(box blur)、kawase模糊(kawase blur)、双重模糊(dual blur)、散景模糊(bokeh blur)、移轴模糊(tilt shift blur)、光圈模糊(iris blur)、粒状模糊(grainy blur)、径向模糊(radial blur)和方向模糊(directional blur)等,在一示例中采用高斯模糊算法处理目标人脸图像,从而获得目标人脸图像对应的至少一张模型图像。
[0126]
以获取细节轮廓特征为例,本步骤中,电子设备可以对目标人脸图像进行锐化处理,所采用的锐化算法包括但不限于robert算子,prewitt算子,sobel算子,laplacian算子,kirsch算子等,在一示例中使用robert算子处理目标人脸图像,从而获得目标人脸图像对应的至少一张锐化图像。
[0127]
在一些示例中,上述模糊算法和/或锐化算法还可以采用机器视觉领域中的神经网络(如卷积神经网络等)实现,同样可以得到模糊图像和/或锐化图像,相应方案落入本公开的保护范围。
[0128]
这样,本步骤中通过对目标人脸图像进行模糊处理和锐化处理,方便使用目标人脸图像的整体轮廓特征、细节轮廓特征和原始特征,从而丰富目标人脸图像的特征数量和类别,有利于提升后续获得第一人脸系数的准确度。
[0129]
在步骤62中,电子设备可以分别提取所述目标人脸图像、各张模糊图像和各张锐化图像中的特征数据,得到原始特征图像、模糊特征图像和锐化特征图像。例如,电子设备可以分别对目标人脸图像、各张模糊图像和各张锐化图像进行至少一层卷积操作,从而得到原始特征图像、模糊特征图像和锐化特征图像。
[0130]
在步骤63中,电子设备可以拼接所述原始特征图像、所述模糊特征图像和所述锐化特征图像,得到初始特征图像。例如,电子设备可以在原始特征图像的后方拼接模糊特征图像;在模糊特征图像拼接完成后,将锐化特征图像拼接到模糊特征图像之后,直至拼接完所有的特征图像,得到一张模糊特征、原始特征和锐化特征的特征图像,后续称之为初始特征图像。
[0131]
在步骤64中,电子设备可以获取所述初始特征图像中各特征图像对所述虚拟形象表情表达的重要性系数,并根据所述重要性系数调整所述初始特征图像得到目标特征图像。例如,电子设备可以通过时间注意力机制和/空间注意力机制来获取初始特征图像中各特征图像对虚拟形象表情表达的重要性系数。然后,电子设备可以计算上述重要性系数和
初始特征图像的乘积得到目标特征图像。
[0132]
这样,本步骤中通过重要性系数对初始特征图像进行调整,可以突出相对重要的特征图像而弱化相对不重要的特征图像,提升目标特征图像的准确度,进而提升步骤65中所得第一人脸系数的准确度。
[0133]
在步骤65中,电子设备可以根据所述目标特征图像确定模板表情系数和位姿系数,得到所述第一人脸系数。
[0134]
本步骤中,电子设备内可以存储预设的表情模板集合,每个表情模板称之为一个表情基。电子设备可以匹配目标特征图像与各个表情基的适配度,从而确定模板表情系数和位姿系数,得到上述第一人脸系数。或者说,通过第一人脸系数中的模板表情系数来调整各个表情基,以及通过位姿系数来调整各个表情基的空间位姿,可以还原出上述目标特征图像。
[0135]
在另一实施例中,电子设备内可以存储预设的人脸系数识别网络。电子设备可以将上述目标人脸图像输入到预设的人脸系数识别网络,由预设的人脸系数识别网络输出目标人脸图像对应的第一人脸系数。
[0136]
参见图7,上述预设的人脸系数识别网络包括:模糊锐化模块71、特征提取模块72、注意力模块73和系数学习模块74。其中,
[0137]
模糊锐化模块71分别对所述目标人脸图像进行模糊处理和锐化处理,得到至少一张模糊图像和至少一张锐化图像;
[0138]
特征提取模块72分别提取所述目标人脸图像、各张模糊图像和各张锐化图像中的特征数据,得到原始特征图像、模糊特征图像和锐化特征图像;并拼接所述原始特征图像、所述模糊特征图像和所述锐化特征图像,得到初始特征图像;
[0139]
注意力模块73获取所述初始特征图像中各特征图像对所述虚拟形象表情表达的重要性系数,并根据所述重要性系数调整所述初始特征图像得到目标特征图像;该注意力模块采用时间注意力机制或者空间注意力机制的网络模型实现。
[0140]
系数学习模块74根据所述目标特征图像确定模板表情系数和位姿系数,得到所述第一人脸系数。该系数学习模块采用resnet50、resnet18、resnet100、densenet和yolov5中的至少一种网络模型实现,技术人员可以根据具体场景进行选择,相应方案落入本公开的保护范围。
[0141]
在步骤13中,对所述第一人脸系数中的所述模板表情系数和/或所述位姿系数进行时域修正处理,得到目标人脸系数;所述目标人脸系数与所述原始图像前一帧原始图像的人脸系数相关联。
[0142]
本步骤中,参见图8,电子设备可以对所述第一人脸系数中的所述模板表情系数和/或所述位姿系数进行时域修正处理,得到目标人脸系数,包括步骤81~步骤82。
[0143]
在步骤81中,电子设备可以获取所述原始图像之前的前一帧图像的第一人脸系数和预设的权重系数;所述前一帧图像的权重系数和所述原始图像的权重系数之和为1。
[0144]
在步骤82中,电子设备可以对所述原始图像的第一人脸系数和所述前一帧图像的第一人脸系数进行加权求和值,得到所述原始图像对应的目标人脸系数。
[0145]
这样,本实施例中通过加权求和值的方式来获取目标人脸系数,可以使当前的原始图像和前一帧图像的人脸系数具有关联关系。前一帧图像的预设的权重系数越大,前一
帧图像的人脸系数在后续目标人脸系数中所占比例越大,则前一帧图像和当前的原始图像的参数越平滑,进而使得当前的原始图像对应的虚拟表情与前一帧图像对应的虚拟表情变化更慢;前一帧图像的预设的权重系数越小,则前一帧图像和当前的原始图像的参数变化越快,进而使得当前的原始图像对应的虚拟表情与前一帧图像对应的虚拟表情变化更快。技术人员可以根据具体场景选择适合的预设的权重系数,使得相邻两帧原始图像的表情的变化满足场景的需求,在一示例中前一帧图像的预设的权重系数取值为0.4,并且当前的原始图像对应的权重系数为0.6。
[0146]
需要说明的是,当当前的原始图像为视频的第一帧图像时,其不存在前一帧图像,电子设备可以直接使用该第一帧图像的第一人脸系数作为目标人脸系数,即不对第一人脸系数作时域修正,从而保证第一帧图像表情的准确度。
[0147]
考虑到步骤65和/或系数学习模块74中获取第一人脸系数时所使用模板
[0148]
本公开提供的虚拟表情生成方法中所使用表情模板集合是固定的,其中“固定”包括表情模板集合中各个模板是固定的且模板数量是固定的,考虑到不同的电子设备可能所使用的表情模板集合是不同的,因此需要对不同电子设备所获得的第一人脸系数进行适配,例如将64个表情模板适配到52个表情模板之上。参见图9,电子设备对第一人脸系数进行适配,包括步骤91~步骤92。
[0149]
在步骤91中,电子设备可以获取预设的表情适配矩阵;所述表情适配矩阵是指包含不同模板数量的两个人脸系数对应的转换关系。
[0150]
本步骤中,电子设备内可以存储预设的表情适配矩阵。该预设的表情适配矩阵可以通过以下步骤获取,参见图10和图11,包括步骤101~步骤103。
[0151]
在步骤101中,电子设备可以获取样本图像对应的第一预设系数。获取方式可以参见图6或者图7所示实施例的内容,在此不再赘述。上述第一预设系数包括第一数量(如64个)个模板的系数,是指目标特征图像相对应于第一数量个模板中各个模板(或者说表情基)的适配度。
[0152]
在步骤102中,电子设备可以获取样本图像对应的第二预设系数,所述第二预设系数包括第二数量个模板的系数。获取方式可以参见图6或者图7所示实施例的内容,在此不再赘述。上述第二预设系数包括第二数量(如52个)个模板的系数,是指样本图像相对应于第二数量个模板中各个模板(或者说表情基)的适配度。
[0153]
在步骤103中,电子设备可以根据所述第一预设系数、所述第二预设系数和最小二乘法获取所述预设的表情适配矩阵。
[0154]
本步骤中,第一预设系数为第二预设系数为并且和为线性关系第一预设系数和第二预设系数的差值的平方和尽量小,如式(3)所示:
[0155]
[0156]
式(3)中,j表示平方和损失,s∈rk×
(j+1)
为表情适配矩阵,k为新表情基的数量即第二数量,j为基础表情基数据即第一数量。
[0157]
对式(3)进行计算,可以得到s,如式(4)所示:
[0158][0159]
需要说明的是,第一预设系数和第二预设系数成线性关系通过以下方式获取,分析如下:
[0160]
本步骤中,对第一预设系数进行调整时可以分为模板表情系数调整和位姿系数调整,考虑到位姿系数具有空间物理意义,仅是空间不同维度的变换或者说不同坐标系的变换,例如,弧度与角度的转换、顺时针与逆时针方向和适配等等,该部分内容可以参考相关技术中的变换方案,在此不再赘述。因此,本步骤中对第一预设系数进行调整是指对模板表情系数的调整。
[0161]
可理解的是,考虑到人脸表情在空间维度的表示可以看成多个离散顶点围成空间几何体的形状属性,如式(5)所示:
[0162]
f=((x1,y1,z1),(x2,y2,z2),
…
,(xi,yi,zi),
…
,(x
m1
,y
m1
,z
m1
))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0163]
式(5)中,m1表示构成人脸的离散顶点的数量,(xi,yi,zi)表示第i个顶点的空间坐标数据。
[0164]
当描绘人脸表情所需要的离散顶点过多时,电子设备的计算量也比较大,不利于生成动画。本步骤中,电子设备可以使用主成分分析(pca)方式进行降维,以达到利用低维离散顶点的运动来驱动高维模型。pca处理后可以得到一个特征向量的矩阵,即主成分集合,其中主成分集合中各个主成分相互正交,每个主成分作为一个表情基。因此,人脸的3d表情是一个自然表情和表情基集合的线性组合,如式(6)所示:
[0165][0166]
式(6)中,表示自然表情,即没有任何表情的人脸或者说初始人脸;p∈rn×m为m个特征向量组成的矩阵,考虑到一个特征向量为应用过程中的一个融合形状(blendshape);p表示一组融合形状(blendshape);表示为表情特征向量的系数,如第一预设系数或者第一人脸系数。
[0167]
表情空间即人脸表情可以用不同的自然表情和不同的特征向量表示,如式(7)所示:
[0168][0169]
式(7)中,basic和new分别表示基础表情基空间和新表情基空间,p
basic
∈rn×j,p
new
∈rn×k,
[0170]
对式(7)进行变换,可以得到式(8):
[0171][0172]
式(8)中,c∈rk×j为基础表情基和新表情基的映射函数。
[0173]
对式(8)进行变换,可以得到式(9):
[0174][0175]
式(9)中,表示差值特征矢量系数,根据式(8)和式(9)可得式(10)和式(11):
[0176][0177][0178]
将式(7)和式(11)联立可得到式(2):
[0179][0180]
在步骤92中,电子设备可以计算时域修正处理后的人脸系数和所述表情适配矩阵的乘积,得到所述目标人脸系数。这样,本步骤中的目标人脸系数是经过修正后的系数,实现了从不同表情基变换到其他表情基,从而使目标人脸系数与相应的表情基相匹配,达到表情迁移的效果。
[0181]
在步骤14中,根据所述目标人脸系数渲染所述虚拟形象的表情,得到虚拟表情。
[0182]
本步骤中,电子设备可以利用目标人脸系数来渲染虚拟形象的表情,如电子设备可以通过udp(user datagram protocol,用户数据报协议)广播的形式传输上述目标人脸系数,然后预设的渲染程序(如unity程序)在接收到上述udp数据时渲染图像,最后利用3d显示器实时显示虚拟形象的虚拟表情。
[0183]
在一实施例中,当在原始图像中未检测到人脸区域时,电子设备可以根据上一帧原始图像的目标人脸系数渲染虚拟形象的表情,以获得虚拟表情,从而使相邻两帧原始图像中虚拟形象的表情具有相关性和连续性。并且,电子设备可以继续检测下一帧原始图像,即重新执行步骤11。
[0184]
在另一实施例中,电子设备可以在原始图像中未检测到人脸区域时启动定时(或者计数),当定时持续时长超过设定时长阈值(如3~5秒)时,电子设备仍然检测不到人脸区域则根据预设的表情系数获取虚拟表情,以显示虚拟形象的初始表情。并且,电子设备还可以降低人脸检测频率以节省电子设备的处理资源,例如每3~5帧原始图像检测一次人脸区域,直至再次检测到人脸区域时再恢复到每帧原始图像检测一次人脸区域。
[0185]
至此,本公开实施例提供的方案中可以获取原始图像中的人脸区域,得到目标人脸图像;然后,获取所述目标人脸图像对应的第一人脸系数;之后,对所述第一人脸系数中的所述模板表情系数和/或所述位姿系数进行时域修正处理,得到目标人脸系数;最后,根据所述目标人脸系数渲染所述虚拟形象的表情,得到虚拟表情。这样,本实施例中通过对第一人脸系数进行时域修正处理,可以使视频中相邻的原始图像的表情具有相关性和连续性,使重建的表情更自然,提升观看体验;并且,通过传输目标人脸系数来渲染虚拟形象的表情来获得虚拟表情,与传输图像数据相比较可降低数据传输量,达到实时重建虚拟表情的效果。
[0186]
本公开实施例提供了一种虚拟表情生成方法,参见图12,包括步骤121~步骤128。
[0187]
在步骤121中,对模型初始化,载入模型结构及参数。
[0188]
在步骤122中,摄像头采集视频,其采集帧率不大于60fps。
[0189]
在步骤123中,人脸检测及修正是利用预设的人脸检测模型获取视频帧(即原始图像)中所有的人脸区域;按照人脸大小及脸部中心位置的加权值选取最佳人脸,同时对其进行修正,使其成为224
×
224像素大小的人脸图像,以满足人脸系数识别网络的输入需求。
[0190]
在步骤124中,模板表情系数生成,将步骤123得到的224
×
224像素的人脸图像送入人脸系数识别网络,获得第一人脸系数,用于描绘人脸的表情与位姿;
[0191]
在步骤125中,适配修正,主要是将基础表情基系数映射为新表情基系数以及位姿系数的变换,新表情基系数可以看作基础表情基系数的线性组合,故这一过程在整体实现流程中仅为一次矩阵乘法;位姿系数具有明确的物理意义,只需将模板位姿根据实际物理意义进行固定变化即可;
[0192]
在步骤126中,时域修正,是考虑人脸表情具有时序相关性,而非每帧独立的表情重建,故引入表情系数与位姿系数的时域修正,以平滑面部表情变换过程,提升3d虚拟表情的连续性和稳定性。
[0193]
在步骤127中,利用unity程序渲染虚拟表情,是将处理完的表情系数与位姿系数即目标人脸系数,并利用udp端口的方式传入到unity程序中,以驱动建立好的虚拟表情运动;
[0194]
在步骤128中,送3d显示设备,是利用3d显示设备观看3d虚拟表情,然后重复步骤122~步骤127,实现3d虚拟表情的实时交互。
[0195]
在本公开实施例提供的一种虚拟表情生成方法的基础上,本公开实施例还提供了一种虚拟表情生成装置,参见图13,所述装置包括:
[0196]
目标图像获取模块131,用于获取原始图像中的人脸区域,得到目标人脸图像;
[0197]
第一系数获取模块132,用于获取所述目标人脸图像对应的第一人脸系数;所述第一人脸系数包括模板表情系数和位姿系数,所述模板表情系数用于表征人脸表情与各个模板的匹配程度,所述位姿系数表示虚拟形象在三个维度上的旋转角度;
[0198]
目标系数获取模块133,用于对所述第一人脸系数中的所述模板表情系数和/或所述位姿系数进行时域修正处理,得到目标人脸系数;所述目标人脸系数与所述原始图像前一帧原始图像的人脸系数相关联;
[0199]
表情动画获取模块134,用于根据所述目标人脸系数渲染所述虚拟形象的表情,得到虚拟表情。
[0200]
在一实施例中,所述目标图像获取模块包括:
[0201]
人脸区域获取子模块,用于对所述原始图像进行人脸检测,获得所述原始图像包含的至少一个人脸区域;
[0202]
目标区域获取子模块,用于从所述至少一个人脸区域内选取出目标人脸区域;
[0203]
目标图像获取子模块,用于对所述目标人脸区域进行校正处理得到目标人脸图像。
[0204]
在一实施例中,所述目标区域获取子模块包括:
[0205]
第一确定单元,用于在所述人脸区域的数量为一个时,确定所述人脸区域为所述
目标人脸区域;
[0206]
第二确定单元,用于在所述人脸区域的数量为多个时,根据所述各个人脸区域的区域参数数据计算出各个人脸区域的评分值,所述评分值用于表示各个人脸区域距离所述原始图像中轴的程度;确定所述评分值的最大值对应的人脸区域为所述目标人脸区域。
[0207]
在一实施例中,所述区域参数数据包括长度、宽度、人脸面积和位置数据,所述第二确定单元包括:
[0208]
绝对值获取子单元,用于获取各个人脸区域中间位置的横坐标与宽度一半的差值,以及所述差值的绝对值;
[0209]
比值获取子单元,用于获取所述差值的绝对值与所述宽度的比值,以及所述比值与常数2的乘积;
[0210]
乘积获取子单元,用于获取常数1与所述乘积的差值,并获取所述乘积对应的差值与预设的距离权重的乘积;
[0211]
平方根获取子单元,用于获取所述各个人脸区域中人脸面积与所述长度和宽度两者乘积的比值,以及所述人脸面积对应比值的平方根;
[0212]
乘积获取子单元,用于获取所述平方根与预设的面积权重的乘积,所述面积权重和所述距离权重之和为1;
[0213]
评分值获取子单元,用于计算所述预设的面积权重对应的乘积和所述预设的距离权重的乘积的和值,得到各个人脸区域的评分值。
[0214]
在一实施例中,所述目标图像获取子模块包括:
[0215]
候选区域获取单元,用于确定所述目标人脸区域对应的候选正方形区域,得到所述候选正方形区域的顶点坐标数据;
[0216]
仿射系数获取单元,用于对所述候选正方形区域的顶点坐标数据和预设正方形的顶点坐标数据进行仿射变换,得到仿射变换系数;所述预设正方形的顶点坐标数据中包括一个指定原点;
[0217]
仿射图像获取单元,用于利用所述仿射变换系数对所述原始图像进行仿射变换,得到仿射变换图像;
[0218]
目标图像获取单元,用于以所述指定原点为基准从所述仿射变换图像截取预设边长的正方形区域,并将截取的正方形区域内的图像作为所述目标人脸图像。
[0219]
在一实施例中,所述第一系数获取模块包括:
[0220]
图像处理子模块,用于分别对所述目标人脸图像进行模糊处理和锐化处理,得到至少一张模糊图像和至少一张锐化图像;
[0221]
特征图像获取子模块,用于分别提取所述目标人脸图像、各张模糊图像和各张锐化图像中的特征数据,得到原始特征图像、模糊特征图像和锐化特征图像;
[0222]
初始图像获取子模块,用于拼接所述原始特征图像、所述模糊特征图像和所述锐化特征图像,得到初始特征图像;
[0223]
目标图像获取子模块,用于获取所述初始特征图像中各特征图像对所述虚拟形象表情表达的重要性系数,并根据所述重要性系数调整所述初始特征图像得到目标特征图像;
[0224]
人脸系数获取子模块,用于根据所述目标特征图像确定模板表情系数和位姿系
数,得到所述第一人脸系数。
[0225]
在一实施例中,所述第一系数获取模块包括:
[0226]
第一系数获取子模块,用于将所述目标人脸图像输入到预设的人脸系数识别网络,获得所述预设的人脸系数识别网络输出的所述目标人脸图像对应的第一人脸系数。
[0227]
在一实施例中,所述预设的人脸系数识别网络包括:模糊锐化模块、特征提取模块、注意力模块和系数学习模块;
[0228]
所述模糊锐化模块分别对所述目标人脸图像进行模糊处理和锐化处理,得到至少一张模糊图像和至少一张锐化图像;
[0229]
所述特征提取模块分别提取所述目标人脸图像、各张模糊图像和各张锐化图像中的特征数据,得到原始特征图像、模糊特征图像和锐化特征图像;并拼接所述原始特征图像、所述模糊特征图像和所述锐化特征图像,得到初始特征图像;
[0230]
所述注意力模块获取所述初始特征图像中各特征图像对所述虚拟形象表情表达的重要性系数,并根据所述重要性系数调整所述初始特征图像得到目标特征图像;
[0231]
所述系数学习模块根据所述目标特征图像确定模板表情系数和位姿系数,得到所述第一人脸系数。
[0232]
在一实施例中,所述注意力模块采用时间注意力机制或者空间注意力机制的网络模型实现。
[0233]
在一实施例中,所述系数学习模块采用resnet50、resnet18、resnet100、densenet和yolov5中的至少一种网络模型实现。
[0234]
在一实施例中,所述目标系数获取模块包括:
[0235]
权重系数获取子模块,用于获取所述原始图像之前的前一帧图像的第一人脸系数和预设的权重系数;所述前一帧图像的权重系数和所述原始图像的权重系数之和为1;
[0236]
目标系数获取子模块,用于对所述原始图像的第一人脸系数和所述前一帧图像的第一人脸系数进行加权求和值,得到所述原始图像对应的目标人脸系数。
[0237]
在一实施例中,所述装置还包括:
[0238]
适配矩阵获取模块,用于获取预设的表情适配矩阵;所述表情适配矩阵是指包含不同模板数量的两个人脸系数对应的转换关系;
[0239]
目标系数获取模块,用于计算时域修正处理后的人脸系数和所述表情适配矩阵的乘积,得到所述目标人脸系数。
[0240]
在一实施例中,所述预设的表情适配矩阵通过以下步骤获取:
[0241]
获取样本图像对应的第一预设系数,所述第一预设系数包括第一数量个模板的系数;
[0242]
获取样本图像对应的第二预设系数,所述第二预设系数包括第二数量个模板的系数;
[0243]
根据所述第一预设系数、所述第二预设系数和最小二乘法获取所述预设的表情适配矩阵。
[0244]
在一实施例中,所述表情动画获取模块,还用于在所述原始图像中未检测到人脸区域时,继续检测下一帧原始图像,并根据上一帧原始图像的目标人脸系数获取虚拟表情;
[0245]
或者,
[0246]
所述表情动画获取模块,还用于在所述原始图像中未检测到人脸区域且持续时长超过设定时长阈值时,根据预设的表情系数获取虚拟表情。
[0247]
需要说明的是,本实施例中示出的装置与方法实施例的内容相匹配,可以参考上述方法实施例的内容,在此不再赘述。
[0248]
在示例性实施例中,还提供了一种电子设备,参见图14,包括:
[0249]
摄像头143,用于采集图像和/或视频,以作为所述处理器的原始图像;
[0250]
3d显示器144,用于实时显示虚拟形象的虚拟表情或所述图像或者所述视频;
[0251]
处理器141;用于存储所述处理器可执行的计算机程序的存储器142;
[0252]
其中,所述处理器被配置为执行所述存储器中的计算机程序,以实现如图1~图12所述的方法。
[0253]
在示例性实施例中,还提供了一种非暂态计算机可读存储介质,例如包括可执行的计算机程序的存储器,上述可执行的计算机程序可由处理器执行,以实现如图1~图12所示实施例的方法。其中,可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
[0254]
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0255]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
技术特征:1.一种虚拟表情生成方法,其特征在于,包括:获取原始图像中的人脸区域,得到目标人脸图像;获取所述目标人脸图像对应的第一人脸系数;所述第一人脸系数包括模板表情系数和位姿系数,所述模板表情系数用于表征人脸表情与各个模板的匹配程度,所述位姿系数表示虚拟形象在三个维度上的旋转角度;对所述第一人脸系数中的所述模板表情系数和/或所述位姿系数进行时域修正处理,得到目标人脸系数;所述目标人脸系数与所述原始图像前一帧原始图像的人脸系数相关联;根据所述目标人脸系数渲染所述虚拟形象的表情,得到虚拟表情。2.根据权利要求1所述的方法,其特征在于,获取原始图像中的人脸区域,得到目标人脸图像,包括:对所述原始图像进行人脸检测,获得所述原始图像包含的至少一个人脸区域;从所述至少一个人脸区域内选取出目标人脸区域;对所述目标人脸区域进行校正处理得到目标人脸图像。3.根据权利要求2所述的方法,其特征在于,从所述至少一个人脸区域内选取出目标人脸区域,包括:当所述人脸区域的数量为一个时,确定所述人脸区域为所述目标人脸区域;当所述人脸区域的数量为多个时,根据所述各个人脸区域的区域参数数据计算出各个人脸区域的评分值,所述评分值用于表示各个人脸区域距离所述原始图像中轴的程度;确定所述评分值的最大值对应的人脸区域为所述目标人脸区域。4.根据权利要求3所述的方法,其特征在于,所述区域参数数据包括长度、宽度、人脸面积和位置数据,根据所述各个人脸区域的区域参数数据计算出各个人脸区域的评分值,包括:获取各个人脸区域中间位置的横坐标与宽度一半的差值,以及所述差值的绝对值;获取所述差值的绝对值与所述宽度的比值,以及所述比值与常数2的乘积;获取常数1与所述乘积的差值,并获取所述乘积对应的差值与预设的距离权重的乘积;获取所述各个人脸区域中人脸面积与所述长度和宽度两者乘积的比值,以及所述人脸面积对应比值的平方根;获取所述平方根与预设的面积权重的乘积,所述面积权重和所述距离权重之和为1;计算所述预设的面积权重对应的乘积和所述预设的距离权重的乘积的和值,得到各个人脸区域的评分值。5.根据权利要求2所述的方法,其特征在于,对所述目标人脸区域进行校正处理得到目标人脸图像,包括:确定所述目标人脸区域对应的候选正方形区域,得到所述候选正方形区域的顶点坐标数据;对所述候选正方形区域的顶点坐标数据和预设正方形的顶点坐标数据进行仿射变换,得到仿射变换系数;所述预设正方形的顶点坐标数据中包括一个指定原点;利用所述仿射变换系数对所述原始图像进行仿射变换,得到仿射变换图像;以所述指定原点为基准从所述仿射变换图像截取预设边长的正方形区域,并将截取的
正方形区域内的图像作为所述目标人脸图像。6.根据权利要求1所述的方法,其特征在于,获取所述目标人脸图像对应的第一人脸系数,包括:分别对所述目标人脸图像进行模糊处理和锐化处理,得到至少一张模糊图像和至少一张锐化图像;分别提取所述目标人脸图像、各张模糊图像和各张锐化图像中的特征数据,得到原始特征图像、模糊特征图像和锐化特征图像;拼接所述原始特征图像、所述模糊特征图像和所述锐化特征图像,得到初始特征图像;获取所述初始特征图像中各特征图像对所述虚拟形象表情表达的重要性系数,并根据所述重要性系数调整所述初始特征图像得到目标特征图像;根据所述目标特征图像确定模板表情系数和位姿系数,得到所述第一人脸系数。7.根据权利要求1所述的方法,其特征在于,获取所述目标人脸图像对应的第一人脸系数,包括:将所述目标人脸图像输入到预设的人脸系数识别网络,获得所述预设的人脸系数识别网络输出的所述目标人脸图像对应的第一人脸系数。8.根据权利要求7所述的方法,其特征在于,所述预设的人脸系数识别网络包括:模糊锐化模块、特征提取模块、注意力模块和系数学习模块;所述模糊锐化模块分别对所述目标人脸图像进行模糊处理和锐化处理,得到至少一张模糊图像和至少一张锐化图像;所述特征提取模块分别提取所述目标人脸图像、各张模糊图像和各张锐化图像中的特征数据,得到原始特征图像、模糊特征图像和锐化特征图像;并拼接所述原始特征图像、所述模糊特征图像和所述锐化特征图像,得到初始特征图像;所述注意力模块获取所述初始特征图像中各特征图像对所述虚拟形象表情表达的重要性系数,并根据所述重要性系数调整所述初始特征图像得到目标特征图像;所述系数学习模块根据所述目标特征图像确定模板表情系数和位姿系数,得到所述第一人脸系数。9.根据权利要求8所述的方法,其特征在于,所述注意力模块采用时间注意力机制或者空间注意力机制的网络模型实现。10.根据权利要求8所述的方法,其特征在于,所述系数学习模块采用resnet50、resnet18、resnet100、densenet和yolov5中的至少一种网络模型实现。11.根据权利要求8所述的方法,其特征在于,对所述第一人脸系数中的所述模板表情系数和/或所述位姿系数进行时域修正处理,得到目标人脸系数,包括:获取所述原始图像之前的前一帧图像的第一人脸系数和预设的权重系数;所述前一帧图像的权重系数和所述原始图像的权重系数之和为1;对所述原始图像的第一人脸系数和所述前一帧图像的第一人脸系数进行加权求和值,得到所述原始图像对应的目标人脸系数。12.根据权利要求8所述的方法,其特征在于,对所述第一人脸系数中的所述模板表情系数和/或所述位姿系数进行时域修正处理之后,所述方法还包括:获取预设的表情适配矩阵;所述表情适配矩阵是指包含不同模板数量的两个人脸系数
对应的转换关系;计算时域修正处理后的人脸系数和所述表情适配矩阵的乘积,得到所述目标人脸系数。13.根据权利要求8所述的方法,其特征在于,所述预设的表情适配矩阵通过以下步骤获取:获取样本图像对应的第一预设系数,所述第一预设系数包括第一数量个模板的系数;获取样本图像对应的第二预设系数,所述第二预设系数包括第二数量个模板的系数;根据所述第一预设系数、所述第二预设系数和最小二乘法获取所述预设的表情适配矩阵。14.根据权利要求1所述的方法,其特征在于,所述方法还包括:当在所述原始图像中未检测到人脸区域时,继续检测下一帧原始图像,并根据上一帧原始图像的目标人脸系数获取虚拟表情;或者,当在所述原始图像中未检测到人脸区域且持续时长超过设定时长阈值时,根据预设的表情系数获取虚拟表情。15.一种虚拟表情生成装置,其特征在于,包括:目标图像获取模块,用于获取原始图像中的人脸区域,得到目标人脸图像;第一系数获取模块,用于获取所述目标人脸图像对应的第一人脸系数;所述第一人脸系数包括模板表情系数和位姿系数,所述模板表情系数用于表征人脸表情与各个模板的匹配程度,所述位姿系数表示虚拟形象在三个维度上的旋转角度;目标系数获取模块,用于对所述第一人脸系数中的所述模板表情系数和/或所述位姿系数进行时域修正处理,得到目标人脸系数;表情动画获取模块,用于根据所述目标人脸系数渲染所述虚拟形象的表情,得到虚拟表情。16.一种电子设备,其特征在于,包括:摄像头,用于采集图像和/或视频,以作为所述处理器的原始图像;3d显示器,用于实时显示虚拟形象的虚拟表情或所述图像或者所述视频;处理器和用于存储可执行指令的存储器;所述处理器从所述存储器中读取可执行指令,以实现权利要求1~14任一项所述的方法的步骤。17.一种芯片,其特征在于,包括:处理器和用于存储可执行程序的存储器;所述处理器从所述存储器中读取可执行程序,以实现权利要求1~14任一项所述的方法的步骤。18.一种非暂态计算机可读存储介质,其上存储有计算机可执行程序,其特征在于,该可执行程序被执行时实现权利要求1~14任一项所述方法的步骤。
技术总结本公开是关于一种虚拟表情生成方法、装置、电子设备和存储介质。该方法包括:获取原始图像中的人脸区域,得到目标人脸图像;获取所述目标人脸图像对应的第一人脸系数;对所述第一人脸系数中的所述模板表情系数和/或所述位姿系数进行时域修正处理,得到目标人脸系数;根据所述目标人脸系数渲染所述虚拟形象的表情,得到虚拟表情。本实施例中通过对第一人脸系数进行时域修正处理,可以使视频中相邻的原始图像的表情具有相关性和连续性,使重建的表情更自然,提升观看体验;通过传输目标人脸系数而非图像数据来渲染虚拟形象的表情来获得虚拟表情,可降低数据传输量,达到实时重建虚拟表情的效果。拟表情的效果。拟表情的效果。
技术研发人员:崔腾鹤
受保护的技术使用者:京东方科技集团股份有限公司
技术研发日:2022.07.25
技术公布日:2022/11/1