基于改进关节点联系的ST-GCN行为识别办法

2021-05-25 08:07李圣京李树斌
通信电源技术 2021年24期
关键词:关节点分支卷积

李圣京,李树斌

(广州海格通信集团股份有限公司 无人系统技术创新中心,广东 广州 510700)

0 引 言

随着深度学习技术的发展以及硬件设备性能的提升,针对视频识别的研究越受重视[1]。与目标检测等任务不同,视频识别任务不仅需要处理每一帧的特征信息,还需要处理时序上的特征信息,计算量也会更大。

人体行为识别是视频识别的一个重要任务,主要是从视频或图像序列中分析出人体正在进行或即将进行的行为动作,在监控安防、人机交互、体育运动等领域有重要的实用性。利用人体行为识别技术对目标自动识别,对监控区域进行全区域、全天时的实时感知,及时预警,可极大地降低安防成本,减少人工监控可能出现的疲劳、误报、漏报等问题。

1 现状分析

基于人体骨骼关节点的行为识别对光照和场景有很好的鲁棒性,并且在计算量和存储空间上都有很大的优势。人体姿态信息可以通过姿态估计算法或穿戴传感设备例如Kinect获取。时空卷积神经网络(Spatial-Temporal Graph Convolution Networks,STGCN)开创了使用图卷积神经网络处理姿态估计信息并其识别的精度超过了之前的大多数算法[2]。STGCN通过图卷积对同一帧的关节点位置信息特征提取,通过时空卷积对同一关节连续帧提取关节的运动信息。相比于传统的骨架建模,ST-GCN具有更好的拟合能力和泛化能力。图1所示为在姿态估计关节点的基础上建立的单人的ST-GCN连接示意图。

图1 ST-GCN的连接示意图

但是,ST-GCN网络只关注物理连接近的关键点,也未考虑物理连接远的关节点的影响。针对上述的问题,本文借鉴了ST-GCN的思想,创新性提出以下3种办法,进一步提升了人体行为识别任务的准确率:(1)通过对特征图转置,关节点放置到通道的维度,利用3层卷积聚集关节点的全局信息,提升行为识别的准确率;(2)提出新的注意力结构,通过学习的方式获取两个节点联系的强弱;(3)提出使用不平衡多网络集成学习分支在线监督蒸馏行为识别算法,提高模型的精度。

2 算法设计

2.1 时空图卷积模型

ST-GCN是基于图卷积神经网络(GCN)同时增加对时间维度信息的拟合。图卷积提取关节点之间的相对位置信息,时空卷积对相同关节点不同时间进行连接和信息融合,保证关节点在时序过程中动作的连续性。

以常见的图像二维卷积为例,输出特征图上任意位置x可以表示为:

式中,fm大小为h*w*c的特征图;K为卷积核的大小;采样函数p是指以像素x为中心,区域大小与卷积核大小相同的矩阵特征;w为二维卷积核的权重值。

在同一帧姿态估计结果数据中,以关节点vti为中心点,其他关节点vtj到vti的最短距离表示为d(vtj,vti)。其中,相邻的关节点间的距离为1。距离越远代表两点之间的物理紧密程度越小。

设定距离阈值D,到根节点vti的最短距离小于的集合为:

假定采样函数p使用D=2的相邻区域B(vti),则采样函数p(vti,vtj)为:

2.2 注意力机制的共现特征学习时空图卷积模型

针对ST-GCN缺少远距离关节点关联的不足,本文在ST-GCN的基础上,提出了一个如图2所示以图卷积网络为基础、引入新的注意力机制和共现特征学习、在线蒸馏结构的网络结构[3]。

