论文翻译:Spatio-Temporal Naive-Bayes Nearest-Neighbor (ST-NBNN) for Skeleton-Based Action Recognition

       由于以前成功地使用非参数方法来识别对象,例如NBNN[2],我们将其扩展到使用骨架来识别动作。每个3D动作都是由一系列3D姿态呈现的。与NBNN相似,我们提出的时空NBNN应用阶段到类的距离来对动作进行分类。而STNBNN考虑了三维动作的时空结构,放宽了NBNN的朴素贝叶斯假设。ST-NBNN采用双线性分类器。识别动作分类的关键时间阶段和空间关节。尽管仅使用线性分类器,但在三个基准数据集上的实验表明,通过结合非参数和参数模型的优点,ST-NBNN可以获得与使用复杂模型(如深度学习)的最新结果相比具有竞争力的性能。此外,我们的ST-NBNN通过识别每个动作类别的关键骨骼关节和时间阶段,可以捕获在识别动作中起关键作用的基本时空模式,而使用端到端模型往往无法实现这一点。

介绍
        由于商品深度摄像机的发展,基于骨架的动作识别在计算机视觉界引起了相当大的关注。到目前为止,领先的3D动作分类器都是基于学习的分类器,特别是基于深度学习的方法(例如,[5,24,35,21,14,13]),它们在基准数据集中显示了有希望的结果。尽管基于学习的方法在三维动作识别中取得了很大的进步,但非参数分类器在三维动作识别中并没有得到很好的开发,非参数分类器直接根据数据进行分类决策,不需要对参数进行学习/训练。

图1所示。演示挥右手动作的关键阶段、关节和动作。

有趣的是,对于图像识别而言,非参数方法,如naivebayes最近邻(NBNN)[2],利用图像到类别的距离对局部视觉基元图像进行分类的效果令人印象深刻。受NBNN以往成功经验的激励,我们在这项工作中将其扩展为认识行动。

      两个观察激发了我们对使用的探索基于骨架的动作识别的NBNN:(1)类似于由局部视觉基元组成的图像,动作也由时空基元组成,例如,每个动作实例是骨骼姿态的集合,每个姿态进一步是空间关节的集合。我们可以很容易地应用原语到类的距离来执行动作识别,可以用NBNN来推广。(2)与由数百万或数十亿像素组成的图像和视频相比,骨骼仅由几十个关节组成,其复杂性远低于图像和视频。我们认为,与其依赖复杂的端到端模型,一个简单的非参数模型仍然可以获得这样一个轻量级问题的有希望的结果。在这项工作中,我们提出了时空贝叶斯最近邻(ST-NBNN)是NBNN的新变种,用于对三维动作进行分类。每个三维动作实例由三维组成的时间阶段集合表示,姿态,每个阶段的姿态是由空间关节的集合呈现。在NBNN之后,我们的ST-NBNN应用阶段到类的距离来对动作进行分类。它可以很好地处理3D动作的长度变化以及大型的类内变化。然而,并不是每个时间阶段和空间关节都对动作的识别具有同等的重要性。因此,识别关键阶段和关键骨骼关节对识别具有重要意义。扩展NBNN用于三维动作分类。

我们的STNBNN考虑行为的时空结构。我们没有简单地用贝叶斯假设来总结所有阶段到类的距离,而是将这些距离表示为代表动作实例的神经网络距离的时空矩阵。ST-NBNN进一步采用双线性分类器[19]来识别关键节点和阶段,并对神经网络距离的时空矩阵进行分类。我们提出的公式可以迭代优化学习的线性分类权的空间和时间阶段,我们使用图1来说明使用关键的空间关节和时间阶段进行动作识别的思想。当做右手摆动动作时,只有右手和手臂(关键关节)被激活。当观察到右手和手臂抬起并向左水平移动的时机(关键阶段)时,我们可以宣称挥动右手的动作是在表演。这种由关键时间阶段和空间节点所描述的时空模式是识别动作类的关键。这种模式的发现不仅可以提高识别的准确性,还可以回答是什么构成了这样一个动作实例,以及我们为什么要识别它。

