没有合适的资源?快使用搜索试试~ 我知道了~
基于特权信息的深度动作识别的学习和优化
{z.shi,tk.kim}@imperial.ac.uk134610基于特权信息的深度序列动作识别的学习和优化0Zhiyuan Shi, Tae-Kyun Kim伦敦帝国理工学院电气与电子工程系0摘要0现有基于RNN的深度序列动作识别方法要求输入骨骼关节或手工制作的深度特征。从原始深度图到动作类别的端到端映射在设计上并不容易,原因如下:1)单通道图缺乏纹理,因此削弱了区分能力;2)相对较小的深度训练数据集。为了解决这些挑战,我们提出了一个三步骤的基于特权信息(PI)驱动的RNN学习方法:首先,预训练一个编码器来学习深度外观和PI(即骨骼关节)的联合嵌入。然后,在学习步骤中调整学习到的嵌入层,通过利用PI的多任务损失来优化网络。然而,将PI作为次要任务来利用对于提高主要任务(即分类)的性能几乎没有帮助,因为它们之间存在差距。最后,在细化步骤中定义一个桥接矩阵来连接两个任务,通过发现潜在的PI。我们基于PI的分类损失保持了潜在PI和预测分布之间的一致性。潜在PI和网络在期望最大化过程中进行迭代估计和更新。所提出的学习过程在建模细微的深度差异方面提供了更强的区分能力,同时有助于避免过拟合更少的训练数据。我们的实验结果显示,在三个公共基准数据集和我们新收集的Blanket数据集上,与最先进的方法相比,性能显著提高。01. 引言0最近,由于低成本深度传感器的出现,深度序列的动作识别[57, 34, 29, 44,49]引起了广泛关注。人类动作是指一个人进行的一系列原始运动的时间序列[55]。递归神经网络(RNN)[17]天然适用于建模人类动作的时间动态,因为它可以用于建模联合概率。0特别是在长短期记忆(LSTM)[18]的情况下,序列的分布建模尤为重要,LSTM能够对复杂序列数据的长期上下文信息进行建模。基于RNN的方法最近成为深度序列动作识别的主要解决方案[61, 42, 9,27]。然而,这些方法在训练和测试中要求输入骨骼关节[61,9,22]或手工制作的深度特征[42]。基于骨骼的动作识别假设在测试阶段,一个强大的跟踪器可以准确估计身体关节。然而,在实践中,这通常不成立,特别是当人体部分可见或人不处于直立姿势时。针对特定任务的手工制作特征需要设计和调整多个阶段的处理过程,每个阶段都需要仔细设计和调整。希望能够从原始视频帧中提取时空特征并在统一的框架中对复杂序列进行建模的端到端可训练模型[8]。这个学习流程通常将深度卷积神经网络(CNN)[25]作为视觉特征提取器,将RNN[17]用于建模和识别序列数据的时间动态。然而,由于以下事实,这些传统的端到端方法(CNN+RNN)很难应用于深度序列动作识别:1)深度图中排除了颜色和纹理,这削弱了CNN模型捕获的表示的区分能力。2)现有的人类动作深度数据与公开可用的RGB图像数据集相比被认为是一个小规模数据集。这些传统的流程是纯数据驱动的,直接从像素中学习其表示。当网络在有限的训练数据上进行优化时,这种模型很可能面临过拟合的风险。为了解决上述问题,我们提出了一种基于特权信息的递归神经网络(PRNN),利用额外的知识来获得网络参数的更好估计。这种额外的知识CNNRNNFCRNNFCCNNRNNFCFCFCFCCNNFC…��� = 1��� = ���34620分类0地面真实值0输入0深度图(D) 骨骼(S)0分类(主要任务)0预测0带有PI的回归(次要任务)0� � 使用PI预测的地面真实值进行分类0更新和网络估计潜在PI0带有PI的学习0带有PI的预训练0带有PI的细化0D :深度输入 S :骨骼输入0:从头开始训练 � :缩小差距 � :发现潜在PI0图1:基于PI的RNN的提出框架。我们的方法包括三个步骤:1)预训练步骤,将深度图和骨骼作为输入。在标准CNN-RNN流水线中训练嵌入式编码器。2)使用训练好的编码器初始化学习步骤。应用多任务损失来利用PI作为次要任务中的回归项。3)最后,细化步骤旨在通过定义一个桥接矩阵来发现潜在PI,以最大化PI的有效性。潜在PI用于缩小不同信息之间的差距。潜在PI、桥接矩阵和网络在EM过程中迭代优化。0边缘,也被称为特权信息(PI)[41],隐藏信息[50]或边缘信息[54,19],在训练期间仅可用,但在测试期间不可用。我们的模型旨在在训练阶段自动有效地将PI编码到网络的结构或参数中。在这项工作中,我们将骨骼关节视为所提出的三步训练过程中的PI(见图1)。引入了一个预训练阶段,将深度序列和骨骼关节作为输入。学习的嵌入层构建了深度序列和骨骼关节外观的中间分布。由于我们的方法旨在仅在测试阶段使用深度序列作为输入,因此我们通过在学习步骤中将PI制定为多任务损失来优化我们的模型:一个标准的softmax分类损失作为我们的主要任务,以及一个回归损失作为我们的次要任务,学习从深度外观预测骨骼关节的映射参数。然而,我们经验性地观察到,由于它们之间的差距,利用PI作为次要任务对提高主要任务的性能几乎没有帮助。最后,通过在细化步骤中发现潜在PI来连接两个任务,定义了一个桥接矩阵。我们提出了一个基于PI的分类损失,作为连接器,通过惩罚损失不等式的违反来维持潜在PI和主要输出分布之间的一致性。我们通过寻找共享信息来强制回归和分类目标之间的依赖关系。桥接矩阵、潜在PI和网络参数通过迭代估计和更新在期望最大化(EM)过程中。0在期望最大化(EM)过程中,通过提供更大的区分能力来模拟微妙的深度差异,同时帮助避免过度拟合更稀缺的训练数据。由于我们将骨骼关节编码为PI,我们的模型在测试阶段不需要骨骼跟踪器,显示出在更具挑战性的场景中(例如人体部分可见或人体不直立)的更好的泛化能力。我们在从深度序列中识别动作的任务上对所提出的PRNN与最新技术进行了评估。我们证明了我们的方法在三个公共基准数据集上可以实现更高的准确性:MSR Action3D [26],SBUInteraction数据集[59]和Cornell Activity[39]。在我们新收集的Blanket数据集上可以获得更大的性能提升,该数据集中的动作从具有挑战性的摄像机视角捕获,并且某些动作被毯子部分遮挡。我们还与我们模型的几个变体进行了比较,并展示了每个组件对整体性能的一致贡献。02. 相关工作0深度序列的动作识别使用深度图可以分为局部方法和全局方法。精心设计的特征[26, 47,34]通常从时空兴趣点中提取,以描述3D体积中的局部外观或人体关节周围的区域[16]。另一方面34630另一方面,高级表示[56]旨在全局建模姿势并捕捉动作的时间演变。为了以原则性的方式模拟顺序状态转换,隐马尔可夫模型(HMM)在捕捉人类动作动力学的时间结构方面引起了很多兴趣[14]。这些基于HMM的方法要求视频序列与感兴趣的动作精确裁剪和对齐,这本身对于真实世界的视频来说是一个困难的任务。RNN能够处理可变长度的输入和输出,最近成为主导模型[42, 9,61],在性能上优于以前的方法。HBRNN[9]将人体骨架划分为五个对应的部分,并将它们馈送到五个双向递归连接的子网络中。[61]通过自动发现骨架关节之间的内在相关性改进了[9]的模型。[42]不再假设测试阶段骨架关节始终可靠,而是通过测量输入深度外观中的显著运动来模拟动作的动态演变。深度特征仍然基于手工启发式方法提取。在本文中,我们提供了一个从原始深度序列进行动作识别的端到端解决方案。0使用PI进行学习数据驱动的方法利用大量的训练数据以自下而上的方式确定最优模型参数。纯粹的数据驱动方法在使用有限的训练数据进行学习时往往非常脆弱且容易失败,由于过拟合或涉及优化障碍。使用附加知识进行学习是缓解这个问题的自然解决方案。这种知识,也称为PI[41],隐藏信息[50]或辅助信息[54],可以在训练中提供更多的解释,但在测试中不可用。许多现有算法已经研究了使用PI进行学习。[11]将PI纳入结构化SVM的目标函数中,以提高对象定位性能。[7]表明,引入附加信息可以增强随机森林框架中输出变量和潜在变量之间的依赖关系。附加知识也已经在神经网络中考虑。[5]通过提供中间目标来探索架构。[10]证明了先验分布对调整模型参数以改善其泛化性能的有效性。最近,[30]提出了一种带有附加信息的正则化RNN,用于RGB视频序列。然而,先前的方法中PI要么是预训练的,要么是固定的。在这项工作中,我们提出了使用迭代估计和更新深度动作识别中的潜在PI的端到端可训练模型的优化方法。03. 时空建模0我们在图1中展示了我们模型的整体视图。架构主要由编码器、递归网络和PI学习组成。0层和基于PI的学习。编码器由多个卷积层组成,输入是一组视频V,其中每个视频Vj是一个帧序列Vj = {vt: t = 1, ...,Tj}。编码器为Vj的所有帧生成向量空间表示Xj = {xt: t = 1,...,Tj}。递归网络用于整合Xj中的所有可用信息。最后,PI被纳入到提出的三步学习过程中共同优化所有层的参数。卷积神经网络对个体帧上的动作和上下文场景的空间外观进行捕捉。我们的编码器的架构如图2所示。它受到VGG-VeryDeep[37]的启发,稍微修改了考虑深度图和较小训练数据的11层权重版本。网络包括五个卷积层和五个最大池化层。采用修正线性单元[25]作为激活函数。与广泛使用的用于RGB数据的CNN编码器[30,37]相比,我们的编码器更紧凑且对深度序列更有效。它用于从输入帧中提取特征向量。给定输入深度帧vt ∈ R 224 ×224,可以从“outMap6”层获得激活图f6t ∈ R 7 × 7 ×512。我们通过线性变换将激活图和特征向量相互转换,即xt = tanh(W6f6t +b6)。这个“映射到序列”的操作为细化步骤中的递归层生成一个输入向量xt ∈ R 1 ×1000。递归神经网络是具有反馈环路的神经网络,可以产生展开网络中的递归连接。给定来自上述编码器的输入序列Xn,递归层的隐藏状态hj = (ht: t = 1, ..., Tj)定义为ht =tanh(Whxt + Uhht-1 +bh)。这里Wh,Uh是一个仿射变换的参数,用于更新输入层和隐藏层之间的连接权重。RNNs存在梯度消失和梯度爆炸问题。我们采用LSTM[18]来解决学习长期依赖性的问题,其中每个时间步t维护一个记忆细胞向量ct。LSTM包含一个自连接的记忆细胞c和三个乘法单元,即输入门i,遗忘门f和输出门o,可以存储和访问时间序列的长程上下文信息。具体的更新形式请参考[18]。04. 基于PI的RNN0标准的递归神经网络在训练时无法利用PI。我们首先提出了一种预训练策略。通过将PI转化为多任务损失,学习到的编码器应用于学习步骤,并与RNN一起调整。在最终的细化步骤中,发现并迭代更新网络参数的潜在PI。x′t = tanh(W 7xt + WeE + b7)(1)LL(Ω) =J�j=1Lc(T, j) + λJ�j=1T�t=1Lr(t, j)(2)Lc(t, j)(= −K�k=1δ(k − gt) log p(yjtk)Lr(t, j) = 1S((ˆexjts − bxjts)2 + (ˆeyjts − byjts)2)Q(Θ, M) =log(p(y′|Xj; Θ)p(gj|y′; M)), (3)346404.1. 使用PI进行预训练0提出了一种预训练策略,通过将深度序列Vj和骨骼关节注释E ={e1,...,eS}作为输入来学习联合嵌入。每个es ∈ R 30有3个坐标。在这个阶段,x t不直接应用于RNN。相反,附加层将x t与E一起转换为嵌入空间:0其中W e 是连接骨骼关节的权重矩阵。得到的x ′ t与x t具有相同的维度(1000)。然后,使用RNN来建模序列数据的动态特性。最后,类似于大多数用于分类任务的RNN,采用softmax层将隐藏状态向量转化为动作类别的概率分布。预训练阶段的关键是学习一个深度编码器,优化深度外观和骨骼关节的嵌入。学习到的编码器作为下一阶段学习的初始化。这个预训练阶段显著提高了效率和效果。04.2. 使用PI进行学习0多任务损失。为了获得输入序列Xj的类别预测,隐藏状态可以映射到输出向量yj = (yt : t = 1, ...,Tj)。在训练过程中,我们测量地面真值和最后一个记忆单元在帧T上的偏差,作为分类损失,因为LSTM具有记忆整个序列内容的能力。对于回归损失,我们累积每个帧t在T帧序列上的损失。学习步骤中的最终目标函数是最小化所有训练序列上的累积最大似然损失:0训练集Ω中有J个序列。方程2中的超参数λ控制两个损失之间的平衡。分类损失和回归损失定义如下:分类损失。yt ∈ RK表示对K个动作类别的置信度分数的1-of-K编码,可以通过softmax函数将输出向量yt转化为每个类别k的概率分布p(ytk) = eytk / ΣKl=1eytl。为了学习我们模型的参数,定义预测分布p(yt)和目标类别gt之间的交叉熵损失:0对于第j个视频的第t个样本,其中δ(∙)是Diracdelta函数,gt表示样本t的地面真值标签。回归损失。除了分类输出,我们的模型还有另一个兄弟输出层作为回归项。我们为地面真值关键点ˆEt ={ˆet1,...,ˆetS}和每个时间步t的预测位置Bt ={bt1,...,btS}定义了骨骼回归目标。我们选择ˆE作为骨骼注释E的子集,因为这是次要目标,在测试中不需要准确估计所有骨骼关节。每个实例都伴随着一组关键点{ˆexts,ˆeyts}Ss=1的位置,这些位置相对于输入区域的中心、宽度和高度进行了归一化。与测量骨骼估计任务相关的损失可以表示为:0s =S空格0其中我们使用归一化关键点位置之间的 L2距离来量化差异。这个损失函数和回归层只出现在训练阶段,用于通过额外信息优化神经网络。这种扩展被称为多任务学习[32],它利用任务之间的关系同时学习所有的个体任务,以便信息可以在模型的公共结构中共享,从而使所有任务受益。与[12]类似,它将通过考虑回归方面来帮助分类预测。在测试过程中,回归组件将被禁用。04.3. 使用概率隐变量进行重构0然而,最后一步中的传统多任务损失函数没有考虑两个任务之间的任何关系。我们经验性地观察到,纯粹利用概率隐变量作为辅助任务对于提高主任务的性能几乎没有帮助,因为它们之间存在差距。为了最大化概率隐变量对主任务的帮助效果,我们提出在重构步骤中从辅助任务中发现隐变量概率隐变量。隐变量概率隐变量被用于主任务的优化网络。更新后的网络进一步用于迭代地优化隐变量概率隐变量。隐变量概率隐变量建模我们将隐变量概率隐变量定义为由辅助任务和桥接矩阵共同建模的信息分布。桥接矩阵 M旨在捕捉主任务和辅助任务之间的潜在依赖关系。定义模型的对数似然函数如下:0J空格0空格K空格uk = p(y′k|B, g; Wy′, M)≠LR = −p(ˆujk) log p(yjT k)−βK�k=1δ(k − gj) log p(y′jk)�(5)Mkl(Ω) =�Jj=1 ujkδ(l − gj)� ujk,k, l ∈ {1, ..., K}(6)while not converge do34650其中 Θ 是重构步骤中网络的参数集。给定Θ,它由学习步骤中的模型初始化,我们可以预测深度帧的骨骼关节 Bt。我们将每个帧的预测骨骼连接成一个单独的向量 B = { B1 , ..., B T n }。然后,通过全连接层计算 y ′: y ′ = W y ′B + b y ′。W y ′ 和 b y ′ 是 Θ的一部分,但它们是从头开始训练的。在重构步骤的训练过程中,我们的模型通过迭代地优化桥接矩阵和网络参数来最大化似然函数。估计隐变量概率隐变量的显式表达式如下:0= p ( g | y ′ k ; M ) p ( y ′ k | B ;W y ′ ) 空格 K l =1 p ( g | y ′ l ; M) p ( y ′ k | B ; W y ′ )0空格 K l =1 M lg exp( W y ′ k B + b y ′) (4)0p ( y ′ k | B ; W y ′ ) 是通过观察输入深度序列的预测骨骼关节 B 而得到的类别 k的预测概率。桥接矩阵 M旨在将预测的分布转换为可以有效用于优化网络的隐变量分布。使用隐变量概率隐变量更新模型 输入序列 X j 的隐变量概率隐变量分布 p (ˆ u j ) 定义为 p (ˆ u j ) = u j z t,其中 zt ∈ R K 是从多项式分布 { ˆ g � P ( α ),z ˆ g = 1,z l = 0,� l � = g } 随机生成的,其中P ( α ) 定义为 p g = 1 − K − 10K α 和 p l = 1 K α ,其中 α控制先验分布被推向分类损失的强度,g是真实标签。我们用概率替换概率隐变量的真实标签,以制定基于概率隐变量的分类损失函数:0J空格0空格K空格0LR中还包括了标准的softmax损失,通过公式6的EM过程的M步骤迭代更新建模潜在PI的桥接矩阵[31, 36, 3]:0算法1:基于PI的RNN0输入:一组视频V,骨骼关节注释E,骨骼关节子集ˆE,真实类标签g。输出:网络参数,桥接矩阵M。预训练:0通过公式1同时考虑深度序列V和骨骼关节E的x,通过最小化标准softmax损失来训练一个编码器。结束学习:0在回归项中使用骨骼关节子集ˆE。通过最小化多任务损失公式2来优化网络的参数。结束细化:0E步骤:0通过公式4估计和更新潜在PI 结束 M步骤:0通过基于PI的分类损失公式5来优化网络的参数。通过公式6更新桥接矩阵M。结束。0关于潜在PI的讨论潜在PI可以被视为作为教师网络的充分信息[24,40]。然而,我们的潜在PI是在同一框架中获得的,而不是从一个单独的模型中训练得到的。我们的模型根据每次迭代中网络的反馈进一步细化潜在PI。这个更新过程给我们带来了两个好处:(1)该公式在从深度外观和骨骼信息中学习的类分布之间取得了良好的平衡。这与[35]的思路类似,在那里使用权重分布来改进随机森林的学习过程。Sun等人[38]还将先验信息(例如人的身高)纳入到增强输出变量和潜在变量之间的依赖性的模型中,其中先验信息可以有效地帮助拆分数据。骨骼和原始深度序列应该共享相关和互补的信息。在这里,我们通过部分考虑从骨骼关节获得的后验来测量损失。我们证明了这个学习过程可以提高网络的判别能力。(2)除了学习更好的深度表示之外,我们基于PI的分类损失提供了一种有效的防止过拟合的方法。由于先前的标签不是完全训练的,因此LR中还包括了标准的softmax损失来更新参数(例如W y',by')从次要任务的分支。除了优化网络参数,建模潜在PI的桥接矩阵可以通过EM过程的M步骤[31, 36,3]迭代更新为一个闭合解:������������COV1COV2COV3COV4COV5outMap67×7×512map-to-sequence…���������We mainly consider the skeleton joints as our PI. Theprior class distribution is obtained by training DURNN-L[9] with all available skeletons. In our regression loss, we34660� : 224 × 224 × 1 224 × 224 × 64 112 × 112 × 128 56 × 56 × 256 28 × 28 × 512 14 × 14 × 5120� : 1 × 10000图2:编码器的架构。卷积层(从COV1到COV5)的卷积核大小为3×3,步幅为1。填充实现相同的卷积(和池化),其中输入和输出映射具有相同的空间范围。从COV1到COV5,最大池化在2×2的空间窗口上以步幅2进行。0在完全训练之后,根据α切换到先前的标签时引入了噪声。这个术语可以被视为类似于[53]的正则化器,在该正则化器中,它们故意在损失层生成不正确的训练标签。我们的损失函数也旨在最小化两个分布之间的混淆。04.4. 模型训练0我们在算法1中总结了所提出的基于PI的RNN的整个训练过程。请注意,学习步骤和细化步骤可以交替进行,以提高训练模型的效果。在我们的实验中,我们表明一轮学习和细化步骤可以显著改善模型的性能。虽然可以通过多轮训练获得小幅改进,这在SBU数据集上得到了验证,但我们在所有实验中都固定为一轮学习和细化,以在准确性和效率之间取得良好的平衡。在细化步骤中,EM过程仍然迭代运行直到收敛。对于这三个步骤,由递归神经网络的最后一层测量的误差差异将被反向传播到特征序列,并在视频的每一帧中反馈给卷积层。我们的方法是一个端到端可训练的网络,共同学习CNN和RNN的参数。我们使用Adam优化器对负对数似然进行随机梯度下降训练,MSRAction3D数据集的学习率为0.001,其余数据集的学习率为0.0001。所有数据集都应用了10个样本的小批量大小。当验证误差开始增加时,我们使用早停法。05. 实验0我们将我们的模型与最先进的方法和基线在四个数据集上进行比较:MSRAction3D数据集[26](Action3D),SBU Interaction数据集[59](SBU),CornellActivity数据集[39](CAD60)和我们提出的Blanket数据集(Blanket)。我们还分析了我们模型的每个组成部分和计算效率。数据集:Action3D是由深度相机捕获的动作数据集。该数据集包含20个由10个主体执行的动作。每个动作由十个主体每次执行三次。所有序列以15FPS的速度捕获,每个序列的每帧包含20个骨骼关节。总共,该数据集有557个有效的动作序列,包含23797帧深度图。SBU包含282个预分段的序列,包括8个描绘两人互动的类别。每个动作由21对主体执行。CAD60包含由MicrosoftKinect设备捕获的68个视频剪辑。每个视频的长度约为45秒。四个不同的主体在五个位置(办公室、厨房、卧室、浴室和客厅)执行14种不同的活动。Blanket包含120个深度视频剪辑。由10个主体执行12个不同的动作类别。我们的数据集包含更多静态动作(例如躺着和坐着)。该数据集非常具有挑战性,因为一些动作被毯子部分遮挡。例如,一个演员坐在床上,而他被毯子盖住了(请参阅我们的补充视频以获取所有动作)。0我们主要将骨骼关节视为我们的PI。先验类别分布是通过使用所有可用的骨骼训练DURNN-L[9]获得的。在我们的回归损失中,我们0实现细节:我们使用TensorFlow[1]实现了网络。卷积层的架构(参见图2)从VGG-VeryDeep[37](具有11个权重层)稍微修改,用于深度图。我们使用归一化初始化过程[13]初始化权重,而不进行预训练。与可以重新缩放和随机裁剪到固定大小的图像不同,视频序列必须考虑时空一致性。每个输入视频帧从整个帧中缩放到227x227。我们没有执行随机裁剪和翻转操作以便于使用PI。深度值被归一化到[-1,1]。我们的模型有2个堆叠的LSTM,每个隐藏单元有1000个。为了减少计算成本,我们对CAD60的每个视频采样最长为200帧。我们没有对MSRAction3D、SBU和Blanket数据集进行帧采样。我们将LSTM展开到最长为200个时间步长的CAD60,最长为300个时间步长的Blanket和最长为100个时间步长的其他数据集进行训练,这是准确性和复杂性之间的良好折衷。MethodAction3DSBUCAD60BlanketPRNN94.989.287.653.534670Action3D CAD60 Suffering0SBU0图3:四个数据集上的深度图示例。我们只使用六个关节(即头部、左手、右手、左脚、右脚、臀部中心)作为辅助目标,以帮助分类准确性。对于我们的Blanket数据集,我们为预训练和细化阶段都注释了这六个关节,因为摄像机视角特殊。我们将3D关节坐标归一化到统一的坐标系中,将臀部中心放置在原点[43]。与[9]类似,我们对骨骼注释应用了简单的Savitzky-Golay平滑滤波器。05.1. 与最先进方法的比较0实验结果如表1所示。现有的最先进方法可以分为两组:1)仅使用深度序列或2)在测试阶段至少使用骨骼信息。在Action3D上的结果:我们遵循[45,46]中的类似评估协议。在这个设置中,数据集被分为两组,其中一半的主体用于训练,另一半用于测试。与另一个协议[9]将类别分为三个子集相比,这个设置更具挑战性,因为所有动作都在一起评估。平均准确率对应于所有类别的混淆矩阵对角线的平均值。请注意,由于数据缺失,我们没有使用10个骨骼序列[47]。我们将提出的PRNN与Xia等人[52],Oreifej等人[34]和Yang等人[56]进行比较。所有这些方法在测试期间只需要深度图作为输入。我们可以看到,与它们相比,我们提出的PRNN实现了最好的平均准确率(94.9%)。为了进行全面比较,我们还在表1的下部列出了那些基于骨骼的方法。基于骨骼的方法通过假设在测试中有一个稳健的骨骼跟踪器来展示稍微更好的性能。我们的方法旨在提供一个更通用的框架,允许我们直接从深度视频的原始观测中学习模型,而不是显式地对骨骼关节[9]或局部外观[42]进行建模。这些方法中的许多方法要么专注于使用某种假设对时空结构进行建模[34],要么利用人体关节的轨迹[42,60]在测试阶段依赖于准确的骨骼关节检测。SBU:我们遵循[59,61]的实验设置,并使用五折交叉验证。所有动作类别都由演员之间的互动组成,涉及人类的行为和反应。我们在表1中总结了结果。0深度0Xia等人[52] 89.3 43.69 - 40.60Oreifej等人[34] 88.9 77.0 72.7 42.80Yang等人[57] 93.45 - - 41.20骨架0Vemulapalli等人[43] 89.48 - - -0Veeriah等人[42] 92.03 - - -0Hu等人[20] - - 84.1 -0Koppula等人[23] - - 71.4 -0Du等人[9] - 80.35 - -0Wang等人[48] 96.9 - - -0Wang等人[45] 91.40 - - -0Zhu等人[61] - 90.41 - -0Gori等人[15] 95.38 93.08 - -0Wang等人[47] 88.2 - 74.7 -0Table 1:在四个动作识别数据集上与最先进方法的比较。'-'表示没有报告结果,没有可用于实现的代码。我们可以看到,我们的方法在基于深度的方法上取得了卓越的性能,并且接近基于骨架的方法。0CAD60:我们采用与[47,20]相同的实验设置,采用留一人交叉验证。即模型在四个人中的三个上进行训练,然后在第四个人上进行测试。表1比较了在CAD60上的结果。我们可以看到,提出的PRNN仅通过查看深度图就实现了87.6%的准确率,与之前在测试中利用多种线索(即RGB帧、深度图和跟踪的骨架关节位置)的工作相比。CAD60的一些不同人类动作具有相似的身体动作,例如“切割”和“搅拌”。我们的模型利用了基于PI的学习过程,可以从深度图中区分出微妙的动作[21]。0Blanket:与CAD60类似,我们遵循[47]的协议,在我们提出的数据集上进行交叉验证。我们将我们的模型与三种基准方法进行比较:Xia等人[52],Oreifej等人[34],Yang等人[57]。我们使用他们公开可用的代码,并通过改变参数来训练他们的模型,以便公平比较的最佳结果。实验结果如表1所示。提出的PRNN获得了53.5%的最先进准确率。我们收集的数据比现有数据集更难学习。尽管每个基本动作都很简单,比如“坐下”和“躺下”,但是演员(即患者)在执行这些动作时要么被毯子部分遮挡,要么处于痛苦状态。这给基本动作引入了严重的噪声(例如,摇晃身体,颤抖)。此外,这种特殊的摄像机视角(见图3)和被毯子遮挡将给骨骼估计带来困难。正如预期的那样,我们的模型与其他方法之间存在较大的性能差距。这证明了我们的模型从深度图直接表示和建模动作动力学的潜力。0简而言之,我们展示了“CNN-RNN(原始)”的竞争性能。MethodAction3DSBUCAD60BlanketPRNN-NoPreTrain89.285.678.647.8PRNN-NoRefine83.471.670.540.3PRNN94.989.287.653.520%40%60%80%100%00.20.40.60.81PRNN PRNN-NoPreTrainCNN-RNN PRNN-NoRefine34680CNN-RNN(原始) 87.3 79.2 81.5 37.80Table 2:提出的PRNN在四个人类动作数据集上的每个模型组件的贡献。我们的模型通过在训练时利用PI来建模动作序列中的时间动态,提供了一种有效的端到端解决方案。与大多数基于对深度图结构或可靠骨架跟踪器的可用性的某种假设的先前工作不同,我们的模型可以自动从原始深度图中学习特征,而不考虑任何对视频序列结构的假设[58, 51]。05.2. 模型分析0评估各个组件为了验证我们框架中各个组件的效果,并证明它们是否对性能提升有贡献,我们评估了我们方法的三个变体:(1)PRNN-NoPreTrain丢弃了预训练策略,如第4.1节所示。相反,在学习阶段中从头开始训练CNN编码器。(2)PRNN-NoRe�ne忽略了最后的细化步骤,如第4.3节所述。最终模型通过预训练和学习步骤进行训练。请注意,第4.2节中的学习步骤不能单独删除,因为潜在PI是基于学习步骤的回归项获得的。我们报告了纯粹的CNN-RNN流水线的性能。这与我们的模型在预训练阶段类似,只是在训练过程中不包括骨架作为输入的一部分。请注意,我们的预训练阶段(同时采用深度和骨架作为输入)是专门为我们的学习阶段(具有分类和回归损失)设计的。我们尝试使用我们的预训练模型初始化纯粹的CNN-RNN(深度输入与分类损失),但其性能远不如从头开始学习。我们在表2中展示了我们模型所有简化版本的平均准确率。总体而言,我们的方法通过整合每个组件来持续提高性能,表明每个组件都对最终性能有贡献。如果不在预训练阶段利用PI,我们的模型由于初始化效果不佳而表现不佳。纯粹的CNN-RNN也受到训练数据相对较少的影响,因此无法充分利用端到端的方式。通过在细化步骤中考虑潜在的PI信息,可以大大减轻CNN-RNN和PRNN-NoRe�ne的过拟合问题。很明显,当将这些步骤组合在一起时,性能得到了显著改善(PRNN)。定性分析我们在图4中将我们的方法与三个变体进行了比较,图中展示了实时预测的定性比较。0时间长度的一部分0置信度得分0图4:随着时间的推移,实时预测的定性比较,以“从床上摔下来”的动作为例,每15个时间步骤对一个示例序列进行预测。地面真实动作标签为“从床上摔下来”。所有方法在开始时都对正确的动作类别给出了低置信度。随着时间的推移,我们发现我们的方法首先正确预测动作标签。我们将这种更快的学习能力归因于编码PI的机制[2],它使我们能够区分连续帧之间的微小深度差异。计算效率我们以Action3D为例讨论我们方法的效率。通过在NVIDIA Titan XGPU上使用Python和C++实现,我们的三步学习过程在连续减少超过200k次SGD迭代后,大约需要11小时才能收敛。在每次训练迭代中,梯度都是在每个小批量上平均的。在测试过程中,它可以实现实时性能(≈38FPS)。与多阶段模型相比,我们方法的效率主要归功于其具有端到端属性而无需预处理步骤。请参阅我们的补充视频以获取实时测试性能。06. 结论与未来工作0在本文中,我们提出了一种使用PI学习递归神经网络的方法。所提出的学习过程具有三个好处:1)预训练阶段提供了中级嵌入,可以在后续阶段有效调整。2)在学习阶段,通过制定多任务损失来利用PI作为次要任务。3)进一步将学习到的信息建模为潜在的PI,该潜在PI被定义为关闭两个任务之间差距的因素。通过关闭两个分布,潜在PI用于增强学习表示的区分能力。潜在PI也以EM方式进行迭代更新。此外,随机抽样的分类损失作为正则化器,减少了过拟合的倾向。我们将我们的模型应用于从深度序列中识别动作的问题,并在三个公开可用的数据集和我们新收集的数据集上取得了更好的性能。未来,我们将考虑研究更多不同类型的PI,并尝试在神经网络的中间层中对这些信息进行建模[5]。0致谢:本工作得到了欧姆龙公司的支持。34690参考文献0[1] M. Abadi, A. Agarwal, P. Barham, E. Brevdo, Z. Chen, C.Citro, G. S. Corrado, A. Davis, J. Dean, M. Devin, 等.Tensorflow: 大规模异构系统上的机器学习, 2015.软件可从tensorflow.org获得, 2015. [2] S. Baek, K. I. Kim, andT.-K. Kim. 利用时空上下文的实时在线动作检测森林. 在WACV,2016. [3] A. J. Bekker and J. Goldberger.基于不可靠标签的深度神经网络训练. 在ICASSP, 2016. [4] Y.Bengio, P. Simard, and P. Frasconi.使用梯度下降学习长期依赖关系是困难的. TNN, 1994. [5] C¸ a˘glarG¨ulc¸ehre and Y. Bengio. 知识的重要性: 优化中的先验信息.JMLR, 2016. [6] J. Chung, K. Kastner, L. Dinh, K. Goel, A. C.Courville, and Y. Bengio. 用于序列数据的循环潜变量模型.在NIPS, 2015. [7] M. Dantone, J. Gall, G. Fanelli, and L. V. Gool.使用条件回归森林的实时面部特征检测. 在CVPR, 2012. [8] J.Donahue, L. A. Hendricks, S. Guadarrama, M. Rohrbach, S.Venugopalan, K. Saenko, and T. Darrell.长期循环卷积网络用于视觉识别和描述. 在CVPR, 2015. [9] Y. Du,W. Wang, L. Wang, and . 基于层次循环神经网络的骨架动作识别.在CVPR, 2015. [10] S. Eslami, N. Heess, T. Weber, Y. Tassa, K.Kavukcuoglu, and G. E. Hinton. Attend, infer, repeat:使用生成模型进行快速场景理解. arXiv预印本arXiv:1603.08575,2016. [11] J. Feyereisl, S. Kwak, J. Son, and B. Han.基于特权信息的结构SVM的对象定位. 在NIPS, 2014. [12] R.Girshick. 快速R-CNN. 在ICCV, 2015. [13] X. Glorot and Y.Bengio. 理解训练深度前馈神经网络的困难性. 在AISTATS, 2010.[14] D. Gong, G. Medioni, and X. Zhao.用于人体动作分割和识别的结构化时间序列分析. TPAMI, 2014.[15] I. Gori, J. K. Aggarwal, L. Matthies, and M. S. Ryoo.机器人中心场景中的多类型活动识别. IEEE机器人与自动化通信,2016. [16] M. A. Gowayyed, M. Torki, M. E. Hussein, and M.El-Saban. 用于动作识别的人体关节轨迹的方向直方图. 在IJCAI,2013. [17] A. Graves. 用
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功