动作搜索方法、装置、电子设备及存储介质与流程

文档序号:28642025发布日期:2022-01-26 17:58阅读:133来源:国知局
动作搜索方法、装置、电子设备及存储介质与流程

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.其中,所述对象动作数据的第一姿态关节点特征序列采用a={a1,a2,...ai...ak}表示;k表示所述视频数据中包含k帧;ai表示所述视频数据中第i帧的姿态关节点特征;
32.所述预设动作模板数据的第二姿态关节点特征序列采用b={b1,b2,...bi...b
l
}表示;k≤l,l表示所述预设动作模板数据包含l帧;bi表示所述预设动作模板数据中第i帧的姿态关节点特征;
33.其中,ai=(x
root
,v
root
,p0,p1....,pn),x
root
表示所述对象在三维空间中根节点的位置,v
root
表示所述对象在三维空间中根节点的线速度向量和角速度向量,p0表示所述对象在三维空间中根节点的旋转向量,p1....,pn表示对象在三维空间中的其它n个关节点的旋转向量;
34.其中,bi=(x

root
,v

root
,p
′0,p
′1....,p
′n),x

root
表示所述预设动作模板数据在三维空间中根节点的位置,v

root
表示所述预设动作模板数据在三维空间中根节点的线速度和角速度向量,p
′0表示所述预设动作模板数据在三维空间中根节点的旋转向量,p
′1....,p
′n表示所述预设动作模板数据在三维空间中的其它n个关节点的旋转向量;
35.其中,所述根节点为动作捕捉模型中采用树形结构表示对象关节点结构中的根节点,n为所述动作捕捉模型预先设定的所有关节点中、排除所述根节点后剩余关节点的总数量。
36.其中,所述基于所述第一姿态关节点特征序列和所述第二姿态关节点特征序列,计算所述预设动作模板数据与所述对象动作数据之间的距离,包括:
37.基于所述第一姿态关节点特征序列a={a1,a2,...ai...ak}和所述第二姿态关节点特征序列b={b1,b2,...bi...b
l
},采用下述公式计算所述预设动作模板数据与所述对象动作数据之间的距离d(a,b);
[0038][0039][0040]
其中,e(a,b)表示a中姿态关节点特征a,与,b中姿态关节点特征b之间的距离;t表示从b中截取k个帧的起始序号。
[0041]
其中,在所述输出所述预设动作模板数据库中相似度最大的目标预设动作模板数据之后,还包括:
[0042]
接收派发所述目标预设动作模板数据至虚拟角色的派发指令;
[0043]
对所述虚拟角色适配所述目标预设动作模板数据,获得目标动作视频;
[0044]
展示所述目标动作视频。
[0045]
根据本公开的第二方面,提供一种动作搜索装置,包括:
[0046]
接收单元,被配置为执行接收对象执行动作过程中拍摄的视频数据;
[0047]
提取单元,被配置为执行从所述视频数据中提取对象动作数据;
[0048]
计算单元,被配置为执行计算所述对象动作数据与预设动作模板数据库中预设动作模板数据的相似度;
[0049]
输出单元,被配置为执行输出所述预设动作模板数据库中相似度最大的目标预设动作模板数据。
[0050]
其中,所述提取单元包括:
[0051]
捕捉单元,被配置为执行将所述视频数据中多个连续视频帧分别输入至动作捕捉模型执行动作捕捉操作,得到与所述多个连续视频帧一一对应的多个姿态关节点特征;
[0052]
组合单元,被配置为执行根据所述多个姿态关节点特征,得到用于表示所述对象动作数据的第一姿态关节点特征序列;
[0053]
在所述接收单元之前,还包括:
[0054]
捕捉单元,还被配置为执行将所述预设动作模板数据库中各个预设动作模板数据分别输入至所述动作捕捉模型执行动作捕捉操作,得到所述各个预设动作模板数据的多个姿态关节点特征;
[0055]
分别根据所述各个预设动作模板数据的多个姿态关节点特征,得到用于表示所述各个预设动作模板数据的第二姿态关节点特征序列。
[0056]
其中,所述计算单元包括:
[0057]
计算距离单元,被配置为执行针对所述预设动作模板数据库中各个预设动作模板数据:基于所述第一姿态关节点特征序列和所述第二姿态关节点特征序列,计算所述预设动作模板数据与所述对象动作数据之间的距离;
[0058]
将所述预设动作模板数据与所述对象动作数据之间的距离,作为所述预设动作模板数据与所述对象动作数据之间的相似度。
[0059]
其中,所述视频数据还包括对象类型,所述预设动作模板数据库包括不同对象类型的预设动作模板数据;
[0060]
在所述计算单元之前,还包括:
[0061]
筛选单元,被配置为执行根据所述视频数据中的对象类型,对所述预设动作模板数据库执行筛选操作,获得符合所述对象类型的预设动作模板数据集;
[0062]
则所述计算单元包括:
[0063]
计算距离单元,针对所述预设动作模板数据集中各个预设动作模板数据:基于所述第一姿态关节点特征序列和所述第二姿态关节点特征序列,计算所述预设动作模板数据与所述对象动作数据之间的距离;
[0064]
将所述预设动作模板数据与所述对象动作数据之间的距离,作为所述预设动作模板数据与所述对象动作数据之间的相似度。
[0065]
其中,所述输出单元包括:
[0066]
排序单元,被配置为执行对所述各个预设动作模板数据与所述对象动作数据之间的距离执行排序操作;
[0067]
确定目标单元,被配置为执行将最小距离对应的预设动作模板数据,确定为所述预设动作模板数据库中相似度最大的目标预设动作模板数据;
[0068]
输出目标单元,被配置为执行输出所述目标预设动作模板数据。
[0069]
其中,所述对象动作数据的第一姿态关节点特征序列采用a={a1,a2,...ai...ak}表示;k表示所述视频数据中包含k帧;ai表示所述视频数据中第i帧的姿态关节点特征;
[0070]
所述预设动作模板数据的第二姿态关节点特征序列采用b={b1,b2,...bi...b
l
}表示;k≤l,l表示所述预设动作模板数据包含l帧;bi表示所述预设动作模板数据中第i帧的姿态关节点特征;
[0071]
其中,ai=(x
root
,v
root
,p0,p1....,pn),x
root
表示所述对象在三维空间中根节点的位置,v
root
表示所述对象在三维空间中根节点的线速度向量和角速度向量,p0表示所述对象在三维空间中根节点的旋转向量,p1....,pn表示对象在三维空间中的其它n个关节点的旋转向量;
[0072]
其中,bi=(x

root
,v

root
,p
′0,p
′1....,p
′n),x