利用阶段到类的距离和双线性分类器[19],我们提出的ST-NBNN结合了非参数模型和参数模型的优点。虽然只使用线性分类器,但在三个基准数据集上的实验表明,使用原始骨架特征的ST-NBNN已经可以获得非常有竞争力的性能,与最先进的端到端模型相比,优化特征表示。此外,通过识别对识别动作起关键作用的关键时间阶段和空间关节。我们的ST-NBNN可以捕捉每个动作类的基本时空模式,并提供动作行为的物理解释。然而,这种时空模式的发现和明确解释并不总是通过端到端模型来实现,端到端模型主要是为了获得更高的识别精度,而不是更好的解释模式。

      相关工作Skeleton-Based行动识别近年来,基于骨架的动作识别问题受到了广泛的关注,提出了许多基于学习的方法。由于由于这些工作的数量巨大,我们仅对基于骨架的动作识别的时空建模进行综述。

       空间领域的建模主要是由于一个动作通常仅由骨骼关节[35]子集的相互作用或组合来表征。对动作的空间模式建模通常采用两类方法:基于部分的模型和子位姿模型。在基于部分的模型中,一个骨架被划分为若干组,每组的关节都是相邻的骨骼。在HBRNN[5]中,骨骼被分解为五个部分,两个手臂,两条腿和一个躯干,并建立一个递归神经网络来建模这些部分之间的关系。类似地,在[21]中,我们提出了一个部分感知的LSTM来构造身体各部分之间的关系。在子位姿模型中,主要关注信息关节及其相互作用。在SMIJ[18]中,信息最丰富的关节是根据关节角度轨迹的均值或方差等度量来选择的。这些信息关节的序列被用作动作的表示。在Orderlet[33]中,关节之间的相互作用是通过比较关节的基本特征来建模的,而在动作识别中只涉及关节的一个子集。在时态领域,图形模型[11,30]、时态金字塔匹配[28,32]、动态时间翘整[20]是时态建模的常用方法。在[27]中,采用序列模式挖掘方法对关键姿态的时间结构进行建模。除了空间建模和时间建模,我们还看到了在时空建模方面的努力。在[14]中,将LSTM模型扩展到对骨架进行时空分析。与这些方法相比,我们提出的ST-NBNN能够同时发现一个行为在时空上的关键因素。

        摘要对加权首次提出nbnn[2]用于图像分类。这两个关键因素使得NBNN取得了非常好的效果。首先,它避免使用向量量化来编码原始特征,以便在分类中使用罕见但有区别的描述符。其次,选择“图像到类”距离而不是“图像到图像”距离进行决策,具有较好的泛化能力。由于它的成功,原始的NBNN算法有一些变化。在[1]中,Behmo等将NBNN参数化,以放松其所有类在特征空间中密度相似的限制性假设。的内核化版本中通过引入图像表示之间的核,批判了nbnn[22]的独立假设。与NBNN核[22]相比,我们也通过纳入动作数据的时空结构打破了独立假设。在NBNN之后,我们也看到了它。

