CN111681303A - 一种从动捕数据中提取关键帧并重构运动的方法和系统 - Google Patents

一种从动捕数据中提取关键帧并重构运动的方法和系统 Download PDF

Info

Publication number
CN111681303A
CN111681303A CN202010521612.0A CN202010521612A CN111681303A CN 111681303 A CN111681303 A CN 111681303A CN 202010521612 A CN202010521612 A CN 202010521612A CN 111681303 A CN111681303 A CN 111681303A
Authority
CN
China
Prior art keywords
frame
key frame
key
motion
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010521612.0A
Other languages
English (en)
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zhongke Shenzhi Technology Co ltd
Original Assignee
Beijing Zhongke Shenzhi Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Zhongke Shenzhi Technology Co ltd filed Critical Beijing Zhongke Shenzhi Technology Co ltd
Priority to CN202010521612.0A priority Critical patent/CN111681303A/zh
Publication of CN111681303A publication Critical patent/CN111681303A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种从动捕数据中提取关键帧并重构运动的方法和系统,本发明利用四元数之间的距离表示人体姿态差异,并将人体各关节上的总变化作为帧间距,以运动首帧作为第一个关键帧,通过不断迭代计算当前帧同最后一个关键帧之间的差异,消除差异小于阈值的帧,差异超过阈值的帧被当作关键帧并提取保存,然后对提取的关键帧集合采用四元数球面插值方法进行运动重构,对原始运动捕获数据既有较高的压缩率,又确保了原始动画还原的真实度和逼真度。

Description

