虚拟道具的处理方法、装置、设备和存储介质制造方法及图纸

技术编号:32133330 阅读:22 留言:0更新日期:2022-01-29 19:37
本公开涉及一种虚拟道具的处理方法、装置、设备和存储介质。该方法包括:基于三维人脸顶点数据获取虚拟道具的第一类位置顶点的目标位置;基于所述虚拟道具对应的目标对象的姿态变化、所述虚拟道具的属性信息以及所述虚拟道具在初始帧的形态参数,确定所述虚拟道具的第二类位置顶点的目标位置;基于所述第一类位置顶点的目标位置、所述第二类位置顶点的目标位置以及历史帧中的所述虚拟道具的顶点的位置信息,获取当前帧中的所述虚拟道具的顶点的目标位置;基于所述当前帧中的所述虚拟道具的顶点的目标位置,在当前帧中显示所述虚拟道具。该方法能够提升虚拟道具的展示效果。该方法能够提升虚拟道具的展示效果。该方法能够提升虚拟道具的展示效果。

【技术实现步骤摘要】
虚拟道具的处理方法、装置、设备和存储介质


[0001]本公开涉及多媒体
,尤其涉及一种虚拟道具的处理方法、装置、设备和存储介质。

技术介绍

[0002]在视频直播、拍照等互动应用程序(Application,APP)中,通常会设置虚拟道具,增强视频直播以及拍照的趣味性,并且有利于增加用户之间的互动性。
[0003]现有技术中,虚拟道具可以是虚拟睫毛、虚拟文字、虚拟妆容以及虚拟场景等,以虚拟睫毛为例,当前的虚拟睫毛技术通过两个固定模型的睫毛模型来呈现虚拟睫毛。
[0004]然而,采用现有技术的方法,虚拟道具与用户的脸部的关键点位不能准确吸附,导致虚拟道具的展示效果较差。

技术实现思路

[0005]为了解决上述技术问题,本公开提供了一种虚拟道具的处理方法、装置、设备和存储介质,能够提升虚拟道具的展示效果。
[0006]第一方面,本公开提供了一种虚拟道具的处理方法,包括:
[0007]基于三维人脸顶点数据获取虚拟道具的第一类位置顶点的目标位置;
[0008]基于所述虚拟道具对应的目标对象的姿态变化、所述虚拟道具的属性信息以及所述虚拟道具在初始帧的形态参数,确定所述虚拟道具的第二类位置顶点的目标位置;
[0009]基于所述第一类位置顶点的目标位置、所述第二类位置顶点的目标位置以及历史帧中的所述虚拟道具的顶点的位置信息,获取当前帧中的所述虚拟道具的顶点的目标位置;
[0010]基于所述当前帧中的所述虚拟道具的顶点的目标位置,在当前帧中显示所述虚拟道具
[0011]可选的,所述基于所述第一类位置顶点的目标位置、所述第二类位置顶点的目标位置以及历史帧中的所述虚拟道具的顶点的位置信息,获取当前帧中的所述虚拟道具的顶点的目标位置,包括:
[0012]基于所述第一类位置顶点的目标位置、所述第二类位置顶点的目标位置、初始网格中顶点的位置信息以及上一帧网格中顶点的位置信息,获取当前帧中的所述虚拟道具的顶点的目标位置,其中,所述初始网格为初始帧中的所述虚拟道具的各顶点组成的网格,所述上一帧网格为上一帧中的所述虚拟道具的各顶点组成的网格。
[0013]可选的,所述基于所述第一类位置顶点的目标位置、所述第二类位置顶点的目标位置、初始网格中顶点的位置信息以及上一帧网格中顶点的位置信息,获取当前帧中的所述虚拟道具的顶点的目标位置,包括:
[0014]在每次迭代中,针对每个第三类位置顶点:根据初始网格中顶点的位置信息以及上一次迭代中所述第三类位置顶点的位置信息,获取本次迭代中所述第三类位置顶点对应
的旋转矩阵;根据所述旋转矩阵,获取本次迭代中所述第三类位置顶点对应的候选位置,其中,所述上一次迭代中所述第三类位置顶点的位置信息的初始值为所述上一帧网格中所述第三类位置顶点的位置信息;
[0015]根据本次迭代中的第三类位置顶点对应的候选位置、初始网格中顶点的位置信息以及上一帧网格中顶点的位置信息,确定当前帧中所述第三类位置顶点对应的目标位置;
[0016]根据所述第一类位置顶点的目标位置、所述第二类位置顶点的目标位置以及所述第三类位置顶点对应的目标位置,得到当前帧中的虚拟道具的顶点的目标位置。
[0017]可选的,所述根据初始网格中顶点的位置信息以及上一次迭代中所述第三类位置顶点的位置信息,获取本次迭代中所述第三类位置顶点对应的旋转矩阵,包括:
[0018]基于形变能量最小化原则,根据公式(1),获取本次迭代中第i个所述第三类位置顶点对应的旋转矩阵:
[0019]E=∑
j∈N(i)
ω
ij
||(p

i

p

j
)

