【技术实现步骤摘要】
一种从动捕数据中提取关键帧并重构运动的方法和系统
本专利技术涉及计算机动画制作
,具体涉及一种从动捕数据中提取关键帧并重构运动的方法和系统。
技术介绍
在计算机动画中,人体角色动画是很重要的组成部分,但由于人体运动自由度高,所以创建一个真实逼真的运动模型是非常困难的。目前制作人体角色动画主要采用基于运动学的动画制作、基于运动捕获数据(动捕数据)的动画制作等方法,其中基于运动捕获数据的动画制作方法应用最为广泛。但运动捕获数据是以较高的采样频率获得,平均每秒几十帧甚至上百帧,每一帧又包含了十几个甚至几十个关节点的旋转信息,得到的数据量庞大且有大量的数据冗余,非常不利于运动捕获数据的压缩、存储、检索以及进一步重用,所以需要提取出代表运动数据内容的关键帧。但现有的关键帧提取方法很难做到对关键帧的精准提取,导致根据关键帧重构的运动姿态真实度和逼真度不佳,无法应用到人体角色动画制作中。
技术实现思路
本专利技术的目的在于提供一种从动捕数据中提取关键帧并重构运动的方法和系统,以解决上述技术问题。为达此目的 ...
【技术保护点】
1.一种从动捕数据中提取关键帧的方法,其特征在于,包括如下步骤:/n步骤S1,将运动序列的第一帧t
【技术特征摘要】
1.一种从动捕数据中提取关键帧的方法,其特征在于,包括如下步骤:
步骤S1,将运动序列的第一帧t0作为关键帧加入到关键帧集合keynum[j]中,并确定当前为止搜索到最后的关键帧为尾关键帧lastkey,并初始化循环变量x=2,所述循环变量x表示当前帧t和所述尾关键帧lastkey之间的帧数;j∈[1,2,3,…,keynum],keynum为提取关键帧的数量;
步骤S2,判断所述循环变量x的变量值是否大于或等于所述运动序列的长度n,
若是,则终止关键帧提取过程;
若否,则进入步骤S3;
步骤S3,计算当前帧t和当前为止搜索到最后的所述尾关键帧lastkey之间的帧间距离d;
步骤S4,判断所述帧间距离d是否大于或等于一预设阈值δ,
若是,则将第t帧作为关键帧被提取并保存在所述关键帧集合keynum[j]中,并使当前为止搜索到最后的所述尾关键帧lastkey为第t+1帧;
若否,则将第t帧作为冗余帧过滤;
步骤S5,将所述第t+1帧作为当前帧并返回所述步骤S2,直至完成对所述运动序列的关键帧的提取。
2.如权利要求1所述的从动捕数据中提取关键帧的方法,其特征在于,同一所述运动序列中的所述帧间距离d通过以下公式计算而得:
上式中,d(qi(t1),qi(t2))表示所述运动序列的第t1帧的第i个关节旋转到第t2帧的四元数距离;
wi表示各关节i对运动姿势影响程度的大小;
i=1,2,…,m;m为关节i的数量;
D(t1,t2)表示第t1帧和第t2帧之间的帧间距离。
3.如权利要求1所述的从动捕数据中提取关键帧的方法,其特征在于,运动序列A中的每一帧到运动序列B中的每一帧的所述帧间距离d通过以下公式计算而得:
上式中,表示所述运动序列A的第k帧第i个关节到所述运动序列B的第k帧第i个关节之间的四元数距离;
wi表示各关节i对运动姿势影响程度的大小;
i=1,2,…,m;m为关节i的数量。
4.一种从动捕数据中提取关键帧的系统,可实现如权1~3任意一项所述的方法,其特征在于,包括:
运动序列获取模块,用于获取所述运动序列;
运动序列长度计算模块,连接所述运动序列获取模块,用于计算所述运动序列的长度n;
关键帧提取条件设置模块,用于提供给用户自主设定作为提取所述关键帧的提取条件的所述循环变量x的变量值;所述循环变量x的变量值用于表示当前帧t和当前为止搜索到最后的所述尾关键帧lastkey之间的帧数;
关键帧提取条件达到与否判断模块,分别连接所述运动序列长度计算模块和所述关键帧提取条件设置模块,用于判断所述循环变量x的变量值是否大于或等于所述运动序列的长度n,
若是,则视为关键帧提取条件未达到,并终止关键帧提取过程;
若否,则生成帧间距计算指令并输出;
帧间距计算模块,连接所述关键帧提取条件达到与否判断模块,用于根据接收到的所述帧间距计算指令计算当前帧t和当前为止搜索到最后的所述尾关键帧lastkey之间的所述帧间距离d;
关键帧判断模块,连接所述帧间距计算模块,用于判断所述帧间距离d是否大于或等于一预设阈值δ,
若是,则生成关键帧提取指令并输出;
若否,则终止关键帧提取过程;
关键帧提取模块,连接所述关键帧判断模块,用于根据接收到的所述关键帧提取指令将当前的第t帧作为关键帧提取并保存到所述关键帧集合keynum[j]中。
5.如权利要求4所述的...
【专利技术属性】
技术研发人员:不公告发明人,
申请(专利权)人:北京中科深智科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。