APP下载

基于关键帧定位和时空图卷积的异常行为识别

2022-01-25,

机械与电子 2022年1期
关键词:关键点骨架残差

,

(中北大学信息探测与处理山西省重点实验室,山西 太原 030051)

0 引言

近年来针对公共场所的恐怖袭击和暴力冲突事件持高发态势,基于深度学习的人员异常行为识别在智能监控领域的运用日趋普遍[1]。如何从监控视频中高效检测并识别异常行为是近年来智能视频处理的研究热点。

目前,国内外学者提出的基于深度学习的异常行为识别方法大致分为3类:

a.基于卷积神经网络(convolutional neural networks,CNN)[2]的方法,包括双流CNN模型[3]和时间段网络(temporal segment network,TSN)[4],通过2个并行的CNN网络独立地提取视频图像特征。该方法受图像噪声影响,不易扩展到实际监控场景中。

b.基于循环神经网络(recurrent neural networks,RNN)[5]的方法,包括长短时记忆模型[6]和门控单元模型[7],通过使用RNN网络对视频序列中的人体骨架数据等信息进行建模。该方法虽然在表征时间信息方面具有优势,但是易丢失视频序列中的空间信息。

c.基于时空图卷积神经网络(spatial temporal graph convolutional network,STGCN)[8-11]的方法,通过STGCN网络学习视频中人体骨架数据的时空模式,能够更好地表达人体运动特征,其识别准确率相比前2种方法也得到大幅提升,实现了更优越的性能。利用STGCN进行异常行为识别虽然在准确率方面取得了较大的进展,但是该网络计算程度复杂,参数较多,在特征提取及行为分析过程中需占用较多的计算资源,实际监控场景中,如果利用该网络识别每帧视频中所有对象的行为意图会极大的增加显存占用率,加重系统整体计算负担。

针对该问题,研究人员提出了关键帧定位[12]的思想应用于异常行为识别,在长视频序列中的异常行为关键片段上,利用行为识别网络进行针对性识别,有助于降低系统整体计算负担。现有关键帧定位算法主要分为2类:基于聚类的关键帧定位算法[13],利用图像特征进行无监督分类,选择聚类中心附近帧作为关键帧;基于帧差法的关键帧定位算法[14],利用图像特征比较相邻帧间内容的变化。上述方法在实际监控场景下存在局限性:监控场景中行人占比较小,基于图像特征易受背景影响导致难以提取有效行人运动特征,且上述算法效率较差;关键帧定位过程中容易出现错选和漏选情况,而实际监控场景下的异常行为关键帧定位需要基于行人运动特性快速准确定位异常行为关键序列。

因此,围绕实际监控场景中的行人异常行为关键帧定位,以及后续异常行为识别问题,本文提出了基于关键帧定位和时空图卷积网络的异常行为识别方法。提取人体骨架主要关键点表征行人运动,利用关键点运动特性剔除长视频序列中冗余片段,实现异常行为关键帧序列高效定位;使用基于瓶颈残差模块的时空图卷积网络来捕捉人体运动的时空信息,增强网络性能并降低网络计算复杂度,实现高质量的异常行为识别。

1 基于骨架关键点模型的关键帧定位方法

1.1 骨架关键点检测模型

长视频序列中定位行人异常行为关键帧序列主要基于人体的行为语义特性。由于人体的骨架在背景噪声中具有较强的鲁棒性,使用人体骨架关键点作为姿态特征,可精确地表征人体结构化特征,有利于对人体行为的分析。本文基于YOLO[15]和Alphapose[16]算法从视频中提取出人体目标,并对其进行骨架关键点检测,可以在保证检测精度的基础上更快地输出目标骨架关键点检测结果。在Alphapose中,训练的人体COCO模型如图1a所示有18个关节点。

考虑到异常行为关键帧定位及后续异常行为识别过程中,人体姿态的重要信息大多表现在四肢等部位。同时,由于固定摄像头下的视角局限,头部关键点的检测不可避免地会因为行人位置(侧身、背身)导致错检或漏检,从而对后续行为分析造成极大的干扰。为消除头部对姿态捕捉的影响,并降低关键帧定位及行为识别的计算复杂度,设计的人体骨架关键点检测模型只考虑对四肢等主要躯干共12个关节点坐标进行检测,检测效果如图1b所示。

图1 人体骨架关键点模型

为便于后续描述,表1对这些关键点进行了统一编号。

表1 关节点编号

1.2 基于关键点运动特性的异常行为关键帧定位

在实际环境中,行人异常行为的发生伴随着该对象骨架序列中关键点快速、突然的移动。快速性体现在关节的运动速度上,而突然性体现在关节的运动加速度上,例如“挥砍”时,腕关节、肘关节的运动速度和加速度明显高于“招手”;“踢踹”时的脚关节、膝关节的速度和加速度明显高于“走路”等。为了进一步提升异常行为关键帧定位的准确性,本文采用基于关键点运动速度和加速度的关键帧定位算法,根据1.1节中骨架关键点检测模型,计算输入每帧视频中对象的骨架关键关节点运动特性,完成异常行为关键帧的定位,算法流程如图2所示。