图2。1)将动作视频统一划分为固定数量的阶段,用一组阶段描述符(橙色查询点)表示;2)通过计算阶段描述符到动作类集(蓝色、绿色和红色)的距离神经网络搜索;3)对阶段描述符的距离按时间顺序进行收集,生成与类相关的平方距离矩阵(用与类相关的虚线矩形框标记);4)学习空间域(矩阵左侧)和时间域(矩阵顶部)的权重,发现动作的关键因素和预测动作标签。

        在视频分析中的应用。Yang等[31]使用NBNN对由降维动作描述符、特征关节表示的三维动作进行分类。在[34]中,NBNN被重新设计为基于Naive-Bayes的互信息最大化(NBMIM)解决动作检测问题。在最近邻匹配中引入负样本,以提高描述符的识别能力。最近,NBNN与CNN[10]的合并,以及加快[9]NN搜索的努力,使NBNN在计算机视觉领域回归的可能性再度增大。

         该方法在本节中,我们将介绍所提出的方法如何预测动作以及发现关键节点和阶段。我们的方法的概述如图2所示。我们首先引入一组阶段描述符来表示一个3D序列(第3.1节)。然后使用NBNN[2]作为分类操作的基本框架(第3.2节)。最后,通过时空权值的学习来发现动作识别中的关键姿态和空间关节。

        3 d动作表示在基于骨架的动作识别中,每个三维动作都是一个三维姿态序列,但不同的动作可能有不同的时间长度。为了提供统一的表示,我们将每个动作划分为N个相等的时间窗口。长度如图2所示。每个时间窗口称为一个时间阶段,其特征是三维姿态在其相应的窗口。假设每个三维位姿的骨架有J个关节,对于一个时间阶段描述符x,其第J个帧的三维位姿记为pj∈R3 j,该位姿的相关速度记为vj∈R3 j。则x的位姿部分xp和速度部分xv定义为:

与[26]类似,我们也将xp和xv标准化,使l2范数等于1。实验表明,这种归一化方法比使用原始特征的方法效果稍好。由于我们使用原始的三维姿态及其速度来表示三维动作,因此l帧的时间阶段描述符x表示为:

最后,用N个stagedescriptors V = {x i}描述一个3D动作视频。N i = 1。NBNN给定一个查询动作视频Vq = {x i}N i=1,目标是找出哪个类c∈{1,2,…, C}视频Vq属于出现NBNN遵循极大后验(MAP)规则进行分类。假设p(c) = 1C,则预测的类为:

根据Naive-Bayes假设(数据样本相互独立),可以将Eq. 3表示为:

通过[2]分析,可以根据x与c类中x的最近邻居之间的距离估计出c类中每个原语x的概率密度,即p(x|c),将式4改写为:

NNc (x我)是类c中xi的最近邻居。NBNN作为一种非参数模型,不存在训练阶段。For a query 3D action Vq = {x i}N i=1时,其每个时态阶段将通过寻找最佳匹配的时态阶段,分别与C类进行匹配,即他是班上最近邻。匹配越好。,越小NN距离越远,这个时间阶段就越会投票给这个类c,否则,如果一个时间阶段不能在这个类中找到一个好的匹配,它就不会给这个类提供一个强的投票。由于Vq共有N个时间阶段,由于Vq在总共N个时间阶段中,最终的决定是对所有的N个投票的总和,如公式5所示。

时空NBNN
      对于一个特定的动作,通常只有一部分关节被激活来执行动作,对于不同的动作,它们的激活关节是不同的。因此,在动作分类中,我们只能关注被激活的空间关节,同时抑制那些由于遮挡或捕获噪声而无法识别或容易受到影响的空间关节。同时,对于一组暂时的阶段不是每个阶段都同样重要。根据动作类别的不同,某个时间阶段的分类可能比其他阶段更具区别性。如图2所示,描述符(shadowed orange query square)阶段比开始阶段和结束阶段具有更强的辨别能力。为了同时识别重要的空间节点和时间阶段,我们提出利用双线性分类器[19]在NBNN框架下学习它们的时空权重。虽然之前研究过如何选取重要的空间节点或时间姿态的作品不多,能同时兼顾二者的作品不多。

时空矩阵
     虽然我们假设阶段描述符在NBNN中是独立的,但它们实际上在一定的时空结构中是相互依赖的。因此,为了获取三维动作表示的时空结构,我们从集合V = {x i}中表示一个三维动作。N i=1到一个矩阵,如图2的权值学习块所示。对于给定的N个阶段的视频样本,其时空矩阵定义为:

动作的阶段描述符按照时间顺序逐个列重新组织。进一步定义X在c中的最近邻矩阵为XNN c =(NNc (x1),…NNc (xN)],到类c的距离平方矩阵定义为:

其中,⊙是一个元素明智的产品。Xc被认为是类c的X的表示,它是测试样本的各个元素到类的距离的组合。Xc中所有元素的总和等于PN i=1 kx i−NNc(x i)k公式5中的2。

      考虑到Xc元素对分类的贡献不同,NBNN应该参数化,以强调区分性元素。我们可以简单地将Xc向量化为gmc,然后将NBNN决策函数Eq. 5重新定义为c∗=参数敏c w⊺χc,重量w可以通过线性支持向量机学习。但是Xc是一个大矩阵,需要确定的权重太多。这种策略不仅耗时,而且有过拟合的风险。因此,我们的公式采用双线性分类器。

根据Eq. 7中的平方距离矩阵,查询矩阵X对类c的分类分数由双线性函数fc(·)确定,定义为:

其中u s c∈RM和u t c∈RN为动作c类的时空权重,因此分类为:

从Eq. 8可以看出,本文方法提供了时间阶段和空间关节的权重。重新排列后,式9可以表示为:

      在√·是向量的元素平方根。值得注意的是,NBNN是ST-NBNN的一个特例。当u s c和u t c被赋值为1时,Eq. 10在Eq. 5中变为NBNN。ST-NBNN通过打破摘要对规则。我们没有假设每个阶段是独立的,而是引入了的时空结构3D动作到我们的框架。

空间和时间权重学习
         我们的目标函数类似于张量支持向量机。遵循[3]的学习策略,我们采用one-vs。-所有策略分类行动。在经验损失的情况下,将时空权值学习的目标函数定义为:

其中K为训练视频样本的个数,ci∈{−1,1}为对应样本的动作标签。Xi c是类c中的第i个训练样本,其中,拟合参数是分类误差惩罚的参数。

        为什么我们对时间权重设置线性约束,而不对空间权重设置线性约束,原因如下。对于空间域,我们不知道将涉及多少关键关节(有些关节在识别中没有任何贡献),以及这些被激活的关节与其他关节相比有多重要,而在时间域,一个动作的每个阶段都是分类的重点。实验结果还表明,空间上的线性约束对性能没有影响,但时间约束对性能有影响。

将Eq. 11的优化看作是一个迭代过程。每个迭代周期有两个步骤,1)修正u t c和更新u s c, 2)修正u s c然后更新u t c。u t c被初始化为1。

修正u t c并更新u s c:固定u t c,将Eq. 11处理为l2正则化l2损失SVM问题,如下图所示:

修正和更新u t c:与更新的美利坚合众国,则将式11视为线性凸优化问题:

这里是(2)= ku s ck2。这个优化过程迭代操作,直到目标函数Eq. 11收敛。

实验
在本节中,我们在三个三维动作数据集上实验了所提出的方法,并与现有方法进行了性能比较。实现细节见第4.1节。MSR-Action3D数据集[12]、UTKinect数据集[30]和Berkeley的比较结果在4.2节中提供并讨论了MHAD数据集[17]。实验结果表明,ST-NBNN虽然简单,但能够实现最先进的三维动作识别,有效发现动作的关键因素。

实现
3 d动作表示。one-vs。-此方法采用全策略。为保证线性函数fc(·)的响应具有可比性,将每个样本Xi c的均值集中度定为
c=1和(Xi c)/(C×M×N),其中sum(·)对输入矩阵的项进行求和。级数的设置见第4.2节。考虑到动作序列持续时间的变化,当给定的动作序列不太长时,第3.1节中定义的阶段之间可能会有重叠。确保3.1节中引入的表示是:为确保第3.1节中引入的表示是位置不变的,通过减去髋关节坐标来集中骨骼的每个关节。

