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

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

2021-10-24 06:11:00 来源:中国专利 TAG:识别 人体 动作 电子设备 装置


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.根据所述第一预测姿态标签以及实际姿态标签构建交叉熵损失函数,并利用所述交叉熵损失函数对所述图卷积神经网络模型进行训练,得到所述骨骼点分类模型。
32.在本公开的一种示例性实施例中,所述人体动作识别方法还包括:
33.对所述数据集中的历史人体姿态图像的实际姿态标签进行格式转换,并将所述数据集中的历史人体姿态图像输入至目标检测模型中,得到第二预测姿态标签;
34.根据所述第二预测姿态标签以及格式转换后的实际姿态标签构建边框回归损失函数以及类别和置信度损失函数;
35.利用所述边框回归损失函数以及类别和置信度损失函数对所述目标检测模型进行训练,得到所述图像分类模型。
36.在本公开的一种示例性实施例中,对第一动作分类结果以及第二动作分类结果进行融合,得到目标对象的人体动作类别,包括:
37.为所述第一动作分类结果以及第二动作分类结果配置第一权重以及第二权重;
38.对所述第一动作分类结果、第一权重、第二动作分类结果以及第二权重进行加权求和,得到所述目标对象的人体动作分类结果。
39.根据本公开的一个方面,提供一种人体动作识别装置,包括:
40.骨骼点数据提取模块,用于提取待识别图像中包括的目标对象的人体骨骼点数据,并根据所述人体骨骼点数据计算人体骨骼数据;
41.第一分类结果计算模块,用于将人体骨骼点数据以及人体骨骼数据输入至骨骼点分类模型中,得到第一动作分类结果;
42.第二分类结果计算模块,用于将所述待识别图像输入至图像分类模型中,得到第二动作分类结果;
43.动作类别确定模块,用于对第一动作分类结果以及第二动作分类结果进行融合,得到目标对象的人体动作类别。
44.根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的人体动作识别方法。
45.根据本公开的一个方面,提供一种电子设备,包括:
46.处理器;以及
47.存储器,用于存储所述处理器的可执行指令;
48.其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的人体动作识别方法。
49.本公开实施例提供的一种人体动作识别方法,一方面,通过提取待识别图像中包括的目标对象的人体骨骼点数据,并根据人体骨骼点数据计算人体骨骼数据;再将人体骨骼点数据以及人体骨骼数据输入至骨骼点分类模型中,得到第一动作分类结果;然后将待识别图像输入至图像分类模型中,得到第二动作分类结果;最后对第一动作分类结果以及第二动作分类结果进行融合,得到目标对象的人体动作类别,由于在对人体动作类别进行识别时,同时考虑到了图像分类以及骨骼点分类,进而解决了现有技术中由于受限于骨骼点特征,会使得动作分类结果的准确率较低的问题;另一方面,在图像分类的基础上,同时考虑到了人体骨骼数据以及人体骨骼点数据,避免了由于仅通过图像分类对人体动作识别进而导致的场景适用性较低的问题;再一方面,由于在根据骨骼数据进行分类时,同时考虑到了骨骼数据以及骨骼点数据,进而避免了由于仅根据骨骼点数据进行分类导致的第一动作分类结果的准确率低的问题,进一步的提升了分类结果的准确率。
50.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
51.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
52.图1示意性示出根据本公开示例实施例的一种人体动作识别方法的流程图。
53.图2示意性示出根据本公开示例实施例的一种骨骼点分类模型的结构示例图。
54.图3示意性示出根据本公开示例实施例的一种深度图网络模块的结构示例图。
55.图4示意性示出根据本公开示例实施例的一种骨骼点分类模型的训练方法的流程图。
56.图5示意性示出根据本公开示例实施例的一种目标检测模型的结构示例图。
57.图6示意性示出根据本公开示例实施例的一种目标检测模型的训练方法的流程图。
58.图7示意性示出根据本公开示例实施例的一种将人体骨骼点数据以及人体骨骼数据输入至骨骼点分类模型中,得到第一动作分类结果的方法流程图。
59.图8示意性示出根据本公开示例实施例的另一种人体动作识别方法的流程图。
60.图9以及图10分别示意性示出根据本公开示例实施例的一种人体骨骼点数据的场景示例图。
61.图11以及图12分别示意性示出根据本公开示例实施例的一种第一动作分类结果的场景示例图。
62.图13以及图14分别示意性示出根据本公开示例实施例的一种第二动作分类结果的场景示例图。
63.图15示意性示出根据本公开示例实施例的一种人体动作识别装置的框图。
64.图16示意性示出根据本公开示例实施例的一种用于实现上述人体动作识别方法的电子设备。
具体实施方式
65.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
66.此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处
理器装置和/或微控制器装置中实现这些功能实体。
67.随着计算机视觉的不断发展,对人体的动作分类一直受到人们的关注。根据人体动作识别的类别不同,可以将人体动作识别分为视频识别和图像识别两种。其中,基于视频的动作识别通过动作序列进行检测,而利用图像进行识别的方法,仅通过识别单张图像中的动作信息,进行图像的动作识别。
68.其中,通过图像识别实现动作分类可以通过目标检测、图卷积神经网络两种方法实现。在实验中发现,两种方法各有利弊,目标检测直接对原图像进行特征的提取,因而在动作分类的准确率更高,但同时目标检测也依赖于场景,场景的变化对目标检测的影响较大。第二种方式首先对人体进行姿态估计,即提取人体的骨骼点信息,然后基于骨骼点数据进行动作分类,这种方式对场景的变化影响很小,但受限于骨骼点特征,动作分类的准确率会有所下降。
69.基于此,本示例实施方式中首先提供了一种人体动作识别方法,该方法可以运行于服务器、服务器集群或云服务器等;当然,本领域技术人员也可以根据需求在其他平台运行本公开的方法,本示例性实施例中对此不做特殊限定。参考图1所示,该人体动作识别方法可以包括以下步骤:
70.步骤s110.提取待识别图像中包括的目标对象的人体骨骼点数据,并根据所述人体骨骼点数据计算人体骨骼数据;
71.步骤s120.将所述人体骨骼点数据以及人体骨骼数据输入至骨骼点分类模型中,得到第一动作分类结果;
72.步骤s130.将所述待识别图像输入至图像分类模型中,得到第二动作分类结果;
73.步骤s140.对第一动作分类结果以及第二动作分类结果进行融合,得到目标对象的人体动作类别。
74.上述人体动作识别方法中,一方面,通过提取待识别图像中包括的目标对象的人体骨骼点数据,并根据人体骨骼点数据计算人体骨骼数据;再将人体骨骼点数据以及人体骨骼数据输入至骨骼点分类模型中,得到第一动作分类结果;然后将待识别图像输入至图像分类模型中,得到第二动作分类结果;最后对第一动作分类结果以及第二动作分类结果进行融合,得到目标对象的人体动作类别,由于在对人体动作类别进行识别时,同时考虑到了图像分类以及骨骼点分类,进而解决了现有技术中由于受限于骨骼点特征,会使得动作分类结果的准确率较低的问题;另一方面,在图像分类的基础上,同时考虑到了人体骨骼数据以及人体骨骼点数据,避免了由于仅通过图像分类对人体动作识别进而导致的场景适用性较低的问题;再一方面,由于在根据骨骼数据进行分类时,同时考虑到了骨骼数据以及骨骼点数据,进而避免了由于仅根据骨骼点数据进行分类导致的第一动作分类结果的准确率低的问题,进一步的提升了分类结果的准确率。
75.以下,将结合附图对本公开示例实施例人体动作识别方法进行详细的解释以及说明。
76.首先,对本公开示例实施例的发明目的以及应用场景进行解释以及说明。
77.具体的,本公开结合图卷积神经网络和目标检测两个任务的结果,共同实现居家机器人对老人异常行为的监测,比如排查跌倒、昏厥等异常行为。本公开示例实施例所提供的人体动作识别方法,可以用于居家服务机器人,并通过居家服务机器人实现对老人的行
为监测,进而通过融合骨骼点分类和目标检测的结果,更加准确监测老人的异常为。
78.本公开示例实施例所提供的人体动作识别方法,通过对室内图像进行目标检测和骨骼点的提取和分类,识别人体的异常情况,提高了动作分类任务的适用性和分类准确性。同时,利用图像目标检测实现动作分类能够准确捕捉人体的信息,但由于目标检测的场景局限性,目标检测对变化的场景适应性不高,为了提高动作分类的适用性,可以根据提取的骨骼数据进行动作分类,融合两者的结果共同判断动作类型,也可以有效提高分类的准确性。
79.其次,对本公开示例实施例所涉及到的骨骼点分类模型以及图像分类模型进行解释以及说明。
80.具体的,首先,参考图2所示,骨骼点分类模型可以包括第一归一化层210、第二归一化层220、深度图网络模块230、第一池化层240、第二池化层250、第一拼接层260、第一全连接层270以及支持向量机分类模型280。其中,第一归一化层以及第二归一化层与深度图网络模块连接后与第一拼接层连接,支持向量机分类模型通过第一全连接层与第一拼接层连接。
81.其中,参考图3所示,深度图网络模块可以包括第一爱因斯坦求和模块301、第二爱因斯坦求和模块302、第二拼接层303、第一重构维度模块304、第一维度换位模块305、第二全连接层306、第二维度换位模块307、第三归一化层308以及第一激活层309。同时有,第一爱因斯坦求和模块和第二爱因斯坦求和模块分别与第二拼接层连接,第二拼接层、第一重构维度模块、第一维度换位模块、第二全连接层、第二维度换位模块、第三归一化层以及第一激活层依次连接。
82.其次,参考图4所示,上述骨骼点分类模型的具体训练方法可以包括以下步骤:
83.步骤s410,获取历史人体姿态图像,并根据所述历史人体姿态图像以及所述历史人体姿态图像的实际姿态标签,构建数据集;其中,所述人体姿态图像包括跌倒姿态以及除跌倒姿态以外的其他姿态;
84.步骤s420,提取所述数据集中的历史人体姿态图像的姿态骨骼点,并将所述姿态骨骼点输入至图卷积神经网络模型中,得到第一预测姿态标签;
85.步骤s430,根据所述第一预测姿态标签以及实际姿态标签构建交叉熵损失函数,并利用所述交叉熵损失函数对所述图卷积神经网络模型进行训练,得到所述骨骼点分类模型。
86.以下,将结合图2以及图3对步骤s410

