0引言基于视频的交互行为识别具有较高的实用价值和广阔的应用前景(王世刚等,2015)。人类动作识别的目的是分析和理解视频中人与人之间的动作和相互作用。它可以应用于智能监控、人机交互、视频序列理解和医疗卫生等多个领域,在日常生活中发挥着越来越重要的作用。在行为识别中,人体骨架数据的应用相对于RGB数据和深度数据来说有着明显的优势,它可以不受背景、光照和外貌等各种因素的影响,此外,骨架特征紧凑、结构性强、语义丰富,对人体动作和运动的描述能力强,越来越多的行为识别基于骨架进行研究。目前基于深度学习的骨架交互识别方法主要有以下3种:长短期记忆网络(long short-term memory, LSTM)、卷积神经网络(convolutional neural network, CNN)以及图卷积网络(graph convolution network, GCN)。目前,比较成熟的研究都是针对单人骨架动作进行识别,缺少对交互动作的讨论。然而在日常生活中,常见的行为基本都是一些交互行为,如握手、拥抱、打斗等。相较于单人动作,交互类动作复杂程度更高,在完成交互动作的过程中,肢体动作种类更多,肢体间的变化也更加多元化。因此,如何有效提取交互动作的特征,并对交互行为进行建模和分析是极具挑战性的问题。以往的工作是将骨架数据重新组织成一种网格状结构,通过RNN(recurrent neural network)和CNN来实现。虽然在动作识别方面有很大的改进,但由于人体骨架是图形结构,而不是传统的固定网格,因此并没有完全受益于深度学习的优越表示能力。人体骨架是在非欧几里德空间中自然构建的图形,CNN方法虽然具有强大的特征提取能力, 但需要固定大小的卷积核进行遍历处理, 因此不能有效提取图数据关键特征, 而且其计算复杂度较大, 在处理多人任务时不能满足其精度要求, 这使得传统的卷积神经网络不适用。虽然传统RNN也可以处理骨架,但它直接对骨架数据进行转换,识别的精度不高,因此,本文通过GCN来处理转换后的骨架数据,用以捕获运动空间特征,并结合变种RNN结构来捕获时域依赖信息。GCN可以直接对原始骨架数据进行建模,将图神经网络扩展到时空图模型中,自动地从骨架中学习空间和时间的信息。Yan等人(2018)将图卷积网络引入基于骨架的动作识别,并取得了许多令人鼓舞的结果。然而,大多数GCN方法都是基于具有固定拓扑约束的预定义图,忽略了隐含的关节关联。同时,GCN不能够完整地捕获整个动作序列的时间信息,且无法获得动作序列依赖性信息。为了解决这个问题,本文设计了各种自适应的连接。强调个体、交互对象、时间帧之间的关系。同时增强时序依赖信息的提取。本文主要有以下3个贡献:1) 在交互动作识别时,通过对参与者身体各部分之间的相互作用关系建模,提取来自交互本身的附加信息,将这些信息用于识别人类交互的全局描述符中,以提高交互动作识别准确性。2) 提出了基于骨架的时空建模方法,不仅对单帧内的单个对象和多个对象分别进行连接设计,还结合单帧和多帧的不同连接,而且还与前一帧和后一帧中的相关关节连接,实现交互骨架图的有效表示。3) 创新性地将切片RNN应用于视频动作识别领域,以增强视频序列依赖性信息的提取。同时,时空建模方法与切片RNN进行结合有效地弥补切片RNN的弊端。1相关工作1.1基于图像的交互识别早期的识别工作大多是基于手工构建的特征, 如使用方向梯度直方图(histogram of oriented gradient, HOG)和光流方向信息直方图(histograms of oriented optical flow, HOF)(Van Gemeren等,2014)等提取静态信息的外观特征,或者使用光流提取动态信息的运动特征。较新的方法依赖于深度学习,Ke等人(2016)将深度学习网络用于交互行为识别,通过CNN提取出光流特征信息,然后送入到分类器中实现动作识别。虽然基于RGB视频或光流的动作识别方法具有较高的性能,但仍存在一些问题。例如易受背景、光照和外观变化的影响,提取光流信息需要较高的计算代价。一些工作已经对骨骼数据进行提取,以避免从视频中直接学习交互模式。在一些单人动作识别研究中,学者多通过人体骨架来进行动作识别。人体骨架可以很好地表现人体的运动,有利于分析人体的动作。一方面,骨架数据在背景噪声中具有固有的鲁棒性,为人体运动提供了抽象、高层次的特征。另一方面,与RGB数据相比,骨架数据量非常小,这使得本文可以设计一个更好的模型。因此,本文将基于骨架的动作识别从单人扩展到多人。1.2基于骨骼的交互识别随着深度学习的发展,基于骨骼的方法逐渐出现。Liu等人(2016)提出一个关节点序列的时空LSTM网络,将LSTM的学习扩展到时空域,每个关节从相邻关节以及前一帧接受信息编码时空特征,采用树状结构表示关节点之间的相邻特性和运动关系,最后将骨架数据的结果送入LSTM网络进行建模与识别。Du等人(2015)根据人体的物理结构将人体骨骼分为5部分,分别将其分成5个双向递归连接的子网。Song等人(2017)提出了一个端到端的时空注意力模型,用于从骨骼数据识别人类动作。在LSTM和RNN的基础上构建模型,设计了一个具有联合选择门的空间注意模块,自适应地将不同的注意力分配到每个帧内输入框架的不同关节。也出现了一些基于CNN的方法,如Liu等人(2017)提出了一种增强的骨骼可视化方法,将骨骼序列表示为一系列增强的视觉和运动彩色图像,该方法以紧凑而独特的方式隐式地描述了时空骨骼关节。研究也将卷积神经网络与递归神经网络相结合,以对交互作用进行更复杂的时间推理(Donahue等,2015)。Wang和Deng(2020)针对RNN和CNN在基于骨架的动作识别中表现出的良好性能,提出了一种将CNN分类与RNN相结合的深度网络结构,实现了人体交互识别的注意机制。虽然基于RNN的方法具有很强的序列数据建模能力,并且基于CNN的方法具有很好的并行性,训练过程也比较简单,但是无论是CNN还是RNN都不能完全代表骨架的结构。Ke等人(2018)提出了一种新的3维动作识别骨架序列表示方法,很好地捕捉到复杂的空间结构和骨架序列的长期时间动态。与RNN和CNN的方法相比,基于GCN的方法能够更好地表达节点之间的依赖关系。Shi等人(2019)将非局部神经网络引入到图卷积运算中,对多层次的语义信息进行建模,具有更大的灵活性和通用性。Tang等人(2018)提出了一种深度渐进强化学习(deep progressive reinforcement learning, DPRL)方法来提取关键帧,并利用基于图的卷积神经网络来捕捉关节之间的依赖关系进行动作识别。Gao等人(2019)提出了一种基于图回归GCN(graph regression-graph convolution network, GR-GCN)方法用于基于骨架的动作识别,以捕获数据中的时空变化。但是这些方法在识别交互的动作中没有显式的图构造,本文进一步利用骨架间的关系,提取人体之间的交互特征,并将图卷积与RNN相结合,更好地提取节点之间以及帧之间的依赖性信息。2交互信息的时空图构建将关键点的连接分为帧内单人连接和交互连接以及帧间连接。如图 1所示,通过不同的方法设计这些连接,随后运用谱图卷积得到其变化特征, 并结合切片RNN获取时序依赖信息,进行动作识别。 图1 总体流程图 Overall flow chartFig 12.1帧内交互建模帧内设计分为单人设计和交互设计。对于每一帧中的单个人,通过连通图来建模人体,人体连通图仅通过个人的自然连接来表示,这样无法很好地提取出人体的全局信息,因此,通过关节点之间的不同相关性进行连接,将其分为内部连接与外部连接。内部连接包括关节之间的物理连接,外部连接表示非物理连接的关节之间的潜在关联。在拳击比赛中,虽然人体手部与头部不存在骨骼连接,但由于选手一般将双手架于面部之前,以作防守,因此双手与头部之间存在潜在关系,在它们之间建立外部连接。在加权邻接矩阵中设置不同的参数来区分这两种关系。如图 2(a)所示,对内连接的边和外连接的边赋予不同的权重,帧内的边权重设置为 1 $w_{i, j}= \begin{cases}\alpha & (i, j) \in \boldsymbol{\varepsilon}_{1} \\ \beta & (i, j) \in \boldsymbol{\varepsilon}_{2} \\ 0 & i=j\end{cases}$ 设置$ w_{i, j}$=0表示关节之间没有连接。$\alpha $和$ \beta$表示内外连接时所设定的参数。此外,将关节之间连接分别用$ \boldsymbol{\varepsilon}_{1}$和$ \boldsymbol{\varepsilon}_{2}$来表示。$ \boldsymbol{\varepsilon}_{1}$表示关节之间的内在连接,如图 2(a)的黑色实线所示,作为一个重要的性质,连接节点之间的距离在运动过程中保持不变。$ \boldsymbol{\varepsilon}_{2}$表示关节之间的外在连接,如图 2(a)的虚线所示,外部依赖关系是指两个关节之间的断开关系,这也是动作过程中的一个重要因素。 图2 帧内连通图 In-frame connected graph((a)single connection diagram; (b)interactive connection diagram)Fig 2与以前的工作不同,在骨骼交互动作识别中,两个人关节之间的连接都是断开的,学习描述每个对象如何相互关联十分必要,需要将两个人及其交互信息进行合并。通过对两人之间骨骼的构造来提取其交互信息。对动作参与者之间进行交互设计,将两个独立的骨骼图通过关节点连接,整合成带有交互信息的动作骨骼图,通过图卷积网络便能够提取动作的交互信息。交互设计包括两个部分,将易于出现类似关节变化的点的连接称为对应连接,用$ \boldsymbol{\varepsilon}_{3}$来表示对应连接,例如拥抱动作,两个参与者的动作基本一致,将相对应的关节点之间建立连接,如图 2(b)的虚线所示,当参与者发生的动作基本一致的时候,这些对应连接边的建立起到重要作用。另外,将其他关节点之间发生的连接称为潜在连接。如图 2(b)的点划线所示,用$ \boldsymbol{\varepsilon}_{4}$来表示潜在连接。将$\theta $指定给$ \boldsymbol{\varepsilon}_{3}$中的边的权重,将$\delta $指定给$ \boldsymbol{\varepsilon}_{4}$中的边的权重,即 2 $w_{i, j}= \begin{cases}\theta & (i, j) \in \boldsymbol{\varepsilon}_{3} \\ \delta & (i, j) \in \boldsymbol{\varepsilon}_{4} \\ 0 & \text { 其他 }\end{cases}$ 式中,$i $和$j $表示不同人的关节点,将单帧内的邻接矩阵表示为 3 $\boldsymbol{A}_{*}=\left[\begin{array}{c}\boldsymbol{P}_{1} & \boldsymbol{M}_{1} \\\boldsymbol{M}_{2} & \boldsymbol{P}_{2}\end{array}\right]$ 式中,$\boldsymbol{P}_{1} $、$\boldsymbol{P}_{2} $描述单人连接部分,$\boldsymbol{M}_{1} $、$\boldsymbol{M}_{2} $描述交互连接部分。为确定上述帧内交互建模哪些关节点进行相应的连接,通过欧氏距离来衡量交互类节点之间的相关性。计算所有点之间的值为 4 $d\left(\boldsymbol{x}_{i}, \boldsymbol{x}_{j}\right)=\left\|\boldsymbol{x}_{i}-\boldsymbol{x}_{j}\right\|^{2}$ 式中,$\boldsymbol{x}_{i} $, $\boldsymbol{x}_{j}$分别为关键点$i $和关键点$j $的特征表示。仅计算外在连接和潜在连接的边的欧氏距离,然后,对所得出的距离进行规范化,将其结果映射到[0, 1]之间,采用最大最小值的归一化方法,即 5 $n=\frac{d_{i}-d_{\min }}{d_{\max }-d_{\min }}$ 式中,$d_{\max } $表示关节距离最大值,$d_{\min } $表示关节距离最小值。本文实验设定$n$ 0.3时,生成一条新边连接,这样既可以添加一些新的必要的交互连接,也可以使底层图具有一定的稀疏性。2.2帧间建模在时域中每个关节都是断开的,允许将帧$\boldsymbol{x}_{t} $中的每个关节连接到其在前一帧$\boldsymbol{x}_{t-1}$和后一帧$\boldsymbol{x}_{t+1}$中对应的邻域,如图 3所示。 图3 帧间连通图 A connected graph between framesFig 3为了利用更多的相邻关节来扩大感受野,以此帮助学习时域的变化信息。与帧内连接相似,帧间的连接也有两种连接类型:对应关节连接,表示为$ \boldsymbol{\varepsilon}_{5}$; 以及相邻帧中每个关节与其对应关节点的邻域之间的连通连接,表示为$ \boldsymbol{\varepsilon}_{6}$。这两种边的权重表示为 6 $w_{i, j}= \begin{cases}\gamma & (i, j) \in \boldsymbol{\varepsilon}_{5} \\ \lambda & (i, j) \in \boldsymbol{\varepsilon}_{6} \\ 0 & \text { 其他 }\end{cases}$ 式中,$i$和$j $表示不同帧之间的关节点。将最终构造的多帧邻接矩阵表示为 7 $\boldsymbol{A}_{\mathrm{total}}=\left[\begin{array}{ccc}\boldsymbol{A}_{*(t-1)} & \boldsymbol{A}_{t-1, t} & \mathbf{0} \\\boldsymbol{A}_{t, t-1} & \boldsymbol{A}_{*(t)} & \boldsymbol{A}_{t, t+1} \\\mathbf{0} & \boldsymbol{A}_{t+1, t} & \boldsymbol{A}_{*(t+1)}\end{array}\right]$ 式中,$ \boldsymbol{A}_{*(t)} $表示帧$i $的帧内建模图的邻接矩阵,$ \boldsymbol{A}_{i, j} $表示帧$i $与帧$j $之间的邻接矩阵。$ \mathbf{0}$表示零矩阵。因此计算的图拉普拉斯:$ \boldsymbol{L}=\boldsymbol{D}-\boldsymbol{A}_{\text {total }}$。2.3基于连通图的谱图卷积算法以关节为节点,节点之间的连接为边来构造骨架图。在一个框架中,关节通过内部与外部进行连接充当空间边缘,帧间连接充当时间边缘,每个节点的属性是关节的坐标向量。将谱图卷积运算应用于时空骨架图以获得高级特征图。考虑一个无向图$ \boldsymbol{G}=\{\boldsymbol{V}, \boldsymbol{E}, \boldsymbol{A}\}$由顶点集$ \boldsymbol{V}$、连接顶点的边集$ \boldsymbol{E}$和加权邻接矩阵$ \boldsymbol{A}$组成。$ \boldsymbol{A}$是实对称矩阵,$ a_{i, j}$是分配给连接顶点$i $和$j $的边$ (i, j)$的权重。假设权重非负,即$ a_{i, j} \geqslant 0$。由邻接矩阵定义的拉普拉斯矩阵可以用来揭示图的许多有用性质。在拉普拉斯矩阵的不同变体中,使用的组合图拉普拉斯定义为 8 $\boldsymbol{L}=\boldsymbol{D}-\boldsymbol{A}$ 式中,$\boldsymbol{D} $是$d_{i i}=\sum\limits_{j=1}^{n} a_{i, j} $的度矩阵,对称归一化拉普拉斯定义为$\tilde{\boldsymbol{L}}=\boldsymbol{D}^{-\frac{1}{2}} \boldsymbol{L} \boldsymbol{D}^{-\frac{1}{2}} $。基于骨架的动作识别的基础是捕捉关节的变化,从而学习运动特征进行分类。通过图拉普拉斯来模拟骨骼的变化。拉普拉斯矩阵$ \boldsymbol{L} $本质上是一个高通算子,能够捕捉底层信号的变化。对于任何信号$\boldsymbol{x} \in \mathbf{R}^{N} $,满足 9 $\boldsymbol{L} \boldsymbol{x}_{i}=\sum\limits_{j \in \boldsymbol{N}_{i}} a_{i, j}\left(\boldsymbol{x}_{i}-\boldsymbol{x}_{j}\right)$ 式中,$\boldsymbol{L} \boldsymbol{x}_{i}$表示$\boldsymbol{L} \boldsymbol{x}$的第$i $个分量, $\boldsymbol{L} \boldsymbol{x}$表示拉普拉斯矩阵作用于$\boldsymbol{x}$上。$\boldsymbol{N}_{i}$是连接到$i $的顶点集。采用切比雪夫多项式近似地表达谱图卷积的结果,即 10 $\boldsymbol{g}_{\theta} * \boldsymbol{x} \approx \sum\limits_{k=0}^{K-1} \theta_{k} T_{k}(\tilde{\boldsymbol{L}}) \boldsymbol{x}$ 式中,$\tilde{\boldsymbol{L}}=\boldsymbol{D}^{-\frac{1}{2}} \boldsymbol{L} \boldsymbol{D}^{-\frac{1}{2}} $是定义的对称归一化图拉普拉斯。$\theta_{k}$表示第$k$个切比雪夫系数,$\boldsymbol{g}_{\theta}$表示卷积核。$T_{k}(\tilde{\boldsymbol{L}})$是$k$阶的切比雪夫多项式。由$T_{k}(\widetilde{\boldsymbol{L}})=2 \tilde{\boldsymbol{L}} T_{k-1}(\tilde{\boldsymbol{L}})-T_{k-2}(\tilde{\boldsymbol{L}})$反复计算得到,$T_{0}(\tilde{\boldsymbol{L}})=1$, $T_{1}(\tilde{\boldsymbol{L}})=\tilde{\boldsymbol{L}}$。因此,1阶切比雪夫多项式计算$(\tilde{\boldsymbol{L}}) \boldsymbol{x}$,正好对应于式(9),从而捕获骨架数据中的变化。当$k1$时,$\tilde{\boldsymbol{L}}^{k}$表达了当前节点与周围“$k$跳”邻居节点的卷积信息。因此,图卷积定义为 11 $y={ReLU}\left(\sum\limits_{k=0}^{K-1} T_{k}(\tilde{\boldsymbol{L}}) \boldsymbol{x} \boldsymbol{W}_{k}+b\right)$ 式中,$ \boldsymbol{W}_{k} \in \mathbf{R}^{F_{1} \times F_{2}}$是网络中学习的权重参数$\theta_{k}^{\prime} $的矩阵,$F_{1}, F_{2} $分别是两个连接层中生成特征的维数。$ b$为偏置,$ ReLU$为激活函数。在图数据卷积层之后,将GCN提取的空间特征序列输入切片RNN网络层,进行时序特征提取。为了使输入序列长度适应切片RNN的输入要求,通过一个全连接层调整数据维度。最后通过softmax激活函数生成输出分类。2.4基于切片RNN的时序建模2.2节已经对帧间进行建模,以扩大感受野、学习时域变化信息,但是这种帧间建模并不能够完整地捕获整个动作序列的时间信息,且无法获得动作序列依赖性信息。因此,在时间序列的处理上采用RNN进行处理,以解决动作序列数据的依赖性问题。但是传统RNN网络的当前节点信息只与前一节点相关,导致其只能够建模短时间的动态信息,无法存储长时序列;同时标准的RNN网络结构无法实现像CNN网络模型的并行计算,因此采用切片RNN网络模型以解决上述问题。切片RNN结构模型如图 4所示。 图4 切片RNN结构 Section RNN structureFig 4如图 4所示,将输入序列划分成多个序列片段,在每一个片段上采用独立的RNN网络进行计算,本文RNN隐藏单元采用门控循环单元(gate recurrent unit, GRU),这样不仅实现了计算的“并行性”,而且在每一个相对较短的序列片段上进行RNN特征提取,通过层之间的信息传递能够更大程度地保留长期依赖性的信息。H表示网络的隐层状态,Y表示顶层输出。对于切片处造成的长期依赖性损失(Li等,2019),通过帧间建模,使得输入数据本身就能够弥补这一损失。切片RNN输入序列表示为$\boldsymbol{X}=\left[x_{1}, x_{2}, \cdots, x_{T}\right] $,$T$为序列长度,将$\boldsymbol{X}$划分为$n$个等长,那么每个子序列$\boldsymbol{N}$的长度$ t$为 12 $t=\frac{T}{n}$ 从而输入表示为$\boldsymbol{X}=\left[\boldsymbol{N}_{1}, \boldsymbol{N}_{2}, \cdots, \boldsymbol{N}_{n}\right] $,$\boldsymbol{N}_{p}=\left[x_{(p-1) \times t+1}, x_{(p-1) \times t+2}, \cdots, x_{p \times t}\right] $。同样,将每个子序列$\boldsymbol{N}$再次切片成$n$个等长的子序列,然后重复这个切片操作$k$次,直到在底层(称之为第0层,如图 3所示)有一个适当的最小子序列长度,通过切片$k$次得到$k$+1层。第0层最小子序列长度和最小子序列个数分别为 13 $l_{0}=\frac{T}{n^{k}} $ 14 $s_{0}=n^{k}$ 由于在第$p $层($p $ 0)的每个父序列被切片为$n$块,因此第$p $层的子序列个数和子序列长度分别为 15 $s_{p}=n^{k-p}$ 16 $l_{p}=n$ 在第0层,递归单元通过连接结构作用于每个最小子序列上。然后,得到第0层上每个最小子序列的最后一个隐藏状态,并将其作为第1层父序列的输入。然后利用第$p $-1层上每个子序列的最后一个隐藏状态作为其父序列在第$p $层的输入,并计算出第$p $层上子序列的最后一个隐藏状态 17 $h_{t}^{1}= G R U^{0}\left(m s s_{\left(t-l_{0}+1\right) \sim {t}}^{0}\right)$ 18 $h_{t}^{p+1}=G R U^{p}\left(h_{t-l_{p}}^{p} \sim h_{t}^{p}\right)$ 式中,$h_{t}^{p} $表示第$p $层的第$ t$个子序列的隐层表示。$ mss^0$表示第0层上的最小子序列,$ m s s_{\left(t-l_{0}+1\right) \sim {t}}^{0}$为在第0层上子序列内隐藏状态的计算,不同的GRU可以用于不同的层。式(18)表示在第0层计算出隐藏状态后,利用计算结果再次计算下一个隐藏状态,重复计算。这个操作在每个层上的每个子序列之间重复,直到得到顶层(第$k$层)的最终隐藏状态 19 $\boldsymbol{F}=G R U^{k}\left(h_{t-l_{k}}^{k} \sim h_{t}^{k}\right)$ 与标准RNN类似,$\operatorname{softmax} $层在最终隐藏状态$\boldsymbol{F}$之后添加,以对视频动作进行分类,即 20 $p=\operatorname{softmax}\left(W_{F} F+b_{F}\right)$ 3实验结果与分析3.1数据集本文在两个广泛使用的数据集UT-Interaction(Ryoo等,2010)和SBU(Yun等,2012)上评估本文方法,并与其他交互识别方法进行比较。UT-Interaction包含6个交互动作类型,包括握手、拥抱、踢、指、出拳和推, 是在两种不同的条件下记录的,因此细分为UT-1和UT-2,共120个视频,每组各一半。每个视频大约有2~6 s,帧率为30帧/s。这个数据集上的实验采用10折交叉验证方法。该数据集背景几乎静止,遮挡范围有限,视点固定,分类难度较低。SBU有8种交互类型动作,包括接近、离开、推、踢、打、交接、拥抱和握手。该数据集总共282个短视频(每个大约2~3 s)。记录是在相同的实验室环境中进行的,帧率为15帧/s。实验采用的是无噪音数据版本。这个数据集上的实验采用5折交叉验证方法进行评估。3.2数据处理由于UT-Interaction只包含RGB信息,没有提供明确的姿态信息,因此使用OpenPose算法(Cao等,2017)来提取这类信息,估计视频中对象的关节坐标。默认选项运行,虽然默认选项不是最精确,但对于本文实验来说,速度更快,能够满足精度要求。然而,由于输出是基于帧的,必须采用一些后处理来保证整个视频中参与者1和参与者2身体的一致性。主要根据当前帧与前一帧之间的关节距离,假设连续帧之间的总距离不应该有太大的差异,将每一帧的姿态正确地分配到各自的身体上。对于UT-Interaction数据集,将准备好的数据使用OpenPose算法提取每个视频每一帧的人体骨架15个关节点(例如头部、颈部、肩部和手部等)的信息($x$, $y$, $z$),$x$为关节点在图像上的横坐标,$y$为关节点在图像上的纵坐标,$z$为关节点的置信值,骨架结构图如图 5所示。对于一个batch的视频,用4维矩阵(${N}$, ${C}$, ${T}$, ${V}$)来表示。${N}$表示1个batch训练视频的数量,${C}$代表关节的特征维度,即3(${x}$, $y$, $z$),${T}$代表一个视频帧的数量,${V}$代表关节的数量,这里是30个关节(2个人关节点数)。对于SBU交互数据集,采用同样的4维矩阵(${N}$, ${C}$, ${T}$, ${V}$)来表示。 图5 骨架结构 Skeleton structureFig 5本文模型基于PyTorch框架。在图卷积层中,将Chebyshev阶${K}$设为4。对于切片RNN层,设置隐藏层节点数为50,在UT-Interaction数据集上切片参数$k$取2,$n$取5;在SBU数据集上切片参数$k$取3,$n$取3,为避免过拟合,dropout设为0.5。3.3实验结果与分析在UT-Interaction数据集和SBU数据集上分别测试,评估本文算法中各部分的有效性,为了更好地评估本文算法中各部分的影响,在SBU数据集上,对不同的连接方法进行实验,并将本文算法与之前在UT-Interaction数据集和SBU数据集上的工作进行了比较,验证了其优越性。3.3.1消融实验为了验证帧内交互建模、帧间建模以及切片RNN的有效性,在SBU数据集上进行消融实验,实验结果如表 1所示,将原始的骨架图输入GCN的方法作为基线模型GCN-GRU(Bone only),该方法获得93.5%的精度,当使用切片RNN与GCN结合,模型识别效果并没有得到提升;当添加帧内交互设计数据特征,传统RNN模型和切片RNN模型精度分别提升了0.7%、0.9%,验证了帧内交互设计的有效性,但是切片RNN模型仍旧没有比RNN模型有着明显的优势;在帧内交互设计基础上引入帧间设计数据特征时,传统RNN模型和切片RNN模型精度分别为94.7%、95.2%,分别提升了0.5%、1%,验证了帧间交互设计的有效性,同时切片RNN模型比传统RNN模型精度高了0.5%,验证了切片方法的有效性。 表1 消融实验 算法 准确率/% GCN-GRU(Bone only) 93.5 GCN-SGRU(Bone only) 93.3 GCN+Intra-connection-GRU 94.2 GCN+Intra-connection-SGRU 94.2 GCN+Intra+Inter-connection-GRU 94.7 GCN+Intra+Inter-connection-SGRU 95.2 Ablation experimentsTable 13.3.2对比实验分别在UT-Interaction数据集和SBU数据集上进行测试,并将本文算法获得的动作识别性能与之前的工作进行了比较。本文算法的混淆矩阵如图 6和图 7所示,可以发现在UT-Interaction数据集和SBU数据集的各个类上都是对角占优的,这表明本文算法在这两个数据集上取得了很好的分类效果。但是仍然有些行为可能会被贴上错误的标签,因为它们本身就很相似,即使是人类的感知也很难区分。本文算法交互连接能很好地提取出对象之间的关系,减少此类误差的出现。 图6 UT-Interaction数据集混淆矩阵 UT-Interaction dataset confusion matrixFig 6 图7 SBU数据集混淆矩阵 SBU dataset confusion matrixFig 7在UT-Interaction数据集上不同算法结果如表 2所示。本文算法通过对参与者身体各部分之间的相互作用关系建模,模型识别精度为94.6%。实验结果表明,该算法可以提高大多数交互的识别结果。同时在实验过程中发现对比实验方法,对于涉及同步动作的交互行为识别,如出拳和推的识别精度较低,由于两者的交互姿势相似,被识别为对方的可能性很大。而本文算法通过交互设计和空间建模的方法能够很好地区分这些相似的动作识别,图 6所示的混淆矩阵可视化也能够很好地验证,显然本文算法在交互识别方面有较好的效果。Shu等人(2021)方法以分层的方式从静态的单人特征中学习所有人之间的动态相关表示, 并取得了较好的效果。然而,本文算法拥有更少的层,因此需要的参数较少,且使用的骨架数据较小,实验较为简单,同时在运行速度上更具优势。与Gao等人(2019)采用谱图卷积结合标准2D卷积的方法进行对比,本文算法精度提高了0.7%,通过切片RNN对时序依赖信息的提取,验证了谱图卷积方法与切片RNN结合的方法的有效性。 表2 UT-Interaction实验效果对比 算法 准确率/% Yu等人(2010) 83.33 Raptis和Sigal(2013) 93.30 Donahue等人(2015) 85.00 Aliakbarian等人(2017) 90.00 H-LSTCM(Shu等,2021) 98.30 Gao等人(2019) 93.90 本文 94.60 UT-Interaction experimental effect comparisonTable 2 H-LSTCM为hierarchical long-short-term concurrent memory。表 3给出了不同方法在SBU数据集上的比较结果。与其他算法,包括手工制作的基于特征的方法和深度学习方法相比,本文算法取得了最好的性能。在SBU数据集中,握手和传递物品出现了一定的误差,本文算法提出的交互连接能够很好地提取出对象之间的关系,减少此类误差的出现。由图 7可见,由于靠近和离开的动作之间没有交互动作,因此,对于靠近和离开的检测结果较低。但总体上看,本文算法识别效果更具优势,且对于交互类的识别效果更好。 表3 SBU实验效果对比 算法 准确率/% Yun等人(2012) 80.30 Ji等人(2014) 86.90 STA-LSTM (Song等,2017) 91.51 GCNConv(Kipf和Welling,2017) 90.00 RotClips+MTCNN(Ke等,2018) 94.17 SGC(Wu等,2019) 94.00 本文 95.20 SBU experimental effect comparisonTable 3 STA-LSTM为spatio-temporal attention long short-term memory。综上,本文算法能更准确地描述交互作用,对交互作用识别非常有效,特别是对包含同步动作的复杂交互作用识别,时序依赖信息能够提升视频动作识别的精度。4结论提出了一种基于骨骼的交互动作识别方法,为了有效地描述交互信息,提出了时空建模的方法,将帧内交互建模设计与帧间建模相结合。为了捕获同一对象的非物理连接、不同对象和不同帧之间的连接,充分利用人体关节间的空间和时间依赖性,发现关节间的潜在关系,从而更好地进行识别。对交互行为骨骼图进行有效表示,然后利用谱图卷积和切比雪夫近似进行空间特征提取、使用切片RNN对时序依赖信息进行提取。本文算法提高了交互动作识别的准确性,实验表明了该方法的优越性。本文算法针对的是交互动作的识别, 后期会进一步研究、理解交互中各个对象的动作,分析对象之间动作的先后关系,对其进行结构化输出。
使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,
确定继续浏览么?
复制成功,请在其他浏览器进行阅读