联合加权重构轨迹与直方图熵的异常行为检测
2018-11-05徐志通骆炎民柳培忠
徐志通,骆炎民,柳培忠
近年来,社会存在诸多潜在的安全问题,一旦发生必会引起严重的社会后果。而在安全问题发生之前,运动目标在行为上会表现出不同程度的异常,因此,及时识别异常行为对防止潜在危险的发生具有重要的现实意义[1-2]。随着公众对社会安全要求的日益增加,异常行为检测技术成为了计算机视觉的新兴研究方向,广泛应用于智能监控[3-4]、医学诊断、运动分析等领域,并受到国内外研究学者的广泛关注。Jiang等[5]采用上下文感知方法来检测异常,通过跟踪获取行人运动轨迹,并与正常行为轨迹进行比较,将偏离较大的轨迹视为异常,该方法依赖于获取目标轨迹的跟踪算法,因此无法长时间适应视觉上下文的变化;Bouttefroy等[6]对运动轨迹的相关特征进行提取,并通过估计概率分布模型来识别异常行为,该方法需要准确获取行人运动轨迹,若发生遮挡便容易丢失目标,应用具有较大的局限性;Zhao等[7]提出一种完全无监督的动态稀疏编码方法来检测异常事件,由于正异常行为样本分布的不平衡,导致对行人异常行为的识别效果较差;Lu等[8]提出稀疏组合学习框架,提取视频底层特征,通过学习正常行为的表示方式来区分异常,该方法需大量正常行为作为正样本进行训练,无法达到实时性检测;Li等[9]通过采用轨迹稀疏重构分析方法对行人异常行为进行检测,该方法对不同尺寸样本均能达到良好的检测性能,但受控制点参数的影响,也无法满足实时性要求。
本文提出一种联合加权稀疏重构轨迹与直方图熵的异常行为检测算法。该算法对运动轨迹进行训练,构造正常行为字典,同时对测试行人轨迹进行稀疏重构作为轨迹特征,并计算幅值方向直方图熵作为熵特征。通过对异常行为多特征进行联合加权,实现对异常行为的检测。虽然本文算法在时间上也无法达到实时性要求,但在复杂场景中可以实现更加精确的异常行为检测率。
1 行人检测
1.1 运动目标检测
本文采用背景相减法对运动目标进行检测,其关键在于对背景的建模,考虑到存在天气、光照及树叶摆动等引起的前景像素变化,需要对背景进行实时动态更新,图1为运动前景提取流程图。
1.1.1 背景建模
常用背景建模方法[10]包括混合高斯建模[11]、码本建模[12]、双背景建模[13]及均值建模[14-15]等。均值建模法是将当前遍历到的所有帧像素值取平均作为背景的估计,由式(1)表示:
该建模方法在监控设备固定的情况下,能较完整地从视频中获取背景模型。因此,本文通过融合均值背景结合双边滤波法对背景进行建模。
图1 运动前景提取流程图Fig. 1 The flow chart of moving foreground extraction
1.1.2 背景更新
为了降低光照、天气等对运动像素变化的影响,需对背景进行动态更新,本文采用分块分类[16]的背景更新算法,具体的更新过程如式(2)所示:
算法通过计算当前帧与前一帧背景对应点像素值的绝对差,若小于给定的阈值,认为是由光照、天气等因素带来的细微变化,便将当前像素点设置成当前背景像素点,提供给下一帧考虑;若绝对差超出给定阈值,则认为当前帧中存在运动的物体,便结合前一帧背景,前一帧图像和当前帧图像来对当前帧背景进行更新。
1.1.3 运动前景提取
获得更新的背景模型之后,对当前帧与当前背景模型进行差分操作,提取当前存在运动的像素点形成二值图像,通过选取适当的阈值去除由非运动目标带来的像素值的细微变化,并进行相应的形态学处理,从而提取感兴趣的运动前景,提取过程可表示为式(3):
图2 运动前景检测图Fig. 2 Moving foreground detection results
1.2 行人识别
由于本文研究的异常行为检测是基于室外环境的,为保证运动前景只含行人,需要从复杂运动前景中区分行人与其他运动目标,并对行人进行跟踪获取运动轨迹,实现进一步的异常行为识别。
在监控设备固定的情况下,若只考虑直立行走的行人,而刚性车辆不易发生形变,因此选择外接矩形高宽比作为主要特征以区分行人与车辆,图3中(a)、(b)分别表示车辆和行人的外接矩形框。
图3 外接矩形框Fig. 3 External rectangle box
表 1 和的数值分布Table 1 Numerical distribution of and
表 1 和的数值分布Table 1 Numerical distribution of and
帧数 27 2.67 0.71 64 1.92 0.86 97 2.41 0.62 138 3.24 0.49 182 2.53 0.83 251 2.99 0.57
图4 行人识别效果图Fig. 4 Pedestrian recognition results
2 行人跟踪
时空上下文(STC)算法通过对行人目标及相应场景中局部上下文区域的时空关系进行建模,并统计相应的低阶特征,通过结合时空上下文信息,实现对行人目标的跟踪,行人跟踪可视为对目标置信度图的求解过程。
对式(8)进行快速傅里叶变换,再进行傅里叶反变换,便可得到目标与局部上下文之间的时空关系,即空间上下文模型,如式(9)所示:
基于STC算法在处理目标部分遮挡时的优越性,为了进一步解决跟踪过程中目标被短时完全遮挡及目标旋转的问题,本文在STC算法基础上融入卡尔曼滤波器及HOG特征。
图5为当行人存在完全遮挡时,采用4种算法进行行人跟踪的结果对比图。从图中可以看出,当目标未发生完全遮挡时,本文算法与文献[17]算法,文献[18]算法和文献[19]算法在跟踪效果方面相差不多;一旦被跟踪的行人目标被完全遮挡,即从(a)中的#154和(b)中的#183开始,本文算法的跟踪效果比其他3种算法更加准确,而且更加鲁棒。
这是因为在通过STC算法预测下一帧目标质心位置之前,本文算法将当前帧的质心位置作为卡尔曼滤波算法起始位置,并结合目标HOG特征,对目标下一帧的质心位置进行最佳预测,有效地提高行人跟踪精度,具体跟踪精度对比如图6所示。
图5 视频序列跟踪结果图Fig. 5 Video sequence tracking results
图6 视频序列跟踪精度图Fig. 6 Video sequence tracking precision results
3 行人异常行为检测
在实际监控场景中,对行人异常行为的检测主要是通过对行人运动轨迹进行分析,或采用运动幅值方向直方图熵进行判别。文献[20]通过引入轨迹稀疏重构分析,提出最小二乘三次样条曲线逼近方法检测异常行为,该方法检测性能受控制点参数的影响;文献[21]提出基于幅值的加权方向直方图描述行为,计算运动区域内直方图熵来判断行为的异常,该方法可较好地反映异常行为的发生,但单一特征无法满足高精度的异常行为表达。
为了解决最小二乘三次样条曲线逼近方法受控制点参数的影响,本文提出一种控制点参数自适应的方法对行人运动轨迹进行表示。并通过加权考虑行人运动轨迹的稀疏重构残差和幅值方向直方图熵等多种特征,对人体行为进行多种表达,从而有效提升行人异常行为的检测率。
3.1 控制点参数自适应的运动轨迹表示
根据本文跟踪算法获取一组行人运动轨迹,由于视频中行人出现的帧数不同,因此运动轨迹可视为由不同长度的坐标序列组成。对于时空轨迹序列{,本文采用自适应曲线}控制点以参数化的方式来表示轨迹的形状和时空特征,以提取定长参数向量对轨迹进行表示。其中为控制点个数,与分别为第个控制点的归一化横纵坐标,t为轨迹长度。
并通过式计算自适应的控制点参数,使原始轨迹与其近似轨迹之间的误差平方和达到最小,从而对行人运动轨迹进行有效表示
图7显示了正/异常行为运动轨迹样本及特征表示,其中左侧为运动轨迹样本图,右侧为相应的特征表示图。
图7 正常/异常轨迹表示Fig. 7 Trajectory representation of normal/abnormal
3.2 基于幅值方向直方图的异常行为表示
本文将行人异常行为定义为运动幅度变化大、运动方向不一致的一些不规则行为,如打斗、抢劫等,这些行为都具有运动速度快、方向紊乱等特征。由于行人运动幅值方向直方图[23]具有旋转平移不变性,能够很好地反映出行人动作的幅度大小,直方图熵能够反映运动方向的混乱程度,因此可采用幅值方向直方图熵对异常行为进行表示。
首先将运动轨迹分成8个子区域,以每45°作为一个区域边界,对于行人运动轨迹上的每一个点,分别根据式(17)计算每个轨迹点的切线方向属于哪个子区域中,若某个运动轨迹的所有点的切线方向均稳定处于少量几个子区域,则该运动轨迹为正常行为的概率更大,而如果某运动轨迹的所有切线方向占了绝大部分的子区域,说明该运动轨迹更加紊乱,更有可能为异常行为所产生的运动轨迹。
对于打架、抢劫等剧烈运动,通过计算基于幅值的加权方向直方图可有效抑制由噪声造成的小范围方向混乱,实现更好的异常行为识别,假设第帧的直方图模型如式(18)所示,
针对实验选取了部分视频序列进行幅值方向直方图的计算,与正常行为相比,异常行为往往具有运动幅度较大的特点,因此当某区域存在异常行为时,该区域的运动幅值偏大,而且方向比较混乱,而正常行为则运动幅度小,方向比较一致。其中正常行为与异常行为的加权幅值方向直方图的实验结果如图8所示。
图8 加权幅值方向直方图Fig. 8 Weighted amplitude direction histogram
3.3 加权重构轨迹与直方图熵的异常行为检测
基于室外监控场景,对于行人异常行为的检测,本文通过计算待检测运动轨迹与正常行为轨迹字典的稀疏重构残差,同时考虑加权幅值方向直方图熵值,结合行人运动的多种特征,实现对行人异常行为的高精度识别。
3.3.1 正常行为字典建立
在真实监视场景中,正常运动轨迹的训练样本集合非常大,因为绝大多数人的行为都是正常的,而异常运动轨迹的训练样本却很小,因此学习正常行为字典具有高计算复杂度。以文献[24]为基础,采用式(19)定义一种分层框架学习字典的数学模型。
对于某层任一数据点,通过与上层字典原子的关系预先规划下层可预选编码路径及激活原子,随着分层学习字典层数的增加,由于相似数据点选择的原子具有多样性,因此在定义下层字典时,原子数目选择为上一层的2倍。
具体正常行为字典训练过程如算法1所示。
算法1 行为字典树结构学习算法
输入 跟踪获取的行人时空运动轨迹序列T;
2) 学习第1层字典。基于文献[25],学习作为第1层训练字典,构建数据点与原子之间的稀疏矩阵并更新,满足条件时停止迭代优化;
5) 迭代条件判断。若行为字典训练的树结构层数未达到,则重复步骤3)与4)。
通过充分考虑相邻层之间原子的父子节点关系,为每层建立一个子字典,将下层原子与上层相互关联。随着层数的增加,正常行为轨迹的特征可实现由模糊特征到细节特征的变化,该训练算法能有效解决传统字典学习中原子关联缺失的问题。
3.3.2 稀疏重构运动轨迹
通过激活与给定输入轨迹相似度高的少量样本,使整个系数向量保持稀疏。稀疏重构[26]是将待检测的行人轨迹通过正常行为字典中的行人轨迹以一个稀疏向量进行表示,具体表示如式(20)所示:
由于正常行为字典中的行人运动轨迹帧数与待检测运动轨迹帧数可能不一致,因此在对运动轨迹进行稀疏重构之前,需要对帧数较多的运动轨迹进行截取,保证正常行为字典中选择的运动轨迹与待检测的行人运动轨迹具有相同的帧数。若待检测的运动轨迹能够在正常行为字典中找到少量相似度高的轨迹进行表示,此时稀疏向量中存在少量接近数值1的向量值,而当待检测的运动轨迹在正常行为字典中找不到相似度高的轨迹进行表示,此时稀疏向量中存在大量接近数值0的向量值。所以无论待检测的行人轨迹为正常行为或是异常行为,都满足稀疏重构时的稀疏性。
L1范数不仅可以尽可能地近似表示待检测轨迹,而且能够在正常字典中样本较少的情况下对稀疏系数进行高效求解。当然,对于稀疏系数而言,与数值0的差值越大,表明待检测运动轨迹与正常行为字典中的轨迹越不相似,因此,为了充分表现出相似值大小对最优的影响,采用迭代加权L1范数计算稀疏系数,计算公式如式(21)所示:
3.3.3 直方图熵
运动信息熵[27]可用来描述行为方向的紊乱程度,因此通过计算区域内直方图熵可以更准确地对异常行为进行描述,首先计算每个区域直方图的熵值,计算过程如式(22)所示。
图9为不同视频段直方图熵的变化曲线,其中细实线表示检测结果为正常行为,粗实线表示检测结果为异常行为。从图中可与看出,视频1共272帧,第122~150帧之间发生异常;视频2共275帧,第107~209帧之间发生异常。
图9 直方图熵的变化曲线Fig. 9 Curves of histogram entropy variation
3.3.4 联合加权重构轨迹与直方图熵
表 2 权重与 的选取值Table 2 The selected values of weight and
表 2 权重与 的选取值Table 2 The selected values of weight and
精度/%0.05 0.95 76.7 0.10 0.90 78.9 0.15 0.85 81.8 0.20 0.80 83.4 0.25 0.75 85.0 0.30 0.70 86.7 0.35 0.65 88.3 0.40 0.60 87.6 0.45 0.55 85.2 0.50 0.50 81.0 0.55 0.45 82.1 0.60 0.40 83.5 0.65 0.35 81.6 0.70 0.30 82.2 0.75 0.25 80.5 0.80 0.20 82.7 0.85 0.15 84.3 0.90 0.10 81.1 0.95 0.05 79.3
图10 权重选取不同值时的异常行为检测精度图Fig. 10 Abnormal behavior detection accuracy graph when weight select different values
4 实验与结果分析
实验所用机器为Microsoft Windows 10 Professional操作系统;3.30 GHz, Intel Core i5-6600处理器;4 GB内存;Intel HD Graphics 530显卡;使用Matlab R2014a和Microsoft Visual Studio 2013开发平台对算法进行实现。
4.1 实验数据集
采用中国科学院自动化研究所模式识别实验室(http://www.cbsr.ia.ac.cn/china/Action%20Database 20CH.asp)提供的CASIA行为分析数据集进行实验,该视频集由室外环境下3个不同视角的摄像机拍摄而成,CASIA共有1 446段视频数据,每段视频含有200~300帧不等,帧大小为320×240,其中多人交互行为包括抢劫、打斗、尾随等。
假设一般情况下,拍摄到的行人行为是正常的,异常行为设定为出现打斗、抢劫画面的情况,如图11所示。
图11 CASIA数据集的异常行为Fig. 11 Abnormal behavior of CASIA dataset
4.2 评价标准
考虑到正异常行为分布的不平衡性,若仅采用单一评价标准无法较好的分析模型检测性能。实验通过检测精度、错误率和曲线3个评价指标对结果进行衡量。假设某时刻发生异常,若被检测为异常称为,未被检测为异常称为;假设某时刻未发生异常,若被检测为异常称为,未被检测为异常称为。
4.3 实验结果分析
对监控视频中的行人打斗、抢劫两种异常行为进行检测,本实验分别在打斗视频和抢劫视频中进行测试,以打斗异常为例,检测结果如图12所示。
图12 异常行为检测结果图Fig. 12 Abnormal behavior detection results
此处采用混淆矩阵对本文算法在打斗视频及抢劫视频中的结果进行统计,统计结果如表3~4。
表 3 打斗视频中行为统计结果Table 3 Results of the behavioral statistics in the fight video
表 4 抢劫视频中行为统计结果Table 4 Results of the behavioral statistics in the rob video
表3为本文算法在打斗视频中的行为统计结果,当出现行为发起者双方位置顺序发生调换且运动熵很大时,打斗行为被误认为是抢劫行为,共错检9帧;在打斗过程中,出现两者无交互行为的瞬间,被误认为是正常行为,该情况共出现17帧。当两者均在跑动时,此时运动熵很大,且轨迹也是交错的,该种正常行为被误检为打斗异常,共8帧。
表4为本文算法在抢劫视频中的行为统计结果,当抢劫者加速夺过物品,但未超过被夺者的位置,被误检为打斗行为,共4帧;在抢劫者加速跑向被夺者,但尚未抓住行李时的正常行为,被误认为抢劫行为,共4帧。
为验证本文算法对行人异常行为检测的优越性,通过与基于轨迹稀疏重构分析[20],基于幅值加权方向直方图熵[21],基于角点历史信息[28]、基于矩阵近似[29]及基于加权样本选择与主动学习[30]的异常行为检测算法进行对比,此处将算法[20-21,28-30]分别表示成SRA算法、E-AWOH算法、CHI算法、MA算法和MCLU算法,将本文算法记为WSRTWHE算法,实验对打斗和抢劫视频中的异常行为进行检测,检测精度对比图如13(a)、13(b)所示,具体检测精度和错误率数据见表5和表6。
图13 异常行为检测精度图Fig. 13 Abnormal behavior detection precision results
通过分析检测精度图可得,CHI算法充分利用了图像的时空信息,并且克服了场景光照影响,但对于存在遮挡时,跟踪获得的运动轨迹不清晰,对异常行为的判断影响较大,因此检测精度较低,对于抢劫异常更为明显,仅达51.72%;SRA算法通过对跟踪轨迹进行线性重构,并根据其与正常行为字典集的稀疏重构系数及重构残差来判断行为是否异常,该方法可用于较小行为字典集,但检测性能受控制点参数的影响,固定个数控制点导致检测性能无法达到最佳,在抢劫异常中,仅76.71%;MCLU算法在选取不确定样本时考虑到样本的多样性,并通过一个权重值解决数据不平衡问题,该方法在视频监控异常行为检测中取得较好的效果,达79.17%,但权值的选择问题仍然有待解决;MA算法使用低秩矩阵近似对行为模式进行建模,根据与模型子空间的运动偏差来识别异常的行人行为,但该方法的检测效果依赖于运动偏差阈值的定义;E-AWOH算法通过计算区域内运动幅值直方图熵来描述行为混乱程度,无需精确轨迹便可较准确的检测出行人异常,对于抢劫异常,可达到81.26%。
本文算法对于跟踪过程中存在遮挡时,跟踪丢失导致轨迹紊乱的情况,通过结合卡尔曼滤波器和HOG特征,可精确获取受短时遮挡目标的运动轨迹,有效解决CHI算法跟踪轨迹不清晰的问题;在对轨迹进行表示时,提出自适应的控制点参数选择,有效解决SRA算法中受控制点个数的影响。本文算法的联合加权思想来自于MCLU算法,通过考虑目标运动的多种特征对人体行为进行描述。相比MA算法、E-AWOH算法,本文方法可有效提升行人异常行为的检测精度,在打斗异常及抢劫异常中分别实现了92.79%和84.62%的检测精度。
分析表5和表6可知,对于异常打斗和异常抢劫行为的检测,本文算法在检测精度方面达到最佳,尤其对于打斗行为的检测,高达92.79%;在检测错误率方面,本文算法略低于其他方法2%~5%,说明本文算法在检测行人交互中出现的行人打斗和抢劫等异常行为时具有较好的鲁棒性。
表 5 打斗视频实验对比结果Table 5 Comparison experiment results in the fight video %
表 6 抢劫视频实验对比结果Table 6 Comparison experiment results in the rob video%
针对打斗与抢劫视频中的异常行为检测,ROC曲线图如图14所示,分析ROC曲线图可得出,本文算法相比于5种对比算法,在两组异常行为的检测过程中,检测精度与错误率之间可以达到更好的平衡。
图14 异常行为ROC曲线图Fig. 14 Abnormal behavior ROC curve
基于学习的方法对特征要求很高,针对视频中行人发生异常时存在遮挡的问题,该类方法检测效果不佳。本文通过时空上下文算法结合卡尔曼滤波器和HOG特征,有效解决了异常发生时目标被遮挡的问题。在目标存在遮挡的监控场景中,实现有效的检测和跟踪,可获取更加清晰的运动轨迹,采用自适应控制点参数对运动轨迹进行表示,同时结合运动幅值直方图熵,实现对目标运动的详细描述,从而满足于进一步对异常行为的研究。
5 结束语
本文针对存在完全遮挡时,运动目标跟踪易产生漂移的问题,在时空上下文的基础上,融入卡尔曼滤波器及HOG特征,对于短时间内完全遮挡的行人具有较好的跟踪效果。通过自适应选择控制点参数对运动轨迹进行表示,同时考虑到目标运动直方图熵,本文提出一种联合加权稀疏重构轨迹与幅值方向直方图熵的行人异常行为检测方法,在识别行人交互中存在的打斗和抢劫异常时,检测率可达92%以上。但本文方法仍存在一些不足,比如在获得幅值方向直方图时,需计算轨迹上每个点所在子区域范围,计算过程复杂,且无法达到实时性要求,对于时间性能的提升将是下一步研究的重点。