本技术涉及计算机,特别涉及一种表情信息的获取方法、装置、计算机设备及存储介质。
背景技术:
1、随着计算机技术的发展,三维的虚拟动画应运而生。当制作三维的虚拟动画时,通过采用视频面捕来制作动画中的角色。视频面捕是一项提取二维视频中的人脸表情信息,再迁移到三维动画角色上的技术。如何精确地提取人脸表情信息,以提高三维动画角色的制作效果是本领域研究的重点。
2、目前,通常采用的方式是先获取视频中多个视频帧内的人脸;然后,由用户从多个视频帧内的人脸中选择一个没有表情的中立脸帧;然后,对于其他任一视频帧,基于用户选择的中立脸帧为基准,从该视频帧内的人脸中过滤掉中立脸帧所反映的脸部形状的干扰,提取人脸表情信息;最后,将人脸表情信息迁移到三维动画角色上。由此,三维动画角色上能够体现人脸的表情。
3、但是,上述技术方案中,由于用户选择的中立脸帧中很可能存在某些不易观察的细微表情,使得用户选择的中立脸帧中无法准确脸部形状,从而使得基于中立脸帧提取的人脸表情信息不够准确,导致制作的三维动画角色不能够准确体现人脸的表情,制作效果差。
技术实现思路
1、本技术实施例提供了一种表情信息的获取方法、装置、计算机设备及存储介质,能够实现脸部形状和表情信息准确解耦的目的,也即是能够更加准确地从视频中排除对象的脸部形状的干扰,获得更准确的表情信息,利于提升后续三维动画的制作效果。所述技术方案如下:
2、一方面,提供了一种表情信息的获取方法,所述方法包括:
3、对于视频内多个视频帧中的任一视频帧,基于所述视频帧中对象的脸部、形状基和表情基,获取初始形状权重和初始表情权重,所述初始形状权重用于表示所述视频帧中所述对象的脸部形状,所述初始表情权重用于表示所述视频帧中所述对象的表情信息,所述形状基指的是用于描述脸部形状的形状基底,包括多个样本脸部形状,每个所述样本脸部形状可以基于样本脸部上与形状相关的关键点的位置来确定,所述表情基指的是用于描述表情信息的表情基底,包括多组样本表情信息,每组所述样本表情信息可以基于样本脸部上与表情相关的关键点的位置来确定;
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、本技术实施例提供了一种表情信息的获取方法,通过视频内多个视频帧中对象的初始表情权重,来确定视频中的中立脸帧,由于在表情基已知的情况下,初始表情权重能够反映视频帧中对象的表情信息,使得能够尽可能摆脱表情信息的干扰,从视频中获取对象的脸部形状,也即是在形状基已知的情况下,使得中立脸帧能够更加准确的反映对象的脸部形状,然后基于中立脸帧确定对象的全局形状权重初值,通过以原始的视频帧中所呈现的脸部为基准,对全局形状权重初值进行迭代,使得得到的全局形状权重能够在全局角度上更加准确的反映整个视频中对象的脸部形状,从而实现脸部形状和表情信息准确解耦的目的,也即是能够更加准确地从视频中排除对象的脸部形状的干扰,获得更准确的表情信息,利于提升后续三维动画的制作效果。