基于深度学习的人体行为识别方法研究

2022-09-08 08:35王计斌魏东迎
江苏通信 2022年4期
关键词:视频流关节点骨骼

孟 维 王计斌 魏东迎

南京华苏科技有限公司

0 引言

随着监控系统的发展,监控系统的应用越来越多,若只通过人工来分析大量的视频监控,显然不现实,且成本较高,因此传统的人工解析已逐步不适用。机器视觉技术的快速发展为监控系统带来了解决方案。

视频行为识别是视频理解方向中的一个重要问题,迄今为止已经研究多年。目前,视频人体行为识别的方法按特征提取方式的不同分为两类:一类是基于传统手工特征的行为识别,其首先利用专家设计的特征提取视频的底层行为特征,之后采取PCA(Principal Component Analysis)和白化(Whitening)对底层特征进行处理,之后再放入分类器中训练,最终得到较好的分类器,可以实现视频行为识别。基于手工特征的视频行为识别方法中鲁棒性最好的方法是Wang等提出的iDT方法;另一类是基于深度学习的方法,其利用迭代学习自动从视频中提取深度学习的行为特征向量,然后再通过深度模型得到类别得分,并根据数据的标签,利用反向传播的方式调整网络模型参数,最终达到良好的分类效果。基于深度学习的行为识别方法的网络结构主要有双流网络(Two-stream Network)、3D卷积网络(3D Convolutional Network)和骨骼序列网络三种。

本研究主要针对视频人体行为识别,提出了一种基于深度学习的人体行为识别方法,改进了ST-GCN(Spatial Temporal Graph Convolutional Networks)算法和Deepsort目标跟踪算法。

1 数据集

1.1 数据集来源

本研究的数据来源主要有三部分:一是开源数据集NTURGB+D,二是人工模拟拍摄,三是网络视频,如图1所示。其中,识别动作类型分为五个类别:奔跑,走路,坐,站立,摔倒。

图1 数据集来源

1.2 数据预处理

本研究通过人体姿态估计提取每个数据集的骨骼信息,并将18个关节点简化为14个关节点。为增加样本数量,本文采用数据增强的方式,对现有姿态估计结果进行骨骼关节点位置微调,即加入随机扰动,这样则能在保证姿态估计时间序列动作语义不变的情况下实现数据增强,实现增加样本数量的目的。由于身体部位的运动可以被广泛地归类为同心运动和偏心运动,距离脖子关节点越近,运动幅度越小;离脖子关节点越远,运动幅度大。根据这一运动特性,在进行骨骼关节点微调的时候,对于较远的关节点给予较大的偏移范围,较近的关节点给予较小的偏移范围。其中偏移范围计算公式如下:

xoffset为偏移范围,ratio[xlabelt]表示该关节点可以调整的比例,distance表示该关节点至脖子的距离。为保证动作的语义不变形,数据增强前后,骨骼关节点存在细微的位置倾斜角度的变化,原姿态估计结果与数据增强后的姿态估计结果对比,如图2所示。其中,左图为原姿态估计结果,右图为在原姿态估计结果上进行数据增强的结果,可以看出,对于a1与b1,关节点5、6的距离发生了变化,b1关节点的距离较a1的距离远;对于a2与b2,关节点9、10的距离发生了变化,b2中关节点的距离较a2距离远;对于a3与b3,关节点3与关节点5的偏移角度发生了变化,b3中,关节点5相较于关节点3的偏移角度比a3中小。

图2 原姿态估计结果与数据增强后的字体估计结果对比

2 实验方法

基于改进的ST-GCN的危险行为分析整体识别流程及中间结果,如图3所示,首先是视频流获取,并进行人员检测及跟踪,然后进行人体姿态估计,再将姿态估计的结果进行行为识别,最后将最终识别后的结果形成视频流推送。

在上述流程中,本研究提出了三个优化方法。首先,改进DeepSort算法,减少了目标漏检时人员不被继续追踪的问题;其次,通过精简OpenPose的输出,减少行为识别模型的输入,以此来精简模型,优化速度;最后,针对固定摄像头视野下的行为识别,本研究调整了模型结构,以获得更好的识别效果。流程如图3所示,其中:(1)输入为视频或视频流;(2)对输入进行基于YOLO的人员检测和基于改进的DeepSort的跟踪;(3)通过OpenPose进行骨骼关节点信息的预测,这里的预测结果包含骨骼的x、y坐标信息和置信度;(4)当某个被跟踪的人的连续骨骼序列大于等于30的时候,取最近的30条骨骼时间序列进行基于改进的ST-GCN的行为分析,判断是否存在危险行为;(5)最后将结果以视频或视频流的方式输出。

图3 基于改进的ST-GCN的危险行为识别整体识别流程及中间结果

2.1 DeepSort算法改进

为了识别危险行为,需检测到视频中每个单独的个体,并在连续时间内,对检测到的个体进行追踪,当追踪时间达到一定帧数时,再对这一段时间内的动作进行识别。因此,本研究采用YOLOV5来进行人员检测,理想情况下,目标停在原地不动或移动缓慢且视频画面保持不变,该目标应该连续被跟踪到,但有时会出现漏检情况,导致跟踪ID丢失。针对这种情况,本研究对跟踪算法DeepSort进行了优化,优化前后的算法流程如图4所示,其中a为针对漏检情况改进的追踪算法流程,b为针对漏检情况原追踪算法流程。

