论文翻译:Deep Progressive Reinforcement Learning for Skeleton-based Action Recognition

在本文中,我们提出了一种深度递进强化学习(DPRL)方法来识别基于骨架的视频中的动作,其目的是提取最有信息的帧,并丢弃序列中不明确的帧来识别动作。因为选择代表帧的选择是众多为每个视频,我们模型的框架选择通过深度强化学习进步的过程,在此期间我们逐步调整所选框架考虑的两个重要因素:(1)选定的帧和(2)的质量元素的关系到整个视频。另外,考虑到人体的拓扑结构本质上是基于图形的结构,顶点和边分别表示铰接关节和刚性骨骼,我们采用基于图形的卷积神经网络捕捉关节之间的依赖关系,进行动作识别。我们的方法在三个广泛使用的基准测试中取得了非常有竞争力的性能。

动作识别是计算机视觉的一个重要研究方向,在视频监控、人机交互等领域有着广泛的应用。与传统的RGB视频相比,基于骨架的序列包含了人体主要关节的紧凑三维位置,对视点、身体尺度和运动速度的变化具有较强的鲁棒性。因此,基于骨架的动作识别近年来受到越来越多的关注随着性价比高的深度传感器(如Kinect)和姿态估计算法[9]的发展,基于骨架的数据量快速增长[10,11]。因此,通过训练,基于骨架的动作识别越来越多地采用数据驱动的方法。

图1所示。在测试期间,我们提出的基于骨架的动作识别方法的管道。针对一段人体关节视频,首先采用帧精馏网络(FDNet)选择关键帧,并采用所提出的深度递进强化学习方法对其进行训练。然后,我们使用基于图的卷积神经网络(GCNN)来处理选择的关键帧进行动作识别。(彩色观看效果最佳)