图2 关键帧定位算法流程

本文以骨架序列中关键点的运动特性(运动速度和加速度)作为判定异常行为关键帧的指标。设视频序列首帧为i,连续采集f帧的数据序列,则第j个监控对象的关键点p的首帧和尾帧的坐标分别为(xi,j,p,yi,j,p)和(xi+f,j,p,yi+f,j,p),该关键点在像素坐标系中的运动速度为:

(1)

(2)

(3)

(4)

p=2,3,5,6,8,9,11,12

(5)

则此f帧视频为异常行为关键片段,需要进一步的识别。

本文采用滑动窗逐片段计算骨架关键点运动特性(运动速度和加速度),并根据运动特性判断当前片段是否为异常行为关键帧序列,完成对长视频序列中异常行为的定位。

2 异常行为识别方法

2.1 时空图卷积

在异常行为识别过程中,人体骨架关键点包含了人体运动的大量信息。现有的基于骨架的异常行为识别方法中,通常没有考虑骨架本身的结构特征和时空关系,而时空结构信息的缺失导致后续异常行为识别建模存在一定的困难。

在1.2节异常行为关键帧序列基础上,在关键帧片段的骨架序列上构建时空图G=(P,E)。节点集P={pti|t=1,2,…,M,i=1,2,…,12},包括骨架序列中的所有关键点。边集E由2个子集组成:第1个子集包含了单帧人体骨架内部连线,即ES={ptiptj|,(i,j)∈R},其中R是人的身体关节之间连线的集合;第2个子集包含相邻帧间相同关键点连线,即EH={ptip(t+1)i},人体骨架时空图模型构建过程如图3所示。

图3 人体骨架的时空图模型构建过程

在确定时空图模型后,通过时空图卷积网络(STGCN)对帧内边集ES和EH帧间边集执行图卷积操作,提取骨架序列空间特征和时间上下文特征,上述时空图卷积过程为

(6)

由式(6)可知,STGCN同时对骨架序列图中帧内及帧间边集进行卷积,其参数较多,计算复杂,容易出现梯度爆炸的问题,导致网络在训练过程中收敛较慢且准确率显著下降,有学者提出利用残差学习框架以减轻网络计算负担,在加速网络训练速度的同时提升行为识别准确率。但是常规的残差模块在STGCN等实践中并不十分有效,其容易受图卷积运算参数量大的影响。

2.2 基于瓶颈残差时空图卷积的行为识别网络

本文使用瓶颈残差模块(bottleneck residual block,Bres)同STGCN组成基于瓶颈残差模块的时空图卷积网络(spatial temporal graph convolutional networks based on bottleneck residual,Bres-STGCN),瓶颈残差模块通过通道降维操作使得STGCN以较低维度的输入进行图卷积运算,解决常规的残差模块在图卷积运算中由于计算复杂导致网络性能退化的问题,且该模型收敛能力更快,可用于提升异常行为识别的精度。

Bres-STGCN的输入是骨架关键点坐标,经过9层的基于瓶颈残差连接的时空图卷积运算生成更高级别的图,然后将其输入到Softmax分类器中进行人体异常行为识别。网络架构如图4所示,前3层输出为64通道,中间3层输出为128通道,最后3层为256通道。

Bres-STGCN网络结构的瓶颈残差模块如图5所示。

瓶颈残差单元依次由1×1卷积层、STGCN、1×1卷积层3部分组成。其中,第1个1×1卷积层能够对通道数channel起到降维的作用,从而令STGCN以相对较低维度的输入进行图卷积计算,提高计算效率,另外在进行恒等映射相加时,对输入进行1×1卷积通道升维操作来保证叠加时通道数一致。在图5中,F(x)为瓶颈残差单元,对每个单元进行计算为

图4 基于瓶颈残差的时空图卷积网络架构

图5 瓶颈残差单元

(7)

在第l层,xl-1为输入;wl为训练参数集;ReLU为激活函数。基于瓶颈残差连接的时空图卷积网络中的第1图卷积层对骨架图进行输入操作,并将激活映射传递给后续图卷积层。瓶颈残差模块的使用,可以保证在减少网络计算复杂度的基础上更深层次地提取行人骨架特征。

3 系统整体结构

本文采用如图6所示的基于关键帧定位和时空图卷积网络的异常行为识别系统,采用YOLO v4和Alphapose算法提取人体骨架主要关键点,利用异常行为过程中的骨架关键点运动特性(运动速度和加速度)完成视频中关键帧定位,通过Bres-STGCN对关键帧序列进行时空图卷积建模提取时空语义特征,从而实现复杂场景下异常行为的高效率识别。

图6 异常行为识别系统结构

4 实验结果与分析

4.1 实验环境及数据集

