本发明涉及计算机视觉,,特别涉及一种基于自注意力图卷积的人体骨架行为识别方法。
背景技术:
1、人体行为识别是一项受到广泛关注的计算机视觉分类任务,在人机交互、视频理解、虚拟现实等领域有着重要的作用。人体行为识别任务涉及了诸多模态的数据,例如rgb、光流、骨架等。其中骨架数据用多个关节的2d或3d坐标表示人体结构,计算较为高效,对复杂背景与不同光照条件等干扰因素具有较强的鲁棒性,并可从数据源层规避视觉隐私侵犯问题,因此使用人体骨架数据进行行为识别受到越来越多的关注。但同时,由于骨架数据缺乏图像内容上下文信息,这项任务也变得极具有挑战性。
2、早期基于深度学习的方法将人体关节视为一组独立的特征,并将它们组织成特征序列或伪图像,然后将其输入递归神经网络或卷积神经网络以预测动作标签。然而,人体骨架是一种不规则的图形,这些方法无法充分探索人体关节的内在联系。近年来,时空图卷积神经网络(spatial temporal graph convolutional networks,st-gcn)率先提出使用时空图对骨骼运动模式进行建模,弥补了传统方法的缺陷。在st-gcn中,每一个时空图卷积模块由一个空间图卷积和一个时间卷积组成。空间图卷积根据手动定义的稀疏邻接矩阵融合不同关节的特征,对于时间建模,将时间一维卷积并行应用于每个关节,以对关节特定的运动模式进行建模。限于手动定义的邻接矩阵,st-gcn仅仅考虑了与目标关节存在直接物理连接的其他关节,而忽略了非自然连接的关节点之间的关系。比如,展示了一个“鼓掌”动作,虽然两只手之间不存在直接的物理连接,但在进行鼓掌动作时,两只手的关系应该是高度相关的。
3、近年来,基于st-gcn的理念,相关研究提出可学习的拓扑来改善空间建模能力,有效改善了基于人体骨架的行为识别模型的性能。但目前大多数方法只考虑短范围的节点相关性,而忽略了对行为识别重要的远距离节点之间的依赖。比如,对于“挥手”以及“扔”的动作,只需关注手部或手臂的局部运动就能进行识别;而对于“行走”的动作,涉及到全身所有关节的协调,就需要关注全局的运动才能准确识别。因此模型需要兼备建模局部关节依赖关系与全局关节依赖关系的能力。
4、与此同时,现有方法都存在一个明显的共性问题,即在对骨架序列进行空间建模时,对所有时间帧都采用的是相同的拓扑,而忽略了每个时间帧特有的空间结构。由于不同时间帧的人体骨架其关节点之间存在不同于其他时间帧的唯一空间关系,因此,对所有时间帧使用共享的拓扑是种次优的选择。
技术实现思路
1、本发明为克服现有技术的不足之处,提出一种基于自注意力图卷积的人体骨架行为识别方法,以期能在捕获人体骨架的局部与全局关系,并保留单帧独特的空间特征的同时,提高人体骨架行为识别的准确率。
2、为实现上述目的,本发明提供如下技术方案:
3、一种基于自注意力图卷积的人体骨架行为识别方法,所述的识别方法如下:
4、一个图卷积与自注意力结合的空间混合模块mgs,在空间混合模块mgs中通过并行执行图卷积与自注意力操作对节点间的局部与全局关系进行建模,并在两个分支之间进行跨分支的双向交互,实现在通道和空间维度的信息互补;
5、一个特定于时间帧的空间自注意力模块tssa,空间自注意力模块tssa模块使用自注意力学习行为序列中的帧内空间关系,建模单帧人体骨架独特的空间特征;
6、以及一个多尺度的时间卷积模块ms-tcn,时间卷积模块ms-tcn模块采用多分支的设计,利用不同空洞率的时间卷积扩大时间感受野。
7、优选的,所述识别方法具体包括以下步骤进行:
8、步骤1、对包含具有k类人体骨架行为的ntu rgb+d序列进行处理;
9、步骤2、构建空间关系建模模块,包含图卷积与自注意力结合的空间混合模块mgs和特定于时间帧的空间自注意力模块tssa,分别用来同时建模关节点的局部与全局关系与单帧骨架独特的空间特征;
10、步骤3、构建多尺度的时间卷积模块ms-tcn
11、所述ms-tcn由4个并行分支组成,包括两个具有不同感受野的时间卷积,表示为式(20):
12、
13、其中表示分支i经过时间卷积的输出,convi表示分支i的1×1卷积操作,表示时间卷积操作,ki×1表示第i个分支卷积核的大小,di表示第i个时间卷积的空洞率,ospatial表示空间模块的输出,包含了mgs模块以及tssa模块的输出;
14、第三个分支由1×1的卷积以及最大池化操作组成,表示为式(21):
15、mpout=maxpool[conv(ospatial)] (21)
16、其中mpout代表最大池化分支的输出,maxpool代表最大池化操作,conv代表1×1卷积操作;
17、第四个分支仅仅由1×1的卷积组成,表示为式(22):
18、out1×1=conv(ospatial) (22)
19、其中out1×1表示1×1分支的输出;
20、通过将所有分支的输出在通道维度进行拼接,得到所述ms-tcn的输出,如式(23)所示:
21、
22、其中oms-tcn表示多尺度时间卷积模块的输出,p表示通道拼接操作;
23、步骤4、构建mixgcn网络
24、所述mixgcn网络主要由空间混合模块mgs、空间自注意力模块tssa以及时间卷积模块ms-tcn组成;
25、对于输入的t帧人体骨架序列,分别将其传入空间混合模块mgs与空间自注意力模块tssa,分别提取图卷积与自注意力结合的具有局部与全局感受野的空间特征outmgs以及每一帧的独特的空间特征zt;
26、将空间自注意力模块tssa的输出特征乘以一个可学习的系数β后与空间混合模块mgs与的输出特征相加,表示为式(24):
27、ospatial=mgs(x)+β*tssa(x) (24)
28、其中mgs(x)表示空间混合模块提取的骨架行为序列特征,tssa(x)表示空间自注意力模块提取的骨架行为序列中,各个单帧人体骨架唯一的空间特征;
29、之后将空间模块的输出ospatial传入时间卷积模块,用来建模不同帧之间的时间相关性,表示为式(25):
30、
31、其中oms-tcn表示多尺度时间卷积模块的输出;
32、在经过了l层连续的空间与时间交替建模之后,最终的输出特征会依次经过全局平均池化层与全连接层来获得行为分类的分数。
33、优选的,所述步骤1中具体处理方法如下:
34、步骤1.1、将每个类别的人体骨架行为序列调整为64帧;
35、步骤1.2、将n个骨架序列中m个行为主体不同关节点在所有时刻的对应特征进行展开,如式(1)所示:
36、
37、其中x表示输入的人体骨架行为序列,x.view(g)表示对输入的骨架行为序列的形状进行调整,n表示v表示人体骨架关节点的数量,本方法中统一使用v=25,c为输入的特征维度,t表示行为序列的时间帧数;
38、步骤1.3、对n个行为序列中m个行为主体的所有关节点在所有时刻的特征做归一化操作,如式(2)所示:
39、
40、其中batchnorm(g)表示批量归一化操作;
41、步骤1.4、对于一个行为序列中存在两个执行主体的行为,将一帧拆分为两帧,并将拆分后的结果作为一个整体,整合进一个行为序列中,如式(3)所示:
42、
43、优选的,所述步骤2中具体处理方法如下:
44、步骤2.1、构建图卷积与自注意力结合的空间混合模块mgs
45、步骤2.2、特定于时间帧的空间自注意力模块tssa
46、所述空间自注意力模块tssa模块用来对单帧骨架数据的独特的空间特征进行建模,首先通过两个简单的线性变换φ(g)将输入特征转换为高级特征,表示为式(16)和式(17):
47、
48、xb=φ(x)=xw2 (17)
49、其中以及φ(g)是两个卷积核大小为1的2d卷积,表示转换后的特征,代表权重矩阵;初始化模型并利用反向传播算法训练优化,之后,对转换后的特征使用点积的计算方式,计算单个时间帧内各个节点之间的相关性,表示为式(18):
50、ta=softmax(xaxb'), (18)
51、其中代表了输入骨架序列t帧中,每一帧帧内关节之间唯一的空间关系;softmax表示激活函数,用来计算节点间的注意力得分,'符号表示转置操作;之后将输入与得到的t个关系矩阵进行点积,对每一帧人体骨架的空间结构进行建模,表示为式(19):
52、
53、其中λt表示聚合函数,tai表示第i个时间帧的帧内关节点关系,x':,:,i表示第i个时刻骨架特征的转置,表示矩阵内积运算,p表示拼接操作,在每个通道内将每个时间帧的空间建模结果在t维度进行拼接,得到最终的特定于时间帧的空间建模结果
54、优选的,所述步骤2.1中具体处理方法如下:
55、步骤2.1.1、构建图卷积模块
56、所述图卷积模块使用稀疏邻接矩阵a以及特定于通道的拓扑ca来反应人体骨架中不同关节点之间的关系,其中a根据人体骨架的自然连接手动定义,作为所有通道间的共享拓扑,ca根据输入的骨架特征动态获取,如式(4)所示:
57、m(ψ(xi),ω(xj))=σ(p(ψ(xi))-p(ω(xj))) (4)
58、其中xi和xj分别代表了不同的骨架关节点,m(g)表示相关性建模函数,ψ(g)和ω(g)代表两个线性变换,用于降低输入特征的维度,σ(g)表示激活函数,p(g)表示平均池化与最大池化操作,基于相关性建模函数m(g)获得特定于通道的相关性其中c'代表输出的通道数,将特定于通道的相关性与共享拓扑相结合,得到通道角度的拓扑,表示为式(5):
59、r=a+α*ca (5)
60、其中r表示通道角度的拓扑,α是一个可训练的标量,用于调整对通道拓扑改进的强度,其中邻接矩阵a将加到α*ca的每个通道,之后将归一化后的骨架特征经过线性变换转换到高维空间,再根据得到的通道角度的拓扑,提取每个通道内的空间特征,分别表示为式(6)和式(7):
61、x'=ρ(x) (6)
62、zg=λg(x',r)=[r1x':,1,:pr2x':,2,:pl prc′x':,c',:] (7)
63、其中ρ(g)表示线性变换,用来将输入的特征转换为高级特征,λg表示聚合函数,ri表示一个通道的拓扑,x':,i,:表示输入高级特征的一个通道的特征,p表示拼接操作;
64、步骤2.1.2、构建自注意力模块
65、所述自注意力模块用来建模关节之间的全局依赖关系,与图卷积建模的局部关系进行互补;
66、对于在空间图卷积模块经过两个线性变换的输入特征与对每个通道单独的使用自注意力机制,建模通道内关节之间的全局关系,表示为式(8):
67、
68、其中表示第i个通道内关节点之间的全局相互关系,softmax表示激活函数,分别表示输入特征经过两个不同的线性变换后的第i个通道的输出特征,'表示矩阵转置;
69、通过将关系矩阵sai与对应通道的输入特征相乘,得到通道角度的全局空间特征建模结果,如式(9)所示:
70、zs=λs(x',sa)=[(sa1)x':,1,:p(sa2)x':,2,:pl p(sac')x':,c',:] (9)
71、其中zs表示自注意力模块的输出特征,λs表示聚合函数,sa表示所有通道内关节点之间的全局相互关系;
72、步骤2.1.3、构建特征混合模块
73、通过在步骤2.1.1以及步骤2.1.2所述的图卷积模块与自注意力模块之间设计跨分支的双向交互,实现通道维度和空间维度的信息互补;
74、所述跨分支的双向交互,其一是自注意力模块流向图卷积模块的通道交互,包括平均池化操作,两个连续的带有归一化操作的1×1卷积,它们之间使用gelu激活函数,最后通过sigmoid函数产生通道注意力结果,表示为式(10):
75、cattention=sigmoid{bn2(conv2[gelu[bn1(conv1[avgpool(zs)])]])} (10)
76、其中cattention表示自注意力模块传递给图卷积模块的通道互补线索,avgpool表示平均池化操作,conv1与conv2表示2d卷积操作,bn1与bn2代表归一化操作,gelu表示激活函数;
77、将通道注意力的结果跨分支的应用于通道角度的拓扑,以增强通道间的相互关系,如式(11)所示:
78、ratten=r*cattention (11)
79、其中ratten表示经过通道注意力后的通道角度的拓扑;
80、之后空间图卷积模块利用实现了通道间交互的拓扑矩阵对输入特征进行空间建模,表示为式(12):
81、
82、其中outg表示图卷积模块在得到自注意力模块的互补线索后的输出,表示经过了通道注意力后,第i个通道的通道角度的拓扑;
83、其二是图卷积模块流向自注意力模块的空间交互,包括一个池化操作,一个1×1的卷积,以及一个sigmoid函数,表示为式(13):
84、satten=sigmoid(conv[avgpool(outg)]) (13)
85、其中satten表示图卷积模块传递给自注意力模块的空间互补线索,avgpool表示平均池化操作,conv表示2d卷积操作;
86、将其应用于自注意力模块的建模结果,如式(14)所示:
87、outs=satten*zs (14)
88、其中outs表示自注意力模块在得到图卷积模块的互补线索后的输出;
89、最后,将两个模块的建模结果进行相加操作,得到空间混合模块的输出,如式(15)所示:
90、outmgs=outg+outs (15)
91、其中outmgs为空间混合模块的输出。现有技术在对骨架数据进行空间特征提取时,一般只使用图卷积操作或自注意力操作,本发明首次在空间建模模块中将图卷积与自注意力结合起来。本发明在ctr-gcn的基础上增加了自注意力操作,提出了图卷积与自注意力结合的空间混合模块(mgs),一方面将通道角度的图卷积与自注意力相结合,实现局部关系与全局关系的同时建模;另一方面在图卷积与自注意力两个分支之间设计了跨分支的交互,实现了两个分支之间的信息互补。其次,本发明针对一般方法对所有时间帧的骨架序列使用同一拓扑关系进行建模的缺陷,设计了基于自注意力的特定于时间帧的空间模块(tssa),使得单个时间帧的骨架数据可以捕获自身独特的空间特征。最后本发明将提出的mgs、tssa与多尺度时间卷积模块(ms-tcn)结合,设计了mixgcn网络。
92、与现有技术相比,本发明的有益效果在于:
93、1)本发明使用图卷积与自注意力结合的方式,同时建模关节点之间的局部关系与全局关系;
94、2)本发明在图卷积与自注意力并行分支间设计了跨分支的双向交互,分别在通道与空间维度实现了信息互补;
95、3)本发明使用自注意力独立的建模特定于时间帧的空间关系,可以捕获单帧人体骨架的唯一空间特征。