最近邻搜索。为了推进最近邻搜索过程,在我们的方法中使用了KD-tree实现[16]。

图3。MSR-Action数据集的参数敏感性分析。x轴表示所选择的局部姿态数。副标题表示所选择的时间阶段数。

时空权重学习。训练矩阵Xc采用“离开一个视频”的策略生成,这意味着在搜索最近邻时,查询训练视频的所有阶段描述符都不在搜索区域内。在我们的优化中,u s c和u t c是迭代学习。为了解决Eq. 12中的SVM问题,我们使用Chang等人实现的SVM工具箱[4],并更新u . t . c,使用了一个凸优化工具箱[6]。

MSR-Action3D
这里我们使用[12]中描述的评估协议。20个动作被分成三个子集AS1, AS2和AS3。每个操作集包含8个操作。本实验中局部位姿l个数为10,阶段N个数为15。我们将ST-NBNN与三种基线方法和五种最先进的基于骨架的方法进行比较。结果如表1所示。比较中包括的三种基线方法是(1)无级设置的NBNN (NBNN-∞);(2)具有15级的NBNN (NBNN-15);(3)线性支持向量机(NBNN+SVM)权值学习的NBNN。在NBNN-∞中,阶段N的个数由N = P−l + 1确定,其中P是动作视频的长度。从表1可以看出,NBNN-∞到NBNN15有轻微的改善,这表明信息阶段确实存在,以帮助区分行动。在NBNN+SVM中,我们使用线性SVM学习Xc中每个元素的权重。正如我们所看到的,学会举重确实有助于提高成绩,尤其是在AS1中。然而,它也会导致过度拟合。AS2,虽然训练精度已经达到100%,测试精度下降。此外,NBNN+SVM的参数比本文方法多,学习时间也要长。表1的结果表明ST-NBNN比NBNN+SVM有更好的性能。与五种先进方法的比较表明,该方法取得了目前最好的性能。此外,我们的方法优于非线性模型[29,8,25]和基于深度学习的方法。

我们还计算的两个主要参数,N和l此数据集的ST-NBNN。我们将l从1到13取值,然后设置N从1到21。如图3所示,ST-NBNN需要足够多的阶段来学习时空权值,从而获得良好的性能。当阶段数大于11时,ST-NBNN仍然可以帮助提高每个阶段仅3个体式的表现。但是,进一步增加N和l不会提高性能。从MSR-Action三维数据集中发现的关键阶段、节点如图6所示。结果很有趣。在这个数据集中,手抓和侧拳不容易区分。然而,ST-NBNN侧重于这两个行动的不同行动,以区分它们。为ST-NBNN主要关注关键关节(右手)的x向运动。而对于侧面拳击,ST-NBNN很关心y和z方向,尽管x是这个动作的主要方向。同样的情况也发生在前踢中ST-NBNN不选择脚部关节作为重点,而是将更多的重量放在右手,因为在向前踢动作中,右手总是同时向上移动(y方向)。此外,如图6 i)和j)所示,所提方法还可以表示动作的不同阶段。拾取和抛掷时间权值的两个峰值分别与拾取和抛掷两个阶段有关。
UTKinect
我们使用所描述的“离开一出”验证协议在[30]中评价我们提出的方法。根据描述,我们的实验共有20轮测试。时空权值学习的参数选择在每一轮都是相同的。局部位姿l个数设置为3,阶段N个数设置为15。

图4。时空权重矩阵的一个例子平方距离矩阵(拉力作用的一个位姿特征)。重量矩阵在左上角,距离平方矩阵在右边。每个矩阵是60×15。发现的关节的相关特征用红框标记。