本文实验环境为:Ubuntu 16,处理器为3颗Intel(R) xeon(R) E5-2640 v4 @ 2.40 GHz,内存32 GB,显卡为Tesla K80。编程环境为Python3.7,开发工具为PyCharm 2019,使用Pytorch框架进行算法网络搭建、训练和测试。

为了验证本文算法模型的鲁棒性及泛化能力,分别在实验室自建模拟场景数据集以及ShanghaiTech Campus公开数据集进行训练和测试。自建样本数据使用布置于室内的DS-IPC-B12H枪式摄像机采集,相机焦距为8 mm,具备720P/1080高清广角画面功能,多台摄像机采用分布式阵列方式安装于实验楼内侧走廊通道。

自建样本数据包括模拟行人正常行为及异常可疑行为,异常行为主要有投掷可疑物品、暴力踢踹、攀爬翻越、暴力敲打、双人暴力交互以及跌倒等行为。如图7所示为自建数据集样例,共计250组动作序列,其中,训练集175组,测试集75组。

图7 自建样本数据样例

公开数据集结合了上海科技大学校园13个不同场景的视频信息,包括暴力敲打、双人交互、攀爬翻越、投掷和跌倒等多种行为。

4.2 关键帧定位对比实验

使用本文方法针对自建数据集中测试视频进行异常行为定位实验,采用红色骨架表示异常行为关键帧定位结果。部分实验结果如图8所示,分别为针对暴力交互、暴力踢踹2组异常行为的关键帧定位。

图8 关键帧定位算法部分实验效果

为验证本文方法相较现有技术具有更好的异常行为捕获能力,在自建数据集上开展了对比实验。通过判断每帧视频中的动作是否异常来定位关键帧,引入准确率A和处理速度V作为算法评价标准,实验结果如表2所示。

表2 关键帧定位算法性能比较

由表2可知,本文所提出的基于关键点运动特性(运动速度和加速度)的关键帧定位算法,其准确率及处理速度高于聚类及帧间差分法。

4.3 瓶颈残差时空图卷积网络结构对比实验

为验证Bres-STGCN相较于现有图卷积网络具有更好的时空信息建模能力,在ShanghaiTech Campus数据集上开展了对比实验,所测试网络均使用随机梯度下降优化器(stochastic gradient descent optimizer,SGD),设置训练轮数为60。表3分别给出了STGCN、基于常规残差时空图卷积网络(residual spatio temporal graph convolution network,Res-STGCN)[18]和Bres-STGCN的识别准确率A与初步收敛轮数C。图9给出了损失函数值变化曲线,其中,LOSE为损失函数值,代表预测值和真实值的距离度量。

表3 网络模型对比实验结果

图9 损失值变化曲线

根据表3及图9可知,Bres-STGCN在ShanghaiTech Campus公开数据集上取得了最高识别率,为88.6%,且网络收敛速度更快。

4.4 异常行为检测实验

针对自建数据集利用本文所提异常行为识别系统进行异常行为检测实验。

异常行为检测结果如图10所示,分别为针对自建数据集中暴力交互、暴力挥砍以及暴力踢踹等6种行为的可视化标注。

图10 自建样本异常情况识别结果

将自建测试集中75组视频按照标签分解为短视频片段,每段视频包含20帧图像序列,共计样本480段。引入准确率A作为评价标准。检测结果如表4所示。

表4 自建数据集异常行为检测结果

由表4可知,本文方法针对自建数据集6种异常行为识别率均大于89%,且整体识别率达到91.5%,完全可以应用到实际项目中。

在自建数据集上,使用不同算法对异常行为进行分类,其识别准确率A及处理速度V如表5所示。

表5 几种异常行为识别算法的性能比较

由表5可知,与其他4种算法相比,本文提出的基于关键帧定位和时空图卷积的异常行为识别算法,在处理速度上更快且识别准确率更高。

5 结束语

针对公共场所异常行为识别效率低下,占用计算资源大的问题,提出了一种基于关键帧定位和时空图卷积网络的异常行为识别算法,利用基于骨架关键点检测模型的关键帧定位方法实现长视频序列中异常行为的定位,并且构造了基于时空图卷积的异常行为识别网络。在自建数据集及公开数据集上进行测试,结果表明本文所提出的关键帧算法可高效率实现异常行为精确定位,结合基于瓶颈残差模块时空图卷积网络,在减少系统计算开销的同时,提升了STGCN网络的性能。下一步,将针对行人骨架提取网络和异常行为识别网络轻量化进行研究,减少关键帧定位及异常行为计算开销。

猜你喜欢

关键点骨架残差
基于残差-注意力和LSTM的心律失常心拍分类方法研究
基于双向GRU与残差拟合的车辆跟驰建模
论建筑工程管理关键点
浅谈管状骨架喷涂方法
肉兔育肥抓好七个关键点
建筑设计中的防火技术关键点
基于残差学习的自适应无人机目标跟踪算法
骨架密度对炭/炭多孔骨架压力浸渗铜的影响
基于深度卷积的残差三生网络研究与应用
周博士考察拾零(六十六)日光温室前屋面开机具作业门处骨架的处理方法