一种从动捕数据中提取关键帧并重构运动的方法和系统
技术领域
本发明涉及计算机动画制作技术领域,具体涉及一种从动捕数据中提取关键帧并重构运动的方法和系统。
背景技术
在计算机动画中,人体角色动画是很重要的组成部分,但由于人体运动自由度高,所以创建一个真实逼真的运动模型是非常困难的。目前制作人体角色动画主要采用基于运动学的动画制作、基于运动捕获数据(动捕数据)的动画制作等方法,其中基于运动捕获数据的动画制作方法应用最为广泛。但运动捕获数据是以较高的采样频率获得,平均每秒几十帧甚至上百帧,每一帧又包含了十几个甚至几十个关节点的旋转信息,得到的数据量庞大且有大量的数据冗余,非常不利于运动捕获数据的压缩、存储、检索以及进一步重用,所以需要提取出代表运动数据内容的关键帧。但现有的关键帧提取方法很难做到对关键帧的精准提取,导致根据关键帧重构的运动姿态真实度和逼真度不佳,无法应用到人体角色动画制作中。
发明内容
本发明的目的在于提供一种从动捕数据中提取关键帧并重构运动的方法和系统,以解决上述技术问题。
为达此目的,本发明采用以下技术方案:
提供一种从动捕数据中提取关键帧的方法,包括如下步骤:
步骤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,直至完成对所述运动序列的关键帧的提取。
作为本发明的一种优选方案,同一所述运动序列中的所述帧间距离d通过以下公式计算而得:
Figure BDA0002532041320000021
上式中,d(qi(t1),qi(t2))表示所述运动序列的第t1帧的第i个关节旋转到第t2帧的四元数距离;
wi表示各关节i对运动姿势影响程度的大小;
i=1,2,…,m;m为关节i的数量;
D(t1,t2)表示第t1帧和第t2帧之间的帧间距离。
作为本发明的一种优选方案,运动序列A中的每一帧到运动序列B中的每一帧的所述帧间距离d通过以下公式计算而得:
Figure BDA0002532041320000022
上式中,
Figure BDA0002532041320000023
表示所述运动序列A的第k帧第i个关节到所述运动序列B的第k帧第i个关节之间的四元数距离;
wi表示各关节i对运动姿势影响程度的大小;
i=1,2,…,m;m为关节i的数量。
本发明还提供了一种从动捕数据中提取关键帧的系统,可实现所述的方法,所述系统包括:
运动序列获取模块,用于获取所述运动序列;
运动序列长度计算模块,连接所述运动序列获取模块,用于计算所述运动序列的长度n;
关键帧提取条件设置模块,用于提供给用户自主设定作为提取所述关键帧的提取条件的所述循环变量x的变量值;所述循环变量x的变量值用于表示当前帧t和当前为止搜索到最后的所述尾关键帧lastkey之间的帧数;
关键帧提取条件达到与否判断模块,分别连接所述运动序列长度计算模块和所述关键帧提取条件设置模块,用于判断所述循环变量x的变量值是否大于或等于所述运动序列的长度n,
若是,则视为关键帧提取条件未达到,并终止关键帧提取过程;
若否,则生成帧间距计算指令并输出;
帧间距计算模块,连接所述关键帧提取条件达到与否判断模块,用于根据接收到的所述帧间距计算指令计算当前帧t和当前为止搜索到最后的所述尾关键帧lastkey之间的所述帧间距离d;
关键帧判断模块,连接所述帧间距计算模块,用于判断所述帧间距离d是否大于或等于一预设阈值δ,
若是,则生成关键帧提取指令并输出;
若否,则终止关键帧提取过程;
关键帧提取模块,连接所述关键帧判断模块,用于根据接收到的所述关键帧提取指令将当前的第t帧作为关键帧提取并保存到所述关键帧集合keynum[j]中。
作为本发明的一种优选方案,所述循环变量x的变量值为2。
作为本发明的一种优选方案,所述帧间距离d通过以下公式计算而得:
Figure BDA0002532041320000031
上式中,d(qi(t1),qi(t2))表示所述运动序列的第t1帧的第i个关节旋转到第t2帧的四元数距离;
wi表示各关节i对运动姿势影响程度的大小;
i=1,2,…,m;m为关节i的数量;
D(t1,t2)表示第t1帧和第t2帧之间的帧间距离。
本发明还提供了一种运动重构方法,基于所述从动捕数据中提取关键帧的系统提取的所述关键帧集合keynum[j]实现,该运动重构方法包括如下步骤:
步骤L1,确定循环变量y的变量值范围,y∈[1,2,3,…,keynum],keynum为所述关键帧集合keynum[j]中的所述关键帧的数量;
步骤L2,确定所述循环变量y的变量值;
步骤L3,判断所述循环变量y的变量值是否大于或等于keynum-1,
若是,则终止运动重构过程;
若否,则提取相邻关键帧T1=keynum[y],R2=keynum[y+1];
步骤L4,对所述关键帧T1和所述关键帧T2之间的非关键帧进行插值重建;
步骤L5,返回所述步骤L2,直至完成对所述关键帧集合keynum[j]中的所有关键帧之间的非关键帧插值重建过程。
作为本发明的一种优选方案,所述步骤L4中,对所述关键帧T1和所述关键帧T2之间的非关键帧进行插值重建包括针对根关节的一般线性插值重建和针对非根关节的四元数球面插值重建,其中针对根关节的所述一般线性插值重建通过以下公式实现:
Figure BDA0002532041320000041
上式中,P1用于表示所述关键帧T1中根关节的所处位置的位置值;
P2用于表示所述关键帧T1中的所述根关节在相邻的所述关键帧T2中的所处位置的位置值;
Pt用于表示t时刻同个所述根关节的所处位置的位置值;
t1<t<t2
作为本发明的一种优选方案,针对非根关节的所述四元数球面插值重建通过以下公式实现:
Figure BDA0002532041320000042
上式中,slerp(q1,q2,t)表示从单位四元数q1到单位四元数q2的四元数球面插值;
θ=arc cos(q1×q2);
t∈[0,1]。
本发明还提供一种运动重构系统,可实现所述的运动重构方法,包括:
运动重构条件设定模块,用于提供给用户自主设定重构运动的所述循环变量y的变量值范围;
变量值确定模块,连接所述运动重构条件设定模块,用于在用户设定的所述变量值范围内自动确定所述循环变量y的变量值;
关键帧数量读取模块,用于读取所述关键帧集合keynum[j]中的所述关键帧数量keynum;
运动重构条件是否达到判断模块,分别连接所述变量值确定模块和所述关键帧数量读取模块,用于判断所述循环变量j当前的变量值是否大于或等于keynum-1,
若是,则终止运动重构过程;
若否,则生成相邻关键帧提取指令并输出;
相邻关键帧提取模块,连接所述运动重构条件是否达到判断模块,用于根据所述相邻关键帧提取指令从所述关键帧集合keynum[j]中提取出相邻的所述关键帧T1和所述关键帧T2
运动重构模块,连接所述相邻关键帧提取模块,用于对相邻所述关键帧T1和所述关键帧T2之间的非关键帧进行插值重建,以重构出与原始的所述运动序列相同帧数的重建运动序列。
本发明通过帧间距离提取的关键帧精准度更高,并且根据提取的关键帧重构的运动姿态很好地还原了原始动画的真实度和逼真度,不仅压缩了动捕数据的数据量,而且提高了所压缩的动捕数据的质量。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例所述的从动捕数据中提取关键帧的方法的方法步骤图;
图2是本发明一实施例所述的从动捕数据中提取关键帧的系统的系统结构图;
图3是本发明一实施例所述的运动重构方法的方法步骤图;
图4是本发明一实施例所述的运动重构系统的系统结构图;
图5是求解四元数距离的示意图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本专利的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若出现术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
在本发明的描述中,除非另有明确的规定和限定,若出现术语“连接”等指示部件之间的连接关系,该术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个部件内部的连通或两个部件的相互作用关系。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
本发明实施例提供的一种从动捕数据中提取关键帧的方法,请参照图1,包括如下步骤:
步骤S1,将运动序列的第一帧作为关键帧加入到关键帧集合keynum[j]中,并确定当前为止搜索到最后的关键帧为尾关键帧lastkey,并初始化循环变量x=2,循环变量x表示当前帧t和尾关键帧lastkey之间的帧数,循环变量x=2表示当前帧t和尾关键帧lastkey之间只有当前帧t和当前为止搜索到最后的尾关键帧lastkey两帧图像;j∈[1,2,3,…,keynum],keynum为提取关键帧的数量;
步骤S2,判断循环变量x的变量值是否大于或等于运动序列的长度n,
若是,则表明从一个运动序列中需要提取的关键帧数量大于或等于运动序列的长度,从一个运动序列中提取的关键帧数量大于运动序列本身的长度是不可能的,并且从一个运动序列中提取与序列长度相同的关键帧数量对于精简运动序列帧数是毫无意义的,所以本发明以循环变量x小于运动序列长度n为关键帧提取的前提条件,首先对循环变量x的变量值是否小于运动序列长度n进行判断,若是,则进入步骤S3,若否,则终止关键帧提取过程;
步骤S3,计算当前帧t和当前为止搜索到最后的尾关键帧lastkey之间的帧间距离d;
步骤S4,判断帧间距离d是否大于或等于一预设阈值δ,
若是,则将第t帧作为关键帧被提取并保存在关键帧集合keynum[j],并使当前为止搜索到最后的尾关键帧lastkey为第t+1帧;
若否,则将第t帧作为冗余帧过滤;
步骤S5,将第t+1帧作为当前帧并返回步骤S2,直至完成对运动序列的关键帧提取。
步骤S1中,初始的尾关键帧lastkey为t0+1帧,也就是运动序列中的第二帧图像。为了提高本发明提取关键帧的准确度,本发明将循环变量x的变量值初始化为2,也就是本发明对运动序列中每一对前后相邻的帧按时间轴进行帧间距离计算。
当然为了提高关键帧的提取速度,可以增大循环变量x的变量值,但循环变量x的变量值数值越大,提取的关键帧数量越少,所以需要对循环变量x的变量值进行合理设置。本实施例中,将循环变量x的变量值确定为2。
本发明实施例通过四元数计算当前帧t和当前为止搜索到最后的尾关键帧lastkey(循环变量x的变量值为2时,尾关键帧lastkey为t+1帧,也就是当前帧t的后一帧)之间的帧间距离d,首先对四元数进行简单介绍,
四元数q可以记为:
q=w+xi+yj+zk;
其中,w,x,y,z为实数,四元数可以写成抽象形式:
q=[s,w],s∈R3,w∈S4
s∈R3表示四元数q作平移运动;w∈S4表示四元数q作旋转运动。
四元数q旋转的表达形式:
若四元数‖q‖=1,则q为单位四元数,单位四元数
Figure BDA0002532041320000071
表示空间某点绕v向量旋转θ角,设旋转前的向量为r,旋转后的向量为r1,则[0,r1]=q[0,r]q-1,表示将向量r绕向量v旋转θ角。
以下结合图5对帧间距离d的计算过程进行详细阐述:
设有参考向量P0∈R3,单位四元数q1将P0旋转到P1,单位四元数q2将P0旋转到P2,则四元数P1与P2之间的距离如图5所示,有
Figure BDA0002532041320000072
Figure BDA0002532041320000073
设单位四元数
Figure BDA0002532041320000074
其中,‖a,b,c‖=1,θ=arccosw∈[0,π]。将单位四元数
Figure BDA0002532041320000075
用作向量P1有:
Figure BDA0002532041320000076
由上式可知,
Figure BDA0002532041320000077
将P1旋转到P2,这说明将P1产生的旋转变换到P2必须通过
Figure BDA0002532041320000078
做一个额外的旋转,
若q1和q2为两个单位四元数且
Figure BDA0002532041320000079
则q1和q2两个四元数之间的距离表示为d(q1,q2)=arccosw。
在四元数表示法中,人体可以表示为离散时间向量函数M(t),
M(t)=[p(t),q1(t),q2(t),…,qm(t)];
上式中,p(t)∈R3表示根关节(人体骨骼的根关节)平移运动;
qi(t)表示关节i在t时刻的旋转运动,1≤i≤m,m为关节的数量;
1≤t≤T,T为运动序列的时间轴长度。
通过上述推导,同一运动序列中的帧间距离d可通过以下公式计算而得:
Figure BDA00025320413200000710
上式中,d(qi(t1),qi(t2))表示运动序列的第t1帧的第i个关节旋转到第t2帧的四元数距离;
wi表示各关节i对运动姿势影响程度的大小;
i=1,2,…,m;m为关节i的数量;
D(t1,t2)表示第t1帧和第t2帧之间的帧间距离。
另外,如果有不同的运动序列A与运动序列B,A的每一帧到B的每一帧之间的距离也可以用两者之间的四元数的距离表示,具体表达公式如下:
Figure BDA0002532041320000081
上式中,
Figure BDA0002532041320000082
表示运动序列A的第k帧第i个关节到运动序列B的第k帧第i个关节之间的四元数距离;
wi表示各关节i对运动姿势影响程度的大小;
i=1,2,…,m;m为关节i的数量。
以下对本发明一实施例提供的从动捕数据中提取关键帧的系统进行介绍。请参照图2,本发明一实施例提供的从动捕数据中提取关键帧的系统包括:
运动序列获取模块1,用于获取运动序列;
运动序列长度计算模块2,连接运动序列获取模块1,用于计算运动序列的长度n;
关键帧提取条件设置模块3,用于提供给用户自主设定作为提取关键的提取条件的循环变量x的变量值;循环变量x的变量值用于表示当前帧t和当前为止搜索到最后的尾关键帧lastkey之间的帧数;
关键帧提取条件达到与否判断模块4,分别连接运动序列长度计算模块2和关键帧提取条件设置模块3,用于判断循环变量x的变量值是否大于或等于运动序列的长度n,
若是,则视为关键帧提取条件未达到,并终止关键帧提取过程;
若否,则生成帧间距计算指令并输出;
帧间距计算模块5,连接关键帧提取条件达到与否判断模块4,用于根据接收到的帧间距计算指令计算当前帧t和当前为止搜索到最后的尾关键帧lastkey之间的帧间距离d;
关键帧判断模块6,连接帧间距计算模块5,用于判断帧间距离d是否大于或等于一预设阈值δ,
若是,则生成关键帧提取指令并输出;
若否,则终止关键帧提取过程;
关键帧提取模块7,连接关键帧判断模块6,用于根据接收到的关键帧提取指令将当前的第t帧作为关键帧提取并保存到关键帧集合keynum[j]中。
为了确保对运动序列中所有相邻帧进行帧间距计算,以提高关键帧提取的准确度,优选地,循环变量x的变量值设定为2。
关于帧间距离d的计算过程在上述的从动捕数据中提取关键帧的方法中已作了详细阐述,在此不再赘述。
本发明还提供了一种运动重构方法,基于上述提取的关键帧集合keynum[j]实现,请参照图3,运动重构方法包括如下步骤:
步骤L1,确定循环变量y的变量值范围,循环变量y表示需要提取的相邻关键帧中的当前关键帧,循环变量y的变量值表示需要提取的当前关键帧在关键帧集合keynum[j]中的排序位置,比如循环变量y的变量值为1,表示需要提取的当前关键帧为关键帧集合keynum[j]中的第一个关键帧,y∈[1,2,3,…,keynum],keynum为关键帧集合keynum[j]中的关键帧的数量;
步骤L2,确定循环变量y的变量值;优选地,按照循环变量y的变量值大小按序确定y的变量值,也就是,首先确定y的变量值为1,然后进入步骤L3;
步骤L3,判断循环变量y的变量值是否大于或等于keynum-1,
若是,则终止运动重构过程;
若否,则提取相邻关键帧T1=keynum[y],T2=keynum[y+1];keynum[y]表示关键帧集合keynum[j]中的第y个关键帧,keynum[y+1]表示关键帧集合keynum[j]中第y+1个关键帧;
步骤L4,对关键帧T1和关键帧T2之间的非关键帧进行插值重建;
步骤L5,返回步骤L2,依序取循环变量y的变量值为2,3,…,keynum,直至完成对关键帧集合keynum[j]中的所有关键帧之间的非关键帧插值重建过程。
步骤L4中,对关键帧T1和关键帧T2之间的非关键帧进行插值重建包括针对根关节(本发明将人体骨架模型简化为29个关节点,其中根关节1个,非根关节28个,非根关节中又包括多个父节点,每个父节点下又至少包括一个子节点。人体运动是由根关节的平移和非根关节中的子节点相对于其父节点的旋转来实现的,根关节的平移决定了人体的运动轨迹,根关节的旋转决定了人体的运动方向,非根关节的旋转决定了人体的旋转状态)的一般线性插值重建和针对非根关节的四元数球面插值重建,其中针对根关节的一般线性插值重建通过以下公式实现:
请结合图5,一般线性插值公式为:
Figure BDA0002532041320000091
上式中,P1用于表示关键帧T1中根关节的所处位置的位置值;
P2用于表示关键帧T1中的根关节在相邻的关键帧T2中的所处位置的位置值;
Pt用于表示t时刻同个根关节的所处位置的位置值;Pt即为在插值在相邻的关键帧T1和T2之间的非关键帧中的同个根关节的所处位置的位置值,由该位置值可以形成插入在关键帧T1和T2之间的非关键帧;
t1<t<t2
针对非根关节的四元数球面插值重建通过以下公式实现:
Figure BDA0002532041320000101
上式中,slerp(q1,q2,t)表示从单位四元数q1到单位四元数q2的四元数球面插值;
θ=arc cos(q1×q2);
t∈[0,1]。
本发明还提供了一种运动重构系统,可实现上述的运动重构方法,请参照图4,运动重构系统包括:
运动重构条件设定模块10,用于提供给用户自主设定重构运动的循环变量y的变量值范围;
变量值确定模块20,连接运动重构条件设定模块10,用于在用户设定的变量值范围内自动确定循环变量y的变量值;y∈[1,2,3,…,keynum],也就是变量y的变量值范围为1~keynum之间的自然数,keynum为关键帧集合keynum[j]中的关键帧的数量;
关键帧数量读取模块30,用于读取关键帧集合keynum[j]中的关键帧数量keynum;
运动重构条件是否达到判断模块40,分别连接变量值确定模块20和关键帧数量读取模块30,用于判断循环变量y当前的变量值是否大于或等于keynum-1,
若是,则终止运动重构过程;
若否,则生成相邻关键帧提取指令并输出;
相邻关键帧提取模块50,连接运动重构条件是否达到判断模块40,用于根据相邻关键帧提取指令从关键帧集合keynum[j]中提取出相邻的关键帧T1和关键帧T2
运动重构模块60,连接相邻关键帧提取模块50,用于对相邻关键帧T1和关键帧T2之间的非关键帧进行插值重建,以重构出于原始的运动序列相同帧数的重建运动序列。关于非关键帧的插值重建过程在上述的运动重构方法中已经说明,在此不再赘述。
需要声明的是,上述具体实施方式仅仅为本发明的较佳实施例及所运用技术原理。本领域技术人员应该明白,还可以对本发明做各种修改、等同替换、变化等等。但是,这些变换只要未背离本发明的精神,都应在本发明的保护范围之内。另外,本申请说明书和权利要求书所使用的一些术语并不是限制,仅仅是为了便于描述。