root
表示所述预设动作模板数据在三维空间中根节点的位置,v

root
表示所述预设动作模板数据在三维空间中根节点的线速度和角速度向量,p
′0表示所述预设动作模板数据在三维空间中根节点的旋转向量,p
′1....,p
′n表示所述预设动作模板数据在三维空间中的其它n个关节点的旋转向量;
[0073]
其中,所述根节点为动作捕捉模型中采用树形结构表示对象关节点结构中的根节点,n为所述动作捕捉模型预先设定的所有关节点中、排除所述根节点后剩余关节点的总数量。
[0074]
其中,所述计算距离单元,包括:
[0075]
基于所述第一姿态关节点特征序列a={a1,a2,...ai...ak}和所述第二姿态关节点特征序列b={b1,b2,...bi...b
l
},采用下述公式计算所述预设动作模板数据与所述对象动作数据之间的距离d(a,b);
[0076][0077][0078]
其中,e(a,b)表示a中姿态关节点特征a,与,b中姿态关节点特征b之间的距离;t表示从b中截取k个帧的起始序号。
[0079]
其中,在所述输出单元之后,还包括:
[0080]
接收单元,被配置为执行接收派发所述目标预设动作模板数据至虚拟角色的派发指令;
[0081]
适配单元,被配置为执行对所述虚拟角色适配所述目标预设动作模板数据,获得目标动作视频;
[0082]
展示单元,被配置为执行展示所述目标动作视频。
[0083]
根据本公开的第三方面,提供一种电子设备,包括:
[0084]
处理器;
[0085]
用于存储所述处理器可执行指令的存储器;
[0086]
其中,所述处理器被配置为执行所述指令,以实现第一方面的动作搜索方法。
[0087]
根据本公开的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行第一方面的动作搜索方法。
[0088]
本公开的实施例提供的技术方案至少带来以下有益效果:
[0089]
本公开提出在对象执行动作过程中拍摄的视频数据,也即利用真实对象真实表演所需的目标预设动作,并在对象表演目标预设动作的过程中拍摄视频数据,并从视频数据中提取对象动作数据,也即对象动作数据包含目标预设动作。
[0090]
然后,计算对象动作数据与预设动作模板数据库中预设动作模板数据的相似度,也即在预设动作模板数据库中查询是否包含目标预设动作对应的目标预设动作模板数据。
[0091]
最后,输出预设动作模板数据库中相似度最大的目标预设动作模板数据,也即预设动作模板数据库中查询到包含目标预设动作对应的目标预设动作模板数据,输出目标预设动作模板数据。
[0092]
可以理解的是,预设动作模板数据库中各个预设动作模板数据为各不相同的,所以直接利用包含有目标预设动作的对象动作数据在预设动作模板数据库中执行查询操作,可以准确地确定出目标预设动作模板数据。
[0093]
相比于利用关键字技术查询方案,由于无需人工进一步筛选,所以可以大大提高搜索效率。
[0094]
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
[0095]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
[0096]
图1是根据一示例性实施例示出的一种动作搜索方法实施例一的流程图;
[0097]
图2是根据一示例性实施例示出的一种动作搜索方法实施例二的流程图;
[0098]
图3是根据一示例性实施例示出的一种动作搜索方法实施例四的流程图;
[0099]
图4是根据一示例性实施例示出的一种对人类动作进行动作捕捉的动作捕捉模型的示意图;
[0100]
图5是根据一示例性实施例示出的一种动作搜索方法实施例五的流程图;
[0101]
图6是根据一示例性实施例示出的一种动作搜索方法实施例六的流程图;
[0102]
图7是根据一示例性实施例示出的一种动作搜索装置的框图;
[0103]
图8是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
[0104]
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
[0105]
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0106]
图1是根据一示例性实施例示出的一种动作搜索方法实施例一的流程图,如图1所示,包括以下步骤。
[0107]
在步骤s101中,接收对象执行动作过程中拍摄的视频数据。
[0108]
电子设备可以接收自身之外的其它设备发送的视频数据,也可以利用电子设备的摄像头部件拍摄并收集对象表演动作过程中拍摄的视频数据。本实施例中对于电子设备获取视频数据的过程和方式不做限定。
[0109]
本实施例中对象会真实表演所需的目标预设动作,通过拍摄对象表演动作过程获得视频数据,所以视频数据中包含目标预设动作。
[0110]
在步骤s102中从所述视频数据中提取对象动作数据。
[0111]
电子设备预先存储有与预设动作模板数据库中对象类型对应的动作捕捉模型。对象类型可以为人类类型或动物类型等。由于不同对象类型的动作捕捉模型不同,所以电子设备会存储与对象类型对应的动作捕捉模型。
[0112]
例如,在预设动作模板数据库为包含人类动作的预设动作模板数据库的情况下,电子设备存储的也是能够用于对人类动作进行捕捉的动作捕捉模型。
[0113]
在预设动作模板数据库为包含动物动作的预设动作模板数据库的情况下,电子设备存储的也是能够用于对动物动作进行捕捉的动作捕捉模型。
[0114]
电子设备利用预先存储的动作捕捉模型,从视频数据中提取对象动作数据。对象
动作数据可以从数据层面表示目标预设动作。
[0115]
在步骤s103中,计算所述对象动作数据与预设动作模板数据库中预设动作模板数据的相似度。
[0116]
采用对象动作数据在预设动作模板数据库中执行搜索操作,也即计算对象动作数据与预设动作模板数据库中各个预设动作模板数据的相似度。
[0117]
在步骤s104中,输出所述预设动作模板数据库中相似度最大的目标预设动作模板数据。
[0118]
根据对象动作数据与各个预设动作模板数据的相似度执行排序操作,输出预设动作模板数据库中相似度最大的目标预设动作模板数据,目标预设动作模板数据也即所需的与目标预设动作对应的模板数据。
[0119]
本公开的实施例提供的技术方案至少带来以下有益效果:
[0120]
由于预设动作模板数据库中各个预设动作模板数据为各不相同的,所以直接利用包含有目标预设动作的对象动作数据在预设动作模板数据库中执行查询操作,可以准确地确定出目标预设动作模板数据。相比于利用关键字技术查询方案,由于无需人工进一步筛选,所以可以大大提高搜索效率。
[0121]
图2是根据一示例性实施例示出的一种动作搜索方法实施例二的流程图,如图2所示,包括以下步骤。
[0122]
在步骤s201中,将所述预设动作模板数据库中各个预设动作模板数据分别输入至所述动作捕捉模型执行动作捕捉操作,得到所述各个预设动作模板数据的多个姿态关节点特征。
[0123]
为了便于计算对象动作数据和各个预设动作模板数据的相似度,将预设动作模板数据库中各个预设动作模板数据分别输入至动作捕捉模型执行动作捕捉操作,得到各个预设动作模板数据的多个姿态关节点特征。
[0124]
在步骤s202中,分别根据所述各个预设动作模板数据的多个姿态关节点特征,得到用于表示所述各个预设动作模板数据的第二姿态关节点特征序列。
[0125]
以一个预设动作模板数据为例,将预设动作模板数据的多个姿态关节点特征组成用于预设动作模板数据的姿态关节点特征序列。为了便于区分,将对象动作数据的姿态关节点特征序列称为第一姿态关节点特征序列,将预设动作模板数据的姿态关节点特征序列称为第二姿态关节点特征序列。
[0126]
在步骤s203中,接收对象执行动作过程中拍摄的视频数据。
[0127]
在步骤s204中,从所述视频数据中提取对象动作数据。
[0128]
将所述视频数据中多个连续视频帧分别输入至动作捕捉模型执行动作捕捉操作,得到与所述多个连续视频帧一一对应的多个姿态关节点特征;根据所述多个姿态关节点特征,得到用于表示所述对象动作数据的第一姿态关节点特征序列。
[0129]
需要指出的是,步骤s201中的动作捕捉模型和步骤s204中的动作捕捉模型是一致的。
[0130]
在步骤s205中,计算所述对象动作数据与预设动作模板数据库中预设动作模板数据的相似度。
[0131]
计算第一姿态关节点特征序列和各个第二姿态关节点特征序列的相似度,作为对
象动作数据与预设动作模板数据库中各个预设动作模板数据的相似度。
[0132]
在步骤s206中,输出所述预设动作模板数据库中相似度最大的目标预设动作模板数据。
[0133]
关于步骤s203~步骤s206的可以参见图1中的步骤s101~s104,在此不再赘述。
[0134]
在实施例一有益效果的基础上,本公开的实施例还具有以下有益效果:
[0135]
本实施例将视频数据转换为第一姿态关节点特征序列,将预设动作模板数据转换为第二姿态关节点特征序列的技术特征,将对象动作数据和预设动作模板数据两种不同模态的数据转换为相同模态数据,将对象动作数据和预设动作模板数据两种不同模态的数据联系在一起,从而实现跨模态搜索操作。
[0136]
根据本公开提供的动作搜索方法实施例三,提供了步骤s205的一种具体实现方式:
[0137]
针对所述预设动作模板数据库中各个预设动作模板数据:基于所述第一姿态关节点特征序列和所述第二姿态关节点特征序列,计算所述预设动作模板数据与所述对象动作数据之间的距离;将所述预设动作模板数据与所述对象动作数据之间的距离,作为所述预设动作模板数据与所述对象动作数据之间的相似度。
[0138]
则步骤s206输出所述预设动作模板数据库中相似度最大的目标预设动作模板数据具体包括:
[0139]
对所述各个预设动作模板数据与所述对象动作数据之间的距离执行排序操作;
[0140]
将最小距离对应的预设动作模板数据,确定为所述预设动作模板数据库中相似度最大的目标预设动作模板数据;
[0141]
输出所述目标预设动作模板数据。
[0142]
在实施例二有益效果的基础上,本公开的实施例还具有以下有益效果:
[0143]
本实施例提供计算预设动作模板数据与对象动作数据之间相似度的一种具体实现方式,也即计算预设动作模板数据与对象动作数据之间距离,可以理解的是,距离越大相似度越低,距离越小相似度越高。因此,将最小距离对应的预设动作模板数据,确定为预设动作模板数据库中相似度最大的目标预设动作模板数据。
[0144]
图3是根据一示例性实施例示出的一种动作搜索方法实施例四的流程图,如图3所示,包括以下步骤。本实施例中,预设动作模板数据库包括不同对象类型的预设动作模板数据。
[0145]
在步骤s301中,将所述预设动作模板数据库中各个预设动作模板数据分别输入至所述动作捕捉模型执行动作捕捉操作,得到所述各个预设动作模板数据的多个姿态关节点特征。
[0146]
为了便于计算对象动作数据和各个预设动作模板数据的相似度,将预设动作模板数据库中各个预设动作模板数据分别输入至动作捕捉模型执行动作捕捉操作,得到各个预设动作模板数据的多个姿态关节点特征。
[0147]
在步骤s302中,分别根据所述各个预设动作模板数据的多个姿态关节点特征,得到用于表示所述各个预设动作模板数据的第二姿态关节点特征序列。
[0148]
以一个预设动作模板数据为例,将预设动作模板数据的多个姿态关节点特征组成用于预设动作模板数据的姿态关节点特征序列。为了便于区分,将对象动作数据的姿态关
节点特征序列称为第一姿态关节点特征序列,将预设动作模板数据的姿态关节点特征序列称为第二姿态关节点特征序列。
[0149]
在步骤s303中,接收对象执行动作过程中拍摄的视频数据。
[0150]
视频数据包括连续多个视频帧,以及,对象类型。
[0151]
在步骤s304中,从所述视频数据中提取对象动作数据。
[0152]
将所述视频数据中多个连续视频帧分别输入至动作捕捉模型执行动作捕捉操作,得到与所述多个连续视频帧一一对应的多个姿态关节点特征;根据所述多个姿态关节点特征,得到用于表示所述对象动作数据的第一姿态关节点特征序列。
[0153]
需要指出的是,步骤s301中的动作捕捉模型和步骤s304中的动作捕捉模型是一致的。
[0154]
步骤s305:根据所述视频数据中的对象类型,对所述预设动作模板数据库执行筛选操作,获得符合所述对象类型的预设动作模板数据集。
[0155]
由于预设动作模板数据库包括多种对象类型,所以可以利用视频数据中的对象类型对预设动作模板数据库进行一次筛选,筛选后获得符合所述对象类型的预设动作模板数据集。经过筛选可以大大减少计算相似度时的数据量。
[0156]
在步骤s306中,计算所述对象动作数据与预设动作模板数据集中预设动作模板数据的相似度。
[0157]
针对所述预设动作模板数据集中各个预设动作模板数据:基于所述第一姿态关节点特征序列和所述第二姿态关节点特征序列,计算所述预设动作模板数据与所述对象动作数据之间的距离;
[0158]
将所述预设动作模板数据与所述对象动作数据之间的距离,作为所述预设动作模板数据与所述对象动作数据之间的相似度。
[0159]
在步骤s307中,输出所述预设动作模板数据集中相似度最大的目标预设动作模板数据。
[0160]
对所述各个预设动作模板数据与所述对象动作数据之间的距离执行排序操作;将最小距离对应的预设动作模板数据,确定为所述预设动作模板数据库中相似度最大的目标预设动作模板数据;输出所述目标预设动作模板数据。
[0161]
在实施例三有益效果的基础上,本公开的实施例还具有以下有益效果:
[0162]
本实施例中视频数据包括对象类型,预设动作模板数据库包括不同对象类型的预设动作模板数据,因此在计算预设动作模板数据与对象动作数据之间相似度之前,先利用对象类型对预设动作模板数据库进行筛选,仅筛选出与符合对象类型的预设动作模板数据集。
[0163]
由于预设动作模板数据集的预设动作模板数据的数量大大减少,所以大大减少电子设备的在计算相似度时的计算量,提高计算效率。
[0164]
图4是根据一示例性实施例示出的一种对人类动作进行动作捕捉的动作捕捉模型的示意图。
[0165]
通过图4可知,对人类动作进行动作捕捉的动作捕捉模型主要通过三维空间中根节点和其它节点来表示人类动作。需要指出的是,对动物进行动作捕捉的动作捕捉模型也是通过三维空间中根节点和其它节点来表示动物动作,不同的是,其它节点数量略有不同。
[0166]
不论是人类动作还是动物动作,视频数据均包括多个连续视频帧,那么从所述视频数据中提取对象动作数据包括:
[0167]
将所述视频数据中多个连续视频帧分别输入至动作捕捉模型执行动作捕捉操作,得到与所述多个连续视频帧一一对应的多个姿态关节点特征;根据所述多个姿态关节点特征,得到用于表示所述对象动作数据的第一姿态关节点特征序列。
[0168]
其中,对象动作的第一姿态关节点特征序列采用a={a1,a2,...ai...ak}表示;k表示所述视频数据中包含k帧;ai表示所述视频数据中第i帧的姿态关节点特征。
[0169]
其中,ai=(x
root
,v
root
,p0,p1....,pn),x
root
表示所述对象在三维空间中根节点的位置,v
root
表示所述对象在三维空间中根节点的线速度和角速度向量,p0表示所述对象在三维空间中根节点的旋转向量,p1....,pn表示对象在三维空间中的其它n个关节点的旋转向量。
[0170]
其中,所述根节点为动作捕捉模型中采用树形结构表示对象关节点结构中的根节点,n为所述动作捕捉模型预先设定的所有关节点中、排除所述根节点后剩余关节点的总数重。
[0171]
在确定动作捕捉模型后,将预设动作模板数据库中各个预设动作模板数据分别输入至动作捕捉模型执行动作捕捉操作,得到所述各个预设动作模板数据的多个姿态关节点特征;分别根据所述各个预设动作模板数据的多个姿态关节点特征,得到用于表示所述各个预设动作模板数据的第二姿态关节点特征序列。
[0172]
预设动作模板数据的第二姿态关节点特征序列采用b={b1,b2,...bi...b
l
}表示;k≤l,l表示预设动作模板数据包含l帧;bi表示所述预设动作模板数据中第i帧的姿态关节点特征。
[0173]
其中,bi=(x

root
,v

root
,p
′0,p
′1....,p
′n),x