深度模型如递归神经网络(RNN)[12-14]和卷积神经网络(CNN)[15,16]。的基于RNN的模型能够对时间依赖性进行建模,但在实践中很难训练堆叠的RNN[15,17]。另一方面,基于cnn的模型更有效,在较低层次捕获相邻帧之间的关系和较高层次[18]的长期依赖关系,近年来获得了很有前景的性能[15,16]。然而,大多数基于cnn的基于骨架的动作识别方法将序列中的所有帧都考虑为以“踢”为例,有些画面中主体是直立的,也有些画面中主体踢出了腿。后者对认识这一行动提供了更多信息。为了寻找信息最丰富的帧,我们提出了一种深度递进强化学习(DPRL)方法。由于每个视频选择不同帧的选择是众多的,我们将选择帧的过程建模为一个渐进的过程。具体地说,给定从输入序列均匀采样的初始化帧,我们逐步地二是所选帧与整个动作序列的关系。最终选择的帧被认为是视频的蒸馏,并被用来识别动作。此外,大多数我们利用基于图形的卷积神经网络(GCNN)来学习关节之间的空间依赖性。我们在三个基于骨架的动作识别数据集上评估了我们的方法,其中竞争的实验结果证明了我们的方法的有效性。基于cnn的方法采用欧几里得结构对关节进行建模,忽略了人体固有的拓扑结构。为了解决这个问题,我们将关节和它们的依赖关系建模为一个图。图的顶点包含体关节的三维坐标,而邻接矩阵捕捉它们的关系。因为关节的图是非欧几里德的。基于骨架的动作识别:近年来已有多种基于骨架的动作识别方法[12 - 15,19 - 24],主要分为基于手工特征和基于深度学习特征两大类。对于第一类Vemulapalli等人[6]将人体骨骼作为Lie组中的一个点,并在Lie代数中实现时态建模和分类。Weng等人[8]将Naive-Bayes近(NBNN)方法扩展到[25]并利用阶段到类别的距离对动作进行分类。Wang等人[5]提出了一种无向完全图表示,并提出了一种新的图核来度量图之间的相似性。但是我们使用[5]中的图表示来建模视频,而我们工作中的图是用来捕捉人体的拓扑。基于深度学习特征的方法可以进一步分为基于cnn的模型和基于rnn的模型。对于基于cnn的模型,Ke等[15]提出了一种新的skele表示基于柱坐标的ton序列。Liu等人[16]将骨骼转化为一系列彩色图像,并将其输入到CNN architecture中进行action category的分类。受[27]的启发,Li等人[20]采用了两流CNN架构来结合人体关节的位置和速度信息。不同于基于cnn的所有帧都被平等对待的方法,我们的方法旨在找到视频中信息量最大的帧来进行动作识别。为基于rnnn的模型,Zhu等人引入了一种正则化的[12]共现特征学习的LSTM模型。Song等人[13]提出了一种时空注意模型,为视频中的不同帧和关节分配不同的权重。Liu等人[14]提出了一个信任门模块来解决骨架数据中的噪声。最近,Jain等[28]将RNN与时空图相结合,对人体运动的三个部位(脊柱、手臂和腿)的关系进行建模。与[28]不同的是,我们的图模型将人体的每一个关节作为一个顶点,这是一个较好的图模型强化学习[29]源于心理学和神经科学对人类如何在环境中学习优化自己行为的理解。它可以在数学上表示为一个马氏决策过程(MDP)[30]。当一个人被泛化为一个代理时,行为被泛化为一组操作∗,一个典型的强化学习问题可以表述为agent通过最大化其从环境中获得的数值奖励来优化其行动策略。作为一项开创性的工作,Mnih等[31]结合他们提出了深度强化学习(DRL)来跨越高维感官输入和动作之间的鸿沟,并在Atari游戏中实现了人类水平的控制。近年来,计算机视觉也从DRL中受益。例如,Mnih等人[32]提出了反复注意模型,其中图像的视觉注视被建模为一个连续的MDP。Haque et al.[33]将DRL应用于人的识别,Yeung et al.[34]应用于动作检测,Jie et al.[35]应用于物体检测。最近,Yun等人[36]使用DRL进行视觉跟踪,Rao等人[到目前为止,用于动作识别的DRL进展甚微,特别是基于骨架的动作识别。[34,37]与我们DRL的目的类似,即选择视频中的关键帧。然而,在这两个作品中,动作只影响一个单一帧。具体来说,[37]决定是否删除一个帧,[34]每一步选择一个帧,而我们一次处理所有选择帧的调整。

图2。将人体图形化。图的顶点以蓝点的形式表示,蓝点包含人体关节的三维坐标,而图的边反映了关节之间的关系,这些关系可以归为内在依赖关系(即物理连接)和外部依赖(即物理断开)。以拍手动作为例,将其内在依赖表示为黑色实线,将其外在依赖表示为橙色虚线。在加权邻接矩阵中设置不同的参数进行区分。

图1说明了我们所提议的模型的管道。具体来说,该方法有两个子网络:帧精馏网络(FDNet)和基于图的卷积网络(GCNN)。FDNet的目标是从输入序列中提取固定数量的关键帧,采用深度递进强化学习方法。然后,根据关节之间的依赖关系将FDNet的输出组织成图形结构,并将其输入GCNN进行动作标签识别。随着GCNN在培训过程中为FDNet提供奖励,我们首先介绍图的构造:由于人体可以看作是由铰接关节和刚性骨骼组成的铰接系统,其本质上属于基于绘图的结构,因此我们构造图G(x, W)对每一单帧人体进行建模,其中x∈RN×3包含N个关节的三维坐标,W是一个N×N加权邻接矩阵:

这里,我们设置wii = 0来放弃每个关节的自连接。此外,我们将关节之间的关系区分为内在依赖和外在依赖。内在的依赖关系,在加权矩阵W中描述为,建议为黑色固体,图2中的线,指的是关节的物理连接。作为一个重要的性质,每对连接关节之间的距离在动作过程中保持不变。外在依赖,如图2中橙色虚线所示,是指两个关节之间的不连通关系,这也是动作过程中的一个重要因素。例如,左手和右手在身体上是不相连的,但是他们的关系对于识别“拍手”这个动作是非常重要的。在这里,我们使用W中的参数:基于图形的架构:GCNN可以看作是对传统CNN的改进,旨在处理非欧几里得空间中的基于图形的数据。对于一个有T帧的视频,我们首先根据eqm .1将每一帧构造成一个图,如[G1, G2,…,GT]。对于第tth帧的每个图Gt,我们首先将其送入基于图的卷积层,如下:

其中y(深造,W)和*分别是基于图形的卷积[38]的内核和运算符,稍后将详细介绍。然后将zt馈入全连通层,其输出记为gt,当t = 1,2,…, T,我们在时间轴上连接gt,得到输入视频的特征图G:

其中G是一个三维张量,最终被送入传统CNN进行动作识别。我们采用分类交叉熵损失来训练GCNN。
基于图的卷积:基于图的卷积层是该网络的核心模块。我们在谱域上考虑Laplacian[39]图,其归一化定义为:L = In−D−1/2W D−1/2
,在那里D为对角次矩阵,dii =P j wij。我们将L缩放为Le = 2L/崇敬max−In,并表示xk = Tk(Le)∗x,其中,崇敬max是L的最大特征值,Tk是切比雪夫多项式[40]。然后,conv

在这里,∈[婉子0,婉子1…], tk - 1]是要训练的参数,K是基于图的卷积核的大小。3.2。深度渐进强化学习对于骨骼视频中的动作识别任务,并不是每一帧都具有同等的时间重要性。这是我们应用基于强化学习的注意力的关键洞察。关键帧的选择表示为
基于马尔可夫决策过程(MDP) [41]。