Claims (10)

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通过以下公式计算而得:
Figure FDA0002532041310000011
上式中,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通过以下公式计算而得:
Figure FDA0002532041310000012
上式中,
Figure FDA0002532041310000013
表示所述运动序列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所述的从动捕数据中提取关键帧的系统,其特征在于,所述循环变量x的变量值为2。
6.如权利要求4所述的从动捕数据中提取关键帧的系统,其特征在于,所述帧间距离d通过以下公式计算而得:
Figure FDA0002532041310000021
上式中,d(qi(t1),qi(t2))表示所述运动序列的第t1帧的第i个关节旋转到第t2帧的四元数距离;
wi表示各关节i对运动姿势影响程度的大小;
i=1,2,…,m;m为关节i的数量;
D(t1,t2)表示第t1帧和第t2帧之间的帧间距离。
7.一种运动重构方法,基于如权4~6任意一项所述的系统提取的所述关键帧集合keynum[j]实现,其特征在于,包括如下步骤:
步骤L1,确定循环变量y的变量值范围,y∈[1,2,3,…,keynum],keynum为所述关键帧集合keynum[j]中的所述关键帧的数量;
步骤L2,确定所述循环变量y的变量值;
步骤L3,判断所述循环变量y的变量值是否大于或等于keynum-1,
若是,则终止运动重构过程;
若否,则提取相邻关键帧T1=keynum[y],T2=keynum[y+1];
步骤L4,对所述关键帧T1和所述关键帧T2之间的非关键帧进行插值重建;
步骤L5,返回所述步骤L2,直至完成对所述关键帧集合keynum[j]中的所有关键帧之间的非关键帧插值重建过程。
8.如权利要求7所述的运动重构方法,其特征在于,所述步骤L4中,对所述关键帧T1和所述关键帧T2之间的非关键帧进行插值重建包括针对根关节的一般线性插值重建和针对非根关节的四元数球面插值重建,其中针对根关节的所述一般线性插值重建通过以下公式实现:
Figure FDA0002532041310000031
上式中,P1用于表示所述关键帧T1中根关节的所处位置的位置值;
P2用于表示所述关键帧T1中的所述根关节在相邻的所述关键帧T2中的所处位置的位置值;
Pt用于表示t时刻同个所述根关节的所处位置的位置值;
t1<t<t2
9.如权利要求8所述的运动重构方法,其特征在于,针对非根关节的所述四元数球面插值重建通过以下公式实现:
Figure FDA0002532041310000032
上式中,slerp(q1,q2,t)表示从单位四元数q1到单位四元数q2的四元数球面插值;
θ=arccos(q1×q2);
t∈[0,1]。
10.一种运动重构系统,可实现如权7~9任意一项所述的方法,其特征在于,包括:
运动重构条件设定模块,用于提供给用户自主设定重构运动的所述循环变量y的变量值范围;
变量值确定模块,连接所述运动重构条件设定模块,用于在用户设定的所述变量值范围内自动确定所述循环变量y的变量值;
关键帧数量读取模块,用于读取所述关键帧集合keynum[j]中的所述关键帧数量keynum;
运动重构条件是否达到判断模块,分别连接所述变量值确定模块和所述关键帧数量读取模块,用于判断所述循环变量j当前的变量值是否大于或等于keynum-1,
若是,则终止运动重构过程;
若否,则生成相邻关键帧提取指令并输出;
相邻关键帧提取模块,连接所述运动重构条件是否达到判断模块,用于根据所述相邻关键帧提取指令从所述关键帧集合keynum[j]中提取出相邻的所述关键帧T1和所述关键帧T2
运动重构模块,连接所述相邻关键帧提取模块,用于对相邻所述关键帧T1和所述关键帧T2之间的非关键帧进行插值重建,以重构出与原始的所述运动序列相同帧数的重建运动序列。
CN202010521612.0A 2020-06-10 2020-06-10 一种从动捕数据中提取关键帧并重构运动的方法和系统 Pending CN111681303A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010521612.0A CN111681303A (zh) 2020-06-10 2020-06-10 一种从动捕数据中提取关键帧并重构运动的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010521612.0A CN111681303A (zh) 2020-06-10 2020-06-10 一种从动捕数据中提取关键帧并重构运动的方法和系统

