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

一种基于独立循环神经网络的变速率动作识别方法及系统

2022-05-26 14:03:39 来源:中国专利 TAG:


1.本发明涉及骨架动作识别技术领域,特别是涉及一种基于独立循环神经网络的变速率动作识别方法及系统。


背景技术:

2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
3.相比于视频,骨架序列数据量少且具有隐私保护的作用,因此,基于骨架的动作识别受到广泛关注。随着深度学习的发展,目前存在较多的基于神经网络的骨架动作识别方法,分为基于卷积神经网络的方法和基于循环神经网络的方法。相比于前向神经网络,循环神经网络存在反馈循环连接,能够处理序列。理论上,循环神经网络可以处理任意长度的序列,
4.但是,一方面,目前基于循环神经网络的骨架动作识别方法在训练时只利用固定长度的骨架序列,导致其在不同长度的骨架序列上的结果差别较多,不能很好的适应现实应用。
5.另一方面,对于不同骨架序列长度的循环神经网络训练,目前与同一长度的骨架序列训练一致,但是对于不同骨架序列长度,循环神经网络训练过程中的梯度变化巨大,导致训练不稳定。


技术实现要素:

6.为了解决上述问题,本发明提出了一种基于独立循环神经网络的变速率动作识别方法及系统,采用可变采样速率提供不同长度的骨架序列;根据动作识别模型中不同层梯度传播的不同,分组进行不同长度骨架序列下学习率的调整,解决变速率的骨架动作识别问题,以及不同长度骨架序列下的独立循环神经网络训练问题。
7.为了实现上述目的,本发明采用如下技术方案:
8.第一方面,本发明提供一种基于独立循环神经网络的变速率动作识别方法,包括:
9.以不同的采样速率获取不同长度的骨架序列,基于不同长度的骨架序列,根据动作识别模型内的梯度传播调整学习率,以此对动作识别模型进行训练,所述动作识别模型包括l层独立循环神经网络和一层全连接层;
10.在所述训练过程中,根据t时刻的层间传播梯度,以及t 1时刻的层间传播梯度经时序反向传播后的梯度,得到独立循环神经网络内的神经元在各个时刻的梯度,并以此得到前l-1层的梯度和;根据最后时刻由全连接层反向传播的梯度和其他时刻反向传播的梯度,得到第l层的梯度;
11.根据前l-1层的梯度和以及第l层的梯度分别得到前l-1层的学习率调整因子和第l层的学习率调整因子,基于学习率调整因子调整学习率;
12.对待测骨架序列根据训练后的动作识别模型得到动作识别结果。
13.作为可选择的实施方式,所述独立循环神经网络内的神经元在各个时刻的梯度为:
14.g
n,t
=go·
[1 (un·
p)1

(un·
p)
t-t
];
[0015]
其中,g
n,t
为第n个神经元在t时刻的梯度,go为层间传播梯度,un为第n个神经元的循环权重,p为神经元的激活概率,t为总时刻。
[0016]
作为可选择的实施方式,所述前l-1层的梯度和g
n1
为t时刻内的梯度相加,即:
[0017][0018]
其中,go为层间传播梯度,un为第n个神经元的循环权重,p为神经元的激活概率。
[0019]
作为可选择的实施方式,根据前l-1层的梯度和得到前l-1层的学习率调整因子的过程为:
[0020]
获取在无时序反向传播时,t时刻内层间传播的梯度和;
[0021]
根据t时刻内层间传播的梯度和与前l-1层的梯度和的比值,得到前l-1层的学习率调整因子。
[0022]
作为可选择的实施方式,基于统计平均的调整方法,对所有神经元使用平均学习率调整因子;平均学习率调整因子f
lr1,ave
为:
[0023][0024]
其中,un为第n个神经元的循环权重,p为神经元的激活概率,t为总时刻。
[0025]
作为可选择的实施方式,根据第l层的梯度得到第l层的学习率调整因子的过程为:
[0026]
获取在无时序反向传播时,t时刻内层间传播的梯度和;根据t时刻内层间传播的梯度和与第l层的梯度的比值,得到第l层的学习率调整因子;
[0027]
其中,第l层的梯度g
n2
为:
[0028]
学习率调整因子f
lr2
为:
[0029]
其中,go为层间传播梯度,un为第n个神经元的循环权重,p为神经元的激活概率,t为总时刻。
[0030]
作为可选择的实施方式,在全连接层中,无时序反向传播,将学习率调整因子设置为1。
[0031]
第二方面,本发明提供一种基于独立循环神经网络的变速率动作识别系统,包括:
[0032]
采样模块,被配置为以不同的采样速率获取不同长度的骨架序列,基于不同长度的骨架序列,根据动作识别模型内的梯度传播调整学习率,以此对动作识别模型进行训练,所述动作识别模型包括l层独立循环神经网络和一层全连接层;
[0033]
训练模块,被配置为在所述训练过程中,根据t时刻的层间传播梯度,以及t 1时刻的层间传播梯度经时序反向传播后的梯度,得到独立循环神经网络内的神经元在各个时刻
的梯度,并以此得到前l-1层的梯度和;根据最后时刻由全连接层反向传播的梯度和其他时刻反向传播的梯度,得到第l层的梯度;根据前l-1层的梯度和以及第l层的梯度分别得到前l-1层的学习率调整因子和第l层的学习率调整因子,基于学习率调整因子调整学习率;
[0034]
识别模块,被配置为对待测骨架序列根据训练后的动作识别模型得到动作识别结果。
[0035]
第三方面,本发明提供一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成第一方面所述的方法。
[0036]
第四方面,本发明提供一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述的方法。
[0037]
与现有技术相比,本发明的有益效果为:
[0038]
本发明提出一种基于独立循环神经网络的变速率动作识别方法及系统,采用可变采样速率提供不同长度的骨架序列;根据最后一层全连接层、最后一层独立循环神经网络层和其他独立循环神经网络层的梯度传播的不同,分组进行不同长度骨架序列下学习率的调整,解决变速率的骨架动作识别问题,以及不同长度骨架序列下的独立循环神经网络训练问题,使得模型对不同的采样速率和不同骨架序列长度的执行速度具有更强的鲁棒性。
[0039]
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0040]
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
[0041]
图1(a)-1(c)为本发明实施例1提供的n倍采样速率、2n倍采样速率、0.5n倍采样速率下的骨架序列;
[0042]
图2为本发明实施例1提供的动作识别模型的网络结构示意图;
[0043]
图3为本发明实施例1提供的前l-1层不同长度骨架序列的学习率调整因子示意图;
[0044]
图4为本发明实施例1提供的第l层不同长度骨架序列的学习率调整因子示意图。
具体实施方式
[0045]
下面结合附图与实施例对本发明做进一步说明。
[0046]
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
[0047]
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过
程、方法、产品或设备固有的其它步骤或单元。
[0048]
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0049]
实施例1
[0050]
如表1所示为现有的基于循环神经网络的骨架动作识别方法在训练时,对不同骨架序列长度的测试结果。实验在nturgb d数据集上进行,测试类比分为cs和cv(由数据集规定),训练时的骨架序列长度为20,测试时的骨架序列长度分别为20和10,表中数据为动作识别的准确率。由表可以看出对于不同的骨架序列长度,其测试结果差异极大。
[0051]
表1同一长度(20)序列进行训练,不同序列长度的测试结果(准确率)
[0052]
序列长度cscv2081.55%87.12%1063.5%66.65%
[0053]
由此,为了解决变速率的骨架动作识别问题和不同骨架序列长度下独立循环神经网络的训练问题,本实施例提出一种基于独立循环神经网络的变速率动作识别方法,包括:
[0054]
以不同的采样速率获取不同长度的骨架序列,基于不同长度的骨架序列,根据动作识别模型内的梯度传播调整学习率,以此对动作识别模型进行训练,所述动作识别模型包括l层独立循环神经网络和一层全连接层;
[0055]
在所述训练过程中,根据t时刻的层间传播梯度,以及t 1时刻的层间传播梯度经时序反向传播后的梯度,得到独立循环神经网络内的神经元在各个时刻的梯度,并以此得到前l-1层的梯度和;根据最后时刻由全连接层反向传播的梯度和其他时刻反向传播的梯度,得到第l层的梯度;
[0056]
根据前l-1层的梯度和以及第l层的梯度分别得到前l-1层的学习率调整因子和第l层的学习率调整因子,基于学习率调整因子调整学习率;
[0057]
对待测骨架序列根据训练后的动作识别模型得到动作识别结果。
[0058]
在本实施例中,对骨架序列进行随机长度的采样,将采样得到的骨架序列用于独立循环神经网络(indrnn)的训练。
[0059]
可以理解的,采用视频数据对人物进行识别后,进一步进行骨架提取得到骨架序列,或,也可以通过获取设备采集的人物动作数据处理得到,在此不做限定。
[0060]
如图1(a)所示,通常获取n帧固定长度的骨架序列;当采用不同的采样速率时,则采样后的骨架序列长度不同,如图1(b)-1(c)所示,分别展示以2倍和0.5倍速率采样得到的2n和n/2长度的序列。
[0061]
在本实施例中,使用独立循环神经网络indrnn作为分类网络,以此构建变速率的动作识别模型,动作识别模型的网络结构如图2所示,包括l层独立循环神经网络,不同层间插入批量归一化(bn)层,最终连接一层全连接层(fc)和softmax归一化函数作为分类器进行分类。
[0062]
独立循环神经网络理论上可以处理任意长度的骨架序列,但目前通常只用于固定长度的骨架序列处理。在本实施例中,对于不同长度的骨架序列,独立循环神经网络按骨架序列长度进行展开,最终的分类器只添加在最后一个时刻,即最后一帧。
[0063]
在可变长度的骨架序列输入的情况下,网络也处理动态时间步长。当骨架序列较长时,网络会继续处理更多的输入,并在时间步长结束时添加全连接层进行分类;这同样适
用于较短的骨架序列,其中处理的时间步长更少。由于网络处理的输入长度不同,批量归一化层在每个时间步上的统计信息是单独保存的,而权值参数是随着时间的推移而共享的。
[0064]
在本实施例中,基于可变长度的骨架序列对动作识别模型进行训练,相比于传统训练方法,区别主要在于学习率的调整,调整策略由梯度传播进行推导。
[0065]
如图2所示,最后一层全连接层、最后一层独立循环神经网络层和其他独立循环神经网络层的梯度传播是不同的。其中,对于最后一层的全连接层,梯度直接从目标反向传播,不需要通过时间反向传播;对于最后一层独立循环神经网络层,梯度只从最后的全连接层反向传播,但是梯度会随着时间进一步反向传播;对于其他独立循环神经网络层,梯度在每个时间步长从前一层反向传播,并进一步通过时间反向传播。以下将分别讨论这三组学习率的调整。
[0066]
首先是对前l-1层的独立循环神经网络层的学习率调整;前l-1层的独立循环神经网络层的梯度包括两部分,即上一层反向传播的梯度和前一时刻反向传播的梯度。
[0067]
每一层独立循环神经网络层的神经元是相互独立的,每个神经元可以独立计算梯度;那么,对于独立循环神经网络的每个神经元在时序上的梯度传播,第n个神经元在t时刻的梯度g
n,t
为;
[0068][0069]
其中,为第n个神经元在当前t时刻的梯度,即层间传播梯度,为由上一层网络传递到该时刻的梯度;为t时刻之后自t 1时刻到t时刻反向传播的梯度,主要包括由上一层网络传递到t 1时刻的梯度经过时域回传后形成的梯度σ