图3。在基于骨架的视频中逐步选择关键帧的过程。给定一个骨架序列,我们首先均匀地采样几帧。经过逐步调整,我们得到了视频中信息量最大的帧。每个状态包含所选帧的信息、它们的索引和整个序列。由状态和FDNet获得的动作表示每一选定帧下一步“向左移动”、“保持不变”或“向右移动”的方向。

使用强化学习在每次迭代中精炼帧。图3提供了这个过程的示意图,它是基于FDNet实现的,如图所示
4. agent与提供奖励并更新其状态的环境进行交互,通过最大化总的奖励折扣来学习以调整所选的帧,最终得到给定数量的最可区分的帧。此MDP的状态、行动和奖励在下面进行了详细说明国家:MDP的国家由两个独立的部分{Sa, Sb}组成。Sa = [F, M],它是两个张量F和M的串联,由一个骨架视频的全局信息组成,它是一个形状为F×N×3的张量。其中f、N、3分别表示坐标系、关节、轴的个数。对于不完全是f帧长的视频,我们使用双三次插值[42]来得到f帧的视频,其中第一帧和最后一帧与原始的一帧相同。与F相似,M是一个M×N×3张量,表示所选M个坐标系的信息。引入M是为了隐含地提供FDNet与知识的视频的哪些帧被选择。Sb,所选索引的二进制掩码,被设计用来显式地使FDNet知道选择。它是一个f维向量m个元素为1,其余为0。这里我们设f为100 m为30。动作:动作即FDNet的输出,是所选帧的调整方向。我们定义3种类型的动作,如“向左移动”(动作0)、“保持不变”(动作1)和“向右移动”(动作2)和移动步长设置为1帧。如图4所示,FDNet在每次迭代时发出向量a∈Rm×3,其中
Ai,j∈[0,1]表示第i个选定帧选择动作j的概率。确保m帧的顺序,例如第一选择框架应该暂时比第二选择,我们设置了上限框架的调整Υi (i = 1,2,…, m)为所选帧集中某一帧与相邻帧之间的中间值:

在“⌈⌉”代表了装天花板函数。同样,下界Λi (i = 1,2,…, m)设置为当前帧与前一帧之间的中间值。

这里ΥΛ两个数组的大小m。一个框架的调整我绑定[Λi内执行、Υi)或失效。那么,帧的调整可以写成:

图4。基于骨架的视频中用于调整关键帧的FDNet架构。FDNet分别接收Sa和Sb的输入,其中Sa包含了整个视频的信息
Sb是选中指标的F维二进制掩码,其F元素为1,其余为0。然后,Sa由kernel size为3×3的3卷积层CNN和一个全连接层(fc1)处理,Sb通过fc2传递。在将这两个部分的特征输入到fc3之前,将它们进行连接。Softmax功能

这样,行动就会对国家转型产生影响。奖励:奖励,一个函数r(,),反映出好的代理人的行动是对美国我们生成的奖励pre-trained GCNN,以m选定帧的视频输入(我们组T = m)。第一次迭代,r将1如果预测是正确的,否则−1。对于第n次(n > 1)迭代,我们首先定义r0奖励如下

其中,c为视频的ground truth label, Pn,c表示在第n次迭代时,视频被预测为c类的概率。奖励r0获得价值{−1,1},反映地真动作预测可能性的提高,即其他动作预测可能性的聚合下降。我们选择该函数通过概率变化来增强奖励,实验结果表明该函数优于数值函数。此外,强烈刺激r =Ω预测时执行行动从错误的纠正一次迭代后:

渐进强化:图4展示了我们FDNet FD(S;它包含三个卷积层和三个完全连接层。用均匀采样初始化的状态S来预测最优动作。S的两个部分分别被送入FDNet,因为Sa被送入卷积网络,然后是一个完全连接的层,Sb被送入一个完全连接的层。然后,两个全连接层的输出被连接并通过第三个全连接层馈入。最后,m softmax生成A for actions。P为了使折现报酬最大化,R = t≥0式中,我们计算交叉熵损失如下:

这一损失项给出了参数变换的方向。我们将R规范化为Re,它起到了加强梯度下降的作用。因此,由

在算法1中总结了我们的DPRL的流水线。DRL问题的培训一般可以分为两个分支:deep Q-learning和policy gradient。如上所述,我们的动作集由调整m个选定帧的不同选择组成。对于每个选择的帧有3个动作,指数大小为3 m对于深度Q-learning在计算上是不可行的。因此,我们采用了只需要输出维数线性增长的策略梯度方法:

对于训练集中所有基于骨架的视频,我们首先对它们的帧进行统一采样,以获得固定大小的序列。这些序列用于训练GCNN获取空间域内的关节依赖关系。然后,我们通过固定GCNN中的参数来训练FDNet,并在时域内对每个视频选择的帧进行更新,从而对GCNN进行优化。这两种模型相互促进,GCNN为FDNet提供奖励,FDNet选择关键帧细化GCNN。GCNN越好,提供的奖励就越准确。更高的必要选择的帧质量越高,GCNN得到的优化效果越好。在测试时,每个视频经过FDNet生成相应的序列,包含信息帧,最后送入GCNN提供动作标签。

我们在三个广泛使用的数据集上进行了实验,以评估我们提出的DPRL方法,并将其与最先进的基于骨架的动作识别方法以及基线方法进行了比较。下面详细介绍了实验和结果:

NTU+RGBD Dataset (NTU)[22]:这是目前最大的动作识别数据集,有超过56000个序列和400万帧。数据集是从40个不同的人类受试者中捕获的,有60个类操作。我们使用了人体25个主要关节的三维骨骼数据。基准评估包括交叉学科(CS)和跨视图(CV)设置。在交叉被试评估中,使用20名被试中的40320个样本进行训练,16540个样本进行测试。在交叉评估,从相机2和相机3采集的37,920个样本用于trSYSU- 3d Dataset (SYSU) [43]: SYSU- 3d Dataset包含480个序列和12个不同的动作,由40个人执行。将20个关节的三维坐标与序列的每一帧关联起来。我们使用20名受试者的视频进行训练,从其余20名受试者中获取的序列进行测试。我们采用了30倍交叉验证,并显示了该数据集的平均准确性。UT- kinect数据集(UT)[44]:该数据集包括200个骨骼序列,每帧有20个骨骼关节。有10种类型的动作,每一种动作由10个被试进行两次。我们采用一出单退交叉验证协议来评估我们在数据集[45]上的方法。基线方法:我们将每个视频组织成T×N×3张量,其中T为均匀采样帧,N为体关节个数,3为关节三维坐标。我们根据经验设T为30, N等于,对于NTU SYSU和但各自的。然后,基于cnn的模型有3个卷积层和3个全卷积层在每个卷积层之后,我们采用3个最大的池化层,大小为2×2。3个全连接层的尺寸分别为256、128和C(动作类的数量)。为了演示DPRL和基于图的表示学习模块的有效性,我们分别报告了基线模型(即Ours-CNN)和我们提出的方法(即Ours-GCNN、Ours-DPRL和Ours-DPRL+GCNN)对每个数据集的结果。这里,our -DPRL表示采用DPRL选择帧,而不是均匀采样帧,our -DPRL+GCNN表示replaci实现细节:我们提出的方法是使用Tensorflow[46]和Keras[47]工具箱实现的,而网络架构是在两个Nvidia上构建的
GTX 1080 gpu。这两个子网络都是从零开始训练的。对于GCNN,我们选择ELUs[48]作为激活函数,并将dropout rate设置为0.5。将基于图的卷积层的kernel size设置为5,对于NTU,将batchsize设置为64、16、8,SYSU和UT数据集。在相邻权值矩阵的构造上,我们设置了如下两个函数对于结构如图4所示的FDNet模型,我们设置退学率为0.5,选择ReLUs作为激活函数,利用Adam optimizer以10−5的学习率训练FDNet。行动是随机选择的,对应的概率为Ai,j。我们经验的τ调整的迭代次数设置视频是7和参数ΩEqn.10 25,所以Ω大于τ×| r0 |执行强大的模拟/惩罚。

在NTU数据集上的测试结果表明,该方法的性能分别达到83.5% (CS)和89.8% (CV)。对于DPRL,我们的模型比基线方法提高了2.6% (CS)和2.8% (CV)(ours-CNN),而基于图的模块ours-GCNN则带来了1.4% (CS)和2.1% (CV)的改进,这说明了我们所提出方法的有效性。与现状的比较:表1展示了与现状的比较性能。我们可以看到,除了LSTM-CNN方法[52]之外,我们的方法优于其他最新的方法。这是因为[52]结合了3个LSTM和7个CNN来达到更高的性能,而我们的模型只需要训练两个基于CNN的模型,更容易实现。与软注意模型[13]相比,我们的方法获得了10.1% (CS)和8.6% (CV)的改进。DPRL分析:我们分析所选帧的结果如图5所示。如前所述,我们的关键见解

图6。DPRL培训过程。从图中可以看出,随着培训的进行,正比率逐渐稳定在1以上,这也说明了逐步细化过程的有效性。一个给定的视频可以通过深度强化学习逐步估计。因此,在视频的高潮部分,应该更多的选择帧,而不是琐碎的部分。在图5中,横轴表示帧索引,纵轴表示在索引附近选择的帧数,不同的动作对应不同的曲线形状。我们还用蓝色表示一些选定的框架,用灰色表示废弃的框架,而它们对应的索引在框架下面。(a)的动作是“脱下夹克”,(a)的动作是“脱外套”,主要包括三个阶段:1)从后面拉外套,2)从前臂上拉外套,3)把外套放在前臂上。第一阶段的运动范围较大,持续时间较长,而第二和第三阶段则相对平缓快速。注意,虽然夹克可能会造成一些咬合和噪音,我们的DPRL可以丢弃这些劣质帧。(b)的动作标签是“打电话”,没有特别重要的部分。所选的帧首先显示了t的过程DPRL训练过程如图6所示,横轴为训练epoch数,纵轴为正比率,定义如下。经过不断的改进,一个视频的预测可以从“不正确”变成“正确”,这被称为一个积极的结果,相反的被称为一个消极的结果。在一个epoch中,正结果的数量用npos表示,负结果的数量用nneg表示。我们将正比率定义为npos与nneg的比率,即npos nneg。显然,

猜你喜欢

转载自blog.csdn.net/com_fang_bean/article/details/107463716