Publications (1)

Publication Number Publication Date
CN111681303A true CN111681303A (zh) 2020-09-18

Family

ID=72454521

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010521612.0A Pending CN111681303A (zh) 2020-06-10 2020-06-10 一种从动捕数据中提取关键帧并重构运动的方法和系统

Country Status (1)

Country Link
CN (1) CN111681303A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112288838A (zh) * 2020-10-27 2021-01-29 北京爱奇艺科技有限公司 一种数据处理方法及装置
CN112562071A (zh) * 2020-12-25 2021-03-26 北京爱奇艺科技有限公司 一种动作差异度计算方法、装置、设备及存储介质
CN112785668A (zh) * 2021-01-25 2021-05-11 深圳卡茂动漫文娱科技有限公司 一种动漫三维角色动作轨迹融合系统
CN113406646A (zh) * 2021-06-18 2021-09-17 北京师范大学 基于多方向超声测距及imu进行三维定位的方法和设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999923A (zh) * 2012-12-24 2013-03-27 大连大学 基于自适应阈值的运动捕捉数据的关键帧提取方法
CN104463788A (zh) * 2014-12-11 2015-03-25 西安理工大学 基于运动捕捉数据的人体运动插值方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999923A (zh) * 2012-12-24 2013-03-27 大连大学 基于自适应阈值的运动捕捉数据的关键帧提取方法
CN104463788A (zh) * 2014-12-11 2015-03-25 西安理工大学 基于运动捕捉数据的人体运动插值方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李顺意: "《基于运动捕获数据的角色动画合成研究》", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
沈军行 等: "《从运动捕获数据中提取关键帧》", 《计算机辅助设计与图形学学报》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112288838A (zh) * 2020-10-27 2021-01-29 北京爱奇艺科技有限公司 一种数据处理方法及装置
CN112562071A (zh) * 2020-12-25 2021-03-26 北京爱奇艺科技有限公司 一种动作差异度计算方法、装置、设备及存储介质
CN112785668A (zh) * 2021-01-25 2021-05-11 深圳卡茂动漫文娱科技有限公司 一种动漫三维角色动作轨迹融合系统
CN113406646A (zh) * 2021-06-18 2021-09-17 北京师范大学 基于多方向超声测距及imu进行三维定位的方法和设备

