骨骼动画的姿态匹配方法、装置、电子设备及存储介质与流程

文档序号:24422898发布日期:2021-03-26 22:26阅读:97来源:国知局
骨骼动画的姿态匹配方法、装置、电子设备及存储介质与流程

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.图1是本发明一实施例提供的骨骼动画的姿态匹配方法的流程图;
31.图2是本发明一实施例提供的骨骼动画的姿态匹配方法中对走和跳两个运动帧序列进行降维后在低维空间上的坐标展示图;
32.图3是本发明另一实施例提供的骨骼动画的姿态匹配方法的流程图;
33.图4是本发明一实施例提供的骨骼动画的姿态匹配方法中确定匹配坐标的候选区域的示意图;
34.图5是本发明一实施例提供的骨骼动画的姿态匹配装置的结构框图;
35.图6是本发明一实施例提供的电子设备的结构示意图。
具体实施方式
36.下面结合附图,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
37.以下结合附图描述根据本发明实施例的骨骼动画的姿态匹配方法、装置、电子设备及存储介质。
38.图1示出了本发明一实施例提供的骨骼动画的姿态匹配方法的流程图。如图1所示,本发明一个实施例提供的骨骼动画的姿态匹配方法,具体包括如下内容:
39.s101:对骨骼动画中各帧数据降维,得到任一帧数据在目标空间中的坐标。
40.其中,骨骼动画例如为人体关节的骨骼动画,因此,骨骼动画中每一帧数据也称为人体关节3d数据。本实施例中,对骨骼动画中每一帧人体关节3d数据进行降维处理,实际上是将骨骼动画中每一帧人体关节3d数据映射到低维空间(即:目标空间)中,每一帧骨骼动画中每一帧人体关节3d数据映射低维空间中的一个坐标。
41.s102:基于任一帧数据在目标空间中的坐标和预先得到的映射关系字典,得到任一图像对应的姿态,其中,映射关系字典中包括运动帧序列样本中各运动帧的运动帧信息与目标空间中的坐标的对应关系。
42.其中,在基于任一帧数据在目标空间中的坐标和预先得到的映射关系字典,得到任一图像对应的姿态之前,需要创建映射关系字典。该示例中,创建映射关系字典包括:对运动帧序列样本中各运动帧降维,得到运动帧序列样本中各运动帧在目标空间中的坐标;构建运动帧序列样本中各运动帧在目标空间中的坐标与所述运动帧序列样本中各运动帧之间的对应关系,得到映射关系字典。
43.作为一个具体的示例,可以通过构建的神经网络模型dbn(deep belief network),对运动帧序列样本中各运动帧降维,得到运动帧序列样本中各运动帧在目标空间中的坐标。具体来说,先收集大量的运动捕捉数据(即:运动帧序列样本),尽量保证运动捕捉数据的丰富性。随后构建神经网络模型dbn,需要说明的是,神经网络模型dbn最后的隐藏层应该是低维的。比如利用最后一层为3个神经元的神经网络对具有31个关节的人体关节3d数据的运动帧序列进行降维,可以得到低维空间中的坐标。如图2所示,左右两边分别为对走和跳这两个运动的帧序列进行降维的结果展示。
44.一个连续的运动帧序列映射到低维空间时,其在低维空间中的位置同样具有一定的连续性。此外,不同类型的运动捕捉数据在同一个低维空间中具有不同的点位分布,因此当运动捕捉数据足够多,且种类足够丰富,整个低维空间将被覆盖满,任意位置自身或其附近均对应原始数据库中的某个帧数据(即:运动帧序列样本中某一运动帧)。因此,对运动帧序列样本降维,比直接将3d数据映射到平面轨迹上,具有更好的效果,能够保证连续性与区分性。
45.在得到运动帧序列样本中各运动帧在目标空间中的坐标之后,构建运动帧序列样
本中各运动帧在目标空间中的坐标与所述运动帧序列样本中各运动帧之间的对应关系,具体来说,将神经网络模型dbn训练完毕后,可以构建一个键值对字典(即:映射关系字典),其中,键值对字典中的键为低维空间中的坐标,值为低维空间中的坐标对应的原始帧所在的运动序列的索引和帧序号。例如:低维空间中位于(x,y,z)坐标点对应原始的运动捕捉数据中第2个帧动画文件的第100帧,则在键值对字典中记录如下字段:[(x,y,z),(2,100)]。
[0046]
需要说明的是,键具有唯一性,如果某些帧在低维空间中的坐标相同,则仅保留第一次覆盖当前低维空间中坐标点的那一帧的信息。
[0047]
在得到映射关系字典之后,基于所述任一帧数据在目标空间中的坐标和预先得到的映射关系字典,得到所述任一图像对应的姿态,包括:从所述映射关系字典中获得与所述任一帧数据在目标空间中匹配坐标;根据所述匹配坐标,从所述映射关系字典中得到对应的运动帧信息;根据所述运动帧信息从所述运动帧序列样本中获得对应的运动帧,并将所述运动帧作为所述任一帧数据对应的位姿。
[0048]
该示例中,从所述映射关系字典中获得与所述任一帧数据在目标空间中匹配坐标,包括:如果所述任一帧数据为所述骨骼动画中的第一帧数据,则将所述目标空间中与所述任一帧数据的坐标距离最近的坐标作为所述任一帧数据的坐标的匹配坐标;如果所述任一帧数据不是所述骨骼动画中的第一帧数据,则获得所述任一帧数据的前一帧数据对应的匹配坐标的候选姿态索引表,其中,所述候选姿态索引表中包括与所述前一帧数据对应的匹配坐标距离小于预设值的多个候选坐标;从所述候选坐标中匹配得到所述任一帧数据在目标空间中匹配坐标。
[0049]
该示例中,从所述候选坐标中匹配得到所述任一帧数据在目标空间中匹配坐标,包括:预测所述任一帧数据的运动方向;基于预测的所述任一帧数据的运动方向,从所述候选坐标中匹配得到所述任一帧数据在目标空间中匹配坐标。
[0050]
另外,还可构建一个候选姿态索引表,此表记录在低维空间中,与当前帧的低维坐标满足某个阈值范围的其它低维坐标,代表当前帧可以通过最简单的四元数插值得到向这些其它低维坐标所代表的帧较为自然的过渡。构建规则例如为:以(x,y,z)坐标为例,以阈值r为半径,找到球状空间内所有其它帧降维后的坐标点,将其记录下来即为当前坐标的候选姿态索引表,如与(x,y,z)坐标点距离在r范围内的点有(x1,y1,z1),(x2,y2,z2),(x3,y3,z3),则在姿态索引表中记录的信息包括:[(x,y,z),{(x1,y1,z1),(x2,y2,z2),(x3,y3,z3)}]。
[0051]
在具体应用中,如图3所示,基于任一帧数据在目标空间中的坐标和预先得到的映射关系字典,得到任一图像对应的姿态,包括:将当前获取的第一帧人体关节3d数据进行降维,得到低维空间中的坐标,在键值对字典中找到距离最近的键记录的匹配坐标,将此匹配坐标对应的运动帧序列样本中运动帧作为第一帧人体关节3d数据匹配到的姿态。
[0052]
获取到第二帧人体关节3d数据或其后帧的人体关节3d数据时,先在候选姿态索引表中找到上一帧所确定的低维坐标对应的可作为候选值的低维坐标。同时,可记录一个方向得分,代表当前坐标往反方向过渡的可能性,避免获取到的运动前后帧之间不具备平滑性。
[0053]
此得分的计算方法例如:若前两帧的低维坐标构成的向量方向与上一帧到当前帧低维坐标方向夹角大于90度,即为反方向,此时减分,若为非反方向,则加分,同时此分数具
有上限和下限,分别代表一定禁止逆向运动和一定会逆向运动。若当前帧经过自编码器进入到低维空间与上一帧的运动方向为反方向,而得分判断当前运动方向不允许反向运动,则在以上一帧坐标点为圆心,上一帧方向的左右90度构成的半圆形区域内的所有候选姿态坐标点距离最近的坐标点作为当前帧的匹配姿态,同时得分降低。
[0054]
作为一个具体的示例,如果规定得分区间为(0,100),如在第一帧时,并无法确定当前动作的未来运动情况,所以取值50,代表以50%的概率反向运动,那么也会以50%的概率正向运动,即代表第一帧可以向任意方向运动。第二帧运动方向为正方向,则加大得分10分,则当前得分为60,代表第三帧有60%的概率正向移动,若从视频中计算得到的第三帧因为噪声或者其他原因在低维空间中的映射方向为第二帧的反方向,而根据得分应该让此第三帧正向运动,则从正向候选区域中找到与第三帧在低维空间中最近的那个可过渡点作为当前帧的匹配结果,同时得分降低10变为50,代表第四帧正向移动的概率为50%。
[0055]
在上述示例中,方向的选择如图4所示,图4中左右部分分别为当前帧的前两帧确定位置,1和2的连线确定当前运动的方向,阴影区域为候选帧所在区域,左侧部分为得分确定下一帧的运动方向为正方向时的候选区域,右侧部分为得分确定下一帧的运动方向为反方向时的候选区域。
[0056]
然后,根据在低维空间中找到每帧人体关节3d数据所匹配的坐标点后,按照键值对字典,检索到键坐标对应的值,即:找到了当前输入的人体关节3d数据对应的运动捕捉数据的某一帧,也就是说,匹配到每帧人体关节3d数据对应的骨骼旋转信息。
[0057]
根据本发明实施例的骨骼动画的姿态匹配方法,通过对骨骼动画中各帧数据降维,得到任一帧数据在目标空间中的坐标,然后便可以根据任一帧数据在目标空间中的坐标和预先得到的映射关系字典,得到任一图像对应的姿态,从而可以保证匹配到的姿态的准确性和匹配效率,提升骨骼动画中各帧数据姿态的平滑过渡。
[0058]
图5示出了本发明一实施例提供的骨骼动画的姿态匹配装置的结构示意图,如图5所示,本发明实施例提供的骨骼动画的姿态匹配装置,包括:映射模块510和匹配模块520,其中:
[0059]
映射模块510,用于对所述骨骼动画中各帧数据降维,得到任一帧数据在目标空间中的坐标;
[0060]
匹配模块520,用于基于所述任一帧数据在目标空间中的坐标和预先得到的映射关系字典,得到所述任一图像对应的姿态,其中,所述映射关系字典中包括运动帧序列样本中各运动帧的运动帧信息与所述目标空间中的坐标的对应关系。
[0061]
根据本发明实施例的骨骼动画的姿态匹配装置,通过对骨骼动画中各帧数据降维,得到任一帧数据在目标空间中的坐标,然后便可以根据任一帧数据在目标空间中的坐标和预先得到的映射关系字典,得到任一图像对应的姿态,从而可以保证匹配到的姿态的准确性和匹配效率,提升骨骼动画中各帧数据姿态的平滑过渡。
[0062]
需要说明的是,本发明实施例的骨骼动画的姿态匹配装置的具体实现方式与本发明实施例的骨骼动画的姿态匹配方法的具体实现方式类似,具体请参见方法部分的描述,为了减少冗余,具体此处不做赘述。
[0063]
基于相同的发明构思,本发明又一实施例提供了一种电子设备,参见图6,所述电子设备具体包括如下内容:处理器601、存储器602、通信接口603和通信总线604;
[0064]
其中,所述处理器601、存储器602、通信接口603通过所述通信总线604完成相互间的通信;所述通信接口603用于实现各设备之间的信息传输;
[0065]
所述处理器601用于调用所述存储器602中的计算机程序,所述处理器执行所述计算机程序时实现上述骨骼动画的姿态匹配方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:对所述骨骼动画中各帧数据降维,得到任一帧数据在目标空间中的坐标;基于所述任一帧数据在目标空间中的坐标和预先得到的映射关系字典,得到所述任一图像对应的姿态,其中,所述映射关系字典中包括运动帧序列样本中各运动帧的运动帧信息与所述目标空间中的坐标的对应关系。
[0066]
基于相同的发明构思,本发明又一实施例提供了一种非暂态计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述骨骼动画的姿态匹配方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:对所述骨骼动画中各帧数据降维,得到任一帧数据在目标空间中的坐标;基于所述任一帧数据在目标空间中的坐标和预先得到的映射关系字典,得到所述任一图像对应的姿态,其中,所述映射关系字典中包括运动帧序列样本中各运动帧的运动帧信息与所述目标空间中的坐标的对应关系。
[0067]
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0068]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0069]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的指标监控方法。
[0070]
此外,在本发明中,诸如“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0071]
此外,在本发明中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者
操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0072]
此外,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0073]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1