如图2主干网络所示,本网络结构包含10个图3所示的ATG结构,ATG结构类似于ST-GCN中的时空卷积单元结构,该结构先通过注意力掩码与图卷积的邻接矩阵相加,使用一个卷积核大小与为5×9图卷积提取相同一帧的关节点特征,再通过时空卷积对于不同时序同一关节点进行卷积,最后通过残差的方式与输入的特征进行融合,实现特征的跨区域提取;注意力机制的改变具体可查看2.2.2节;COF结构即为共现特征单元结构,具体可查看2.2.1节;在第五个ATG结构和第八个AGT结构后使用步长为2的卷积对特征下采样。本文所述模型的前4个ATG结构的输出通道均为64,第五个到第七个ATG结构的输出通道均为128,后面3个ATG结构的输出通道数均为256;对最后一个ATG的输出特征图,通过平均池化操作和全连接层计算,对全连接层输出的特征图通过Softmax分类器完成对动作的分类。

图2 多任务网络结构示意图

图3 AGT结构示意图

2.2.1 共现特征学习结构

一个行为动作不仅仅与物理相邻的关节点相关,也有可能与其他相邻很远的关节点有关系。直觉上,“行走”这个动作,手与脚的联系比较大;“举着”这个动作,左手与右手的动作联系较大。在ST-GCN中,手与脚的距离或者左右手腕的距离较远,联系很小,不能学习到很好的协调动作。基于此,本文提出一种如图4所示共现特征学习(COF)模块,通过将所有关键点信息转置到同一维度,经过3层2d卷积与Relu激活后,再转置回原有的输入形状,与输入的特征图在对应的元素相加作为输出。

图4 共现特征学习结构

具体而言,对于同一个人,一个T帧时序范围,N个骨骼关节点,每个关节点有C种特征的骨骼序列可表示为一个尺寸是C×T×N×1的张量Fin。首先将张量转置为T×(C×N),通过3层大小均为1*1,步长为1,通道数分别为64、128、(C×N)的卷积核计算,对卷积结果转置到后与Fin。相同形状得到F1,通过对应元素相加的方式得到输出Fout:

2.2.2 注意力模块

由公式(9)可以看出,在ST-GCN网络中,时空卷积单元结构首先由一个可学习的注意力掩码Mk是与邻接矩阵Ak直接元素相乘,这就意味着,对于某些需要两个物理连接很远的关节协调的动作,虽然两个关节的联系很大,但是图上没有直接相连,邻接矩阵对应的参数为0。此时注意力掩码Mk并不能学习到两者之间的联系。

针对ST-GCN的注意力机制灵活性不够的缺点,本文在T-GCN的基础上,提出另外一种注意力机制方式。

具体而言,与ST-GCN的注意力机制类似,本文构建一个训练的权重Mk,权重形状与邻接矩阵Ak一致。与ST-GCN不同,注意力掩码Mk并不是直接与邻接矩阵Ak对应元素点乘,而是对应元素相加。Mk中的参数并不会进行归一化等任何约束条件,完全是从数据学习过来的参数,因此不仅能学习两个节点是否存在联系,还能表示联系的强弱。

新的图卷积的表达由公式(9)演变为:

2.2.3 多网络分支集成在线蒸馏学习

常见的蒸馏学习需要先训练大网络,训练完毕的大型网络作为教师网络,让小网络学习逼近教师网络的输出分布。集成学习是通过训练若干个基学习器(base learner),通过一定的结合策略,最终形成一个强学习器,达到博采众长的目的。集成学习的效果往往比基学习器效果好。

本文创新性地提出多网络分支集成学习进行蒸馏学习。通过在网络的不同位置增加两个结构不一致的额外输出分支,对不同分支的输出结果集成,达到蒸馏学习中教师网络输出的结果。在训练过程中,分支的集成结果可以作为教师网络的输出结果,对3个分支学生分支输出的结果分别蒸馏。在推理过程中,通过去掉其余两个分支,只保留主干结构,减少运算量,加快推理速度。整体网络结构如图2所示。

具体而言,本文在第四个、七个AGT模块之后各增加一个与主干网络结构不一的分支结构,每个分支单独计算损失,教师网络的输出结果通过3个分支输出的结果平均加权集成,如表达式(12)。

直接使用Fteacher的输出结果进行Softmax对于正确的答案会有一个很高的置信度,不利于学习到集成结果的相似信息。本文使用Softmax-T激活函数,通过控制T的大小从而控制网络的学习能力,公式如(13)所示:

式中,qi是每个分支网络学习的对象;zi是前的输出象;T是温度参数,通过控制T的大小决定蒸馏学习的平滑程度。如果将T取值1,则该公式退化为Softmax函数;T越大,输出结果的分布越平滑,保留相似信息越多。本文中取值为2。

本模型的损失函数计算公式为:

式中,CE是交叉熵(Cross Entropy)函数;y是真实标签的one-hot编码;q是集成教师网络的输出结果;p是每个学生分支的输出结果。

通过本文所提供的办法无需训练额外的教师网络也可以达到蒸馏学习的效果,有效提升行为识别模型的准确性。

3 实验与分析

3.1 公开数据集介绍

Kinetics-skeleton 数据集[4]与 NTU-RGB+D 数据集[5]是基于姿态估计进行行为识别的两个重要数据集。

Kinetics数据集包含网上收集的约30万个视频片段,涵盖多达700个人类动作,是目前数量最大的无约束动作识别数据集。Yan[6]等使用OpenPose姿态估计算法在该数据集上视频中获得每一帧图像中每个人的关节点坐标与置信度,记录为(x,y,c),每一帧保留置信度最高2个人的数据。该数据集包含了24万个训练集数据与2万验证集数据。

NTU-RGB+D数据集是南洋理工大学通过3个Microsoft Kinect v2传感器的骨骼跟踪技术与3个不同角度的摄像机采集得到,涵盖60个种类的动作,包括40类日常行为动作,9类健康相关的行为动作,11类多人行为动作。共计56 880个样本。NTURGB+D数据集分为X-Sub子数据集与X-View 子数据集。X-Sub子数据集包括40 320个训练数据和16 560个测试数据,其中训练集来自同一个演员子集,测试数据来自其余的演员。X-View子数据集包含37 920个训练数据和18 960个测试数据,训练数据与测试数据是按照摄影机的ID划分。

3.2 模型训练和测试结果

本文在Kinetics-skeleton数据集和数据集上进行模型训练和测试,本文使用1块1080ti 的显卡,显存大小为11 GB,CPU 为Intel Xeon(R) silver 4210 CPU@2.2GHZ*40,训练系统环境为ubuntu16.08,CUDA环境为10.2,CUDNN环境为7.6.5,深度学习框架为pytorch1.6,优化器为SGD ,动量设置为0.9,权重衰减为10-5。初始学习率为10-2,使用余弦退火的学习率变化策略。训练的批次大小为64,一共迭代200 000次。在Kinetics-skeleton 数据集的表现与其他算法对比如表1[5,7]:

表1 本文算法与其他算法在Kinetics-skeleton 数据集准确率对比

使用相同配置训练NTU-RGB+D数据集,在NTU-RGB+D数据集表现与其他算法对比如表2[8]。

表2 本文算法与其他算法在NTU-RGB+D 数据集准确率对比

4 结 论

本文提供了一种以时空图卷积网络为基础、引入了注意力机制和共现特征学习结构的网络结构,通过增强不同关节之间的联系,提升行为识别模型的精度。同时提供一种在线蒸馏学习的方式增强模型的泛化能力。本文提供的模型在Kinetics-skeleton数据集上取得31.25%的Top-1 精度与53.45%的Top-5性能精度,相比于原版的ST-GCN算法,Top-1和Top-5分别提升了0.44%和0.65%。本文提供的模型在NTU-RGB+D的子数据集X-Sub取得86.7%的Top-1精度,在NTU-RGB+D的子数据集X-View取得94.6%的Top-1精度,对比于原版的ST-GCN算法,提升了5.2%和 6.3%。证明了引入注意力机制和共现特征学习机制增强模型的感受野,以及使用蒸馏学习能增强ST-GCN算法的性能。

猜你喜欢
关节点分支卷积
基于关节点数据关注RGB视频的双人交互行为识别
一类离散时间反馈控制系统Hopf分支研究
软件多分支开发代码漏合问题及解决途径①
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
重载机车网络重联TCN 故障节点识别方法研究*
关节点连接历史图与卷积神经网络结合的双人交互动作识别
巧分支与枝
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法