Similar Documents

Publication Publication Date Title
CN111681303A (zh) 一种从动捕数据中提取关键帧并重构运动的方法和系统
Luo et al. 3d human motion estimation via motion compression and refinement
Kaufmann et al. Convolutional autoencoders for human motion infilling
CN112037312B (zh) 实时人体姿态逆向运动学求解方法及装置
US11276231B2 (en) Semantic deep face models
Zhao et al. Spk2imgnet: Learning to reconstruct dynamic scene from continuous spike stream
CN110660017A (zh) 一种基于三维姿态识别的舞谱记录与演示方法
Lai et al. Motion Capture Data Completion and Denoising by Singular Value Thresholding.
CN108898630A (zh) 一种三维重建方法、装置、设备和存储介质
WO2021197143A1 (zh) 动作迁移方法、装置、设备及存储介质
CN112037310A (zh) 基于神经网络的游戏人物动作识别生成方法
KR102270949B1 (ko) 3차원 인간 모델 복원 장치 및 방법
CN111951325B (zh) 位姿跟踪方法、位姿跟踪装置及电子设备
CN112183184B (zh) 基于非同步视频的运动捕捉方法
CN112288627A (zh) 一种面向识别的低分辨率人脸图像超分辨率方法
CN113989928B (zh) 一种动作捕捉和重定向方法
Jiang et al. Egocentric pose estimation from human vision span
Zhu et al. Mocanet: Motion retargeting in-the-wild via canonicalization networks
CN113079136A (zh) 动作捕捉方法、装置、电子设备和计算机可读存储介质
CN113421186A (zh) 使用生成对抗网络的非监督视频超分辨率的设备和方法
Kim et al. Component-based locomotion composition
Chen et al. Learning variational motion prior for video-based motion capture
CN113723163B (zh) 利用离散姿态学习物理约束的手部运动自监督重建方法
CN110009717B (zh) 一种基于单目深度图的动画人物绑定录制系统
Zhao et al. Human motion reconstruction from monocular images using genetic algorithms

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200918