步骤s430进行解释以及说明。
87.首先,本公开示例实施例采用普遍使用的rgb摄像头采集rgb图像,供图像分类使用;同时,由于利用图像目标检测进行图像分类是视觉领域的重要任务之一,实际运用中也建立了大量数据集,比如imagenet、pascal、coco等,这些数据集的共同点是规模大,涵盖了各种场景,为了形成场景的适用性,可以从上述数据库中获取满足条件的历史人体姿态图像;其中,该条件为历史人体姿态图像中需要包括跌倒姿态的图像以及除开跌倒姿态以外的其他姿态,进而对各历史人体姿态图像进行标注得到实际姿态标签(其中,实际姿态标签中,跌倒的标签为1,其他标签为0),再根据历史人体姿态图像以及实际姿态标签构建数据集;其中,数据集可以按照7:3的比例分配训练集和验证集。在标注的过程中,可以将人体动作分类16类,具体可以如下表1所示:
88.表1
89.跌倒

显示部分身体

全部着地1_0_1跌倒

显示部分身体

上半身着地1_0_2跌倒

显示部分身体

下半身着地1_0_3跌倒

显示完整身体

全部着地1_1_1跌倒

显示完整身体

上半身着地1_1_2跌倒

显示完整身体

下半身着地1_1_3站立

