时间:2024-08-31
刘锁兰, 周岳靖, 王洪元*, 张 继, 肖 宇
(1. 常州大学计算机与人工智能学院, 江苏 常州 213164; 2. 常州工程职业技术学院设计与艺术学院, 江苏 常州 213164)
随着虚拟现实、人工智能以及安防安保等技术在现实生活中的广泛应用, 人体行为识别研究备受关注.目前主流的方法有基于深度图像建模的深度长短时记忆网络(deep long short term memory, Deep-LSTM)[1]、分层次双向递归神经网络(hierarchically bidirectional recurrent neural network, HBRNN)[2], 以及基于骨架关节点建模的时间卷积网络(temporal convolutional network, TCN)[3]、视图适应长短时记忆网络(view adaptive long short term memory, VA-LSTM)[4]、可微结构搜索方法(differentiable architecture search, DARTS)[5]等.基于骨架关节点建模的方法由于特征信息直观清晰且运算便捷而成为研究热点, 其中时空图卷积网络(spatio-temporal graph convolutional network, ST-GCN)[6]在基于骨架行为识别任务中引入空间卷积和时间卷积, 具有良好的鲁棒性和新颖性, 引发了后续一系列研究.Li等[7]提出动态不确定性时空图(dynamic graph convolution network, DGCN)方法, 在动态图卷积网络的基础上引入拉普拉斯矩阵潜网络(Laplace matrix latent network, LMLN)提取时空特征,自适应地构建动态图矩阵,在小幅增加参数量的前提下提升了网络性能, 但计算成本偏高; Xu等[8]采用多尺度骨架自适应加权方法优化图卷积,提升了识别精度,其每秒浮点运算(floating-point operations per second, FLOPs)高达1011次, 计算成本高于传统GCN(FLOPs为4.0×109).上述改进算法对于运动过程中非相邻节点之间的相互影响关注度较少, 忽略了非相邻节点间信息关联对识别精度的影响,且所需计算成本高.Jeon等[9]针对传统卷积网络计算成本较高的问题, 在几种经典的卷积网络模型上对卷积过程进行主动移位, 将移位量定义为一个含移位参数的可学习函数, 通过反向传播进行端到端的优化并提供最优的偏移值, 有效降低了计算成本和参数量.受文献[9]启发, 本文拟基于动态规划中Flody算法[10]思想提出一种新的全局图遍历自适应ST-GCN人体行为识别方法.
经典的ST-GCN算法流程如图1所示.首先, 采用OpenPose关节点提取方法[11]识别出输入视频样本中的骨架关节点, 并根据关节点间的自然连接进行姿态估计,以骨架关节点拓扑图的形式表示每个样本中的人体;其次,构建关节点之间的分区策略: 1) uniform分区策略. 采取唯一划分的方式将关节点与其邻居节点划分成同一个子集进行卷积; 2) distance分区策略. 基于关节点间的距离将关节点与其邻居节点划分成2个子集进行卷积; 3) spatial分区策略. 根据人体运动中关节点的离心运动和向心运动的区别将关节点划分成1个子集, 再将距离人体重心点较近和较远的邻居节点分别划分成1个子集进行卷积;最后,通过卷积生成更高级的特征图,用于训练标准的SoftMax分类器进行行为分类并得到结果.卷积过程主要分为空间卷积(2D卷积)和时间卷积(1D卷积).空间卷积中,采用传统的GCN模型, 在单帧图片上根据3种关节点分区策略获得不同的卷积核与感受野,将骨架关节点拓扑图近似为二维网格点,选择合适的步长进行卷积,以保持输出特征图与原拓扑图的分辨率相同.时间卷积中,首先采用卷积神经网络(convolutional neural networks,CNN)模型对骨骼关节点对应的时序关系进行动态建模,将邻居节点转化成相邻帧组成的邻居图,然后进行卷积. 由于时间序列是有序且稳定的,空间邻居图的生成数目可直接通过修改包含连续帧的数目来决定.
图1 ST-GCN算法流程示意图Fig.1 Flowchart of the ST-GCN method
现基于经典ST-GCN算法进行改进, 采用如图2所示的节点全局图遍历自适应方法建立节点间的关联, 同时引入位运算操作表达关联强度以降低计算量.在单个关节点的图卷积过程中,将所有关节点根据其位置划分为根节点、邻居节点和非相邻节点等3组节点,并采用全局图遍历方法建立3组关节点间的关联.卷积过程分为3个阶段进行: 阶段Ⅰ: 以根节点o为中心, 遍历其邻居节点a、b、c进行信息关联; 阶段Ⅱ: 遍历节点a、b、c的邻居节点并与根节点o进行信息关联; 阶段Ⅲ: 将根节点o与剩余空白节点(即非相邻节点)进行信息关联.相较于传统GCN卷积过程中根节点仅与其邻居节点进行信息关联, 本文改进方法能通过对节点全局信息的遍历, 搜寻并建立关联在行为过程中信息变化较大的节点, 提高对一些特定动作的识别率,如“拥抱”等双上肢节点间联系较明显的动作.
图2 全局图遍历示意图Fig.2 Schematic diagram of global graph traversal
在空间卷积中, 设卷积算子大小为K×K, 输入特征f的维度为c, 则o点经过全局图遍历操作后的特征输出值
(1)
其中h,w为卷积算子长和宽的遍历, 抽样函数p(·)为o点的相邻组集合遍历, 权重函数w(·)表示c维权重向量, 作用是计算该函数与输入特征向量f的内积.单个人体骨架模型经传统图卷积后的输出特征
(2)
(3)
(4)
其中Q表示c维可学习矩阵.当某一点的位运算操作值赋值为0时, 算法会舍弃该点的值, 有效降低了后续运算中的参数量和计算成本.此外, 笔者在建立含骨架关系的图卷积网络模型中仅使用了3个邻接矩阵, 便于在不同通道中对骨架之间的关系进行建模, 有效减小了算法误差.
在时间卷积中, 采用ST-GCN原始的时间卷积模型, 并设置时间图卷积的卷积核大小为3×3.
算法运行环境为Ubuntu16.04系统, CPU为inter i7-6700k, 内存为16 GB, GPU为NVIDIA GeForce GTX 1060-6 GB, PyTorch深度学习框架.
1) NTU-RGB+D数据集[12].NTU-RGB+D数据集包含56 880个骨骼动作序列, 所有动作样本采集源于40名志愿者, 共60个类别.每个样本包含1个动作, 并保证最多有2名志愿者采用3个Kinect v2摄像机从不同视角同时捕捉.该数据集包含2个基准测试: cross-subject(C-Sub)基准: 训练数据来自20名受试者, 测试数据来自其他20名受试者; cross-view(C-View)基准: 训练数据来自2个摄像机的拍摄视频, 测试数据来自另一个摄像机的拍摄视频.
2) Kinetics数据集[13].Kinetics数据集中视频样本均截取自YouTube, 约400个行为类别, 300 000段剪辑视频,包含了人与物的互动(如弹奏乐器)以及人与人的互动(如握手)等, 每段视频时长约10 s.
针对ST-GCN模型中3种分区策略, 分别采用原始ST-GCN方法与所提全局图遍历方法在Kinetics数据集和NTU-RGB+D数据集上进行对比实验.设置NTU-RGB+D数据集的batchsize为32, Kinetics数据集的batchsize为64.以Top-n为评价指标, 检验模型输出预测标签最靠前的n类中与人工标注标签相符的准确率.例如, 人工标注标签为L1, 模型输出预测结果为L1,L2,L3,L4,L5, 则Top-1,Top-5的准确率都为100%, 模型输出预测结果为L2,L3,L4,L5,L1, 则Top-1的准确率为0, Top-5的准确率为100%.
在NTU-RGB+D数据集C-Sub基准上进行uniform关节点分区策略实验, 优化选择模型学习率.情形1: 固定学习率为0.1,0.05,0.01,0.005,0.001,0.000 5,0.000 1,对应的Top-1识别精度分别为43.16%,55.38%,67.85%,78.35%,74.37%,68.91%,53.89%, 故固定学习率情况下的最优学习率为0.005.情形2: 模型训练中自动调节学习率: i) 第1~9轮次为0.1, 第10~29轮次为0.01, 第30~49轮次为0.001, 第50~69轮次为0.000 1, 第70~80轮次为0.000 01, 最终Top-1识别精度为79.28%; ii) 第1~19轮次为0.1,第20~39轮次为0.01,第40~59轮次为0.001, 第60~80轮次为0.000 1, 最终Top-1识别精度为81.51%.由此可见, 调节学习率方案下的识别精度高于固定学习率下的最优识别精度.故本文模型学习率的设置选择情形2中方案ii).
图3~5分别为在NTU-RGB+D(C-View、C-Sub)和Kinetics数据集上ST-GCN和本文算法的识别精度.由图3~5可知: 1) NTU-RGB+D(C-View)数据集上, 由于全局图遍历模型加强了非相邻节点间的联系与信息关联, 优化了模型训练过程, 故本文算法在uniform、distance、spatial分区策略下的识别精度高于ST-GCN; 2) NTU-RGB+D(C-Sub)数据集上,随着迭代的进行模型趋于稳定, 本文算法的识别精度整体高于ST-GCN.虽然迭代过程中本文算法存在个别精度略低的情况,主要原因在于不同行为主体对同一动作演示的差异较大导致节点关联强度不足,特征提取过程中对图卷积的响应较弱,但是随着迭代轮次的增加及其自适应关联学习能力的进一步提升,本文算法的识别率逐渐增大; 3) Kinetics数据集上,本文算法与ST-GCN算法的Top-1精度相近, 本文算法的识别精度提升不明显,主要原因在于Kinetics数据集中样本大都由手持摄像机采集,设备的稳定性较差,导致身体相对位置与关节点间的关联变化复杂,故2种算法的识别率均较低.
图3 NTU-RGB+D(C-View)数据集上ST-GCN与本文算法的Top-1精度Fig.3 ST-GCN and the Top-1 accuracy of the algorithm in this paper on the NTU-RGB+D(C-Viwe) dataset
图4 在NTU-RGB+D(C-Sub)数据集上ST-GCN与本文算法的Top-1精度Fig.4 ST-GCN and the Top-1 accuracy of the algorithm in this paper on the NTU-RGB+D(C-Sub) dataset
图5 在Kinetics数据集上ST-GCN与本文算法的Top-1精度Fig.5 ST-GCN and the Top-1 accuracy of the algorithm in this paper on the Kinetic dataset
由于uniform分区策略下不同动作对训练过程中图卷积的影响较小, 故本文对比实验均在uniform分区策略下进行.表1为NTU-RGB+D(C-View、C-Sub)数据集上Deep-LSTM[1]、HBRNN[2]、TCN[3]、VA-LSTM[4]和本文方法在uniform分区策略下的识别精度.由表1可见: 本文方法在C-View和C-Sub下的识别精度最高,这是由于本文方法注重非相邻关节点之间的信息关联, 增强了模型对一些特定动作的识别率; 同一方法在C-View下的识别精度略高于C-Sub下的, 其原因是C-View以固定视角记录的行为差异较小, 而C-Sub中不同行为主体完成相同动作时在不同视角下存在的差异较大导致识别误差大.
表1 NTU-RGB+D数据集上uniform分区策略下的Top-1精度
表2为Kinetics数据集上Deep-LSTM[1]、TCN[3]、DARTS[5]和本文方法在uniform分区策略下的识别精度.由表2可见, 本文算法的识别精度虽高于其他算法的, 但受Kinetics数据集自身的限制,整体识别率都偏低.
表2 Kinetics数据集上uniform分区策略下的Top-1和Top-5精度
为了检验本文算法的计算成本, 在NTU-RGB+D(C-View)数据集上利用uniform关节点分区策略进行实验, 得到原始ST-GCN、改进的Adaptive Non-Local GCN[14]和本文算法的每秒浮点运算次数分别为4.0×109、5.7×109、1.1×109.由此可见,本文算法的计算成本大幅降低,其主要原因在于采用位运算操作表达节点关联强度,并进一步通过对位运算操作值的判别舍弃部分节点,从而降低了参数量.
本文在ST-GCN模型基础上通过采用位运算操作表达节点的重要程度,提出了一种全局信息遍历自适应方法.该方法注重关节点运动对其他节点尤其是非相邻节点的影响,增强了特征的有效性.对空间图卷积中的特征图采用全局图遍历进行空间特征提取,通过时间卷积进行时间特征提取,再进行更深层次的特征融合,并采用SoftMax分类器进行分类识别.在模型训练过程中采用自动调节的方法设置学习率.相较于已有的一些热点算法,本文方法在具有挑战性的人体行为大型数据集NTU-RGB+D和Kinetics上的识别精度均有一定程度的提升, 且参数量和模型的计算成本偏低.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!