Method
\quad \quad在本节中,首先描述提出方法的主干,然后说明网络中每个组件的详细结构。
Network Pipeline
\quad \quad本文方法的总体结构如图 3 所示。一批NNN帧的BBB个步态样本作为输入被送入网络,表示为G∈RB×N×H×WG\in\mathbb{R}^{B \times N \times H \times W}G∈RB×N×H×W。HHH和WWW分别表示每个输入帧的高度和宽度。首先,GGG通过4层的2D CNN生成特征F∈RB×N×C×H/2×W/2F\in\mathbb{R}^{B \times N \times C \times H / 2 \times W / 2}F∈RB×N×C×H/2×W/2,其中CCC表示特征通道数。之后,在FFF上实现了一个多尺度时间提取模块,以生成具有三种不同时间尺度的时间特征,即帧级、短期和长期时间特征
,分别表示为Tf,TsT_{f}, T_{s}Tf,Ts和TlT_{l}Tl。Tf,TsT_{f}, T_{s}Tf,Ts和TlT_{l}Tl都有RB×N×C×K\mathbb{R}^{B \times N \times C \times K}RB×N×C×K的大小,其中KKK表示在一定程度上对应于身体部位的水平划分特征部分的数量
。接下来,时间特征被作为自适应时间聚合(ATA)和显著空间特征学习(SSFL)模块的输入,通过这两个模块可以得到相应的时间聚合特征T∈RB×C×KT \in \mathbb{R}^{B \times C \times K}T∈RB×C×K和重组空间显著特征S∈RB×C×KS \in \mathbb{R}^{B \times C \times K}S∈RB×C×K。时间聚合特征TTT是通过每个特征图的重要性
对整个序列特征进行加权汇总,以表示时间域中的判别信息。通过选择最显著的空间部分
来重新组合空间显著特征SSS,这些空间部分保持了丰富的未失真轮廓信息
。最后,SSS和TTT沿通道维度
连接为输出OOO。
图 3. CSTL概述。箭头,G,P,T,SG, P, T, SG,P,T,S和OOO分别表示操作、输入步态序列、池化部位级特征、时间聚合特征和重组空间特征。 LtriL_{t r i}Ltri和LceL_{c e}Lce分别代表三元组损失和交叉熵损失。
Multi-Scale Temporal Extraction
\quad \quad如 3.1 节所述,多尺度时间提取旨在丰富时间特征的多样性
。首先,将FFF分成KKK个部分,然后应用全局最大池化(GMP)和全局平均池化(GAP)得到部分级池化特征P∈RB×N×C×KP \in \mathbb{R}^{B \times N \times C \times K}P∈RB×N×C×K,其中PbnP_{b}^{n}Pbn表示第bbb个样本中的第nnn帧。如图 4 所示,帧级特征是PPP的副本,不涉及时间操作,因此每个时刻的外观特征都得到了很好的保持。
图 4. 多尺度时间特征学习的细节。在三个层次上产生时间特征的详细结构。
\quad \quad为了捕捉短期的时间特征,应用两个核大小为3的串行1D卷积,并将每个1D卷积之后的特征相加为TsT_sTs。获得短期特征使网络能够专注于短期时间运动模式和感受野为3和5的细微变化。
\quad \quad长期特征提取是基于所有帧的组合。首先,在PPP上应用多层感知机 (MLP) 和 Sigmoid 函数来评估不同帧的重要性。接下来,利用重要性分数对所有帧的加权求和作为长期时间特征
TlT_lTl,其公式为:
Tlb=∑n=1NSigmoid(MLP(Pbn))⊙Pbn∑n=1NSigmoid(MLP(Pbn))
T_{l}^{b}=\frac{\sum_{n=1}^{N} \operatorname{Sigmoid}\left(M L P\left(P_{b}^{n}\right)\right) \odot P_{b}^{n}}{\sum_{n=1}^{N} \operatorname{Sigmoid}\left(M L P\left(P_{b}^{n}\right)\right)}
Tlb=∑n=1NSigmoid(MLP(Pbn))∑n=1NSigmoid(MLP(Pbn))⊙Pbn
其中⊙\odot⊙表示点积。注意,TlbT_{l}^{b}Tlb对于第bbb个样本中的所有帧都是不变的,它描述了全局运动线索。之后,为后续的 ATA 和 SSFL 块获得三个级别的时间特征,例如Tf,TsT_{f}, T_{s}Tf,Ts和TlT_{l}Tl。
Adaptive Temporal Aggregation
关系建模。 在这一部分中,利用多尺度时间特征来探索特征关系
,这使得不同时间尺度之间的信息交换成为可能。正如GaitPart中所讨论的,不同的身体部位拥有不同的运动模式
,这表明时间建模需要不同的表达方式
。直观地说,特征关系建模提供了多种时间感受野
。因此,不同类型特征的相互作用将有效丰富时间表示的多样性,从而产生适合人体的运动表达
。
\quad \quad如图 5 所示,跨尺度关系建模产生单独的分数,用于评估不同尺度的时间特征的重要性。这种关系建模以一种有效的方式利用了丰富的时间信息,其中涉及到不同的时间粒度来自适应地描述不同身体部位的运动模式。首先,应用从上到下的时间特征之间流动的信息:
T~f=TfT~s=Tf+TsT~l=Tf+Ts+Tl
\begin{aligned}
&\widetilde{T}_{f}=T_{f} \\
&\widetilde{T}_{s}=T_{f}+T_{s} \\
&\widetilde{T}_{l}=T_{f}+T_{s}+T_{l}
\end{aligned}
Tf=TfTs=Tf+TsTl=Tf+Ts+Tl
然后,通过考虑三个时间尺度的上下文信息来学习每个时间尺度的时间重要性权重,这是通过两个全连接层和一个 Sigmoid 函数实现的:
WT=Sigmoid(FC(FC(T~f©T~s©T~l)))
W_{T}=\operatorname{Sigmoid}\left(F C \left(F C\left(\widetilde{T}_{f}\text{©} \widetilde{T}_{s}\text{©} \widetilde{T}_{l}\right)\right)\right)
WT=Sigmoid(FC(FC(Tfc◯Tsc◯Tl)))
其中WT∈RB×N×3×C×KW_{T} \in \mathbb{R}^{B \times N \times 3 \times C \times K}WT∈RB×N×3×C×K和WTb,nW_{T}^{b, n}WTb,n表示第b个样本中第n帧的时间重要性权重。WTW_TWT包含三个时间尺度的重要性权重,分别表示为WT,1,WT,2W_{T, 1}, W_{T, 2}WT,1,WT,2和WT,3W_{T, 3}WT,3。然后,通过软注意力方式获得注意的时间特征:
TAb,n=T~fb,n⊙WT,1b,n+T~sb,n⊙WT,2b,n+T~lb,n⊙WT,3b,n
T_{A}^{b, n}=\widetilde{T}_{f}^{b, n} \odot W_{T, 1}^{b, n}+\widetilde{T}_{s}^{b, n} \odot W_{T, 2}^{b, n}+\widetilde{T}_{l}^{b, n} \odot W_{T, 3}^{b, n}
TAb,n=Tfb,n⊙WT,1b,n+Tsb,n⊙WT,2b,n+Tlb,n⊙WT,3b,n
基于跨尺度时间聚合,以加权求和方式获得第bbb个样本的序列级表示:
Tb=∑n=1NTAb,n∑n=1N∑i=13WT,ib,n
T_{b}=\frac{\sum_{n=1}^{N} T_{A}^{b, n}}{\sum_{n=1}^{N} \sum_{i=1}^{3} W_{T, i}^{b, n}}
Tb=∑n=1N∑i=13WT,ib,n∑n=1NTAb,n
其中T={Tb∣b=1,…B}T=\left\{T_{b} \mid b=1, \ldots B\right\}T={Tb∣b=1,…B}且T∈RB×C×KT \in \mathbb{R}^{B \times C \times K}T∈RB×C×K时间关系建模鼓励本文的网络生成具有自适应时间感知场的运动特征,从而自适应地突出或抑制特征以进行运动学习
。
图 5. 跨三个时间尺度的关系建模结构。
Salient Spatial Feature Learning
\quad \quad在本节中,旨在提取显著的空间部分以减轻外观特征的损坏。
讨论。 直观地说,为了补救被破坏的空间特征
,应该像[7,14]中的方法那样选择一个单独的框架。然而,由于相机视角和运动遮挡,例如手臂、腿和躯干的遮挡,单帧可能无法清楚地表达所有身体部位的外观特征。实际上,高质量的身体部位会在每一帧中出现和消失
。因此,通过利用这种固有的运动特征,在整个序列中选择显著的身体部位来重组一帧判别特征,而不是直接选择一帧。
操作。 时间线索
为评估每一帧的判别性提供了上下文信息。因此,在三个级别的时间特征上应用带有 Sigmoid 函数的 MLP,以产生每一帧的部分分数,其定义为:
Psb,n=Sigmoid(MLP(Tfb,nCTsb,n(CTlb,n))P~sb,n=Psb,n∑n=1NPsb,n
\begin{aligned}
&P_{s}^{b, n}=\operatorname{Sigmoid}\left(M L P\left(T_{f}^{b, n} \mathcal{C} T_{s}^{b, n}\left(\mathfrak{C} T_{l}^{b, n}\right)\right)\right. \\
&\widetilde{P}_{s}^{b, n}=\frac{P_{s}^{b, n}}{\sum_{n=1}^{N} P_{s}^{b, n}}
\end{aligned}
Psb,n=Sigmoid(MLP(Tfb,nCTsb,n(CTlb,n))Psb,n=∑n=1NPsb,nPsb,n
其中P~sb,n∈R1×K\widetilde{P}_{s}^{b, n} \in \mathbb{R}^{1 \times K}Psb,n∈R1×K表示第bbb个样本中第nnn帧的部分分数,P~sb,n,k\widetilde{P}_{s}^{b, n, k}Psb,n,k表示第bbb个样本中第nnn帧的第kkk个部分分数样本。部分分数的值代表了局部部分的重要性,因此分数越高表示空间表示越清晰
。为了监督显著性描述的正确性,在TfT_{f}Tf和P~s\widetilde{P}_{s}Ps的加权总和上强制执行具有交叉熵损失的全连接层。首先,具有全连接层的第bbb个样本的加权部分特征表示为:
Pwb=FC(∑n=1NTfb,n⊙P~sb,n)
P_{w}^{b}=F C\left(\sum_{n=1}^{N} T_{f}^{b, n} \odot \widetilde{P}_{s}^{b, n}\right)
Pwb=FC(n=1∑NTfb,n⊙Psb,n)
其中Pwb∈RCt×KP_{w}^{b} \in \mathbb{R}^{C_{t} \times K}Pwb∈RCt×K,并且CtC_{t}Ct表示训练目标的数量。然后,对PwbP_{w}^{b}Pwb应用交叉熵损失以产生LceL_{c e}Lce:
Lce=−∑b=1B∑c=1Ctyb,clog(SoftMax(Pwb))c,
L_{c e}=-\sum_{b=1}^{B} \sum_{c=1}^{C_{t}} y_{b, c} \log \left(\operatorname{SoftMax}\left(P_{w}^{b}\right)\right)_{c},
Lce=−b=1∑Bc=1∑Ctyb,clog(SoftMax(Pwb))c,
其中yb,cy_{b, c}yb,c表示第bbb个样本的身份信息,等于0或1。
之后,获得了沿时间维度得分最高的部分索引:
xbk=argmaxnPsb,n,k,
x_{b}^{k}=\arg \max _{n} P_{s}^{b, n, k},
xbk=argnmaxPsb,n,k,
其中xbkx_{b}^{k}xbk表示第bbb样本中所选第kkk部分的时间索引。然后,在{xbk∣k=1,2,…,K}\left\{x_{b}^{k} \mid k=1,2, \ldots, K\right\}{xbk∣k=1,2,…,K}的指导下,以硬注意力的方式获得重组帧特征SbS_{b}Sb:
Sb=Tfb,xb1,1©Tfb,xb2,2⋯©Tfb,xbK,K,
S_{b}=T_{f}^{b, x_{b}^{1}, 1}© T_{f}^{b, x_{b}^{2}, 2} \cdots © T_{f}^{b, x_{b}^{K}, K},
Sb=Tfb,xb1,1c◯Tfb,xb2,2⋯c◯Tfb,xbK,K,
其中©表示级联。因此,得到重组空间特征S={Sb∣b=1,2,…,B}S=\left\{S_{b} \mid b=1,2, \ldots, B\right\}S={Sb∣b=1,2,…,B}。SSS为时间聚合特征TTT提供补充空间线索。在SSS和TTT的组合上采用Triplet loss作为度量学习损失函数。整体损失函数如下所示:
L=Lce+Ltri
L=L_{c e}+L_{t r i}
L=Lce+Ltri
参考文献
[7] Shreyank N Gowda, Marcus Rohrbach, and Laura SevillaLara. Smart frame selection for action recognition. arXiv preprint arXiv:2012.10671, 2020. 5
[14] Okan Köpüklü, Xiangyu Wei, and Gerhard Rigoll. You only watch once: A unified cnn architecture for realtime spatiotemporal action localization. arXiv preprint arXiv:1911.06644, 2019. 5