显示部分身体2_0站立

显示全部身体2_1坐

显示部分身体3_0坐

显示全部身体3_1蹲

显示部分身体4_0蹲

显示全部身体4_1其他

显示部分身体0_0其他

显示全部身体0_1跌倒中

显示部分身体5_0跌倒中

显示全部身体5_1
90.标注结果以目标“人”为单位,训练集:正样本:7821个,负样本:14988个;验证集:正样本:192个,负样本:682个。
91.其次,当得到数据集以后,可以通过openpose提取数据集中的历史人体姿态图像的姿态骨骼点(18个骨骼点信息),再根据姿态骨骼点计算姿态骨骼数据,最后将姿态骨骼点以及姿态骨骼数据一起输入至图卷积神经网络模型中,得到第一预测姿态标签。其中,图卷积神经网络对姿态骨骼点以及姿态骨骼数据的具体处理过程可以如下所示:
92.首先,利用所述第一归一化层以及第二归一化层分别对所述姿态骨骼点以及姿态骨骼数据进行归一化处理,得到归一化的骨骼点数据以及归一化的骨骼数据;利用所述深度图网络模块中包括第一爱因斯坦求和模块以及第二爱因斯坦求和模块对归一化的骨骼点数据以及归一化的骨骼数据进行求和运算,得到第一和运算结果以及第二和运算结果;
93.其次,利用所述深度图网络模块中包括的第二拼接层对所述第一和运算结果以及第二和运算结果进行拼接得到第二拼接特征,并通过第一重构维度模块以及第一维度换位模块对所述第二拼接特征进行重构维度处理以及维度换位处理,得到骨骼点以及骨骼的关联特征;
94.然后,利用第二全连接层以及第二维度换位模块对所述骨骼点以及骨骼的关联特征进行全连接处理以及维度换位处理,并利用第三归一化层以及第一激活层对处理后的骨骼点以及骨骼的关联特征进行归一化处理以及激活处理,得到骨骼点与骨骼之间的第一关联特征以及骨骼与骨骼点之间的第二关联特征;
95.进一步的,利用所述第一池化层以及第二池化层对第一关联特征以及第二关联特征进行降维处理,并通过所述第一拼接层对降维处理后的第一关联特征以及第二关联特征进行拼接得到第一拼接特征;
96.最后,通过所述第一全连接层将第一拼接特征映射至预设的动作类别上,并通过
所述支持向量机分类模型确定每一个动作类别的概率,根据动作类别的概率,得到第一预测姿态标签。
97.进一步的,当得到第一预测姿态标签以后,即可根据第一预测姿态标签以及实际姿态标签构建交叉熵损失函数l1(pytorch中的cross entropy loss()),具体可以如下公式(1)所示:
[0098][0099]
其中,n为样本的数量,y
i
'为第一预测姿态标签,y
i
为实际姿态标签。
[0100]
进一步的,参考图5所示,目标检测模型可以包括主干网络510、颈部网络520以及检测网络530。其中,主干网络、颈部网络以及检测网络依次连接。同时,主干网络包括聚集层511以及多个第一卷积层512;颈部网络可以包括多个第二卷积层521、多个上采样层522以及多个第三拼接层523;检测网络中包括多个第三卷积层531以及多个第二激活层532。
[0101]
最后,参考图6所示,上述图像分类模型的具体训练方法可以包括以下步骤:
[0102]
步骤s610,对所述数据集中的历史人体姿态图像的实际姿态标签进行格式转换,并将所述数据集中的历史人体姿态图像输入至目标检测模型中,得到第二预测姿态标签;
[0103]
步骤s620,根据所述第二预测姿态标签以及格式转换后的实际姿态标签构建边框回归损失函数以及类别和置信度损失函数;
[0104]
步骤s630,利用所述边框回归损失函数以及类别和置信度损失函数对所述目标检测模型进行训练,得到所述图像分类模型。
[0105]
以下,结合图5对步骤s610