root
表示所述预设动作模板数据在三维空间中根节点的位置,v

root
表示所述预设动作模板数据在三维空间中根节点的线速度向量和角速度向量,p
′0表示所述预设动作模板数据在三维空间中根节点的旋转向量,p
′1....,p
′n表示预设动作模板数据在三维空间中的其它n个关节点的旋转向量。
[0174]
其中,所述根节点为动作捕捉模型中采用树形结构表示对象关节点结构中的根节点,n为所述动作捕捉模型预先设定的所有关节点中、排除所述根节点后剩余关节点的总数量。
[0175]
下面介绍动作搜索方法的具体实现方式。图5是根据一示例性实施例示出的一种动作搜索方法实施例五的流程图,如图5所示包括以下步骤。
[0176]
步骤s501:接收对象执行动作过程中拍摄的视频数据。
[0177]
电子设备可以接收自身之外的其它设备发送的视频数据,也可以利用电子设备的摄像头部件拍摄并收集对象表演动作过程中拍摄的视频数据。本实施例中对于电子设备获取视频数据的过程和方式不做限定。
[0178]
视频数据包括多个连续视频帧,或者,视频数据包括多个连续视频帧和搜索关键字。
[0179]
步骤s502:从所述视频数据中提取对象动作数据。
[0180]
电子设备预先存储有与对象类型对应的动作捕捉模型。
[0181]
例如,在预设动作模板数据库为包含人类动作的预设动作模板数据库的情况下,
电子设备存储的也是能够用于对人类动作进行捕捉的动作捕捉模型。
[0182]
在预设动作模板数据库为包含动物动作的预设动作模板数据库的情况下,电子设备存储的也是能够用于对动物动作进行捕捉的动作捕捉模型。
[0183]
步骤s503:计算所述对象动作数据与预设动作模板数据库中预设动作模板数据的相似度。
[0184]
第一种实现方式:直接对预设动作模板数据库执行搜索操作。
[0185]
计算对象动作数据和预设动作模板数据库中各个预设动作模板数据的相似度,本技术中采用距离方式来计算相似度:从所述预设动作模板数据库中确定各个预设动作模板数据;针对所述各个预设动作模板数据:基于第一姿态关节点特征序列和第二姿态关节点特征序列,计算所述预设动作模板数据与所述对象动作数据之间的距离。
[0186]
距离可以反映出相似度,若距离越小则表示相似度越大,若距离越大则表示相似度越小。
[0187]
基于第一姿态关节点特征序列a={a1,a2,...ai...ak}和第二姿态关节点特征序列b={b1,b2,...bi...b
l
},采用下述公式计算所述对象动作与所述预设动作模板数据集中预设动作模板数据之间的距离d(a,b);
[0188][0189][0190]
其中,e(a,b)表示a中姿态关节点特征a,与,b中姿态关节点特征b之间的距离;t表示从b中截取k个帧的起始序号。
[0191]
公式含义:由于视频数据包含k帧,预设动作模板数据包含l帧,数量不对等。为了计算相似度,将预设动作模板数据划分为多个组,每组包含k帧。例如,视频数据包含5帧,预设动作模板数据包含7帧,则将预设动作模板数据中1~5作为一组,2~6作为一组,3~7作为一组,从而实现数量对等。
[0192]
t表示从预设动作模板数据中每个组的起始序号,针对预设动作模板数据中每个组计算距离然后,再选择多个组对应距离中选择最小距离作为d(a,b)。
[0193]
本公开将视频数据转换为第一姿态关节点特征序列,并且,提供第一姿态关节点特征序列与第二姿态关节点特征序列之间的相似度度量公式,从而可以将对象动作数据和预设动作模板数据库中抽象的预设动作模板数据两种不同模态的数据联系在一起,从而实现跨模态搜索操作。
[0194]
第二种实现方式:视频数据包括多个连续视频帧和搜索关键字,先使用搜索关键字对预设数据库执行过滤操作。
[0195]
根据所述搜索关键字对所述预设动作模板数据库执行筛选操作,获得名称包含所述搜索关键字预设动作模板数据集;计算所述对象动作与所述预设动作模板数据集中预设动作模板数据的相似度。
[0196]
由于直接使用第一种实现方式的计算量较大,为此,可以先利用搜索关键字对预设动作模板数据库执行筛选操作,本次筛选操作可以过滤大部分无关预设动作模板数据,
针对与搜索关键字相关的预设动作模板数据集,再计算所述对象动作数据与所述预设动作模板数据集中预设动作模板数据的相似度。这样可以大大减少计算量。
[0197]
本技术中采用距离方式来计算相似度:基于第一姿态关节点特征序列和第二姿态关节点特征序列,计算所述对象动作与所述预设动作模板数据集中预设动作模板数据的相似度;若距离越小则表示相似度越大,若距离越大则表示相似度越小。计算过程可以详见第一种实现方式,在此不再赘述。
[0198]
步骤s504:输出所述预设动作模板数据库中相似度最大的目标预设动作模板数据。
[0199]
与步骤s503中第一种实现方式对应的第一种实现方式:
[0200]
对所述对象动作与所述预设动作模板数据库中预设动作模板数据之间的距离排序,输出最小距离对应的预设动作模板数据。电子设备可以展示预设动作模板数据库中相似度最大的目标预设动作模板数据。
[0201]
与步骤s503中第二种实现方式对应的第二种实现方式:
[0202]
对所述对象动作与所述预设动作模板数据集中预设动作模板数据之间的距离排序,输出最小距离对应的预设动作模板数据。电子设备可以展示预设动作模板数据库中相似度最大的目标预设动作模板数据。
[0203]
可以理解的是,电子设备在输出所述预设动作模板数据库中相似度最大的目标预设动作模板数据之前,还包括:
[0204]
判断最大相似度是否大于预设阈值,预设阈值的作用为衡量预设动作模板数据是否与对象动作相似,若最大相似度大于阈值,则确定预设动作模板数据库具有与对象动作相似的预设动作模板数据,执行输出所述预设动作模板数据库中相似度最大的目标预设动作模板数据。
[0205]
否则表示预设动作模板数据库不具有与对象动作相似的预设动作模板数据,不执行输出所述预设动作模板数据库中相似度最大的目标预设动作模板数据。
[0206]
在本实施例中提供的技术方案至少带来以下有益效果:
[0207]
本公开中预设动作模板数据库中各个预设动作模板数据为各不相同的,所以直接利用包含有目标预设动作的对象动作数据在预设动作模板数据库中执行查询操作,可以准确地确定出目标预设动作模板数据。相比于仅利用关键字技术查询方案,由于无需人工进一步筛选,所以可以大大提高搜索效率。
[0208]
本公开将视频数据转换为第一姿态关节点特征序列,并且,提供一种第一姿态关节点特征序列和第二姿态关节点特征序列之间的相似度度量公式,从而可以将对象动作数据和预设动作模板数据库中抽象的预设动作模板数据两种不同模态的数据联系在一起,从而实现跨模态搜索操作。
[0209]
图6是根据一示例性实施例示出的一种动作搜索方法实施例六的流程图,如图6所示包括以下步骤。
[0210]
步骤s601:接收派发目标预设动作模板数据至虚拟角色的派发指令。
[0211]
在电子设备确定目标预设动作模板数据后,可以显示目标预设动作模板数据。若动画或游戏制作人员满意目标预设动作模板数据则可以下发派发指令。
[0212]
步骤s602:对所述虚拟角色适配所述目标预设动作模板数据,获得目标动作视频。
[0213]
电子设备对虚拟角色适配目标预设动作模板数据,将虚拟角色的大小以及各个关节点适配至目标预设动作模板数据中,获得目标动作视频。
[0214]
步骤s603:展示所述目标动作视频。
[0215]
本实施例中搜索目标预设动作模板数据目的为对虚拟角色添加目标预设动作模板数据,因此在搜索获得目标预设动作模板数据后,可以将虚拟角色适配目标预设动作模板数据,从而获得虚拟角色按照目标预设动作模板数据运动起来的目标动作视频。
[0216]
图7是根据一示例性实施例示出的一种动作搜索装置框图。参照图7,该装置包括接收单元61,提取单元62、计算单元63和输出单元64。
[0217]
接收单元61,被配置为执行接收对象执行动作过程中拍摄的视频数据;
[0218]
提取单元62,被配置为执行从所述视频数据中提取对象动作数据;
[0219]
计算单元63,被配置为执行计算所述对象动作数据与预设动作模板数据库中预设动作模板数据的相似度;
[0220]
输出单元64,被配置为执行输出所述预设动作模板数据库中相似度最大的目标预设动作模板数据。
[0221]
其中,所述提取单元62包括:
[0222]
捕捉单元621,被配置为执行将所述视频数据中多个连续视频帧分别输入至动作捕捉模型执行动作捕捉操作,得到与所述多个连续视频帧一一对应的多个姿态关节点特征;
[0223]
组合单元622,被配置为执行根据所述多个姿态关节点特征,得到用于表示所述对象动作数据的第一姿态关节点特征序列;
[0224]
在所述接收单元61之前,捕捉单元621,还被配置为执行将所述预设动作模板数据库中各个预设动作模板数据分别输入至所述动作捕捉模型执行动作捕捉操作,得到所述各个预设动作模板数据的多个姿态关节点特征;
[0225]
分别根据所述各个预设动作模板数据的多个姿态关节点特征,得到用于表示所述各个预设动作模板数据的第二姿态关节点特征序列。
[0226]
其中,所述计算单元63包括:
[0227]
计算距离单元631,被配置为执行针对所述预设动作模板数据库中各个预设动作模板数据:基于所述第一姿态关节点特征序列和所述第二姿态关节点特征序列,计算所述预设动作模板数据与所述对象动作数据之间的距离;
[0228]
确定单元632,被配置为执行将所述预设动作模板数据与所述对象动作数据之间的距离,作为所述预设动作模板数据与所述对象动作数据之间的相似度。
[0229]
其中,所述视频数据还包括对象类型,所述预设动作模板数据库包括不同对象类型的预设动作模板数据;
[0230]
在所述计算单元63之前,还包括:
[0231]
筛选单元65,根据配置为执行根据所述视频数据中的对象类型,对所述预设动作模板数据库执行筛选操作,获得符合所述对象类型的预设动作模板数据集;
[0232]
则所述计算单元63包括:
[0233]
计算距离单元631,针对所述预设动作模板数据集中各个预设动作模板数据:基于所述第一姿态关节点特征序列和所述第二姿态关节点特征序列,计算所述预设动作模板数
据与所述对象动作数据之间的距离;
[0234]
确定单元632,被配置为执行将所述预设动作模板数据与所述对象动作数据之间的距离,作为所述预设动作模板数据与所述对象动作数据之间的相似度。其中,所述输出单元64包括:
[0235]
排序单元641,被配置为执行对所述各个预设动作模板数据与所述对象动作数据之间的距离执行排序操作;
[0236]
确定目标单元642,被配置为执行将最小距离对应的预设动作模板数据,确定为所述预设动作模板数据库中相似度最大的目标预设动作模板数据;
[0237]
输出目标单元643,被配置为执行输出所述目标预设动作模板数据。
[0238]
其中,所述对象动作数据的第一姿态关节点特征序列采用a={a1,a2,...ai...ak}表示;k表示所述视频数据中包含k帧;ai表示所述视频数据中第i帧的姿态关节点特征;
[0239]
所述预设动作模板数据的第二姿态关节点特征序列采用b={b1,b2,...bi...b
l
}表示;k≤l,l表示所述预设动作模板数据包含l帧;bi表示所述预设动作模板数据中第i帧的姿态关节点特征;
[0240]
其中,ai=(x
root
,v
root
,p0,p1....,pn),x
root
表示所述对象在三维空间中根节点的位置,v
root
表示所述对象在三维空间中根节点的线速度向量和角速度向量,p0表示所述对象在三维空间中根节点的旋转向量,p1....,pn表示对象在三维空间中的其它n个关节点的旋转向量;
[0241]
其中,bi=(x

root
,v

root
,p
′0,p
′1....,p
′n),x

