关键帧结合幅值直方图熵的异常行为检测算法∗

2019-10-08 07:12王燕妮雒津津王殿伟
计算机与数字工程 2019年9期
关键词:关键帧直方图幅值

王燕妮 雒津津 王殿伟

(1.西安建筑科技大学信息与控制工程学院 西安 710055)(2.西安邮电大学通信与信息控制工程学院 西安 710199)

1 引言

随着社会的不断发展,治安问题日趋复杂多样,给公共安全带来了极大伤害,造成社会动荡不安,因此,智能监控系统逐渐成为人们关注的焦点。由于传统的监控系统“只记录不分析”,主要依靠值班人员人工实时观看监控视频,对多路视频观看存在着注意力有限、视觉疲劳以及责任心等问题,经常发生漏检而不能在案发第一时间提供预警,因此,对监控视频中异常行为[1~4]的自动化智能检测显得极为重要。

目前异常行为检测常见的方法分为以下三类:1)采用简单的几何模型对人体进行描述的方法,如Zheng[5]提出的6个极点和质点所构成人体机构模型,Ben-Arie[6]采用椭圆模型,用 10 个二维椭圆对人体运动过程中产生的椭圆位置信息进行描述,Chen[7]等人提出了二维人体骨架模型,采用14个关节点和17条线段对人体结构进行描述等。这类方法通过预先对人体跟踪获得人体各部位的运行,最终完成人体建模,区分行为。2)基于时变数据匹配的状态空间法,该类方法将不同的静态行为定义为状态,将运动序列看做是不同状态之间的一次遍历过程,并在遍历过程中计算联合概率的大小,将最大值作为分类的标准。此类方法中最典型的就是隐马尔科夫模型[8]和贝叶斯方法[9]。3)提取人体运动特征的方法[10~11],如运动方向、速度、轨迹、角度、位置等,以此来区分不同的行为。现有的这三类方法是对特定行为进行建模、训练,均要预先学习,存在局限性较大、检测精度不高等问题。为此,本文在现有人体特征提取的方法上通过分析人体运动特征和关键帧之间的关系,提出了一种关键帧结合幅值直方图熵的检测方法,通过提取运动目标的幅值加权方向角并以自适应的无监督聚类方法得到关键帧,利用幅值加权方向角的熵值判断运动目标的不同状态,此方法降低了误检率,提高了检测效率。

2 运动目标的提取

2.1 VIBE算法

传统的目标提取算法中,帧差法是对相邻视频帧做时间差分运算,并对运算结果进行阈值分割以获得运动区域,当运动目标运动速度较为缓慢时,很难精确地检测出目标,且检测出的目标会出现空洞现象,导致检测、跟踪失败。为了解决这些问题,Barnich[12~13]等提出了一种像素级的背景提取算法(Visual Background Extractor,VIBE),它采用了随机更新策略,首先为每一个像素建立一个N个元素的集合,这些集合构成运动检测的背景模型。用待测像素与集合中的元素做绝对值差,当M个元素小于设定的阈值时,则该点是背景点。确定该点为背景点时,更新该点所在的背景集合,并随机在该点所在区域内选择一个像素,更新相应的集合元素。这种方法提取运动目标具有背景减除速度快、运动目标检测精度高、抗干扰、计算量小、耗时短等优点,因此本文利用VIBE对视频序列进行处理来获取运动目标。

图1是采用VIBE算法和帧间差分法对图像序列进行的背景提取效果图,由图可知,即使是不太清晰的灰度图,VIBE算法的背景去除效果仍然很好,而帧差法并不能完整地提取运动目标。

图1 前景提取算法比较图

2.2 运动区域标记

提取出运动目标后,经过膨胀、腐蚀、开闭运算的形态学处理,可以得到较为完整的运动目标,如图2(b)。紧接着去除面积较小的区域,采用最近邻法进行标记。

式中:p=1,2,…,M,q=1,2,…,Z。将第 i帧第M个区域与上一阵中Mahalanobis距离最短的区域相关联,实现区域标记,如图2(c)。区域标记为分析不同的运动区域提供了便利。