步骤s630进行解释以及说明。首先,将待训练图像的标注信息(实际姿态标签)按yolov5所需要的标注格式进行转换,并修改标注种类信息。然后,将数据集中的历史人体姿态图像输入至目标检测模型中,得到第二预测姿态标签。其中,第二预测姿态标签的具体处理过程可以如下所示:
[0106]
首先,利用所述主干网络中包括的聚集层对所述历史人体姿态图像进行下采样,并利用所述主干网络中包括的第一卷积层对下采样结果进行卷积处理,得到所述历史人体姿态图像的局部特征;
[0107]
其次,利用所述颈部网络中包括的第二卷积层、上采样层以及第三拼接层对所述局部特征进行卷积处理、上采样处理以及拼接处理,得到所述历史人体姿态图像的全局特征;
[0108]
最后,利用所述检测网络中包括的第三卷积层以及第三激活层对所述全局特征进行卷积处理以及激活处理,得到所述第二预测姿态标签。
[0109]
进一步的,当得到第二预测姿态标签以后,即可根据第二预测姿态标签以及格式转换后的实际姿态标签构建边框回归损失函数(giou_loss)以及类别和置信度损失函数(nn.bcewithlogitsloss),再基于该边框回归损失函数以及类别和置信度损失函数对目标检测模型(yolov5)进行训练,进而得到图像分类模型。
[0110]
此处需要补充说明的是,yolov5中的聚集层(focus)和第一卷积层(conv)的参数为(c_in,c_out,kernel_size,stride),颈部网络的参数为(c_in,c_out,[kernel_size1,kernel_size2,kernel_size3]),检测网络的参数(c_in,c_out);并且,图中所示出的第三拼接层是axes=1时的合并,上采样层的scale_factor为2:输出图像为输入图像的2倍。
[0111]
至此,已经完成了对骨骼点分类模型以及图像分类模型的训练过程。以下,将结合上述骨骼点分类模型以及图像分类模型,对图1中示出的人体动作识别方法中包括的步骤进行解释以及说明。
[0112]
在步骤s110中,提取待识别图像中包括的目标对象的人体骨骼点数据,并根据所述人体骨骼点数据计算人体骨骼数据。
[0113]
在本示例实施例中,首先,需要从视觉模态信息中选取待识别图像;其中,视觉模态信息可以包括rgb图像、深度图像、光流图、红外图像等,rgb图像是最直观的视觉信息,是最常见的识别对象;因此,此处采用普遍使用的rgb摄像头采集rgb图像,进行人体动作识别;其次,需要通过openpose对待识别图像进行处理,进而得到人体18个骨骼点的数据;进一步的,根据人体骨骼点数据计算人体骨骼数据,具体的计算方法可以包括:将人体骨骼点数据依次连接,进而得到人体骨骼数据。通过该方法,使得最终的第一动作分类结果无需受限于骨骼点特征,在提高第一动作分类结果的准确率的基础上,进而提高最终的人体动作识别结果的准确率。
[0114]
在步骤s120中,将所述人体骨骼点数据以及人体骨骼数据输入至骨骼点分类模型中,得到第一动作分类结果。
[0115]
在本示例实施例中,参考图7所示,将人体骨骼点数据以及人体骨骼数据输入至骨骼点分类模型中,得到第一动作分类结果,可以包括以下步骤:
[0116]
步骤s710,利用所述第一归一化层以及第二归一化层分别对所述人体骨骼点数据以及人体骨骼数据进行归一化处理,得到归一化的骨骼点数据以及归一化的骨骼数据;
[0117]
步骤s720,利用所述深度图网络模块对所述归一化的骨骼点数据以及归一化的骨骼数据进行处理,得到骨骼点与骨骼之间的第一关联特征以及骨骼与骨骼点之间的第二关联特征;
[0118]
具体的,首先,利用所述深度图网络模块中包括第一爱因斯坦求和模块以及第二爱因斯坦求和模块对归一化的骨骼点数据以及归一化的骨骼数据进行求和运算,得到第一和运算结果以及第二和运算结果;其次,利用所述深度图网络模块中包括的第二拼接层对所述第一和运算结果以及第二和运算结果进行拼接得到第二拼接特征,并对所述第二拼接特征进行重构维度处理以及维度换位处理,得到骨骼点以及骨骼的关联特征;然后,对所述骨骼点以及骨骼的关联特征进行全连接处理以及维度换位处理,并对处理后的骨骼点以及骨骼的关联特征进行归一化处理以及激活处理,得到骨骼点与骨骼之间的第一关联特征以及骨骼与骨骼点之间的第二关联特征。
[0119]
步骤s730,利用所述第一池化层以及第二池化层对第一关联特征以及第二关联特征进行降维处理,并通过所述第一拼接层对降维处理后的第一关联特征以及第二关联特征进行拼接得到第一拼接特征;
[0120]
步骤s740,通过所述第一全连接层将第一拼接特征映射至预设的动作类别上,并通过所述支持向量机分类模型确定每一个动作类别的概率,根据动作类别的概率,得到所述第一动作分类结果。
[0121]
以下,将对步骤s710