root
表示所述预设动作模板数据在三维空间中根节点的位置,v

root
表示所述预设动作模板数据在三维空间中根节点的线速度和角速度向量,p
′0表示所述预设动作模板数据在三维空间中根节点的旋转向量,p
′1....,p
′n表示所述预设动作模板数据在三维空间中的其它n个关节点的旋转向量;
[0242]
其中,所述根节点为动作捕捉模型中采用树形结构表示对象关节点结构中的根节点,n为所述动作捕捉模型预先设定的所有关节点中、排除所述根节点后剩余关节点的总数量。
[0243]
所述计算距离单元,包括:
[0244]
基于所述第一姿态关节点特征序列a={a1,a2,...ai...ak}和所述第二姿态关节点特征序列b={b1,b2,...bi...b
l
},采用下述公式计算所述预设动作模板数据与所述对象动作数据之间的距离d(a,b);
[0245][0246][0247]
其中,e(a,b)表示a中姿态关节点特征a,与,b中姿态关节点特征b之间的距离;t表示从b中截取k个帧的起始序号。
[0248]
在所述输出单元64之后,还包括:
[0249]
接收单元66,被配置为执行接收派发所述目标预设动作模板数据至虚拟角色的派发指令;
[0250]
适配单元67,被配置为执行对所述虚拟角色适配所述目标预设动作模板数据,获得目标动作视频;
[0251]
展示单元68,被配置为执行展示所述目标动作视频。
[0252]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细特征,此处将不做详细阐述说明。
[0253]
图8是根据一示例性实施例示出的一种电子设备的结构示意图。参见图8,电子设备包括存储器11和处理器12。
[0254]
存储器11用于存储所述处理器可执行指令,所述处理器被配置为执行所述指令,以实现实施例一至实施例六所示的任一项动作搜索方法。
[0255]
本公开还提供了一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行实施例一至实施例六所示的任一项动作搜索方法。
[0256]
可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
[0257]
关于上述实施例中的动作搜索方法,已经在有关该方法的实施例中进行了详细特征,此处将不做详细阐述说明。
[0258]
本公开一种计算机程序产品,所述计算机产品中的指令由电子设备的处理器执行时,使得电子设备能够执行实施例一至实施例六所示的任一项动作搜索方法。
[0259]
关于上述实施例中的动作搜索方法,已经在有关该方法的实施例中进行了详细特征,此处将不做详细阐述说明。
[0260]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0261]
应当理解的是,本公开并不局限于上面已经特征并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1