本文分享自天翼云开发者社区《基于空域时空图卷积的步态情绪识别方法》,作者:w****n
步态轨迹是一帧帧图结构数据,图结构就是由点和边组成的非欧几里得数据。图结构数据与欧几里得数据,还是存在很大的差距,所以不能直接将卷积操作应用于图结构数据上,从而产生了专门处理图结构数据的图卷积操作。图卷积分为两种:基于空域和基于频域。本文介绍的是基于基于空域图卷积的步态情绪识别方法。
空域卷积通过将相邻节点的信息进行聚合来类比传统卷积。结合MPNN(消息传递网络)的思想,空域卷积在形式上可以分解为两个过程:第一个过程是确定每个节点的邻域节点并将节点的信息传递给相邻的节点;第二个过程是节点获取到相邻节点信息后,需要经过相乘求和的方法将信息进行聚合,从而实现节点的状态更新。
基于Shif时空图卷积的步态情绪识别网络 1.shift 卷积算子介绍 Shift卷积算子将二维卷积分为空间域和通道域的卷积。首先在每个通道的空间域中实现Shift操作,然后在通道域中进行 的卷积操作,从而实现对特征的提取。因为在整个操作中,只有通道域的 卷积操作中存在需要学习的参数,所以与普通二维卷积相比,大大降低了模型参数量。因而在应对少样本的训练问题中,可以得到不错的识别效果。Shift卷积的具体操作如图1-1所示。Shift操作通过将填充后的特征与特定的卷积核(卷积核中只有一个元素为1,其余都为0)进行卷积操作,从而实现特征向特定方向的平移。为了减少搜索的空间,可以选择多个通道为一个组,在这个组中每个通道的特征进行相同方向的平移。
图1-1 全局Shift图卷积操作
2.shift时空图卷积网络 Shift时空图卷积网络(Shift-Spatial and temporal Graph Convolutional Network,Shift-STGCN)就是将Shift卷积平移再卷积的思想用在了图卷积上,实现用较少的参数却能有效地提取图结构特征。图结构是非欧几里得结构的数据,传统的Shift卷积算子是将欧几里得结构的数据进行一行或者一列的平移,所以不能直接用在图结构上。因此Shift图卷积操作与传统的Shift卷积算子存在一定的差异。
Shift图卷积的设计精妙之处在于:通过将节点的通道特征进行平移,实现将节点信息传递给其他节点,然后再通过1x1的卷积操作实现了节点状态的更新。通过较少的参数量和计算量就完成了空域图卷积的两个过程。Shift图卷积分两种:局部Shift图卷积和全局Shift图卷积。
局部shift图卷积只考虑了图结构的连接关系。假设有个节点b,该节点共有个通道特征,有个邻接的节点,则将通道均匀划分为个片区,每个片区包含了个通道。将这些片区依次分配给自节点和邻接节点进行填充,即将邻接节点对应位置的特征通过上下平移从而实现填充。以七节点图为例,局部Shift图卷积操作流程如图1-2所示。
图1-2 局部Shift图卷积操作
局部Shift图卷积由于只考虑关节点的固有连接,这样会自动忽略掉不相邻节点之间的关系。例如一个人在开心的时候,双手的摆幅会增大,故而会使用基节点和手节点之间的距离来表征,但是这两个节点并不是直接连接的。所以不相邻节点的隐藏关系很难通过局部Shift图卷积获取到。
第二种就是全局Shift图卷积。这种卷积就是假设所有的节点都存在相连的关系。全局Shift图卷积将每个通道都作为一个分区,从自身节点开始,依次将其他节点相应位置的特征通过平移填补到一个个分区中。依次进行循环平移填补直到填满最后一个通道。经过平移填补操作之后,特征图就会呈现一个螺旋的状况。全局Shift操作如图1-3所示。
图1-3 全局Shift图卷积操作
全局Shift图卷积的优点在于能够关注到所有节点之间的关系,但是相对应的,也忽略了关节之间最根本的固有连接。因此添加了一个可学习的掩码Mask。掩码就是在数据上盖上一层掩膜,给予每个特征点表征重要性的权值,从而起到筛选和选择的效果。将Mask与Shift卷积后的特征相乘以达到区分不同节点特征重要程度的作用,从而解决上述忽略固有连接的问题。
通过全局Shift图卷积提取每一帧图结构数据的空域特征后,再经过时域Shift卷积提取时域特征,构成完成的Shift时空图卷积网络。
时域Shift卷积:选定一个参数 ,表示当前帧数据会获取到前 帧和后 帧的信息,将当前时刻 的特征通道均匀分为 份分区,然后通过Shift操作将前后帧的特征平移填补到相应的分区。而后进行 卷积实现时域的特征提取。
Shift操作与 卷积操作的结合有两种方式。第一种方式是Shift-1x1Conv,第二种方式是Shift-1x1Conv-Shift,第二种方式能够获得更大的感受野,因此识别效果更好。Shift时空图卷积模块的结果如图1-4所示。
图 1-4 Shift时空图卷积模块
Shift时空图卷积网络就是由上述的九个shift时空图卷积模块串联得到。每个子模块都将shift图卷积和时域shift卷积嵌套到了残差模块中。