R
i
(p
i

p
j
)||2ꢀꢀꢀꢀꢀꢀ
(1)
[0020]其中,j∈N(i)表示第三类位置顶点i是第三类位置顶点j邻接的点,ω
ij
表示第三类位置顶点i和第三类位置顶点j所构成的边的权重值,p
i
表示初始网格中第三类位置顶点i的位置,p
j
表示初始网格中第三类位置顶点j的位置,p

i
表示上一次迭代网格中第三类位置顶点i的位置,p

j
表示上一次迭代网格中第三类位置顶点j的位置,R
i
为本次迭代中第三类位置顶点i对应的旋转矩阵。
[0021]可选的,所述根据本次迭代中的第三类位置顶点对应的候选位置、初始网格中顶点的位置信息以及上一帧网格中顶点的位置信息,确定当前帧中所述第三类位置顶点对应的目标位置,包括:
[0022]根据本次迭代中的第三类位置顶点对应的候选位置以及所述初始网格中顶点的位置信息,获取本次迭代网格的总形变能量,其中,所述总形变能量用于表征网格的形变程度;
[0023]若所述总形变能量不满足预设条件,则更新所述本次迭代中的第三类位置顶点对应的候选位置为所述上一次迭代中的第三类位置顶点对应的候选位置,返回执行所述根据初始网格中顶点的位置信息以及上一次迭代中所述第三类位置顶点的位置信息,获取本次迭代中所述第三类位置顶点对应的旋转矩阵,直到所述本次迭代网格的总形变能量满足预设条件;
[0024]确定所述本次迭代中的第三类位置顶点对应的候选位置为当前帧中所述第三类位置顶点对应的目标位置。
[0025]可选的,所述根据本次迭代中的第三类位置顶点对应的候选位置以及所述初始网格中顶点的位置信息,获取本次迭代网格的总形变能量,包括:
[0026]根据公式(2)获取本次迭代网格的总形变能量:
[0027][0028]其中,j∈N(i)表示第三类位置顶点i是第三类位置顶点j邻接的点,ω
ij
表示第三类位置顶点i和第三类位置顶点j所构成的边的权重值,p
i
表示初始网格中第三类位置顶点i的位置,p
j
表示初始网格中第三类位置顶点j的位置,p

i
表示上一次迭代网格中第三类位置顶点i的位置,p

j
表示上一次迭代网格中第三类位置顶点j的位置,R
i
为本次迭代中第三
类位置顶点i对应的旋转矩阵。
[0029]可选的,所述根据本次迭代中的第三类位置顶点对应的候选位置、初始网格中顶点的位置信息以及上一帧网格中顶点的位置信息,确定当前帧中所述第三类位置顶点对应的目标位置,包括:
[0030]确定当前迭代次数是否满足预设次数,若不满足预设次数,则更新所述本次迭代中的第三类位置顶点对应的候选位置为所述上一次迭代中的第三类位置顶点对应的候选位置,返回执行所述根据初始网格中顶点的位置信息以及上一次迭代中所述第三类位置顶点的位置信息,获取本次迭代中所述第三类位置顶点对应的旋转矩阵,直到当前迭代次数满足预设次数;...

【技术保护点】

