一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

舞蹈视频的动作提取方法、装置、计算机设备及存储介质与流程

2022-02-25 20:55:16 来源:中国专利 TAG:


1.本技术涉及视频处理技术领域,特别涉及一种舞蹈视频的动作提取方法、装置、计算机设备及存储介质。


背景技术:

2.传统的舞蹈类体感游戏一般由官方制作和更新歌曲,通过人工挑选舞蹈动作并制作对应的舞蹈动作序列来与用户的实际动作进行比对,实现评分、打擂等游戏互动内容。
3.为了满足用户的个性化需求,有些游戏商允许用户上传自己录制好的舞蹈视频,并根据用户上传的视频制作舞蹈动作序列。由于游戏用户数量众多,并且每个用户可能有多种需求,因此单纯地依靠人工挑选舞蹈动作和制作标准动作序列会占用大量的人力资源,并且影响舞蹈视频转制为游戏动作曲的效率。


技术实现要素:

4.本技术的目的是提供一种能够高效、准确地将用户上传的舞蹈视频转化为游戏标准动作的技术方案,以解决现有技术中存在的上述问题。
5.为实现上述目的,本技术提供一种舞蹈视频的动作提取方法,包括以下步骤:
6.接收用户上传的包含一个或多个舞者的舞蹈视频,获取所述舞蹈视频中的视频帧;
7.基于骨骼节点识别算法识别所述视频帧中包含的与目标舞者对应的骨骼节点图像;其中,所述目标舞者选自所述一个或多个舞者;
8.对所述舞蹈视频中包含的与每个所述目标舞者对应的全部所述骨骼节点图像进行聚类分析,以得到多个聚类集合;
9.获取每个所述聚类集合中作为聚类中心的关键骨骼节点图像;
10.按顺序输出所述关键骨骼节点图像,以得到所述舞蹈视频中与每个所述目标舞者对应的标准动作序列。
11.根据本发明提供的舞蹈视频的动作提取方法,所述舞蹈视频中包含多个舞者,所述目标舞者选自所述多个舞者中的一个。
12.根据本发明提供的动作提取方法,所述基于骨骼节点识别算法提取所述视频帧中包含的与目标舞者对应的骨骼节点图像的步骤包括:
13.确定骨骼节点模型;
14.根据确定的所述骨骼节点模型从所述视频帧中提取与所述目标舞者对应的骨骼节点图像,所述骨骼节点图像包括多个骨骼节点数据。
15.根据本发明提供的动作提取方法,所述基于骨骼节点识别算法提取所述视频帧中包含的与目标舞者对应的骨骼节点图像的步骤还包括:
16.判断所述骨骼节点图像中包含的骨骼节点的个数是否在预设范围之内,若否,删除所述骨骼节点图像。
17.根据本发明提供的动作提取方法,所述对所述舞蹈视频中包含的与每个所述目标舞者对应的全部所述骨骼节点图像进行聚类分析,以得到多个聚类集合的步骤包括:
18.从全部所述骨骼节点图像中任选k个目标骨骼节点图像,计算每个剩余骨骼节点图像与所述目标骨骼节点图像之间的相似度;
19.将所述剩余骨骼节点图像与对应的相似度最小的目标骨骼节点图像归为同一个集合,以得到k个候选集合;
20.根据每个所述候选集合中包含的骨骼节点图像的识别编号确定新的目标骨骼节点图像,重复执行根据k个所述新的目标骨骼节点图像计算所述相似度以及所述得到k个候选集合的步骤;所述识别编号用于唯一表征所述骨骼节点图像的出现顺序;
21.在所述新的目标骨骼节点图像的识别编号不再变化或者达到预设重复次数的情况下,将得到的k个候选集合作为所述聚类集合。
22.根据本发明提供的动作提取方法,所述k个目标骨骼节点图像是根据所述舞蹈视频的节奏确定的。
23.根据本发明提供的动作提取方法,所述相似度包括欧氏距离,所述计算每个剩余骨骼节点图像与所述目标骨骼节点图像之间的相似度的步骤包括:
24.计算所述剩余骨骼节点图像中的每个骨骼节点与所述目标骨骼节点图像中对应骨骼节点之间的欧氏距离;
25.将所有骨骼节点的欧式距离之和作为所述剩余骨骼节点图像与所述目标骨骼节点图像之间的欧氏距离。
26.根据本发明提供的动作提取方法,所述根据每个所述候选集合中包含的骨骼节点图像的识别编号确定新的目标骨骼节点图像的步骤包括:
27.获取每个聚类集合中包含的每个骨骼节点图像的识别编号;
28.对每个数据集合中包含的所有骨骼节点图像的识别编号求平均并取整,得到目标识别编号;
29.将与所述目标识别编号对应的骨骼节点图像作为所述新的目标骨骼节点图像。
30.根据本发明提供的动作提取方法,所述提取每个所述聚类集合中作为聚类中心的关键骨骼节点图像的步骤包括:
31.计算任意相邻两个关键骨骼节点图像的识别编号之间的差值;
32.当所述差值小于第一阈值时,将所述识别编号靠后的关键骨骼节点图像删除。
33.为实现上述目的,本技术还提供一种舞蹈视频的动作提取装置,包括:
34.视频接收模块,适用于接收用户上传的包含一个或多个舞者的舞蹈视频,获取所述舞蹈视频中的视频帧;
35.骨骼节点识别模块,适用于基于骨骼节点识别算法识别所述视频帧中包含的与目标舞者对应的骨骼节点图像;其中,所述目标舞者选自所述一个或多个舞者;
36.聚类模块,适用于对所述舞蹈视频中包含的与每个所述目标舞者对应的全部所述骨骼节点图像进行聚类分析,以得到多个聚类集合;
37.关键图像获取模块,适用于获取每个所述聚类集合中作为聚类中心的关键骨骼节点图像;
38.动作输出模块,适用于按顺序输出所述关键骨骼节点图像,以得到所述舞蹈视频
中与每个所述目标舞者对应的标准动作序列。
39.为实现上述目的,本技术还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
40.为实现上述目的,本技术还提供计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
41.本技术提供的舞蹈视频的动作提取方法、装置、计算机设备和计算机可读存储介质,可以根据用户上传的舞蹈视频快速提取出标准动作并输出到客户端,以供游戏玩家根据标准动作执行对应的体感操作,实现人机交互或者多用户之间的网络交互。具体的,本技术基于骨骼节点识别算法从舞蹈视频的每一帧中提取骨骼节点图像,可以准确识别出舞者的不同姿态。基于聚类算法从全部骨骼节点图像选择关键骨骼节点图像,既可以保证标准动作的完整性,又能够避免动作过于密集而增加游戏难度或影响评分,保证用户得到良好的游戏体验。
附图说明
42.图1为本技术的舞蹈视频的动作提取方法实施例一的流程图;
43.图2为本技术实施例一中提取骨骼节点图像的示意性流程图;
44.图3为本技术的舞蹈视频的动作提取方法实施例一中25骨骼节点模型的示意图;
45.图4为本技术实施例一中对骨骼节点图像进行聚类分析的示意性流程图;
46.图5为本技术实施例一中计算欧氏距离的示意性流程图;
47.图6为本技术实施例一中确定新的目标骨骼节点图像的示意性流程图;
48.图7为本技术实施例一中选择聚类中心作为关键帧的示意图;
49.图8为本技术实施例一中对重复的关键骨骼节点图像进行精简处理的示意性流程图;
50.图9为本技术的舞蹈视频的动作提取装置实施例一的程序模块示意图;
51.图10为本技术的舞蹈视频的动作提取装置实施例一的硬件结构示意图。
具体实施方式
52.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
53.本技术提供的舞蹈视频的动作提取方法、装置、计算机设备和计算机可读存储介质,可以根据用户上传的舞蹈视频快速提取出标准动作并输出到客户端,以供游戏玩家根据标准动作执行对应的体感操作,实现人机交互或者多用户之间的网络交互。具体的,本技术基于骨骼节点识别算法从舞蹈视频的每一帧中提取骨骼节点图像,可以准确识别出舞者的不同姿态。基于聚类算法从全部骨骼节点图像选择关键骨骼节点图像,既可以保证标准动作的完整性,又能够避免动作过于密集而增加游戏难度或影响评分,保证用户得到良好的游戏体验。
54.实施例一
55.请参阅图1,本实施例提出一种舞蹈视频的动作提取方法,包括以下步骤:
56.s100:接收用户上传的包含一个或多个舞者的舞蹈视频,获取所述舞蹈视频中的视频帧。
57.本实施例所述舞蹈视频指的是清晰、完整地体现舞者完成一组舞蹈动作地视频。为了降低识别难度,本实施例中的舞蹈视频中优选包含一位或者两位舞者。
58.可以理解,舞蹈视频是由多个视频帧组成的。例如一段视频的时长60秒,对应帧率为每秒20帧,那么该段视频总共包含1200帧。本步骤在接收舞蹈视频的基础上,将舞蹈视频转化为全部的视频帧。
59.s200:基于骨骼节点识别算法识别所述视频帧中包含的与目标舞者对应的骨骼节点图像,其中,所述目标舞者选自所述一个或多个舞者。
60.本实施例中的目标舞者指的是作为舞蹈动作识别对象的舞者。目标舞者可以包含一个或者多个。当目标舞者包含一个时,可以将特定位置(例如前侧或者左侧)的舞者作为目标舞者,或者是将用户指定的一个舞者作为目标舞者。当目标舞者包含多个时,可以将舞蹈视频中的每个舞者都作为目标舞者,也可以将其中几个特定位置处的舞者作为目标舞者,本技术对此不做限制。
61.可以理解,舞蹈动作反映的是不同时刻舞者不同的身体姿态,其中身体姿态可以通过骨骼节点的位置来确定。本实施例可以利用现有的任何骨骼节点识别算法来识别每个视频帧中的骨骼节点,例如利用15骨骼节点模型、18骨骼节点模型或25骨骼节点模型中的任一种来识别骨骼节点。上文中的数字15、18、25分别表示骨骼节点的个数。骨骼节点的个数越多,识别精度越高,需要占用的计算资源也就越多。具体实施时,可以根据要处理的舞蹈视频数量以及服务器配置情况而灵活选择不同骨骼节点模型。
62.需要说明的是,本步骤中提取的骨骼节点图像是针对同一个舞者而言的。对于视频中包含多个舞者的情况,不同舞者的动作节奏或多或少存在差异,儿童一个舞者的节奏往往是前后一致的。为了保证舞蹈动作的准确性,本实施例针对同一个舞者提取一组骨骼节点图像,每组骨骼节点图像用于生成一个标准动作序列。可以理解,当目标舞者包含多个时,本技术对每一个目标舞者都提取一组对应的骨骼节点图像,从而生成与每个目标舞者对应的标准动作序列。这样,不同的玩家可以根据喜好按照不同目标舞者的标准动作序列做出相应的舞蹈动作,从而提升游戏体验。
63.s300:对所述舞蹈视频中包含的与每个所述目标舞者对应的全部所述骨骼节点图像进行聚类分析,以得到多个聚类集合。
64.本步骤进行聚类分析的目的,是根据不同骨骼节点的位置关系,将所有骨骼节点图像划分为多个相近的集合,这样每个集合的聚类中心可以代表一个标准动作的关键帧。可以通过现有的任意聚类算法进行聚类分析,例如k-means聚类算法、均值漂移聚类算法、基于密度的聚类算法、高斯混合模型聚类算法、凝聚层次聚类算法等,本实施例对此不做限制。
65.s400:获取每个所述聚类集合中作为聚类中心的关键骨骼节点图像。
66.需要说明的是,本实施例的目的是从复杂的舞蹈视频中提取舞者的每个关键动作并顺序输出,其中每个关键动作是通过对应的骨骼节点图像代表的。因此,本步骤在获得多
个聚类集合的基础上,从每个聚类集合中选择其中一张骨骼节点图像作为输出标准动作时的关键动作。可以通过多种方法从每个聚类集合中选择合适的骨骼节点图像,例如选择每个聚类集合中固定位置处的骨骼节点图像,或者是作为聚类中心的骨骼节点图像等。每个聚类集合中被选择用来输出关键动作的骨骼节点图像即为关键骨骼节点图像。
67.s500:按顺序输出所述关键骨骼节点图像,以得到所述舞蹈视频中与每个所述目标舞者对应的标准动作序列。
68.如前所述,每一张骨骼节点图像表示当前时刻身体各个骨骼节点的位置。因此,按顺序输出确定的关键骨骼节点图像,就可以获得不同时刻下不同骨骼节点的运动位置,即与舞蹈视频相对应的标准动作序列。
69.综上所述,本实施例利用计算机视觉领域中较为常见的骨架识别技术识别出舞蹈视频中每一帧的人物骨骼节点图像,并通过对所有的骨骼节点图像进行聚类分析,快速确定舞蹈视频中的关键帧。本实施例可以将用户上传的舞蹈视频自动转换为游戏标准动作,不仅节省了巨大的人力支出,还大大提升转换效率,从而可以快速地扩充舞蹈游戏中的歌曲和关卡内容,提升用户体验。
70.图2示出了步骤s200中基于骨骼节点识别算法提取所述视频帧中包含的与所述目标舞者对应的骨骼节点图像的示意性流程图。如图2所示,步骤s200包括:
71.s210:确定骨骼节点模型,所述骨骼节点模型包含15骨骼节点模型、18骨骼节点模型或25骨骼节点模型中的任一种。
72.图3示出了25骨骼节点模型的示意图,如图2所示,这里的25个骨骼节点分别包括鼻节点、颈节点、左肩节点、右肩节点、左手肘节点、右手肘节点、左手节点、右手节点、左眼节点、右眼节点、左耳节点、右耳节点、下髋部中部节点、下髋部左侧节点、下髋部右侧节点、左膝盖节点、右膝盖节点、左脚踝节点、右脚踝节点、左大脚趾节点、右大脚趾节点、左小脚趾节点、右小脚趾节点、左脚后跟节点和右脚后跟节点。
73.s220:根据确定的所述骨骼节点模型从所述视频帧中提取与所述目标舞者对应的骨骼节点图像,所述骨骼节点图像包括多个骨骼节点数据,每个所述骨骼节点数据包括骨骼节点类型、骨骼节点横坐标和骨骼节点纵坐标。
74.仍以图3示出的25骨骼节点模型为例。从视频帧中提取骨骼节点图像,就是获取视频帧中包含的与上述25个骨骼节点相对应的特定舞者的骨骼节点数据。具体的,每个骨骼节点数据可以包括骨骼节点类型、骨骼节点横坐标和骨骼节点纵坐标。其中,骨骼节点类型表示具体哪个节点,例如左肩节点、右肩节点、左手节点等。横坐标和纵坐标则表示骨骼节点在骨骼节点图像中的位置数据。这样,通过每个骨骼节点的节点类型、节点横坐标和节点纵坐标,就可以确定25个骨骼节点各自的位置,从而通过骨骼节点位置确定舞者动作。
75.s230:判断所述骨骼节点图像中包含的骨骼节点的个数是否在预设范围之内,若否,删除所述骨骼节点图像。
76.可以理解,在视频的片头片尾部分或者由于遮挡、拍摄角度等原因,可能会存在视频帧中不包含舞者或者舞者部分身体被遮挡的情况,此时无法获得完整的25个骨骼节点数据,可能只能获得少于25个骨骼节点数据甚至是0个骨骼节点数据。因此为了保证输出动作的清楚完整性,本步骤会将骨骼节点个数不在预设范围之内的骨骼节点图像删除,这里的预设节点范围可以根据骨骼节点模型所能识别的骨骼节点最大个数进行设置,例如骨骼节
点最大个数为25,那么可以将预设节点范围设置为[18,25]。
[0077]
通过上述步骤,本实施例可以获取到准确、完整的骨骼节点图像,为后续输出标准动作提供良好基础。
[0078]
图4为本技术实施例一中对骨骼节点图像进行聚类分析的示意性流程图。如图4所示,步骤s300包括:
[0079]
s310:根据所述舞蹈视频的节奏确定所述集合的总数k,k为自然数。
[0080]
本步骤确定聚类集合总数的目的是为了确定最终输出标准动作时作为关键帧的关键骨骼节点图像的个数。换句话说,一个聚类集合最终对应一个关键骨骼节点图像。
[0081]
可以理解,如果输出的标准动作中包含的关键帧数量过多,在游戏过程中就会显得十分密集,对于一般玩家来说可能难以及时完成对应的舞蹈动作。相反,如果关键帧数量过少,那么玩家就会经常处于”空闲“的状态,并且本实施例难以在不同的玩家表现之间拉开差距,这些都对于良好的游戏体验是不利的。经过对于多个舞蹈游戏中歌曲的动作序列进行分析,本实施例优选平均1.5秒输出一个关键帧是较为合适的抽取频率。
[0082]
根据上述抽取频率可以确定关键帧的总数k,也即聚类集合的总数k。例如一段视频的时长60秒,那么k=60
÷
1.5=40。另外,考虑到不同的舞蹈歌曲节奏各不相同,尤其是对于快歌和慢歌而言,关键的舞蹈动作出现的频率差距会比较大。对此,本实施例还可以根据不同的节奏自动调整抽取频率,或者是允许用户对于关键帧数量进行主动干预。例如用户可以在平均0.5秒到3秒一个关键帧的区间内进行选择。这样一来,对于部分特殊节奏的舞蹈歌曲,关键帧提取数量也可以进行相应的调整以适配视频和歌曲的节奏。
[0083]
s320:从全部所述骨骼节点图像中任选k个目标骨骼节点图像,计算每个剩余骨骼节点图像与所述目标骨骼节点图像之间的相似度。
[0084]
假设全部骨骼节点图像的数量共100幅,每幅骨骼节点图像可以分别表示为f1,f2,
……
,f100,k=10。本步骤首先从中任意选择10幅作为目标骨骼节点图像,假设为f1,f2,
……
,f10,此时剩余骨骼节点图像包括f11,f12,
……
,f100。当然,为了避免选择的目标骨骼节点图像过于集中,还可以根据特定的时间间隔选择目标骨骼节点图像,例如每隔一秒抽取一幅目标骨骼节点图像。
[0085]
在一个示例中,剩余骨骼节点图像与目标骨骼节点图像之间的相似度可以包含剩余骨骼节点图像中的骨骼节点与目标骨骼节点图像中的骨骼节点之间的欧氏距离。在该示例中,计算相似度的具体步骤如图5所示,包括:
[0086]
s321:计算所述剩余骨骼节点图像中的每个骨骼节点与所述目标骨骼节点图像中对应骨骼节点之间的欧氏距离;
[0087]
s322:将所有骨骼节点的欧式距离之和作为所述剩余骨骼节点图像与所述目标骨骼节点图像之间的欧氏距离。
[0088]
计算每个剩余骨骼节点图像与所述目标骨骼节点图像之间的欧氏距离,也就是分别计算f11,f12,
……
,f100与f1,f2,
……
,f10的欧式距离。假设fa表示剩余骨骼节点图像f11,f12,
……
,f100中的任一幅,fb表示目标骨骼节点图像f1,f2,
……
,f10中的任一幅。其中fa中包含的n个骨骼节点可以表示为a1、a2、
……
、an,fb中包含的n个骨骼节点可以表示为b1、b2、
……
、b25,n可以为15、18或25,那么f11与f1的欧氏距离similarity(f11,f1)可以表示为:
[0089]
similarity(fa,fb)=d(b1,a1) d(b2,a2) ....d(bm,am) .... d(bn,an)
[0090]
上式中d(bm,am)表示第m个骨骼节点bm和第m个骨骼节点am之间的距离,其中(x
am
,y
am
)和(x
bm
,y
bm
)分别为骨骼节点am的横、纵坐标以及骨骼节点bm的横、纵坐标。
[0091]
同理,f11与f2的欧氏距离similarity(f11,f2)、f11与f3的欧氏距离similarity(f11,f3)、
……
、f11与f10的欧氏距离similarity(f11,f10)也分别按照上面的公式进行计算。
[0092]
s330:将所述剩余骨骼节点图像与对应的欧氏距离最小的目标骨骼节点图像归为同一个集合,以得到k个候选集合。
[0093]
如上例所示,在得到f11与每个目标骨骼节点图像的欧氏距离的基础上,从中选出欧氏距离最小的数值,并将f11与最小欧氏距离对应的骨骼节点图像归为同一个聚类集合。例如经过计算确定f11与f5之间的欧氏距离最小,那么就将f11归为f5所在的聚类集合。
[0094]
s340:根据每个所述候选集合中包含的骨骼节点图像的识别编号确定新的目标骨骼节点图像,重复执行步骤s320和步骤s330;所述识别编号用于唯一表征所述骨骼节点图像的出现顺序。
[0095]
如步骤s320所述,最初的目标骨骼节点图像是任意选择的,因此这些最初的目标骨骼节点图像很可能并不适合作为理想的分类参照,因此需要不断确定新的目标骨骼节点图像,从而获得最佳目标。图6为本技术实施例一中确定新的目标骨骼节点图像的示意性流程图。如图6所示,步骤s340包括:
[0096]
s341:获取每个聚类集合中包含的每个骨骼节点图像的识别编号。
[0097]
本实施例中每个骨骼节点图像对应唯一一个识别编号,用于表征骨骼节点图像的出现顺序。如前所述,骨骼节点图像是从对应的视频帧中提取出来的,每个视频帧在舞蹈视频中具有唯一的顺序编号,因此可以用对应视频帧的顺序编号作为本实施例中骨骼节点图像的顺序编号。例如上文中提到的骨骼节点图像f1,f2,
……
,f100,这里的数字1到100就是每个骨骼节点图像对应的识别编号。例如,已知一个候选集合v中的骨骼节点图像包括f1,f10,f20和f30,这里的识别编号为:1、10、20和30。
[0098]
s342:对每个数据集合中包含的所有骨骼节点图像的识别编号求平均并取整,得到目标识别编号。
[0099]
以上文中的集合v为例,已知识别编号包括1、10、20和30。对识别编号取平均为(1 10 20 30)
÷
4,无法整除的,按照四舍五入法取整,可以得到集合v对应的目标识别编号为15。
[0100]
s343:将与所述目标识别编号对应的骨骼节点图像作为所述新的目标骨骼节点图像。
[0101]
在确定目标识别编号为15的基础上,对应的骨骼节点图像就是f15,那么f15就是新的目标骨骼节点图像。由于本实施例中共有k个候选集合,相应地可以获得k个新的目标骨骼节点图像。
[0102]
s350:在所述新的目标骨骼节点图像的识别编号不再变化或者达到预设重复次数的情况下,将得到的k个候选集合作为所述聚类集合。
[0103]
本步骤规定了聚类分析的迭代终止条件。可以理解,以不同的目标骨骼节点图像作为聚类中心,就会得到不同的聚类集合。图7示出了本发明实施例一中选择聚类中心作为关键帧的示意图。在图7中,中间帧集合1、中间帧集合2和中间帧集合3代表3个聚类集合,关键帧1、关键帧2和关键帧3分别代表每个聚类集合的聚类中心。理想情况下,多次迭代之后目标骨骼节点图像将不再变化,由此获得分类比较稳定准确的聚类集合。当然,在实际操作过程中如果数据量较多,可能很难达到目标骨骼节点图像不发生变化的情况。此时可以通过设置有限的重复次数来终止迭代,例如100次。其中,每当确定k个新的目标骨骼节点图像称为完成一次重复。
[0104]
通过上述步骤,可以保证通过本实施例得到的k个候选集合具有较高的准确度,能够把比较相近的动作划分到相同集合,把区别较大的动作划分到不同集合。
[0105]
如前所述,步骤s400用于获取每个所述聚类集合中作为聚类中心的关键骨骼节点图像。在实际操作的过程中,时间间隔较短的相邻关键骨骼节点图像之间可能会存在重复,这种情况往往是由于动作变化节奏较慢而造成的。为了避免给用户造成干扰,在一个示例中对重复的关键骨骼节点图像进行精简处理。如图8所示,具体包括以下步骤:
[0106]
s410:计算任意相邻两个关键骨骼节点图像的识别编号之间的差值。
[0107]
如前所述,骨骼节点图像的识别编号n与对应视频帧的顺序编号n相对应,而视频帧的顺序编号n可以表征该视频帧在舞蹈视频中的出现次序。通常,识别编号n或者顺序编号n是根据自然数的顺序依次排列的,同时舞蹈视频具有固定的帧率f,即每秒播放几个视频帧,这样,识别编号n除以帧率f就是一个骨骼节点图像在输出的标准动作视频中的出现时间。例如帧率为20帧/秒,某骨骼节点图像为f50,即识别编号n=50,那么相当于该骨骼节点图像f50出现在50
÷
20=2.5秒。
[0108]
为了保证输出的标准动作的变化在正常人反应范围之内,那么相邻两个关键骨骼节点图像之间的时间间隔不能过短,否则一方面用户来不及反应,另一方面动作的变化幅度也不够明显。假设相邻两个关键骨骼节点图像之间的最短间隔为i,由于不同视频的帧率不同,该间隔i可以通过舞蹈视频的总时长进行限制。通常成年人对于两幅图像之间的变化的最短反应时间t为0.2秒,若一段舞蹈视频的帧率为f,那么上述最短间隔i为:
[0109]
i=f*t
[0110]
假设t=0.2秒,f为每秒25帧,那么最短间隔即为5帧。此时数字5为相邻两个关键骨骼节点图像的识别编号之间的差值。
[0111]
s420:当所述差值小于第一阈值时,将所述识别编号靠后的关键骨骼节点图像删除。
[0112]
本示例中,可以对于k均值聚类算法中所得到的关键骨骼节点图像进行逐一遍历,当前后两个关键骨骼节点图像的识别编号的差值小于预设差值(例如5)时,则将识别编号靠后的关键骨骼节点图像从结果集中删除。重复以上操作,直到所有相邻关键骨骼节点图像的间隔都符合上述条件。通过这样的方式,可以有效地去除关键骨骼节点图像中的冗余内容,使得舞蹈动作的提取更具代表性。
[0113]
请继续参阅图9,示出了一种舞蹈视频的动作提取装置,在本实施例中,动作提取装置90可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本技术,并可实现上述动作提取方法。本技术
所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述动作提取装置90在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
[0114]
视频接收模块91,适用于接收用户上传的包含目标舞者的舞蹈视频,获取所述舞蹈视频中的视频帧;
[0115]
骨骼节点识别模块92,适用于基于骨骼节点识别算法识别所述视频帧中包含的与所述目标舞者对应的骨骼节点图像;
[0116]
聚类模块93,适用于对所述舞蹈视频中包含的全部所述骨骼节点图像进行聚类分析,以得到多个聚类集合;
[0117]
关键图像获取模块94,适用于获取每个所述聚类集合中作为聚类中心的关键骨骼节点图像;
[0118]
动作输出模块95,适用于按顺序输出所述关键骨骼节点图像,以得到所述舞蹈视频对应的标准动作。
[0119]
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备100至少包括但不限于:可通过系统总线相互通信连接的存储器101、处理器102,如图10所示。需要指出的是,图10仅示出了具有组件101-102的计算机设备100,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
[0120]
本实施例中,存储器101(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器101可以是计算机设备100的内部存储单元,例如该计算机设备100的硬盘或内存。在另一些实施例中,存储器101也可以是计算机设备100的外部存储设备,例如该计算机设备100上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。当然,存储器101还可以既包括计算机设备100的内部存储单元也包括其外部存储设备。本实施例中,存储器101通常用于存储安装于计算机设备100的操作系统和各类应用软件,例如实施例一的动作提取装置90的程序代码等。此外,存储器101还可以用于暂时地存储已经输出或者将要输出的各类数据。
[0121]
处理器102在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器102通常用于控制计算机设备100的总体操作。本实施例中,处理器102用于运行存储器101中存储的程序代码或者处理数据,例如运行动作提取装置90,以实现实施例一的动作提取方法。
[0122]
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘、服务器、app应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储动作提取装置90,被处理器执行时实现
实施例一的动作提取方法。
[0123]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0124]
流程图中或在此以其它方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
[0125]
本技术领域的普通技术人员可以理解,实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0126]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0127]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
[0128]
以上仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献