图2 运动区域标记

3 关键帧提取

关键帧[14]是以少量的视频帧数反应图像序列内容发生明显变化的帧。海量的视频中包含大量复杂的信息,为了节省时间,方便快捷地提取我们需要的信息对视频理解、分析,关键帧的获取显得尤为重要。本文主要以跟随、奔跑和打架这三种特定的人体行为做研究对象,通过提取关键帧的方法实现对异常行为的自动检测。针对现有的关键帧算法存在计算量大,阈值选择困难的问题,本文提出一种基于改进的无监督聚类并结合幅值加权方向角特征的关键帧提取方法,首先,采用vibe算法建立背景模型,提取出运动目标并标记出运动区域,然后选取一种计算稀疏光流的算法(Lucas-Kanade,LK)[15]求解运动目标的运动方向角特征,最后,以加权运动幅值角为主要特征,采用自适应的无监督聚类算法对其进行聚类处理,提取出关键帧。

3.1 运动目标特征提取

光流计算是对视频中每一帧图像的整幅图像提取光流场,运算量极为庞大。为了减少计算量,本文仅对运动目标区域计算光流,选取LK光流算法,并将运动的方向通过公式(2)换算成角度,转换后的结果如下:

式中u(i,j)、v(i,j)分别表示垂直和水平方向的光流分量,θ(i,j)表示运动角度。衡量运动剧烈程度的另一个重要指标为运动速度幅值,像素点运动速度幅值较大,则动作幅度也较大,因此,幅值可作为方向角的一个加权系数。本文选择幅值加权的方向角作为关键帧提取的主要特征量,运动方向的范围为360。,一般将其分为n个区间,用来统计n个区间内个运动区域各个点的运动角度范围。为了减少运算量,在满足运动计算精度要求的基础上,本文将运动方向分为12个区间,每个区间为30°。

3.2 改进的自适应无监督聚类算法步骤

自适应无监督聚类算法可以根据视频的复杂程度提取不同的关键帧,克服了传统K-均值聚类只能提取固定数目的关键帧,而且还必须人工预先设定聚类中心和聚类数目的不足。所以本文采用改进的自适应无监督聚类算法,解决了一般无监督聚类必须做大量实验才能预先设定一个阈值的不足。

1)自动选取阈值

阈值T的选取公式为

式中N为视频的总帧数;c为常数,这里取0.1。自动选取的阈值能有效地克服在对运动量比较少的视频镜头进行关键帧提取时出现的冗余问题。

2)初始化。获取第一帧 f1并把它划分到簇ω1中,f1作为簇ω1的聚类中心,簇个数Nc=1。

3)获取下一帧 fi,直到最后一帧为止。

4)根据计算帧 fi和所有的簇ω1(k=1,2,…,Nc)的聚类中心之间的相似距离dist(fi,ωck),其中ωck为簇ωk的聚类中心。

6)Nc=Nc+1,形成一个新的簇,把帧 fi划分到新簇ωNc中。重新计算聚类中心:新的聚类中心为该簇中所有帧之和除以该簇中帧的数目,转到步骤3)。

聚类结束时,可选取关键帧,从每一个聚类中提取距离聚类中心最近的帧作为该聚类的代表帧,上述所有代表帧即为视频镜头的关键帧。

3.3 关键帧提取结果

采用改进的自适应无监督聚类算法来获取视频的关键帧,其中CASIA行为数据库中的3种人体行为的关键帧数目如下表1所示。

表1 人体行为关键帧数量

4 改进的无监督聚类及幅值方向直方图熵的异常行为检测分析

本文以幅值方向直方图熵值作为人体不同行为的总特征,实现异常行为检测。将聚类获取的关键帧图像中运动目标的方向角作为幅值直方图上的输入,因为方向直方图在空间上忽略了幅值强度的影响,因此,引入了幅值强度这个衡量标准,设区域R的方向直方图模型为

m为直方图区间个数,其中,t表示第t帧。本文取m=12,区间大小为30。

改进的直方图加入了幅值对方向角的影响,对噪声产生的小范围方向角混乱得到了有效的抑制,更好地反映运动目标的特征,定义直方图的熵为