【技术特征摘要】
1.一种虚拟道具的处理方法,其特征在于,包括:基于三维人脸顶点数据获取虚拟道具的第一类位置顶点的目标位置;基于所述虚拟道具对应的目标对象的姿态变化、所述虚拟道具的属性信息以及所述虚拟道具在初始帧的形态参数,确定所述虚拟道具的第二类位置顶点的目标位置;基于所述第一类位置顶点的目标位置、所述第二类位置顶点的目标位置以及历史帧中的所述虚拟道具的顶点的位置信息,获取当前帧中的所述虚拟道具的顶点的目标位置;基于所述当前帧中的所述虚拟道具的顶点的目标位置,在当前帧中显示所述虚拟道具。2.根据权利要求1所述的方法,其特征在于,所述基于所述第一类位置顶点的目标位置、所述第二类位置顶点的目标位置以及历史帧中的所述虚拟道具的顶点的位置信息,获取当前帧中的所述虚拟道具的顶点的目标位置,包括:基于所述第一类位置顶点的目标位置、所述第二类位置顶点的目标位置、初始网格中顶点的位置信息以及上一帧网格中顶点的位置信息,获取当前帧中的所述虚拟道具的顶点的目标位置,其中,所述初始网格为初始帧中的所述虚拟道具的各顶点组成的网格,所述上一帧网格为上一帧中的所述虚拟道具的各顶点组成的网格。3.根据权利要求2所述的方法,其特征在于,所述基于所述第一类位置顶点的目标位置、所述第二类位置顶点的目标位置、初始网格中顶点的位置信息以及上一帧网格中顶点的位置信息,获取当前帧中的所述虚拟道具的顶点的目标位置,包括:在每次迭代中,针对每个第三类位置顶点:根据初始网格中顶点的位置信息以及上一次迭代中所述第三类位置顶点的位置信息,获取本次迭代中所述第三类位置顶点对应的旋转矩阵;根据所述旋转矩阵,获取本次迭代中所述第三类位置顶点对应的候选位置,其中,所述上一次迭代中所述第三类位置顶点的位置信息的初始值为所述上一帧网格中所述第三类位置顶点的位置信息;根据本次迭代中的第三类位置顶点对应的候选位置、初始网格中顶点的位置信息以及上一帧网格中顶点的位置信息,确定当前帧中所述第三类位置顶点对应的目标位置;根据所述第一类位置顶点的目标位置、所述第二类位置顶点的目标位置以及所述第三类位置顶点对应的目标位置,得到当前帧中的虚拟道具的顶点的目标位置。4.根据权利要求3所述的方法,其特征在于,所述根据初始网格中顶点的位置信息以及上一次迭代中所述第三类位置顶点的位置信息,获取本次迭代中所述第三类位置顶点对应的旋转矩阵,包括:基于形变能量最小化原则,根据公式(1),获取本次迭代中第i个所述第三类位置顶点对应的旋转矩阵:E=∑
j∈N(i)
ω
ij
||(p

i

p

j
)

R
i
(p
i

p
j
)||2ꢀꢀꢀꢀ
(1)其中,j∈N(i)表示第三类位置顶点i是第三类位置顶点j邻接的点,ω
ij
表示第三类位置顶点i和第三类位置顶点j所构成的边的权重值,p
i
表示初始网格中第三类位置顶点i的位置,p
j
表示初始网格中第三类位置顶点j的位置,p

i
表示上一次迭代网格中第三类位置顶点i的位置,p

j
表示上一次迭代网格中第三类位置顶点j的位置,R
i
为本次迭代中第三类位置顶点i对应的旋转矩阵。5.根据权利要求3所述的方法,其特征在于,所述根据本次迭代中的第三类位置顶点对
应的候选位置、初始网格中顶点的位置信息以及上一帧网格中顶点的位置信息,确定当前帧中所述第三类位置顶点对应的目标位置,包括:根据本次迭代中的第三类位置顶点对应的候选位置以及所述初始网格中顶点的位置信息,获取本次迭代网格的总形变能量,其中,所述总形变能量用于表征网格的形变程度;若所述总形变能量不满足预设条件,则更新所述本次迭代中的第三类位置顶点对应的候选位置为所述上一次迭代中的第三类位置顶点对应的候选位置,返回执行所述根据初始网格中顶点的位置信息以及...

【专利技术属性】
技术研发人员:宋立
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1