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

人体动作识别方法、装置、电子设备及计算机可读介质与流程

2022-02-22 05:14:33 来源:中国专利 TAG:


1.本公开涉及计算机视觉技术领域,尤其涉及一种人体动作识别方法、装置、电子设备及计算机可读介质。


背景技术:

2.当前深度学习技术在计算机视觉领域的许多方面(如目标检测、识别)都取得了非常可观的成绩,在人体姿态动作识别方向,国内外学者也相继提出各种基于深度学习的网络模型应用于人体姿态动作识别,通过查阅和测试发现,这些网络均通过增加网络深度或者宽度的方式来提高网络的动作识别性能。然而,在我们进行测试了大量现有深度学习模型的实验证明,基于深度学习的人体姿态估计泛化能力具有一定的局限性,同时基于深度学习的人体姿态估计算法也存在参数量巨大、计算复杂度高、实时性不强的问题,因此很难落地应用。
3.因此,需要一种新的人体动作识别方法、装置、电子设备及计算机可读介质。
4.在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解。


技术实现要素:

5.有鉴于此,本公开实施例提供一种人体动作识别方法、装置、电子设备及计算机可读介质,能够快速获得准确的动作识别结果。
6.本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
7.根据本公开实施例的第一方面,提出一种人体动作识别方法,该方法包括:获取待识别视频,所述待识别视频包括n个视频帧,n为大于0的整数;对第n个视频帧和第n 1个视频帧进行关键点检测,获得第n个视频帧中目标人体的骨架关键点数据和第n 1个视频帧中的骨架关键点数据,n<n;根据第n个视频帧中目标人体的骨架关键点数据对所述目标人体进行目标跟踪,获得所述目标人体在第n 1个视频帧中的预测位置;根据第n 1个视频帧中的骨架关键点数据和所述目标人体在第n 1个视频帧中的预测位置确定所述目标人体的骨架关键点轨迹列表;根据所述目标人体的骨架关键点轨迹列表确定所述目标人体的动作识别结果。
8.在本公开的一种示例性实施例中,所述动作识别结果包括粗分类动作识别结果;其中,根据所述目标人体的骨架关键点轨迹列表确定所述目标人体的动作识别结果包括:获取样本视频以及所述样本视频中的样本人体的粗分类动作标注,所述粗分类动作标注包括静止和移动;根据所述样本人体的骨架关键点轨迹列表确定具有静止的样本人体的第一方差均值,以及移动的样本人体的第二方差均值;根据所述第一方差均值和所述第二方差均值确定目标分类阈值;根据所述目标人体的骨架关键点轨迹列表和所述目标分类阈值确定所述目标人体的粗分类动作识别结果。
9.在本公开的一种示例性实施例中,根据所述目标人体的骨架关键点轨迹列表和所
述目标分类阈值确定所述目标人体的粗分类动作识别结果包括:根据所述目标人体的骨架关键点轨迹列表确定所述目标人体在n个视频帧中的人体中心点;根据所述目标人体在n个视频帧中的人体中心点确定所述目标人体的中心点方差;根据所述目标分类阈值和所述目标人体的中心点方差确定所述目标人体的粗分类动作识别结果。
10.在本公开的一种示例性实施例中,根据所述第一方差均值和所述第二方差均值均值确定目标分类阈值包括:确定所述第一方差均值和第二方差均值中的最小值;确定所述第一方差均值和第二方差均值的差值的绝对值;根据所述最小值和所述绝对值的和确定目标分类阈值。
11.在本公开的一种示例性实施例中,所述动作识别结果包括精确分类动作识别结果;其中,根据所述目标人体的骨架关键点轨迹列表确定所述目标人体的动作识别结果还包括:确定待精确分类动作的待识别关键点;基于所述待识别关键点,对所述目标人体在第n个视频帧的骨架关键点数据采样获得采样关键点数据;根据所述采样关键点数据确定第一向量与第二向量;根据所述第一向量与所述第二向量的夹角确定所述目标人体在第n个视频帧的精确分类动作识别结果;根据n个视频帧中所述目标人体的精确分类动作识别结果确定所述目标人体的精确分类动作识别结果。
12.在本公开的一种示例性实施例中,根据第n个视频帧中目标人体的骨架关键点数据对所述目标人体进行目标跟踪,获得所述目标人体在第n 1个视频帧中的预测位置包括:根据第n个视频帧中目标人体的骨架关键点数据确定第n个视频帧中所述目标人体的骨架边界区域;根据第n个视频帧中所述目标人体的骨架边界区域的直方图归一化特征确定所述目标人体在第n个视频帧的参考特征;在第n个视频帧中所述目标人体的骨架边界区域的中心点位置的预设区域范围内随机生成第n 1个视频帧中所述目标人体的k个潜在位置,k为大于0的整数;计算获得第n 1个视频帧中所述目标人体的k个潜在位置的参考特征;计算所述目标人体的参考特征与k个潜在位置的参考特征的k个相似度;将k个相似度中最大值对应的潜在位置确定为第n 1个视频帧中所述目标人体的骨架边界区域的更新中心点位置;根据第n 1个视频帧中所述目标人体的骨架边界区域的更新中心点位置确定所述目标人体在第n 1个视频帧中的预测位置。
13.在本公开的一种示例性实施例中,根据第n 1个视频帧中的骨架关键点数据和所述目标人体在第n 1个视频帧中的预测位置确定所述目标人体的骨架关键点轨迹列表包括:确定第n 1个视频帧中每个骨架关键点数据的骨架边界区域;计算所述目标人体在第n 1个视频帧中的预测位置与第n 1个视频帧中各骨架边界区域的面积重叠率;将第n 1个视频帧中具有最大面积重叠率的骨架边界区域对应的骨架关键点数据确定为所述目标人体在第n 1个视频帧中的骨架关键点数据;根据所述目标人体在n个视频帧中的骨架关键点数据确定所述目标人体的骨架关键点轨迹列表。
14.在本公开的一种示例性实施例中,根据所述目标人体在n个视频帧中的骨架关键点数据确定所述目标人体的骨架关键点轨迹列表包括:若所述目标人体在第n 1个视频帧中的预测位置与第n 1个视频帧中各骨架边界区域的面积重叠率中的最大值小于面积重叠率阈值,则根据第1个至第n个视频帧中所述目标人体的骨架关键点数据确定所述目标人体的骨架关键点轨迹列表;若第n 1个视频帧中存在一骨架关键点数据与第n个视频帧中目标人体的预测位置的面积重叠率均小于面积重叠率阈值,则将该骨架关键点数据确定为新增
目标人体的骨架关键点数据,并根据第n 1个至第n个视频帧中所述新增目标人体的骨架关键点数据确定所述新增目标人体的骨架关键点轨迹列表。
15.根据本公开实施例的第二方面,提出一种人体动作识别装置,该装置包括:视频获取模块,用于获取待识别视频,所述待识别视频包括n个视频帧,n为大于0的整数;关键点检测模块,用于对第n个视频帧和第n 1个视频帧进行关键点检测,获得第n个视频帧中目标人体的骨架关键点数据和第n 1个视频帧的骨架关键点数据,n<n;目标跟踪模块,用于根据第n个视频帧中目标人体的骨架关键点数据对所述目标人体进行目标跟踪,获得所述目标人体在第n 1个视频帧中的预测位置;轨迹列表确定模块,用于根据第n 1个视频帧中的骨架关键点数据和所述目标人体在第n 1个视频帧中的预测位置确定所述目标人体的骨架关键点轨迹列表;动作识别模块,用于根据所述目标人体的骨架关键点轨迹列表确定所述目标人体的动作识别结果。
16.根据本公开实施例的第三方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一项所述的人体动作识别方法。
17.根据本公开实施例的第四方面,提出一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述任一项所述的人体动作识别方法。
18.根据本公开某些实施例提供的人体动作识别方法、装置、电子设备及计算机可读介质,对于待识别视频中的n个视频帧,在进行关键点检测后,根据第n个视频帧中目标人体的骨架关键点数据对所述目标人体进行目标跟踪,获得所述目标人体在第n 1个视频帧中的预测位置;能够根据第n 1个视频帧中的骨架关键点数据和所述目标人体在第n 1个视频帧中的预测位置进行比较,确定所述目标人体的骨架关键点轨迹列表,实现多个目标人体在多个连续视频帧中的帧间跟踪。基于目标人体的骨架关键点轨迹列表对目标人体的动态动作进行多帧的分析,能够快速获得较为准确的动作识别结果。
19.应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
20.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1是根据一示例性实施例示出的一种人体动作识别方法及装置的系统框图。
22.图2是根据一示例性实施例示出的一种人体动作识别方法的流程图。
23.图3是根据另一示例性实施例示出的一种人体动作识别方法的流程图。
24.图4是根据又一示例性实施例示出的一种人体动作识别方法的流程图。
25.图5是根据再一示例性实施例示出的一种人体动作识别方法的流程图。
26.图6是根据再一示例性实施例示出的一种人体动作识别方法的流程图。
27.图7是人体骨架关键点数据的示意图。
28.图8是人体动作示意图。
29.图9是根据一示例性实施例示出的一种人体动作识别装置的框图。
30.图10示意性示出本公开一个示例性实施例中一种电子设备的方框图。
具体实施方式
31.现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本发明将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
32.所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
33.附图仅为本发明的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
34.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和步骤,也不是必须按所描述的顺序执行。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
35.人体姿态动作识别要解决的主要问题时如何将摄像机或传感器采集到的视频序列通过分析和处理,使得计算机能够“理解”视频中人体的动作和行为;基于视频的人体姿态动作识别在安全监控、人机交互、虚拟现实等领域都有着广泛的应用前景。对于许多人工智能系统来说,人体姿态动作识别或人类行为理解是必不可少的,例如对于机房巡检人员巡检行为的合规性判断,就可以通过利用人体姿态动作识别技术,对规定巡检时间段的监控视频中的人体的动作进行识别和理解,自动完成巡检合规性检查,同时也可以自动检测出恶意行为和异常行为。
36.下面结合附图对本发明示例实施方式进行详细说明。
37.图1是根据一示例性实施例示出的一种人体动作识别方法及装置的系统框图。
38.在人体动作识别方法及装置的系统100中,服务器105可以是提供各种服务的服务器,例如通过网络104对用户利用终端设备101、102、103所进行操作的人体动作识别系统提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的人体动作识别请求等数据进行分析等处理,并将处理结果(例如动作识别结果
‑‑
仅为示例)反馈给终端设备。
39.服务器105可以是一个实体的服务器,还可例如为多个服务器组成,服务器105中的一部分可例如作为本公开中的人体动作识别任务提交系统,用于获取将要执行人体动作识别命令的任务;以及服务器105中的一部分还可例如作为本公开中的人体动作识别系统,用于获取待识别视频,所述待识别视频包括n个视频帧,n为大于0的整数;对第n个视频帧和第n 1个视频帧进行关键点检测,获得第n个视频帧中目标人体的骨架关键点数据和第n 1
个视频帧中的骨架关键点数据,n<n;根据第n个视频帧中目标人体的骨架关键点数据对所述目标人体进行目标跟踪,获得所述目标人体在第n 1个视频帧中的预测位置;根据第n 1个视频帧中的骨架关键点数据和所述目标人体在第n 1个视频帧中的预测位置确定所述目标人体的骨架关键点轨迹列表;根据所述目标人体的骨架关键点轨迹列表确定所述目标人体的动作识别结果。
40.图2是根据一示例性实施例示出的一种人体动作识别方法的流程图。本公开实施例提供的人体动作识别方法可以由任意具备计算处理能力的电子设备执行,例如终端设备101、102、103和/或服务器105,在下面的实施例中,以服务器执行方法为例进行举例说明,但本公开并不限定于此。本公开实施例提供的人体动作识别方法可以包括步骤s202至s210。
41.如图2所示,在步骤s202中,获取待识别视频,待识别视频包括n个视频帧,n为大于0的整数。
42.本公开实施例中,待识别视频例如为视频流文件,又例如为视频片段文件。
43.在步骤s204中,对第n个视频帧和第n 1个视频帧进行关键点检测,获得第n个视频帧中目标人体的骨架关键点数据和第n 1个视频帧中的骨架关键点数据,n<n。
44.本公开实施例中,n为大于0且小于n的整数。每个视频帧中的目标人体可包括一个或多个。每个目标人体的骨架关键点数据可包括18个骨架关键点。骨架关键点数据可如图7所示,其中包括编号0至编号17的18个骨架关键点。每个目标人体的骨架关键点数据可表示如下:[[x1,y1,score1,x2,y2,score2,

,x18,y18,score18],(xi,yi)代表第i个骨架关键点的坐标,i∈[1,18],scorei代表该关键点置信度,scorei=0代表该第i个骨架关键点不可见。
[0045]
其中,在n个视频帧中检测到的骨架关键点数据属于目标人体。在n 1个视频帧中检测到的骨架关键点数据不一定属于目标人体。
[0046]
在步骤s206中,根据第n个视频帧中目标人体的骨架关键点数据对目标人体进行目标跟踪,获得目标人体在第n 1个视频帧中的预测位置。
[0047]
本公开实施例中,目标跟踪可例如为粒子滤波算法,但本公开对此并不作特殊限定。
[0048]
在步骤s208中,根据第n 1个视频帧中的骨架关键点数据和目标人体在第n 1个视频帧中的预测位置确定目标人体的骨架关键点轨迹列表。
[0049]
本公开实施例中,可例如对第n 1个视频帧中的骨架关键点数据和目标人体在第n 1个视频帧中的预测位置面积重叠率的计算,根据计算结果在第n 1个视频帧中的骨架关键点数据中确定目标人体在第n 1个视频帧中的骨架关键点数据,进而根据目标人体在第n个和第n 1个视频帧中的骨架关键点数据生成目标人体的骨架关键点轨迹列表
[0050]
在步骤s210中,根据目标人体的骨架关键点轨迹列表确定目标人体的动作识别结果。
[0051]
本公开实施例中,可基于目标人体的骨架关键点轨迹列表对目标人体的动态动作进行多帧的分析,进而获得较为准确的动作识别结果。
[0052]
根据本公开实施例提供的人体动作识别方法,对于待识别视频中的n个视频帧,在进行关键点检测后,根据第n个视频帧中目标人体的骨架关键点数据对目标人体进行目标
跟踪,获得目标人体在第n 1个视频帧中的预测位置;能够根据第n 1个视频帧中的骨架关键点数据和目标人体在第n 1个视频帧中的预测位置进行比较,确定目标人体的骨架关键点轨迹列表,实现多个目标人体在多个连续视频帧中的帧间跟踪。基于目标人体的骨架关键点轨迹列表对目标人体的动态动作进行多帧的分析,能够快速获得较为准确的动作识别结果。
[0053]
且上述方式不受限于深度学习的人体姿态估计算法的缺陷,计算简便、计算量低、实时性高。
[0054]
图3是根据另一示例性实施例示出的一种人体动作识别方法的流程图。图2实施例的步骤s210可以进一步包括步骤s302至s308。在本公开实施例中,动作识别结果可包括粗分类动作识别结果。
[0055]
如图3所示,在步骤s302中,获取样本视频以及样本视频中的样本人体的粗分类动作标注,粗分类动作标注包括静止和移动。
[0056]
本公开实施例中,样本视频的样本人体具有粗分类动作标注以及样本人体在样本视频中的骨架关键点轨迹列表。样本人体与目标人体可为不同的人体。
[0057]
在步骤s304中,根据样本人体的骨架关键点轨迹列表确定具有静止的样本人体的第一方差均值,以及移动的样本人体的第二方差均值。
[0058]
本公开实施例中,可根据静止的样本人体的骨架关键点轨迹列表确定静止的样本人体的第一方差列表:sj1,sj2,

,sjm;(其中方差计算例如以骨架关键点的中心点的坐标计算获得每个静止的样本人体的方差,方差的计算公式例如式(1)所示)根据移动的样本人体的骨架关键点轨迹列表确定移动的样本人体的第二方差列表:sy1,sy2,

,sym。并对静止的样本人体的第一方差列表求均值,获得静止的样本人体的第一方差均值;对移动的样本人体的第二方差列表求均值,获得移动的样本人体的第二方差均值。其中,m为样本人体的骨架关键点轨迹列表的元素个数,即该样本人体出现在样本视频中的视频帧数。
[0059][0060]
其中,s2为方差,s为标准差,xi为骨架关键点轨迹列表中的第i个元素(即中心点的横坐标或纵坐标),为均值,计算如下:
[0061][0062]
在步骤s306中,根据第一方差均值和第二方差均值确定目标分类阈值。
[0063]
其中,可确定第一方差均值和第二方差均值中的最小值;确定第一方差均值和第二方差均值的差值的绝对值;根据最小值和绝对值的和确定目标分类阈值。具体地,目标分类阈值可通过下式计算得到。
[0064]
threshold=min(mean0,mean1) abs(mean
0-mean1)
ꢀꢀꢀ
(3)
[0065]
其中,mean0为第一方差均值,mean1为第二方差均值。
[0066]
在步骤s308中,根据目标人体的骨架关键点轨迹列表和目标分类阈值确定目标人体的粗分类动作识别结果。
[0067]
本公开实施例中,可根据目标人体的骨架关键点轨迹列表确定目标人体在n个视频帧中的人体中心点;根据目标人体在n个视频帧中的人体中心点确定目标人体的中心点
方差;根据目标分类阈值和目标人体的中心点方差确定目标人体的第一动作标注识别结果。
[0068]
其中,目标人体的中心点方差的计算方式可参见公式(1)的计算方式。其中,若目标人体的中心点方差大于目标分类阈值,则确认目标人体的粗分类动作识别结果为移动,否则为静止。
[0069]
根据本公开实施例提供的人体动作识别方法,基于样本视频的统计计算获得目标分类阈值,进而根据目标分类阈值对目标人体的骨架关键点轨迹列表进行判断,获得目标人体的粗分类识别结果,能够基于准确的目标分类阈值获得准确的粗分类识别结果,提高分类结果的可靠性。
[0070]
图4是根据又一示例性实施例示出的一种人体动作识别方法的流程图。本公开实施例提供人体动作识别方法可以包括步骤s402至s410。在本公开实施例中,动作识别结果还可包括精确分类动作识别结果。
[0071]
如图4所示,在步骤s402中,确定待精确分类动作的待识别关键点。
[0072]
本公开实施例中,可根据目标人体的粗分类动作识别结果确定待精确分类动作;确定目标人体在各待精确分类动作的待识别关键点。
[0073]
例如,当粗分类动作识别结果为静止时,可确定待精确分类动作至少包括:站立、坐着。当粗分类动作识别结果为移动时,可确定待精确分类动作至少包括:行走、跳跃。又例如,对于待精确分类动作:坐着,其待识别关键点例如为图7所示的点1、8、9、10、11、12、13。站立的人体骨架关键点数据示意图可例如图8(a)所示,坐着的人体骨架关键点数据示意图可例如图8(b)所示,行走的人体骨架关键点数据示意图可例如图8(c)所示。
[0074]
在步骤s404中,基于待识别关键点,对目标人体在第n个视频帧的骨架关键点数据采样获得采样关键点数据。
[0075]
在步骤s406中,根据采样关键点数据确定第一向量与第二向量。
[0076]
其中,如图7所示,以待精确分类动作:坐着为例,第一向量例如点1至点8,第二向量为点8至点9。又例如,第一向量为点1至点11,第二向量为点11至12。还例如,第一向量为点9至点8,第二向量为点9至10。再例如,第一向量为点12至点11,第二向量为点12至13。第一向量和第二向量可包括上述枚举情况中的一个或多个。
[0077]
在步骤s408中,根据第一向量与第二向量的夹角确定目标人体在第n个视频帧的精确分类动作识别结果。
[0078]
接前述举例,当第一向量与第二向量的夹角接近180度(即与180度的差值小于差值阈值),则认为精确分类动作识别结果为站立,当第一向量与第二向量的夹角接近90度(即与90度的差值小于差值阈值),则认为精确分类动作识别结果为坐着。
[0079]
第一向量a与第二向量b的夹角r可表示为:r=acos(cos(r))*180/pi。
[0080]
其中,pi=3.14159265,cos(r)=a
·
b/(|a|*|b|)。
[0081]
在步骤s410中,根据n个视频帧中目标人体的精确分类动作识别结果确定目标人体的精确分类动作识别结果。
[0082]
根据本公开实施例提供的人体动作识别方法,基于粗分类动作识别结果,确定待精确分类动作,能够缩小精确分类的判断范围,进而节省计算量,提高动作识别效率。
[0083]
图5是根据再一示例性实施例示出的一种人体动作识别方法的流程图。本公开实
施例提供人体动作识别方法可以包括步骤s502至s514。
[0084]
如图5所示,在步骤s502中,根据第n个视频帧中目标人体的骨架关键点数据确定第n个视频帧中目标人体的骨架边界区域。
[0085]
本公开实施例中,骨架边界区域rect例如为矩形区域,该矩形区域可表示为rect=[xleft,ytop,width,height]。
[0086]
其中,xleft(左上端点x坐标)=min[x1,x2,

,x18];
[0087]
ytop(左上端点y坐标)=min[y1,y2,

,y18];
[0088]
width(宽度)=|max[x1,x2,

,x18]

min[x1,x2,

,x18]|;
[0089]
height(高度)=|max[y1,y2,

,y18]

min[y1,y2,

,y18]|。
[0090]
在步骤s504中,根据第n个视频帧中目标人体的骨架边界区域的直方图归一化特征确定目标人体在第n个视频帧的参考特征。
[0091]
本公开实施例中,例如通过opencv的calchist计算出rect区域的颜色直方图归一化特征,作为目标人体在第n个视频帧的参考特征f。
[0092]
在步骤s506中,在第n个视频帧中目标人体的骨架边界区域的中心点位置的预设区域范围内随机生成第n 1个视频帧中目标人体的k个潜在位置,k为大于0的整数。
[0093]
本公开实施例中,预设区域范围例如以第n个视频帧中目标人体的骨架边界区域的中心点位置为圆心,半径r的范围。r可例如取值为10,但此处仅为示例。
[0094]
在步骤s508中,计算获得第n 1个视频帧中目标人体的k个潜在位置的参考特征。
[0095]
本公开实施例中,可例如以潜在位置为中心点,确定每个潜在位置的潜在边界区域(类似骨架边界区域,即根据中心点、宽度width和高度height确定潜在边界区域),并计算第n 1个视频帧中每个潜在位置的潜在边界区域的颜色直方图归一化特征,获得每个潜在位置的参考特征fi。
[0096]
在步骤s510中,计算目标人体的参考特征与k个潜在位置的参考特征的k个相似度。
[0097]
在步骤s512中,将k个相似度中最大值对应的潜在位置确定为第n 1个视频帧中目标人体的骨架边界区域的更新中心点位置。
[0098]
在步骤s514中,根据第n 1个视频帧中目标人体的骨架边界区域的更新中心点位置确定目标人体在第n 1个视频帧中的预测位置。
[0099]
本公开实施例中,可根据第n 1个视频帧中目标人体的骨架边界区域的更新中心点位置、宽度和高度确定目标人体在第n 1个视频帧中的预测位置,该预测位置为一区域,对应于目标人体在第n个视频帧中的骨架边界区域。
[0100]
图6是根据再一示例性实施例示出的一种人体动作识别方法的流程图。本公开实施例提供人体动作识别方法可以包括步骤s602至s608。
[0101]
如图6所示,在步骤s602中,确定第n 1个视频帧中每个骨架关键点数据的骨架边界区域。
[0102]
本公开实施例中,骨架边界区域的确定方式可参见图5步骤s502中的详解。
[0103]
在步骤s604中,计算目标人体在第n 1个视频帧中的预测位置与第n 1个视频帧中各骨架边界区域的面积重叠率。
[0104]
在步骤s606中,将第n 1个视频帧中具有最大面积重叠率的骨架边界区域对应的
骨架关键点数据确定为目标人体在第n 1个视频帧中的骨架关键点数据。
[0105]
其中,可在该最大面积重叠率大于面积重叠率阈值时,将将第n 1个视频帧中具有最大面积重叠率的骨架边界区域对应的骨架关键点数据确定为目标人体在第n 1个视频帧中的骨架关键点数据。
[0106]
在步骤s608中,根据目标人体在n个视频帧中的骨架关键点数据确定目标人体的骨架关键点轨迹列表。
[0107]
本公开实施例中,可依次获得第1至第n个视频帧中至少一个视频帧的目标人体的骨架关键点数据,进而获得目标人体的骨架关键点轨迹列表。该骨架关键点轨迹列表描述了目标人体在不同视频帧下的骨架关键点数据。
[0108]
根据本公开实施例提供的人体动作识别方法,基于预测位置和第n 1个视频帧中各骨架边界区域的面积重叠率的计算,能够准确对每个目标人体进行跟踪,根据跟踪结果准确生成每个目标人体的骨架关键点轨迹列表,进而便于后续基于多帧的骨架关键点轨迹列表对目标人体的动作进行准确识别。
[0109]
在示例性实施例中,在步骤s608中,若目标人体在第n 1个视频帧中的预测位置与第n 1个视频帧中各骨架边界区域的面积重叠率中的最大值小于面积重叠率阈值,则根据第1个至第n个视频帧中目标人体的骨架关键点数据确定目标人体的骨架关键点轨迹列表。
[0110]
该情况下,可认为该目标人体在第n 1个视频帧起已消失,后续无需对其进行跟踪,因此可直接根据第1个至第n个视频帧中目标人体的骨架关键点数据确定目标人体的骨架关键点轨迹列表。
[0111]
若第n 1个视频帧中存在一骨架关键点数据与第n个视频帧中目标人体的预测位置的面积重叠率均小于面积重叠率阈值,则将该骨架关键点数据确定为新增目标人体的骨架关键点数据,并根据第n 1个至第n个视频帧中新增目标人体的骨架关键点数据确定新增目标人体的骨架关键点轨迹列表。
[0112]
该情况下,可认为该新增目标人体的骨架关键点数据对应的人物为第n 1个视频帧中新出现的人物,其在第n 1个视频帧之前并未出现,因此可直接根据第n 1个至第n个视频帧中新增目标人体的骨架关键点数据确定新增目标人体的骨架关键点轨迹列表。
[0113]
本技术提供的人体动作识别方法,能够解决现有技术所存在四方面的问题。
[0114]
(1)应用范围局限性:解决当前动作识别算法应用的局限性(仅支持单人且单一背景条件下的动作识别),实现在普通监控场景下多人同时的动作识别效果,同时达到实时性的目的。
[0115]
(2)泛化能力弱的问题:解决当前主流基于模型训练的人体动作识别算法泛化能力低的问题,实现非训练模型(统计 骨架角度计算)的多场景下人体动作识别的准确性。
[0116]
(3)计算复杂度高:解决当前采用深度学习技术方案来做人体姿态动作识别时计算复杂度高,实时性差的问题。
[0117]
(4)设备要求高,成本高:解决当前动作识别算法需景深相机获取人体三维坐标信息才能完成动作识别的复杂性,实现基于普通监控摄像头即可人体姿态动作识别的目的,降低实际应用的成本。
[0118]
应清楚地理解,本公开描述了如何形成和使用特定示例,但本公开的原理不限于这些示例的任何细节。相反,基于本公开公开的内容的教导,这些原理能够应用于许多其它
实施例。
[0119]
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由中央处理器(central processing unit,cpu)执行的计算机程序。在该计算机程序被中央处理器cpu执行时,执行本公开提供的上述方法所限定的上述功能。该程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器、磁盘或光盘等。
[0120]
此外,需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
[0121]
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
[0122]
图9是根据一示例性实施例示出的一种人体动作识别装置的框图。参照图9,本公开实施例提供的人体动作识别装置90可以包括:视频获取模块902、关键点检测模块904、目标跟踪模块906、轨迹列表确定模块908以及动作识别模块910。
[0123]
在人体动作识别装置90中,视频获取模块902可用于获取待识别视频,所述待识别视频包括n个视频帧,n为大于0的整数。
[0124]
关键点检测模块904可用于对第n个视频帧和第n 1个视频帧进行关键点检测,获得第n个视频帧中目标人体的骨架关键点数据和第n 1个视频帧的骨架关键点数据,n<n。
[0125]
目标跟踪模块906可用于根据第n个视频帧中目标人体的骨架关键点数据对所述目标人体进行目标跟踪,获得所述目标人体在第n 1个视频帧中的预测位置。
[0126]
轨迹列表确定模块908可用于根据第n 1个视频帧中的骨架关键点数据和所述目标人体在第n 1个视频帧中的预测位置确定所述目标人体的骨架关键点轨迹列表。
[0127]
动作识别模块910可用于根据所述目标人体的骨架关键点轨迹列表确定所述目标人体的动作识别结果。
[0128]
根据本公开实施例提供的人体动作识别装置,对于待识别视频中的n个视频帧,在进行关键点检测后,根据第n个视频帧中目标人体的骨架关键点数据对所述目标人体进行目标跟踪,获得所述目标人体在第n 1个视频帧中的预测位置;能够根据第n 1个视频帧中的骨架关键点数据和所述目标人体在第n 1个视频帧中的预测位置进行比较,确定所述目标人体的骨架关键点轨迹列表,实现多个目标人体在多个连续视频帧中的帧间跟踪。基于目标人体的骨架关键点轨迹列表对目标人体的动态动作进行多帧的分析,能够快速获得较为准确的动作识别结果。
[0129]
在示例性实施例中,所述动作识别结果可包括粗分类动作识别结果;其中,动作识别模块910可包括:样本视频获取单元,可用于获取样本视频以及所述样本视频中的样本人体的粗分类动作标注,所述粗分类动作标注包括静止和移动;方差计算单元,可用于根据所述样本人体的骨架关键点轨迹列表确定具有静止的样本人体的第一方差均值,以及移动的样本人体的第二方差均值;目标分类阈值计算单元,可用于根据所述第一方差均值和所述第二方差均值确定目标分类阈值;动作识别单元,可用于根据所述目标人体的骨架关键点轨迹列表和所述目标分类阈值确定所述目标人体的粗分类动作识别结果。
[0130]
在示例性实施例中,动作识别单元可包括:中心点确定子单元,可用于根据所述目标人体的骨架关键点轨迹列表确定所述目标人体在n个视频帧中的人体中心点;中心点方
差计算子单元,可用于根据所述目标人体在n个视频帧中的人体中心点确定所述目标人体的中心点方差;粗分类动作识别子单元,可用于根据所述目标分类阈值和所述目标人体的中心点方差确定所述目标人体的粗分类动作识别结果。
[0131]
在示例性实施例中,目标分类阈值计算单元可包括:方差最小值计算子单元,可用于确定所述第一方差均值和第二方差均值中的最小值;差值绝对值计算子单元,可用于确定所述第一方差均值和第二方差均值的差值的绝对值;目标分类阈值计算子单元,可用于根据所述最小值和所述绝对值的和确定目标分类阈值。
[0132]
在示例性实施例中,动作识别结果可包括精确分类动作识别结果;其中,动作识别模块910还可包括:待识别关键点确定单元,可用于确定待精确分类动作的待识别关键点;关键点数据采样单元,可用于基于所述待识别关键点,对所述目标人体在第n个视频帧的骨架关键点数据采样获得采样关键点数据;向量确定单元,可用于根据所述采样关键点数据确定第一向量与第二向量;精确分类动作识别第一子单元,可用于根据所述第一向量与所述第二向量的夹角确定所述目标人体在第n个视频帧的精确分类动作识别结果;精确分类动作识别第二子单元,可用于根据n个视频帧中所述目标人体的精确分类动作识别结果确定所述目标人体的精确分类动作识别结果。
[0133]
在示例性实施例中,目标跟踪模块906可包括:第n区域确定单元,可用于根据第n个视频帧中目标人体的骨架关键点数据确定第n个视频帧中所述目标人体的骨架边界区域;参考特征计算单元,可用于根据第n个视频帧中所述目标人体的骨架边界区域的直方图归一化特征确定所述目标人体在第n个视频帧的参考特征;潜在位置生成单元,可用于在第n个视频帧中所述目标人体的骨架边界区域的中心点位置的预设区域范围内随机生成第n 1个视频帧中所述目标人体的k个潜在位置,k为大于0的整数;潜在特征计算单元,可用于计算获得第n 1个视频帧中所述目标人体的k个潜在位置的参考特征;相似度计算单元,可用于计算所述目标人体的参考特征与k个潜在位置的参考特征的k个相似度;更新中心点计算单元,可用于将k个相似度中最大值对应的潜在位置确定为第n 1个视频帧中所述目标人体的骨架边界区域的更新中心点位置;预测位置确定单元,可用于根据第n 1个视频帧中所述目标人体的骨架边界区域的更新中心点位置确定所述目标人体在第n 1个视频帧中的预测位置。
[0134]
在示例性实施例中,轨迹列表确定模块908可包括:第n 1区域确定单元,可用于确定第n 1个视频帧中每个骨架关键点数据的骨架边界区域;面积重叠率计算单元,可用于计算所述目标人体在第n 1个视频帧中的预测位置与第n 1个视频帧中各骨架边界区域的面积重叠率;帧间跟踪单元,可用于将第n 1个视频帧中具有最大面积重叠率的骨架边界区域对应的骨架关键点数据确定为所述目标人体在第n 1个视频帧中的骨架关键点数据;轨迹列表确定单元,可用于根据所述目标人体在n个视频帧中的骨架关键点数据确定所述目标人体的骨架关键点轨迹列表。
[0135]
在示例性实施例中,轨迹列表确定单元可包括:目标人体消失处理子单元,可用于若所述目标人体在第n 1个视频帧中的预测位置与第n 1个视频帧中各骨架边界区域的面积重叠率中的最大值小于面积重叠率阈值,则根据第1个至第n个视频帧中所述目标人体的骨架关键点数据确定所述目标人体的骨架关键点轨迹列表;目标人体新增处理子单元,可用于若第n 1个视频帧中存在一骨架关键点数据与第n个视频帧中目标人体的预测位置的
面积重叠率均小于面积重叠率阈值,则将该骨架关键点数据确定为新增目标人体的骨架关键点数据,并根据第n 1个至第n个视频帧中所述新增目标人体的骨架关键点数据确定所述新增目标人体的骨架关键点轨迹列表。
[0136]
下面参照图10来描述根据本发明的这种实施方式的电子设备1000。图10显示的电子设备1000仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0137]
如图10所示,电子设备1000以通用计算设备的形式表现。电子设备1000的组件可以包括但不限于:上述至少一个处理单元1010、上述至少一个存储单元1020、连接不同系统组件(包括存储单元1020和处理单元1010)的总线1030。
[0138]
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1010执行,使得所述处理单元1010执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元1010可以执行如图2或图3或图4或图5或图6中所示的步骤。
[0139]
存储单元1020可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)10201和/或高速缓存存储单元10202,还可以进一步包括只读存储单元(rom)10203。
[0140]
存储单元1020还可以包括具有一组(至少一个)程序模块10205的程序/实用工具10204,这样的程序模块10205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0141]
总线1030可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
[0142]
电子设备1000也可以与一个或多个外部设备1100(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1000交互的设备通信,和/或与使得该电子设备1000能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口1050进行。并且,电子设备1000还可以通过网络适配器1060与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器1060通过总线1030与电子设备1000的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0143]
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
[0144]
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发
明各种示例性实施方式的步骤。
[0145]
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0146]
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0147]
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0148]
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0149]
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
[0150]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和构思由权利要求指出。
再多了解一些

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

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

相关文献