一种神经网络模型、动作识别方法、装置及存储介质

文档序号:25053343发布日期:2021-05-14 13:34阅读:119来源:国知局
一种神经网络模型、动作识别方法、装置及存储介质

1.本发明涉及神经网络技术领域,具体而言,涉及一种神经网络模型、动作识别方法、装置及存储介质。


背景技术:

2.近年来,随着移动技术的发展,基于可穿戴设备的人体动作识别(human activity recognition,har)成为了人工智能和模式识别领域的新研究点,被广泛地应用在运动活动检测、智能家居和健康支持等领域。
3.目前,常采用支持向量机、主成分分析和随机森林等机器学习方法来进行识别,通过手动提取特征,将提取的特征输入到决策表、k近邻(knn)、决策树和朴素贝叶斯、多层感知(mlp)和逻辑回归等分类器识别人体动作。但是,人工提取特征工作量大、标注困难,且上述分类器在识别类似动作方法准确度较低。


技术实现要素:

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.图1为本发明实施例的传感器布设位置示意图;
41.图2为本发明实施例的一种神经网络模型的结构示意图;
42.图3为本发明实施例的传感器数据的处理流程示意图;
43.图4为本发明实施例的一种人体动作识别方法的流程示意图;
44.图5为本发明实施例的一种人体动作识别装置的结构示意图。
具体实施方式
45.为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
46.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
47.如图1所示,在人体的多个关节处设置传感器,传感器可采用具有高伸缩性的压阻或电容柔性传感器,当人体执行各个动作时,对应的传感器会检测到传感器数据。
48.如图2所示,本发明实施例提供的一种神经网络模型,包括多个卷积模块、输出模块、多个注意力子模块和分类模块,多个所述卷积模块和所述输出模块依次连接,且每个所述卷积模块的输出端分别连接至一个所述注意力子模块的输入端,每个所述注意力子模块的输入端还分别与所述输出模块的输出端连接,所述注意力子模块的输出端与所述分类模块的输入端连接;
49.多个所述卷积模块,用于根据获取的传感器数据逐层进行特征提取,各个所述卷积模块分别输出一个局部特征向量,其中,所述传感器数据由布设在人体上多个位置的传感器检测获得。
50.具体地,多个卷积模块依次连接,最后一个卷积模块的输出端连接至输出模块的输入端。
51.可选地,所述卷积模块包括一个或多个卷积层、池化层和展平层,各个所述卷积层依次连接,且最后一个所述卷积层的输出端分别连接至所述池化层的输入端和所述展平层的输入端,所述池化层的输出端连接至另一个所述卷积模块的输入端或所述输出模块的输入端,所述展平层的输出端连接至一个所述注意力子模块的输入端;
52.所述卷积层,用于对输入数据进行特征提取,获得所述特征矩阵。
53.具体地,卷积模块包括一个或多个卷积层,如图2所示,第一个卷积模块可包括多个卷积层,多个卷积层中间不连接池化层,通过多个卷积层的层层提取,能够确保注意力子模块提取的局部特征向量的精度。
54.如图3所示,第一个卷积模块的第一个卷积层中定义了高度(也称为卷积核大小)为k1的滤波器(也成为特征检测器)。滤波器用于提取特征,只有定义了一个滤波器,神经网络才能在第一卷积层中学习到一个单一的特征,为了能够提取到更到的特征,我们定义d1个滤波器,这样在神经网络的第一卷积层中就可以训练得到d1个不同的特征。经过滤波器提取后,第一卷积层的的输出为(4mt x n

k1+1)x d1的矩阵,输出矩阵的每一列都包含一个滤波器的权值。在定义了滤波器高度并考虑输入矩阵大小的情况下,每个过滤器包含(4mt x n

k1+1)个权重值,输出矩阵的通道数为传感器数据对应的传感器数量n。
55.将第一卷积层的输出矩阵输入到第二卷积层中,在第二卷积层中重新定义高度为k2的滤波器,使用d2个不同的滤波器进行训练,根据与第一层相同的处理逻辑,第二卷积层的输出矩阵的大小为(4mt x n

k1+1

k2+1)x d2。
56.为了学习到更高层次的特征,在第二卷积层的后面还可连接多个一维卷积层,假设总共有q个卷积层,第q个卷积层的输出矩阵的大小的计算方法与第一卷积层和第二卷积层输出矩阵大小的计算方法相同,第q个卷积层的输出矩阵大小为其中,据卷积层数q、每个卷积层滤波器的高度ki都是超参数,可根据具体使用的传感器数目,进行设置和调整。整个处理过程中,通道数不变,仍然为传感器数量n。
57.所述池化层,用于对所述特征矩阵进行降维,获得降维后的特征矩阵,并将所述降维后的特征矩阵传输至相连的下一个所述卷积模块或所述输出模块。
58.具体地,池化层可包括最大池化层和平均池化层,池化层的目的是降维,假设在卷积层后使用大小为p的池化层,池化层的输出矩阵的大小就会变成输入矩阵大小的p分之一,采用池化层能够减少输出的复杂度和防止数据过拟合,使用一个平均池化层或者最大池化层都可以有效地避免过拟合的发生。池化层进行特征的进一步高密度抽取,是的每个滤波器在这一层只剩下一个权重,即的矩阵,也可考虑在不同的卷积层之间分别加入池化层。
59.所述展平层,用于将所述特征矩阵展平成所述局部特征向量。
60.具体地,展平层可将n个通道的输入矩阵通过级联(拼接)的方式展平为一个向量。
61.所述输出模块,用于对最后一个所述卷积模块的输出数据进行处理,输出全局特征向量。
62.可选地,所述输出模块包括第一全连接层;
63.所述第一全连接层,用于对输入的所述特征矩阵进行缩放,并采用线性整流函数对缩放后的特征矩阵进行激活,获得激活后的特征矩阵。
64.具体地,本实施例中采用两层不同大小的全连接层,对多个通道的输入分别进行“缩放”。假设特征矩阵经过展平层展平后,输入到第一全连接层的特征向量的长度为x,第一全连接层可采用x/r个神经元,将长度为x的特征向量降为长度为x/r的向量,然后通过relu(线性整流函数)进行激活,获得全局特征向量。
65.可选地,输出模块还包括dropout层,所述dropout层中随机为该层中的多个神经元赋值为零权重,赋值为零权重的神经元的比率可为γ,即占总神经元比例为γ的神经元将会零权重。通过dropout层的处理,能够降低神经网络对数据微小变化的响应的灵敏性,能够提高对不可见数据处理的准确性。
66.所述注意力子模块,用于获取各个所述卷积模块输出的所述局部特征向量和所述输出模块输出的所述全局特征向量,分别计算各个所述局部特征向量和所述全局特征向量之间的兼容性分数,根据各个所述局部特征向量和对应的所述兼容性分数生成新特征向量。
67.具体地,v
s
={v
1s
,v
2s

v
ns
}表示在各个卷积层s∈{1,2,3,4

,s}提取的局部特征向量集,其中,v
is
是局部特征向量v
s
在n个通道中的第i个局部特征向量。
68.可选地,所述注意力子模块具体用于:
69.将各个所述局部特征向量分别和所述全局特征向量进行拼接,获得多个拼接向量,根据预设的权重向量和所述拼接向量分别确定各个所述局部特征向量与所述全局特征向量之间的所述兼容性分数。
70.具体地,采用第一公式计算所述局部特征向量和所述全局特征向量之间的所述兼容性分数,所述第一公式包括:
[0071][0072]
其中,表示第i个所述特征向量对应的兼容性分数,表示第i个所述卷积模块输出的所述特征向量,g表示所述全局特征向量,w表示权重向量,可通过卷积神经网络自学习得到,初始值可为随机值,通过定义损失函数进行求解,通过梯度下降往复训练,尽量减小误差,求解过程可采用最小二乘法求导,或者牛顿迭代法,或者反向传播等,具体求解过程为现有技术,在此不再赘述。
[0073]
或,将各个所述局部特征向量分别和所述全局特征向量进行点积运算,确定各个所述局部特征向量与所述全局特征向量之间的所述兼容性分数。
[0074]
具体地,对于各个所述局部特征向量,采用第二公式计算所述局部特征向量和所述全局特征向量之间的所述兼容性分数,所述第二公式包括:
[0075]
[0076]
其中,表示第i个所述特征向量对应的兼容性分数,表示第i个所述卷积模块输出的所述特征向量,g表示所述全局特征向量。
[0077]
可选地,所述注意力子模块具体还用于:根据所述兼容性分数确定各个所述局部特征向量的权重,根据所述权重和所述局部特征向量分别确定各个所述卷积模块对应的输出矢量,将所有所述输出矢量进行组合,获得所述新特征向量。
[0078]
具体地,对每个局部特征向量分别计算与全局特征向量之间的兼容性分数,就可得到一组兼容性分数c(v
s
,g)={c
1s
,c
2s

c
ns
},通过softmax函数或tanh函数将其归一化为a
s
={a
1s
,a
2s
,,a
ns
},然后根据归一化后的兼容性分数和各个局部特征向量,采用第三公式确定各个卷积层的输出矢量g
s
,第三公式包括:
[0079][0080]
然后将各个卷积层的输出矢量依次组合得到新特征向量g=[g1,g2…
g
s
],将新特征向量输入第二全连接层。
[0081]
本可选的实施例中,神经网络模型为多层深度学习网络框架,包含多个卷积层,各个卷积层均用于特征提取,最后一个卷积层的输出的全局特征向量包含了最多的提取的特征,因此计算前面各个卷积层输出的局部特征向量和全局特征向量之间的兼容性分数,根据兼容性分数来确定对最终输出结果影响较大的卷积层,通过注意力子模块聚焦和放大相应的卷积层提取的局部特征向量,进而根据这些局部特征向量识别人体动作,能够提高识别精度,并且不需要人工手动去逐个进行数据标注,减少了工作量。
[0082]
所述分类模块,根据所述新特征向量确定当前人体动作。
[0083]
可选地,所述分类模块包括第二全连接层,所述第二全连接层用于对所述新特征向量进行分类,确定所述新特征向量对应为各个类别的人体动作的概率,输出概率最大的所述人体动作为所述当前人体动作。
[0084]
具体地,假设人体动作有x个类别,第二全连接根据新特征向量进行分类,确定传感器数据对应的各个类别的动作的概率,所有类别的概率之和为1,其中概率最高的类别对应的动作就是当前的人体动作。
[0085]
本实施例中,获取布设在人体上多个位置的传感器检测人体动作输入的传感器数据,将传感器数据输入卷积模块进行特征提取,神经网络模型包括多个依次连接的卷积模块,多个卷积模块层层提取特征,能够提取出更高精度的特征。提取的特征组成对应的卷积模块输出的特征矩阵和局部特征向量,最后一个卷积模块输出的特征矩阵经过输出模块处理,得到整个卷积通道输出的全局特征向量。通过注意力子模块分别确定各个局部特征向量和所述全局特征向量之间的兼容性分数,兼容性分数可反应出各个卷积模块提取的特征与最终输出的特征之间的关联性,可根据兼容性分数聚焦关联性较高的卷积模块,生成新特征向量,能够放大关联性较高的卷积模块输出的局部特征向量,减弱关联性较低的卷积模块输出的局部特征向量,降低干扰,最后通过分类模块确定人体动作,提高了动作识别精度,并且能够基于若标记传感器数据进行识别,降低了工作量。
[0086]
如图4所示,本发明实施例提供的一种动作识别方法,包括:
[0087]
步骤s110,获取多个传感器数据,其中,各个传感器布设在人体上的多个位置;
[0088]
步骤s120,将各个所述传感器数据输入训练好的如上所述的神经网络模型,确定当前人体动作。
[0089]
可选地,所述确定人体动作包括:
[0090]
步骤s121,根据所述传感器数据进行多次特征提取,获得多个局部特征向量和一个全局特征向量;
[0091]
步骤s122,分别确定各个所述局部特征向量和所述全局特征向量之间的兼容性分数。
[0092]
可选地,所述分别确定各个所述局部特征向量和所述全局特征向量之间的兼容性分数包括:
[0093]
将各个所述局部特征向量分别和所述全局特征向量进行拼接,获得多个拼接向量,根据预设的权重向量和所述拼接向量分别确定各个所述局部特征向量与所述全局特征向量之间的所述兼容性分数;
[0094]
或,将各个所述局部特征向量分别和所述全局特征向量进行点积运算,确定各个所述局部特征向量与所述全局特征向量之间的所述兼容性分数。
[0095]
步骤s123,根据所述兼容性分数分别确定各个所述全局特征向量的权重,基于所述权重,根据所述局部特征向量生成新特征向量;
[0096]
步骤s124,根据所述新特征向量进行分类,确定所述当前人体动作。
[0097]
如图5所示,本发明实施例提供了一种动作识别装置,包括:
[0098]
获取模块,用于获取多个传感器数据,其中,各个传感器布设在人体上的多个位置;
[0099]
识别模块,用于将各个所述传感器数据输入训练好的如上所述的神经网络模型,确定当前人体动作。
[0100]
本发明另一实施例提供的一种动作识别装置包括存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,用于当执行所述计算机程序时,实现如上所述的动作识别方法。
[0101]
本发明再一实施例提供的一种计算机可读存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现如上所述的动作识别方法。
[0102]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read

only memory,rom)或随机存储记忆体(random access memory,ram)等。在本申请中,所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0103]
虽然本发明公开披露如上,但本发明公开的保护范围并非仅限于此。本领域技术
人员在不脱离本发明公开的精神和范围的前提下,可进行各种变更与修改,这些变更与修改均将落入本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1