从表2可以看出,我们的方法比基线NBNN提高了2.5%,NBNN+SVM仍然不如ST-NBNN。有大量的参数,NBNN+SVM会导致过拟合。与现有方法[27,26,25,14,29,8]的比较表明,STNBNN可以实现竞争性能。

     在图4中,我们提供了一个从UTKinect数据集中提取的时空权重矩阵和平方距离矩阵的例子。由于空间的限制,我们只提供每个阶段的第一位置特征和相关权重。时空权重矩阵的元素aij由aij = u s c确定(i)乘以u t c(j), i = 1,…, M, j = 1,…, n矩阵元素越亮,则元素值越大。红方标记区域与右手(关节11、12)的x、y、z坐标有关。。在这个数据集中,受试者需要用右手进行Pull action,从图中可以看出ST-NBNN可以发现它。从右边看,矩阵7是最暗的,这意味着测试样本与动作7 (Pull)的距离最小,并且因此测试样品属于Pull。权值矩阵选择了矩阵中最具辨识力的部分,证明了该方法能够发现动作的关键因素。

伯克利MHAD
我们在此数据集上遵循[17]中描述的实验协议。前7名受试者执行的序列用于训练,其余受试者执行的序列用于测试。由于采样率高,大部分数据是冗余的。我们从每十帧中选取一帧来对每个序列进行下采样。在此设置下,局部位姿l个数为20,阶段N个数为20。我们将ST-NBNN与三种基线方法和五种最先进的基于骨架的方法进行比较。结果如表所示:

从表3可以看出,虽然NBNN的准确率只有88%,但是通过权值学习,我们可以达到100%的准确率。与以往的研究[18,23,7,5,14]相比,我们的时空权值学习方法能够有效地发现动作的关键因素,取得最佳的效果。考虑到运动捕捉系统捕获的骨骼数据比Kinect深度传感器捕获的骨骼数据更精确,我们评估了ST-NBNN对骨骼数据随机噪声的容忍度和鲁棒性。我们进一步添加噪音来验证我们的方法对关节噪声是否具有鲁棒性,同时还能识别出具有信息的关节。随机选取一个姿态的35个关节的10%、20%、30%、40%和50%的关节,对每个选择的关节在关节坐标的每个维度上添加-5 -5的噪声。在搜索最近邻时,噪声的介入会导致特征的相关维数不匹配。关节噪声对精度的影响如图5所示。曲线显示,随着噪声节点百分比的增加,NBNN的准确率急剧下降,而ST-NBNN在该数据集上仍能保持较高的性能。同时,NBNN+SVM在有噪声节点的设置下仍然不如ST-NBNN。STNBNN仍然可以提取信息节点并保持较高的性能。

图6。关键阶段和关键关节的关键运动从MSR-Action3D。有色关节的权值大于平均权值。信息量最大的节点用鲜艳的颜色标记,信息量第二的节点用浅色标记。全球的关键运动用不同的颜色表示。例如,第一个信息最丰富的关节用亮红色标出了x方向的关键运动,第二信息最丰富的关节是浅红色。只有第一键和第二键关节的运动被标记出来。每个动作的时间权值都显示为灰色图像。图像中的每个方块代表一个时间阶段。正方形越白,时间权重越高。关键阶段用红色方框突出显示。我们用它的4代表来说明每个关键阶段3 d姿势。下面两个动作各有两个关键阶段。

结论
在本文中,我们将基于骨架的动作识别扩展到ST-NBNN。与NBNN相比,ST-NBNN考虑了三维动作的时空结构,结合了非参数模型和参数模型的优点,取得了较好的性能。尽管只使用一个线性分类器,但该方法在三个基准数据集上的表现令人惊讶,并且与使用复杂的端到端模型的最新状态相比,其结果具有竞争力。此外,我们提出的方法可以发现关键的空间关节和时间阶段,这是捕获三维动作的时空模式所必需的,而这是通过深度学习等端到端的模型无法实现的。我们的结果证明了使用非参数方法进行基于骨架的动作识别的潜力。

猜你喜欢

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