lstm结构图_【骨骼行为识别】AGC-LSTM论文理解

00d263348739e1361cdcde3252460ec4.png

An Attention Enhanced Graph Convolutional LSTM Network for Skeleton-Based Action Recognition

论文链接:

https://arxiv.org/pdf/1902.09130.pdf​arxiv.org

这篇论文是2019年发表在CVPR上的,论文提出来一个AGC-LSTM的网络框架,是第一个将图卷积与LSTM应用到基于骨骼的行为识别上的。

首先,是介绍了关于图卷积的一些公式,如下面的公式(1)和(2)。这两个公式就是图卷积的公式,对其稍作改变就是ST-GCN的公式,其实公式(1)就是具体某个关节的输出,而公式(2)就是整合了全部关节的输出。

0612397f3ad15b2eae2e6d33e4edfc34.png

0883cd0c4043a9568b841a6b201ffb3c.png

既然用的是AGC-LSTM网络结构,那么先介绍AGC-LSTM的单元块。从名字可以看出,AGC-LSTM结构包括三个要素:注意力机制(A)、图卷积(GC)和长短时记忆网络(LSTM)。下面讲一下怎么将这个三个要素堆在一起完成我们行为识别的任务。

下面就是AGC-LSTM单元块的结构图,其实主要部分就是LSTM上的改进。这里与一般的LSTM不同的是,将原来输入的序列数据改成了骨骼数据,并将里面原来是乘积的改成了图卷积。因为之前一直在看图卷积相关的论文,LSTM也快忘完了,关于LSTM的原理可以翻看一下这篇博客,写的很好理解。

元峰:(译)理解长短期记忆(LSTM) 神经网络​zhuanlan.zhihu.com
fd721f36f373057550595f1b42d7dd45.png

下图的

,
分别是输入门、遗忘门和输出门,
代表
的图卷积,而一般的LSTM应该是
,这里代表乘积,这就是将图卷积和LSTM结合的关键。除了最后的计算
,上面的公式都是LSTM的计算公式,有不理解的建议看看上面的那篇博客,复习一下。
是一个注意力机制函数,具体模型下面再讲,
就是既要加强关键节点信息,又能保留非关键节点的信息。

d4b940283f1f1534b557a3e50a929111.png

589dde296018bd8095f9c35157f2d4b5.png

下图就是注意力机制的模型,首先将所有节点通过AGC-LSTM得到的

通过一个全连接层再用ReLU函数聚合为
,如公式(4)。下一步就是通过公式(5)得到注意力机制的分数
,会交替通过两个全连接层和中间穿插tanh和sigmoid激活函数,这里
,
是可学习的参数矩阵,
是全连接层的偏置。这里的注意力机制形式和Ensem-NN那篇论文非常像,我没法解释为什么这么做,但是我想这样做效果应该是不错的(学到了)。

e07b7aaac2c7963079d360abcc0b23e2.png

681d43b9dc90f698d74eb8a16a8b45cd.png

8c0a922149bb9ae302ea3a0f0e976ded.png

AGC-LSTM块最后输出的特征有两个,一个是公式(6)的全局特征

,另外一个是公式(7)的局部特征

44d5d29207320391d311f87f6b05c113.png

下图是整体的网络框架图,在输入到AGC-LSTM块之前要对数据进行一些处理。首先,输入的数据通过一个全连接层转换成

的向量作为位置特征,因为位置特征只能表示空间信息,为了更好的捕捉时空信息,这里用连续两帧之差作为帧差特征,将位置特征和帧差特征串联起来就是扩充特征(下图的FA层)。

b0f52b167b1b46911795684215efce99.png

其实这里我是有问题的,按他的说法,对于每个关节,位置特征是很好计算的,但是特征差异需要连续两帧之差,那么这个两帧之差的特征数肯定会少于帧数,这里怎么分配呢?

下图是从主框图截取的虚线部分,可以看到LSTM部分既有向前传播的,又有帧与帧之间传播的(向上的箭头)。作者的解释是:位置特征和帧差特征在串联时存在尺度差异。我的理解就是位置特征和帧差特征数量不匹配,达不到一一配对的效果。作者给出的解决方案就是将扩充特征再通过一个LSTM消除尺度差异,至于为什么LSTM能消除尺度差异我看不懂,希望懂得人解答一下。

ecc5cf1630388253fbe0db1bb63f35e5.png

文章的另一个创新点就是时间分层结构,这是受CNN中的池化层的启发,提出来一个时间平均池化(TAP)。他的意思就是在时间维度上进行池化,就是说原来输入的是原始时间帧数,池化之后帧数变少了,相邻几帧的数据通过池化层聚合到同一帧,这样相对于下一层的网络来说时间感受野增大,计算量也减少了。好处就是对时间感知更加敏感,而且减少了计算量。

后面提到了使用分层模型,与原来的网络融合,也不算他的创新点吧,但是是基于他AGC-LSTM网络做的,确实能够提升效果(分层结构就是万金油)。

3c07cf27092bdccc6d65dfa4750866b2.png

总结一下,这篇论文首次尝试将图卷积和LSTM结合应用到基于骨骼的行为识别,值的学习的是图卷积和LSTM的结合方式:将LSTM中的乘积改成图卷积。

注意力机制的加权分数我是没太懂为什么要这样做,其实我对于注意力机制有一些自己的理解,首先,一个注意力机制一定要有可学习的参数,因为这个参数就是通过学习(训练)得到关注的关键的特征,其次,注意力机制要保留关键特征之外的全局特征,也就是学到新的东西不能忘了老的,但是这里要和我下面一篇博客讲的论文区别一下,详细看我下一篇博客。

时间池化我好像是第一次见,之前空间域用的再花里胡哨,时间域就是TCN,这个时间池化还是值得学习一下。

分层模型真是万金油啊,但是现在已经不能作为创新点了,可以用来提升效果。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值