步骤s740进行解释以及说明。具体的,将人体骨骼点数据以及人体骨骼数据作为两个分支,每条分支经过归一化处理,即经过batchnormalize,得到归一化的骨骼点数据以及归一化的骨骼数据;然后,将归一化后的骨骼点数据以及归一化的
骨骼数据经过10个深度图网络模块得到第一关联特征以及第二关联特征;进一步的,经过深度图网络模块处理后的骨骼点数据以及骨骼数据(第一关联特征以及第二关联特征)分别经过池化处理后,再经过拼接连接,然后经过第一全连接层,最后经过支持向量机模型训练,得到第一动作分类结果。
[0122]
在步骤s130中,将所述待识别图像输入至图像分类模型中,得到第二动作分类结果。
[0123]
在本示例实施例中,首先,利用所述主干网络中包括的聚集层对所述待识别图像进行下采样,并利用所述主干网络中包括的第一卷积层对下采样结果进行卷积处理,得到所述待识别图像的局部特征;其次,利用所述颈部网络对所述局部特征进行卷积处理、上采样处理以及拼接处理,得到所述待识别图像的全局特征;最后,利用所述检测网络对所述全局特征进行卷积处理以及激活处理,得到所述第二动作分类结果。
[0124]
此处需要补充说明的是,在进行骨骼识别的基础上,同时加入了对图像中的目标进行检测,进而得到第二动作分类结果,可以进一步的提高人体动作识别结果的准确率。
[0125]
在步骤s140中,对第一动作分类结果以及第二动作分类结果进行融合,得到目标对象的人体动作类别。
[0126]
在本示例实施例中,首先,为所述第一动作分类结果以及第二动作分类结果配置第一权重以及第二权重;其次,对所述第一动作分类结果、第一权重、第二动作分类结果以及第二权重进行加权求和,得到所述目标对象的人体动作分类结果。其中,具体的计算过程可以如下公式(2)所示:
[0127]
f
out
=α*y
out
β*g
out

ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式(2)
[0128]
其中,f
out
为最终得到的人体动作类别,y
out
为第一动作分类结果,g
out
为第二动作分类结果;α为第一权重,β为第二权重,并且有:α β=1。进一步的,α的取值分别取0.45,0.5,0.55,0.6,0.65,0.7,0.75,0.8,0.85,0.9,0.95。以0.55为分类阈值对18502个标记样本进行准确率统计,可以得出当α的取值为0.45时,准确率最高,因此选定α为0.45,则β为0.55。
[0129]
以下,结合图8对本公开示例实施例人体动作识别方法进行进一步的解释以及说明。
[0130]
参考图8所示,该人体动作识别方法可以包括以下步骤:
[0131]
步骤s801,构建数据集,并标注出数据集中的历史人体姿态图像中的人体框位置及当前人体对应的动作分类,跌倒标记为1,未跌倒标记为0;
[0132]
步骤s802,提取骨骼点:将数据集通过openpose提取骨骼点,将检测到的骨骼点与标注文件进行对应,得到不同人体骨骼点的动作分类;
[0133]
步骤s803,对图卷积神经网络进行训练:将骨骼点数据及对应的标注数据送入图卷积神经网络进行跌倒检测模型训练得到基于骨骼点数据的跌倒检测模型(骨骼点分类模型);
[0134]
步骤s804,利用数据集对目标检测模型进行训练:将原图像和标注文件送入youlov5进行跌倒检测模型训练得到基于图像的跌倒检测模型(图像分类模型);
[0135]
步骤s805,计算人体骨骼数据:提取待识别图像的人体骨骼点,并根据人体骨骼点计算人体骨骼数据;其中,openpose提取的骨骼点具体可以参考图9以及图10所示;
[0136]
步骤s806,计算第一动作分类结果:将人体骨骼数据以及人体骨骼点数据输入到以上训练得到的骨骼点分类模型,得到第一动作分类结果,具体可以参考图11以及图12所示;
[0137]
步骤s807,计算第二动作分类结果:将待识别的图像经过训练后的图像分类模型,得到第二动作分类结果,具体可以参考图13以及图14所示;
[0138]
步骤s808,分类结果融合:将两种分类结果进行融合,跌倒的可能性:
[0139]
fout1=0.45*0 (1

0.45)*0.52=0.28
[0140]
fout2=0.45*0.87 (1

0.45)*1=0.94(α取值0.45)
[0141]
设置跌倒阈值为0.55,由于0.94>0.55,因此图像9中检出一个人体有跌倒;
[0142]
fout3=0.45*0 (1

0.45)*1=0.55(α取值0.45);
[0143]
因此图像10将未跌倒的阈值设置为0.55,图像中未检测出跌倒。
[0144]
基于此,可以毫无疑问的得出,本公开示例实施例提供的人体动作识别方法,通过利用图像的目标检测进行动作分类,提高识别的准确率;同时,图像基于openpose提取的骨骼点数据经过图卷积神经网络进行动作分类,该方法的不依赖与场景,适用范围更广;进一步的,该方法运用rgb图像进行动作分类,rgb图像相较于深度图像、光流图、红外图像等更易获取;而且,融合目标检测和图卷积神经网络,两种算法互相补偿,融合后的分类结果更加准确。
[0145]
本公开示例实施例还提供了一种人体动作识别装置。参考图15所示,该人体动作识别装置可以包括骨骼点数据提取模块1510、第一分类结果计算模块1520、第二分类结果计算模块1530以及动作类别确定模块1540。其中:
[0146]
骨骼点数据提取模块1510可以用于提取待识别图像中包括的目标对象的人体骨骼点数据,并根据所述人体骨骼点数据计算人体骨骼数据;
[0147]
第一分类结果计算模块1520可以将人体骨骼点数据以及人体骨骼数据输入至骨骼点分类模型中,得到第一动作分类结果;
[0148]
第二分类结果计算模块1530可以用于将所述待识别图像输入至图像分类模型中,得到第二动作分类结果;
[0149]
动作类别确定模块1540可以用于对第一动作分类结果以及第二动作分类结果进行融合,得到目标对象的人体动作类别。
[0150]
在本公开的一种示例性实施例中,所述骨骼点分类模型包括第一归一化层、第二归一化层、深度图网络模块、第一池化层、第二池化层、第一拼接层、第一全连接层以及支持向量机分类模型;
[0151]
其中,将人体骨骼点数据以及人体骨骼数据输入至骨骼点分类模型中,得到第一动作分类结果,包括:
[0152]
利用所述第一归一化层以及第二归一化层分别对所述人体骨骼点数据以及人体骨骼数据进行归一化处理,得到归一化的骨骼点数据以及归一化的骨骼数据;
[0153]
利用所述深度图网络模块对所述归一化的骨骼点数据以及归一化的骨骼数据进行处理,得到骨骼点与骨骼之间的第一关联特征以及骨骼与骨骼点之间的第二关联特征;
[0154]
利用所述第一池化层以及第二池化层对第一关联特征以及第二关联特征进行降维处理,并通过所述第一拼接层对降维处理后的第一关联特征以及第二关联特征进行拼接
得到第一拼接特征;
[0155]
通过所述第一全连接层将第一拼接特征映射至预设的动作类别上,并通过所述支持向量机分类模型确定每一个动作类别的概率,根据动作类别的概率,得到所述第一动作分类结果。
[0156]
在本公开的一种示例性实施例中,利用所述深度图网络模块对所述归一化的骨骼点数据以及归一化的骨骼数据进行处理,得到骨骼点与骨骼之间的第一关联特征以及骨骼与骨骼点之间的第二关联特征,包括:
[0157]
利用所述深度图网络模块中包括第一爱因斯坦求和模块以及第二爱因斯坦求和模块对归一化的骨骼点数据以及归一化的骨骼数据进行求和运算,得到第一和运算结果以及第二和运算结果;
[0158]
利用所述深度图网络模块中包括的第二拼接层对所述第一和运算结果以及第二和运算结果进行拼接得到第二拼接特征,并对所述第二拼接特征进行重构维度处理以及维度换位处理,得到骨骼点以及骨骼的关联特征;
[0159]
对所述骨骼点以及骨骼的关联特征进行全连接处理以及维度换位处理,并对处理后的骨骼点以及骨骼的关联特征进行归一化处理以及激活处理,得到骨骼点与骨骼之间的第一关联特征以及骨骼与骨骼点之间的第二关联特征。
[0160]
在本公开的一种示例性实施例中,所述动作分类模块包括主干网络、颈部网络以及检测网络;
[0161]
其中,将所述待识别图像输入至图像分类模型中,得到第二动作分类结果,包括:
[0162]
利用所述主干网络中包括的聚集层对所述待识别图像进行下采样,并利用所述主干网络中包括的第一卷积层对下采样结果进行卷积处理,得到所述待识别图像的局部特征;
[0163]
利用所述颈部网络对所述局部特征进行卷积处理、上采样处理以及拼接处理,得到所述待识别图像的全局特征;
[0164]
利用所述检测网络对所述全局特征进行卷积处理以及激活处理,得到所述第二动作分类结果。
[0165]
在本公开的一种示例性实施例中,所述人体动作识别装置还包括:
[0166]
数据集构建模块,可以用于获取历史人体姿态图像,并根据所述历史人体姿态图像以及所述历史人体姿态图像的实际姿态标签,构建数据集;其中,所述人体姿态图像包括跌倒姿态以及除跌倒姿态以外的其他姿态;
[0167]
第一预测姿态标签确定模块,用于提取所述数据集中的历史人体姿态图像的姿态骨骼点,并将所述姿态骨骼点输入至图卷积神经网络模型中,得到第一预测姿态标签;
[0168]
第一训练模块,用于根据所述第一预测姿态标签以及实际姿态标签构建交叉熵损失函数,并利用所述交叉熵损失函数对所述图卷积神经网络模型进行训练,得到所述骨骼点分类模型。
[0169]
在本公开的一种示例性实施例中,所述人体动作识别装置还包括:
[0170]
第二预测姿态标签确定模块,可以用于对所述数据集中的历史人体姿态图像的实际姿态标签进行格式转换,并将所述数据集中的历史人体姿态图像输入至目标检测模型中,得到第二预测姿态标签;
[0171]
构建模块,可以用于根据所述第二预测姿态标签以及格式转换后的实际姿态标签构建边框回归损失函数以及类别和置信度损失函数;
[0172]
第二训练模块,可以用于利用所述骨骼点以及骨骼的关联特征对所述目标检测模型进行训练,得到所述图像分类模型。
[0173]
在本公开的一种示例性实施例中,对第一动作分类结果以及第二动作分类结果进行融合,得到目标对象的人体动作类别,包括:
[0174]
为所述第一动作分类结果以及第二动作分类结果配置第一权重以及第二权重;
[0175]
对所述第一动作分类结果、第一权重、第二动作分类结果以及第二权重进行加权求和,得到所述目标对象的人体动作分类结果。
[0176]
上述人体动作识别装置中各模块的具体细节已经在对应的人体动作识别方法中进行了详细的描述,因此此处不再赘述。
[0177]
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0178]
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
[0179]
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
[0180]
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0181]
下面参照图16来描述根据本公开的这种实施方式的电子设备1600。图16显示的电子设备1600仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0182]
如图16所示,电子设备1600以通用计算设备的形式表现。电子设备1600的组件可以包括但不限于:上述至少一个处理单元1610、上述至少一个存储单元1620、连接不同系统组件(包括存储单元1620和处理单元1610)的总线1630以及显示单元1640。
[0183]
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1610执行,使得所述处理单元1610执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元1610可以执行如图1中所示的步骤s110:提取待识别图像中包括的目标对象的人体骨骼点数据,并根据所述人体骨骼点数据计算人体骨骼数据;步骤s120:将人体骨骼点数据以及人体骨骼数据输入至骨骼点分类模型中,得到第一动作分类结果;步骤s130:将所述待识别图像输入至图像分类模型中,得到第二动作分类结果;步骤s140:对第一动作分类结果以及第二动作分类结果进行融合,得到目标对象的人体动作类别。
[0184]
存储单元1620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)16201和/或高速缓存存储单元16202,还可以进一步包括只读存储单元(rom)16203。
[0185]
存储单元1620还可以包括具有一组(至少一个)程序模块16205的程序/实用工具16204,这样的程序模块16205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0186]
总线1630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
[0187]
电子设备1600也可以与一个或多个外部设备1700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1600交互的设备通信,和/或与使得该电子设备1600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口1650进行。并且,电子设备1600还可以通过网络适配器1660与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器1660通过总线1630与电子设备1600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0188]
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd

rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
[0189]
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
[0190]
根据本公开的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(cd

rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0191]
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0192]
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介
质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0193]
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0194]
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0195]
此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
[0196]
本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本公开的其他实施例。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