2. 哈工大机器人(合肥)国际创新研究院, 合肥 230601;
3. 国网浙江省绍兴供电公司, 绍兴 312000
2. HRG International Institute (Hefei) of Research and Innovation, Hefei 230601, China;
3. State Grid Shaoxing Power Supply Company, Shaoxing 312000, China
视频监控系统已成为车站、商场等公共场所识别安全威胁、预防犯罪行为的重要方式. 传统的监控系统主要依靠人力来分析海量视频信息, 不但会消耗大量人力财力, 而且不能保证识别的准确性[1, 2]. 因此, 异常行为智能识别在视频监控领域具有广阔的发展前景.
早期, 主要基于视觉图像进行行为识别, 包括模板匹配法、状态空间法两种方法[3]. 前者将图像的颜色、纹理等特征与特征模板相匹配, 分为视频帧特征匹配及视频片段特征匹配两种, 常用方法有STIP (space-time interest points)、DT (decision tree)、iDT (improved dense trajectories)等[4, 5]; 后者将运动序列看作不同状态间的一次遍历利用各类动作数据训练其模型参数[6], 常用方法有最大熵马尔可夫模型、隐马尔可夫模型、条件随机场等. 但以上方法易受背景抖动、光照变化及图像噪声等影响.
近年来, 深度学习持续发展, 应用在行为识别领域也成效显著. 相比传统方法, 深度图像具有视图不变性、光照不变性, 只依赖关键参数, 而不依赖人体的时间和空间信息, 因此更适合于行为的实时识别[7-9]. 骨骼不会随着视点或外观的变化而改变, 遭受的类内差异更小; 骨骼也不会受到无关信号的干扰, 可以大大简化动作识别的学习过程. 因此, 相比其他动作模式, 在行为识别任务中, 人体骨架往往能传达更多的信息[10]. 并且随着Kinect等设备的发展, 骨架信息的提取也越来越便捷.
基于人体骨架进行行为识别, 常用循环神经网络、卷积神经网络及图卷积网络等方法. 前两者需要运用人体运动专业知识来建模, 较为复杂[11, 12]. 文献[13]设计了一种带信任门的时空long short term memory(LSTM), 用于联合学习骨架序列的时空信息并自动去除噪声关节, 但构建深度LSTM来提取高级特征较为困难[14, 15]. Convolutional neural networks (CNN)可以提取高级特征, 但无法对视频的长期时间依赖性进行有效建模[16]. 文献[17]运用深度渐进强化学习方法提取关键帧, 提高了训练效率, 但识别准确率一般. 文献[18]设计了一种注意力和时间双通道的伪图卷积网络, 能提取更多关键信息, 但计算速度较慢. 因此, 进行实时、准确的检测是异常行为识别的难点.
为对异常行为进行实时准确的识别, 本文提出了一种利用人体骨骼轨迹的识别方法: 根据识别目标种类改进YOLOv3网络的损失函数后, 将其用以检测目标, 并用RT-MDNet (real-time multi-domain convolutional neural network)算法跟踪目标; 构建出目标的运动轨迹后, 通过OpenPose模型得到轨迹中目标的骨架序列, 最后运用时空图卷积神经网络结合聚类, 充分利用人体关节的时间、空间关系对目标进行异常行为识别.
1 目标运动轨迹构建识别异常行为时, 利用行为序列比利用视觉图像识别准确率更高、鲁棒性更强, 因此, 本文进行了目标运动轨迹构建, 提取目标特征后, 对比视频帧序列的前后帧, 判断候选样本是否为跟踪目标. 轨迹构建过程中, 主要存在3方面误差: 目标快速运动或者目标与镜头距离发生变化时, 目标在视频中的尺寸会发生改变;光照变化、或目标被遮挡时, 跟踪目标会丢失; 随着跟踪时间的变长, 跟踪性能随之下降, 会偏离甚至丢失跟踪目标. 针对以上, 本文改进YOLOv3网络对目标进行检测后, 再通过RT-MDNet跟踪算法对多目标在复杂场景下进行长时间的跟踪.
1.1 基于改进YOLOv3网络的目标检测准确检测目标是构建其运动轨迹的第1步. YOLO网络基于端到端学习直接在网络中提取特征来预测边界框位置及其类别, 流程简单、检测速度快[19, 20]. 基于目标检测实时性与准确性的要求, 利用其对不同尺度目标适应性强的识别优势, 本文采用YOLOv3网络作为主体网络开展对视频中目标的检测, 并依据检测对象的特征优化其参数.
YOLOv3网络以Darknet-53为主体, 与YOLOv2网络的Darknet-19相比, 该网络结构更深, 可有效防止过拟合、提高检测准确率.
将输入标准化到416×416的统一尺寸后, 通过特征提取网络进行5次下采样后得到13×13的特征图. 将其划分为13×13的栅格, 每个栅格预测3个边界框, 预测的输出特征图包含预测框的宽高、中心坐标及置信度. 置信度confidence表示如下:
$ {\textit{confidence}} = Pr\left( {{\textit{Object}}} \right) \times IoU_{{\rm{pred}}}^{{\rm{truth}}} $ | (1) |
其中,
原始YOLOv3网络损失函数中的预测框宽高损失函数, 采用均方误差函数的方法, 没有考虑到重合面积和位置的影响, 因此, 本文作出以下改进:
$ {L_{{\rm{loc}}}} = 1 - IoU_{{\rm{pred}}}^{{\rm{truth}}} + \frac{{{b^2}}}{{{c^2}}} $ | (2) |
其中, b为预测框与实际框中心点间的距离, c为包围预测框与实际框的最小矩形的对角线距离.
本文令识别目标种类仅为人体, 可以直接去掉分类损失函数, 其余函数不变, 经过上述改进后的总损失函数为:
$ Loss = {L_{{\rm{obj}}}} + {L_{{\rm{loc}}}} + {L_{{\rm{conf}}}} $ | (3) |
其中,
1.2 基于RT-MDNet算法的目标跟踪
目标丢失后需要再次搜索并定位时, YOLOv3网络将其当作一个回归问题来处理, 存在难以准确定位异常比例目标的问题. 使图像与输入边界框候选区域间的重合度最大化能够更精确地定位[21], 因此, 本文在YOLOv3网络检测的基础上引入RT-MDNet跟踪算法, 以纠正模型的错误更新.
RT-MDNet跟踪算法将每个视频看作一个独立的域, 外观模型
$ {{{f}}^d} = \left[ {{\varphi ^1}\left( {{{{x}}^d};{{R}}} \right), \cdots , {\varphi ^D}\left( {{{{x}}^d};{{R}}} \right)} \right] \in {\Re ^{2 \times D}} $ | (4) |
其中, D为训练集总数, 第d域的图片
令YOLOv3网络、RT-MDNet跟踪算法的边界框分别为:
$ {{R}}_{{1}}^d = \left( {{x_1}, {y_1}, {\omega _1}, {h_1}} \right) $ | (5) |
$ {{R}}_{{2}}^d = \left( {{x_2}, {y_2}, {\omega _2}, {h_2}} \right) $ | (6) |
两个边界框的重合度为:
$ IoU = \frac{{{{R}}_{{1}}^d \cap {{R}}_2^d}}{{{{R}}_{{1}}^d \cup {{R}}_2^d}} = \frac{{col\_I \times row\_I}}{{{\omega _1} \times {h_1} + {\omega _2} \times {h_2}}} $ | (7) |
其中, 重合部分宽为:
$ col\_I = \left| {\min \left( {{x_1} + {\omega _1}, {x_2} + {\omega _2}} \right) - \max \left( {{x_1}, {x_2}} \right)} \right|\text{ } $ |
重合部分高为:
$ row\_I = \left| {\min \left( {{y_1} + {h_1}, {y_2} + {h_2}} \right) - \max \left( {{y_1}, {y_2}} \right)} \right|\text{ } $ |
则期望目标边界框
运用YOLOv3网络开始检测时, 同步初始化RT-MDNet跟踪算法并计算IoU. IoU大于或等于阈值Y时, 选择RT-MDNet算法的边界框
人体骨架由关节点、骨骼组合而成, 两个人体关节点相连得到一段骨骼. 人体关节点位置会随人体动作而改变, 骨骼角度也会随之发生明显变化. 相对于时空信息、光流信息、时间特征等特征, 人体骨架更能充分表达图像中的人体信息. 根据时间顺序组合人体骨架后得到的人体骨架序列也更符合行为的动态特性, 能准确地描述行为.
骨架提取分为自底向上(bottom-up)、自顶向下(top-down)两种, 前者先在全局进行关键点检测, 再对关键点进行聚类, 这类方法实时性较好; 后者先在图像中检测到目标, 再分别对每个目标进行关节点定位, 这类方法近距离检测效果不佳, 并且随着目标数量的增加, 耗时会呈线性增长. 基于目标检测实时性的要求, 本文采用自底向上的OpenPose模型进行骨架提取.
OpenPose模型通过卷积神经网络直接从视频中提取人体骨骼关节点坐标, 核心是VGG19和部分亲和场PAFs的应用. 整体流程可概括为: 经VGG19网络获得目标的图像特征后, 将图像特征分为两支, 分别预测每个关节点的置信度、亲和度[22, 23].
人体骨架中用于行为识别的人体关节点有14个, 为头、颈、左肩、右肩、左肘、右肘、左腕、右腕、左髋、右髋、左膝盖、右膝盖、左脚踝、右脚踝. OpenPose原理图如图2所示, 其中, F是经过10层VGG19后提取到的目标特征, 置信度向量
$ {{{S}}^1} = {\rho ^1}\left( {{F}} \right) $ | (8) |
$ {{{S}}^t} = {\rho ^t}\left( {{{F}}, {{{S}}^{t - 1}}, {{{L}}^{t - 1}}} \right), \; \forall t \geqslant 2 $ | (9) |
其中,
$ {{{L}}^1} = {\phi ^1}\left( {{F}} \right) $ | (10) |
$ {{{L}}^t} = {\phi ^t}\left( {{{F}}, {{{S}}^{t - 1}}, {{{L}}^{t - 1}}} \right), \; \forall t \geqslant 2 $ | (11) |
其中,
置信度向量的数量与关节点数量一致, 置信度反映了关节点出现在每个像素位置的可能性; 亲和度向量的数量与骨骼段数量一致, 亲和度反映了每一对人体部位的相关性, 即它们是否属于同一个人. 将人体两两关节的最优连接问题转化为最大权值二分图匹配问题, 骨架关节作为二分图中的节点、PAFs作为二分图中边的权值, 利用贪心算法和匈牙利匹配算法, 确定人体各个关节的位置, 使骨架关节和骨骼相连得到完整的人体骨架特征.
OpenPose对多人骨架的检测效果图如图3所示, 轨迹中目标的人体骨架序列为
3 目标异常行为识别
早期基于骨架特征进行行为识别只是在各个时间步骤对其进行时序分析, 忽视了人体关节的空间关系, 导致识别准确率有限. 为提高识别准确率, 本文将图卷积拓展为时空图卷积, 设计用于行为识别的骨骼序列通用表示. 图中包含符合关节连接的空间边、在连续时间中连接相同关节的时间边, 在此基础上构建多层时空图卷积, 沿空间和时间两个维度进行信息整合.
3.1 时空图卷积在一个T帧的有N个关节的骨架序列上构建时空图
给定核大小为
$ {{{f}}_{{\text{out}}}}\left( x \right) = \sum\limits_{h = 1}^K {\sum\limits_{\omega = 1}^K {{{{f}}_{{\text{in}}}}\left( {{{p}}\left( {x, h, \omega } \right)} \right)} } \cdot {{w}}\left( {h, \omega } \right) $ | (12) |
其中, 采样函数
将式(12)中的输入特征图用一个空间图
将空间图卷积拓展到时间域中, 即得时空图卷积. 邻域为
本文将节点i的1邻域划分为3个子集. 第1子集为节点i本身, 第2子集为比节点i更靠近骨架中心的邻节点集合, 第3子集为比节点i更远离骨架中心的邻节点集合, 分别表示了静止、向心运动和离心运动的运动特征. 则:
时空图卷积网络包含9层时空图卷积, 前3层输出64通道、中间3层输出128通道、后3层输出256通道. 4、7层的时间卷积层设为池化层, 每次经过ST-GCN结构后, 将一半的神经元进行dropout处理. 输入的骨架序列数据首先进行正则化, 其次经过全局池化后得到256维特征向量, 最后经Softmax分类后, 可得行为的发生概率.
3.2 聚类设t时刻第m个人的骨架序列在经过时空图卷积网络后决策出来的行为为
对于输入样本xi, 用zi表示编码器的潜在嵌入, 用
$ {p_{iu}} = Pr \left( {{y_i} = u\left| {{{\textit{z}}_i}, \Theta } \right.} \right) = \frac{{\exp \left( {{\mathbf{\theta }}_u^{\text{T}}{{\textit{z}}_i}} \right)}}{{\displaystyle\sum\nolimits_{u = 1}^U {\exp \left( {{\mathbf{\theta }}_u^{\text{T}}{{\textit{z}}_i}} \right)} }} $ | (13) |
聚类的目标是最小化当前模型聚类预测P与目标分布Q之间的KL散度, 即:
$ {L_{{\rm{cluster}}}} = KL\left( {Q\left\| P \right.} \right) = \sum\limits_i {\sum\limits_u {{q_{iu}}\log \frac{{{q_{iu}}}}{{{p_{iu}}}}} } $ | (14) |
目标分布的目的是通过规范化和将每个值逼近0或1来加强当前的集群分配, 将P变换为Q的函数的递归应用最终能得到一个硬赋值向量. 目标分布的每个成员都使用式(15)计算:
$ {q_{iu}} = \frac{{{p_{iu}}\bigg/{{\left( {\displaystyle\sum\nolimits_i {{p_{iu}}} } \right)}^{\frac{1}{2}}}}}{{\displaystyle\sum\nolimits_u {{p_{iu}}} \bigg/{{\left( {\displaystyle\sum\nolimits_i {{p_{iu}}} } \right)}^{\frac{1}{2}}}}} $ | (15) |
用为编码训练集计算的K-means质心来初始化聚类层, 优化是以期望最大化(EM)的方式完成的.
Dirichlet过程混合模型(DPMM)是评价比例数据分布的一种有效方法, 能够在拟合阶段评估一组分布参数、在推理阶段使用拟合模型为每个嵌入样本提供一个评分. 该模型是多模式的, 每个模式代表与一个正常行为相对应的比例, 在测试时, 使用混合模式对每个样本进行对数概率评分.
模型的训练包括两个阶段: 保持网络聚类分支不变的自编码器预训练阶段, 以及对嵌入和聚类进行优化的微调阶段.
在预训练阶段, 模型通过最小化重构损失
在微调阶段, 模型优化了由重构损失和聚类损失组成的组合损失函数. 根据
$ {L_{{\rm{combined}}}} = {L_{{\rm{rec}}}} + {L_{{\rm{cluster}}}} $ | (16) |
本文实验平台, 硬件配置为i7-6700 3.4 GHz CPU、NVIDIA GTX 1080 GPU、64 GB RAM, 软件运行环境为Windows 10 64位, 平台为Python 3.6+OpenCV 3.3.1开源视觉库+TensorFlow 1.8.0开源机器学习框架.
本文选用CUHK数据集进行实验验证. CUHK是一个大规模的人员搜索基准, 由18184张图像、8432个身份组成, 每个图像都存在多个查询人和多个背景人. 图像跨越数百个场景, 并且包括视点、照明、分辨率及遮挡的变化. 该数据集的训练集包含11206幅图像、5532个查询人, 测试集包含6978幅图像、2900个查询人.
4.1 异常行为识别实验本节测试算法对不同环境的鲁棒性, 分别涉及强光、弱光、稀疏和拥挤, 部分实验场景如图4所示, 使用文献[24]中的精确率、召回率作为性能指标, 本文算法在验证集上的检测结果如表1所示.
由表1可知, 强光、稀疏条件下, 本文算法精确率最高; 弱光、拥挤条件下, 本文算法精确率最低. 由精确率降幅可知, 其他条件不变时, 拥挤比弱光造成了更多误检; 而不同情况下召回率差别不大, 表明弱光和拥挤不会造成更多漏检. 原因在于, 弱光或拥挤会导致骨架提取不完整, 拥挤导致遮挡后更易造成骨架提取不完整, 引起较多误检; 正常行为骨架会被误检为异常行为骨架, 但异常行为骨架不会被检测为正常行为骨架, 漏检情况较少. 总体上来说, 本文算法在不同环境下各项性能指标差距不大, 精确率均能达到90%以上, 说明算法具有较好的鲁棒性.
4.2 对比实验
利用光流法[5]、Motion Instability[25]、支持向量机[26]和马可科夫随机场[27]等方法进行异常行为识别, 并与本文算法的识别结果相比较, 表2为实验结果.
由表2可知, 进行异常行为识别时, 本文算法性能最优. 原因在于, Motion Instability基于轨迹计算运动不稳定性来判别异常行为, 遮挡严重时, 难以准确跟踪; 光流法忽略了运动目标在时间上的动态关联信息, 采用的是迭代的求解计算方法, 需要的计算时间比较长, 且受噪声影响较大; 支持向量机法在有遮挡的情况下特征选取比较困难, 且不适用于多人突发事件的环境; 马尔科夫随机场只能反映目标在方向、速度大小上的简单变化, 在复杂运动场景中, 识别精确率不高. 实验结果表明, 本文算法具有较好的异常行为识别性能.
5 结束语为解决现有算法易受环境影响, 不能实时、准确地识别异常行为的问题, 文中提出了一种基于骨架序列提取的异常行为识别算法. 用改进损失函数后的YOLOv3网络检测目标, 并通过RT-MDNet算法对其跟踪, 得到目标的运动轨迹后, 利用OpenPose提取目标的骨架序列, 最后应用时空图卷积神经网络结合聚类对异常行为进行识别. 实验结果表明, 本文算法能端到端地识别人员的异常行为, 识别精确率达94%、处理速度达18.25 fps, 满足实时性、准确性和鲁棒性的要求.
[1] |
Li H, Lu MJ, Hsu SC, et al. Proactive behavior-based safety management for construction safety improvement. Safety Science, 2015, 75: 107-117. DOI:10.1016/j.ssci.2015.01.013 |
[2] |
Guo HL, Yu YT, Skitmore M. Visualization technology-based construction safety management: A review. Automation in Construction, 2017, 73(3): 135-144. DOI:10.1016/j.autcon.2016.10.004 |
[3] |
安妙, 孔英会, 沈辉, 等. 基于深度学习的行为识别及在电力系统的应用. 电力科学与工程, 2019, 35(3): 59-65. DOI:10.3969/j.ISSN.1672-0792.2019.03.009 |
[4] |
朱红岷, 戴道清, 李静正. 基于图像处理的变电站视频智能分析研究. 计算机工程与应用, 2018, 54(7): 264-270. DOI:10.3778/j.issn.1002-8331.1611-0212 |
[5] |
Rao AS, Gubbi J, Marusic S, et al. Crowd event detection on optical flow manifolds. IEEE Transactions on Cybernetics, 2016, 46(7): 1524-1537. DOI:10.1109/TCYB.2015.2451136 |
[6] |
Fuse T, Kamiya K. Statistical anomaly detection in human dynamics monitoring using a hierarchical Dirichlet process hidden Markov model. IEEE Transactions on Intelligent Transportation Systems, 2017, 18(11): 3083-3092. DOI:10.1109/TITS.2017.2674684 |
[7] |
杨天明, 陈志, 岳文静. 基于视频深度学习的时空双流人物动作识别模型. 计算机应用, 2018, 38(3): 895-899, 915. DOI:10.11772/j.issn.1001-9081.2017071740 |
[8] |
Ren SQ, He KM, Girshick R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149. DOI:10.1109/TPAMI.2016.2577031 |
[9] |
Qiu ZF, Yao T, Mei T. Learning spatio-temporal representation with pseudo-3D residual networks. Proceedings of 2017 IEEE International Conference on Computer Vision. Venice: IEEE, 2017. 5534–5542.
|
[10] |
Zhang SY, Yang Y, Xiao J, et al. Fusing geometric features for skeleton-based action recognition using multilayer LSTM networks. IEEE Transactions on Multimedia, 2018, 20(9): 2330-2343. DOI:10.1109/TMM.2018.2802648 |
[11] |
刘庭煜, 陆增, 孙毅锋, 等. 基于三维深度卷积神经网络的车间生产行为识别. 计算机集成制造系统, 2020, 26(8): 2143-2156. DOI:10.13196/j.cims.2020.08.015 |
[12] |
Cao CQ, Lan CL, Zhang YF, et al. Skeleton-based action recognition with gated convolutional neural networks. IEEE Transactions on Circuits and Systems for Video Technology, 2019, 29(11): 3247-3257. DOI:10.1109/TCSVT.2018.2879913 |
[13] |
Liu J, Shahroudy A, Xu D, et al. Spatio-temporal LSTM with trust gates for 3D human action recognition. Proceedings of the 14th European Conference on Computer Vision. Amsterdam: Springer, 2016. 816–833.
|
[14] |
Sainath TN, Vinyals O, Senior A, et al. Convolutional, long short-term memory, fully connected deep neural networks. Proceedings of 2015 IEEE International Conference on Acoustics, Speech and Signal Processing. South Brisbane: IEEE, 2015. 4580–4584.
|
[15] |
Liu J, Wang G, Duan LY, et al. Skeleton-based human action recognition with global context-aware attention LSTM networks. IEEE Transactions on Image Processing, 2018, 27(4): 1586-1599. DOI:10.1109/TIP.2017.2785279 |
[16] |
Wang LM, Xiong YJ, Wang Z, et al. Temporal segment networks: Towards good practices for deep action recognition. Proceedings of the 14th European Conference on Computer Vision. Amsterdam: Springer, 2016. 20–36.
|
[17] |
Tang YS, Tian Y, Lu JW, et al. Deep progressive reinforcement learning for skeleton-based action recognition. Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018. 5323–5332.
|
[18] |
Yang HY, Gu YZ, Zhu JC, et al. PGCN-TCA: Pseudo graph convolutional network with temporal and channel-wise attention for skeleton-based action recognition. IEEE Access, 2020, 8: 10040-10047. DOI:10.1109/ACCESS.2020.2964115 |
[19] |
Qian HF, Zhou X, Zheng MM. Detection and recognition of abnormal behavior based on multi-level residual network. Proceedings of 2019 IEEE 4th Advanced Information Technology, Electronic and Automation Control Conference. Chengdu: IEEE, 2019. 2572–2579.
|
[20] |
包志强, 邢瑜, 吕少卿, 等. 改进YOLO V2的6D目标姿态估计算法. 计算机工程与应用, 2021, 57(9): 148-153. DOI:10.3778/j.issn.1002-8331.2001-0367 |
[21] |
牟清萍, 张莹, 张东波, 等. 目标丢失判别机制的视觉跟踪算法及应用研究. 计算机工程与应用, 2021, 57(9): 140-147. DOI:10.3778/j.issn.1002-8331.2001-0346 |
[22] |
Markovitz A, Sharir G, Friedman I, et al. Graph embedded pose clustering for anomaly detection. Proceedings of 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020. 10536–10544.
|
[23] |
Yan SJ, Xiong YJ, Lin DH. Spatial temporal graph convolutional networks for skeleton-based action recognition. Proceedings of the 32nd AAAI Conference on Artificial Intelligence. New Orleans: AAAI Press, 2018. 7444–7452.
|
[24] |
Powers D. Evaluation: From precision, recall and F-measure to ROC, informedness, markedness and correlation. Journal of Machine Learning Technologies, 2011, 2(1): 37-63. |
[25] |
Xie SY, Guan YP. Motion instability based unsupervised online abnormal behaviors detection. Multimedia Tools and Applications, 2016, 75(12): 7423-7444. DOI:10.1007/s11042-015-2664-8 |
[26] |
杨志芳, 李乾. 基于骨骼关键点的异常行为识别及异构平台部署. 自动化与仪表, 2021, 36(11): 49-52. DOI:10.19557/j.cnki.1001-9944.2021.11.011 |
[27] |
Xing ZY. Driver’s intention recognition algorithm based on recessive Markoff model. Journal of Intelligent & Fuzzy Systems, 2020, 38(2): 1603-1614. DOI:10.3233/JIFS-179524 |