图4 改进的DeepSort算法与原算法对比

如图5所示,假设一段视频中存在a、b、c三个连续的状态,其中a状态为两个人都检测到了,b状态为有一个人没有被检测到,c状态为两个人都再次被检测到。人员1几乎保持静止,人员2向右上角移动。

图5 三种状态示意图

原跟踪算法为:a状态下检测出两个人,并为这两人分配跟踪id1和id2,再对状态a的两个检测结果进行预测,得到T_a1、T_a2;之后进入b状态,b状态下只检测到一个人,通过匈牙利算法将T_a1、T_a2与D_b1进行级联匹配,此时D_b1被分配为跟踪id1,被检测到的人没有被分配跟踪id,接下来再对状态b的一个检测结果进行预测,得到T_b1,由于T_a2没有匹配到合适的检测框,在b状态下只对T_a2进行缓存,不做任何处理;之后进入状态c,c状态下检测出两个人D_c1、D_c2,通过匈牙利算法对检测结果与上一帧的预测结果T_b1、T_a2进行匹配,获取跟踪id以及预测结果。但是对于b状态持续时间较长的样本,人员2由于一直保持向右上角移动,当进入c状态的时候,人员2的检测框与T_a2相较太远,导致用匈牙利算法进行级联匹配的时候,由于IOU代价过高,最终被过滤掉。

为解决上述问题,本研究对原有算法进行优化,即当进入b状态时,不再只对T_a2进行缓存,而是对T_a2进行卡尔曼滤波预测,保证该预测结果仍按照原有运动状态运动,这样再次进入状态c的时候对T_a2进行卡尔曼滤波预测的结果与c状态下的检测结果距离不会太远,使得丢失的目标再次被成功跟踪上。

2.2 ST-GCN算法改进

ST-GCN的模型结构如图6所示。在原模型中,对于每一个被连续追踪到的人员,可以用一个(3,T,V)的3维矩阵描述其在这一段时间内的行为:其中3代表骨骼关节点的坐标x、y和骨骼关节点的置信度,T代表时间序列的长度,在本研究中,T取30,V代表骨骼关节点的数量,模型精简后为14个。

图6 ST-GCN模型结构

由于危险行为检测的场景许多都是在固定摄像头视野下的,针对这种情况,本文在原有模型的基础上增加了一个输入(结构如图7所示):由于在固定视野下,某个运动的个体的骨骼关节点位置,在上一帧与当前帧,是存在明显差异的,利用这一明显的差异,将前后帧的骨骼关节点的位置差作为另外一个输入导入模型中。两个输入在进行一系列的TCN与GCN的操作之后,将输出的结果拼接起来,最后再改变原模型中全连接层的输入输出参数的维度,即可预测出行为的类别。

图7 改进的ST-GCN模型结构

3 实验结果

原始DeepSort算法与优化后的DeepSort算法结果对比,如表1所示。其中D表示检测结果,T表示追踪结果,K表示卡尔曼滤波。

表1 原DeepSort算法与优化后的算法结果对比

优化后的追踪算法,在abc三种状态下的检测追踪结果如图8所示。其中,可以看到c状态下,右侧的人重新被跟踪到并且仍被分配为原来的id。

图8 三种状态下的检测追踪示意图

由于真实样本集有限,大部分用于训练模型,因此本研究只对40段真实场景下的数据集进行测试,并将其与未采用本文改进方法的结果进行对比,测试集上的准确率显著提高。具体表现为,未使用改进的DeepSort算法、改进的ST-GCN算法的危险行为识别方法,在测试集上的准确率为82.5%;使用改进的DeepSort算法、改进的ST-GCN算法的危险行为识别方法,在测试集上的准确率为92.5%。如表2所示。

表2 实验结果对比

4 结束语

本研究提出了一个危险行为识别的方法,首先视频流获取,并对人员检测及跟踪,其次人体姿态估计,根据姿态估计结果实现行为识别,最后将识别结果形成视频流推送。

在该方法中本研究提出了三个优化手段:一是针对漏检情况,调整了跟踪算法;二是针对模型精简问题,减少了姿态估计贡献较少的骨骼关节点信息;三是针对固定摄像头视野下的行为识别,提出了改进的模型结构。实验证明,本研究提出的三个优化手段对模型的识别效果有显著提升,且识别准确率提高10%。

猜你喜欢
视频流关节点骨骼
边缘实时视频流分析系统配置动态调整算法研究
做家务的女性骨骼更强壮
三减三健全民行动——健康骨骼
基于深度学习和视觉检测的地铁违规行为预警系统研究与应用
重载机车网络重联TCN 故障节点识别方法研究*
关节点连接历史图与卷积神经网络结合的双人交互动作识别
基于视频流传输中的拥塞控制研究
铁路货场智能大门集装箱全景图像采集方法研究
搞好新形势下军营美术活动需把握的关节点
美国视频流市场首现饱和征兆