EHt越大表明区域内光流特征方向杂乱且有多个主运动趋势,从而得出该区域内运动混乱。取分别代表上下半身运动的熵值,由于上半身行为较为有序,下半身行为在发生异常的时候较为无序,因此计算两个熵值。经验证,状态和数目不同的目标,其熵值所呈现的状态不一致,因此可以区分不同的行为。

5 实验结果与分析

实验在W indows7环境下验证所提出的异常行为检测算法,采用CASIA行为数据库验证,该行为数据库是在室外环境下分布于三个不同视角(平时、斜视和俯视)未标定的摄像机采集而成,多人交互行为中,每类行为有24位受测者,每位出现4次,该数据库共计1446个AVI视频,每个文件持续时间因行为类别而不同,从5s到30s不等,文中对跟随、奔跑、打架这3种特定的异常行为数据,采用本文提出的检测算法做了检测。

1)为了直观清晰地反映3种不同行为的加权方向角熵值的区别,图4、5、6分别绘制了3种行为的特征直方图。2)为了更加清楚地反映运动目标的熵值变化,本节绘制了一段视频中熵值的变化曲线图,如图7所示。3)为比较本文算法与其他两种算法,在数据库中选取测试视频做了对比试验,实验数据如表2。

图3 跟随行为中单双目标间的幅值加权直方图

图4 奔跑的幅值加权直方图

图5 相遇、打架间的幅值加权直方图

图3 、4、5分别为同一场景中3种不同的行为,图3(c)、图4(c)、图5(c)分别为对应场景中提取的特征直方图,图3(a)为第60帧单目标行走的提取效果图,(b)为双目标行走的提取效果图,(c)为两帧不同运动目标的幅值加权方向角对比图,图中反映出两种状态具有明显的运动主方向,且双目标比单目标值高出2倍,与视频完全吻合。图4(c)反映了不同帧的方向角对比直方图,其运动主方向出奇一致,这一现象也符合视频中步态运动的开合状态。图5(c)为相遇和打架的加权方向角直方图对比,图中可看出110帧具有明显的主方向,与视频图像完全吻合,第220帧运动方向杂乱无章,没有明确的运动主方向,且两个打架目标的各肢体运动方向不一致。通过以上实验数据对比,验证了加权方向角对不同行为的区分度。

图6 打架熵的变化曲线

图6 为一段视频的熵值变化图,该视频共540帧。第0~180帧,单目标进入视频区域,熵值维持在0.15附近且小于0.2。第181~420帧,随着第二个运动目标进入视频区域,熵值逐步增加,并且维持在0.2~0.25之间。第421~500帧,熵值出现明显的增大且增幅较快,近似0.3。500帧以后,运动目标离开视频监控区域,熵值也随之降低,恢复到运动目标进入监控区域前的状态。该运动熵值变化曲线与视频监控内容完全吻合,因此能够很好的反映运动目标的状态。

表2为三种算法对异常行为所做的检测结果,N表示实验视频数,n表示行人的正常帧数,m表示行人异常帧数,P表示将正常行为误检为异常的概率(%),e表示异常行为的识别概率(%),实验结果表明本文算法具有较高的识别率和较低的误检率。

表2 三种算法实验对比结果

6 结语

本文提出关键帧结合幅值直方图熵的异常行为检测算法,加入提取关键帧的步骤,提高了有用信息的获取效率,并且通过计算监控区域内运动目标的幅值加权方向角熵值来描述行为的激烈和混乱程度。通过多次实验,能够有效地对不同的异常行为做出判断且具有较高的识别率。

猜你喜欢
关键帧直方图幅值
符合差分隐私的流数据统计直方图发布
室温下7050铝合金循环变形研究
基于图像熵和局部帧差分的关键帧提取方法
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
基于差分隐私的高精度直方图发布方法
基于块分类的矿井视频图像DCVS重构算法
ORB-SLAM系统优化框架分析概述
基于误差预测模型的半自动2D转3D关键帧提取算法
可靠性步进电机细分驱动技术研究
中考频数分布直方图题型展示