n,k 1
为激活函数的导数,此处激活函数使用relu函数,其激活时梯度为1,非激活时梯度为0;un为第n个神经元的循环权重,上标为传播的时刻数量,如t 1时刻到t时刻只传播一次,则上标为1;k为中间循环变量。
[0070]
本实施例主要考虑梯度的时序传播,而层间传播差距较小,因此可以将不同时刻的层间传播梯度简化为go;
[0071]
假定一个神经元的激活概率为p,则激活函数连乘的梯度可以用统计的方式简化为p
(l-t)

[0072]
此时,公式(1)可简化为g
n,t
=go·
[1 (un·
p)1

(un·
p)
t-t
];
[0073]
把所有时刻的梯度相加,则获得t时刻内前l-1层的总梯度g
n1
,即:
[0074][0075]
其中,1-un·
p不等于0;当1-un·
p等于0时,g
n1
=go·
(1 2

t=go
·
t
·
t 1/2。
[0076]
另一方面,假设没有时序梯度反向传播时,则总梯度为各个时刻层间传播梯度的和,即go·
t;
[0077]
因此,在加入时序梯度反向传播后,为了将梯度调整为正常梯度范围,即为了适应梯度反向传播通过时间引入的梯度差异,需要相应地调整学习率;根据各个时刻层间传播的梯度和以及前l-1层的总梯度,得到学习率调整因子f
lr1
为:
[0078][0079]
在本实施例中,对于relu激活函数的概率,假设神经元被激活的概率为p=0.5,在递归连接中,由于递归输入通常不小于0(递归权值为正),神经元更容易被激活,本实施例对每个循环权重un进行调整,循环权重越大,神经元被激活的概率就越大。为了避免每个递归神经元的复杂计算,本实施例提出一种基于统计平均的调整方式,对所有神经元使用平均学习率调整因子。
[0080]
即,将循环权重un在[0,1]范围内均匀初始化,得到平均学习率调整因子f
lr1,ave
为:
[0081][0082]
比如,假定有1000个神经元,在[0,1]间进行均匀采样,则采样间隔为0.001。
[0083]
如图3所示为不同长度骨架序列的学习率调整因子的变化示意图,对于不同长度的骨架序列可直接调用该学习率调整因子。
[0084]
然后,对于最后一层独立循环神经网络层,其下一层网络传递的梯度只存在于最后时刻,也就是,梯度只在最后一个时间步长从最后一个全连接层反向传播,然后进一步反向传播到其他时间步长。因此,其梯度只需要计算最后一个时刻由下一层传递的梯度及其他时刻传播的梯度,表示如下:
[0085][0086]
与前l-1层的学习率调节因子相似,使用平均学习率调节因子,在不同输入长度下得到如图4所示的结果;学习率调整因子f
lr2
为:
[0087]
[0088]
对于最后一层独立循环神经网络层,由于只使用了最后一个时间步的输出,所以可以将循环权重初始化为相对较大的值,本实施例假设循环权重在[0.5,1]范围内均匀分布,使其更好的进行信息累积。
[0089]
最后,对于全连接层,因为没有时序梯度传播,不需要进行调整。因此,学习率调整因子设置为1。
[0090]
在本实施例中,在进行独立循环神经网络训练时,将每层的学习率按图3和图4进行调整,本实施例分别为在ntu rgb d数据集和large scale combined(lsc)数据集上进行实验,实验证明,本实施例的方法对骨架动作识别的性能明显提升。
[0091]
实施例2
[0092]
本实施例提供一种基于独立循环神经网络的变速率动作识别系统,包括:
[0093]
采样模块,被配置为以不同的采样速率获取不同长度的骨架序列,基于不同长度的骨架序列,根据动作识别模型内的梯度传播调整学习率,以此对动作识别模型进行训练,所述动作识别模型包括l层独立循环神经网络和一层全连接层;
[0094]
训练模块,被配置为在所述训练过程中,根据t时刻的层间传播梯度,以及t 1时刻的层间传播梯度经时序反向传播后的梯度,得到独立循环神经网络内的神经元在各个时刻的梯度,并以此得到前l-1层的梯度和;根据最后时刻由全连接层反向传播的梯度和其他时刻反向传播的梯度,得到第l层的梯度;根据前l-1层的梯度和以及第l层的梯度分别得到前l-1层的学习率调整因子和第l层的学习率调整因子,基于学习率调整因子调整学习率;
[0095]
识别模块,被配置为对待测骨架序列根据训练后的动作识别模型得到动作识别结果。
[0096]
此处需要说明的是,上述模块对应于实施例1中所述的步骤,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
[0097]
在更多实施例中,还提供:
[0098]
一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例1中所述的方法。为了简洁,在此不再赘述。
[0099]
应理解,本实施例中,处理器可以是中央处理单元cpu,处理器还可以是其他通用处理器、数字信号处理器dsp、专用集成电路asic,现成可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0100]
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
[0101]
一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例1中所述的方法。
[0102]
实施例1中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里
不再详细描述。
[0103]
本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0104]
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
再多了解一些

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

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

相关文献