基于运动模式分析的异常行为检测

2018-08-20 03:43胡湘杰夏利民
计算机工程与应用 2018年16期
关键词:描述符字典重构

胡湘杰,夏利民,王 军

HU Xiangjie,XIALimin,WANG Jun

中南大学 信息科学与工程学院,长沙 410075

College of Information Science and Engineering,Central South University,Changsha 410075,China

1 引言

异常行为检测的研究对现今社会的秩序和安全具有重要意义。由于视频场景的复杂性和事件的多样性,异常行为检测具有相当大的难度。

Li等[1]提出目前的异常检测方法主要可以分成两类:基于轨迹的方法[1-4]和基于外观特征的方法[5-7]。前者作为最传统的异常检测方法通常包含两步,跟踪视频场景中的目标获得运动轨迹,再对跟踪轨迹进行建模分析。在目标较多的复杂场景中,目标跟踪和轨迹分析都具有比较大的难度,从而导致计算代价昂贵。解决这一问题最常见的技术就是采用特征提取的方法,Ryan等[6]提出了一种叫作光流纹理的视觉特征,并将其与空间信息结合起来对异常行为进行检测,但是这种方法只适用于检测与正常运动模式不同的行为。光流主要集中在物体的运动信息上,往往会忽略一些非动态的异常信息[8]。因此一些更加完备的表示方法被提出来,用以确保包含动态和静态信息。Zhao等[9]利用光流和轮廓特征生成时空描述,采用非负局部约束线性编码(Non-negative Locality-Constrained Linear Coding,NLLC)对异常行为进行检测。

近年来涌现出了许多不同种类的异常行为检测模型。Turek等[10]提出将一个视频的上下文分割成各个语义区域,并对上下文中的运动目标建立一个语义上下文模型,再通过该模型进行异常行为检测。Mo等[11]提出联合稀疏模型(Jointly Sparse Model,JSM)对训练样本中的轨迹进行训练获得过完备字典,并利用该字典对测试样本轨迹进行稀疏重构,再通过重构误差检测异常。主题模型可以通过不同层级出现的底层特征识别场景中的行为模式并检测异常,已在行为识别领域取得了很大的成功。Wang等[12]和Kuettel等[13]利用分层贝叶斯模型,如潜在狄利克雷分布(Latent Dirichlet Allocation,LDA)和分层狄利克雷过程(Hierarchical Dirichlet Process,HDP),对视频中的典型行为进行描述。Jeong等[14]提出了基于LDA模型的轨迹分析方法,并用于异常行为检测。Varadarajan等[15]提出使用概率潜在语义分析(Probabilistic Latent Semantic Analysis,PLSA)方法建立局部信息的主题模型,通过丰富的时空梯度描述符量化图像的位置和大小信息来扩展基于主题的分析和局部描述符,补充了一些易于忽略的异常局部信息。然而传统的概率主题模型缺乏直接控制文件表示稀疏性的机制。Zhu等[16]提出一种稀疏局部编码(Sparse Topical Coding,STC)的方法,用于在大量数据集中查找潜在表示,并通过稀疏诱导正则项直接控制模型表示的稀疏性。

本文提出了一种基于运动模式分析的视频异常行为检测方法。在底层处理过程中,提取时空描述符并结合位置信息生成视觉单词,使得视觉单词中包含足够充分的动态和静态信息,可用于多种异常行为的检测。随后提出一种稀疏主题模型,用于对视频进行语义分析,捕获视频的运动模式,并对视频进行编码。最后,通过计算重构精度和分析运动模式组成对视频的异常行为进行检测。

2 基于视觉单词的视频表示

为了利用稀疏主题模型对视频的异常事件进行检测,首先需要对视频的特征进行提取,生成视觉单词,再通过视觉单词对视频进行表示,从而创建所需要的视频文档。视觉单词应该包含足够丰富的视频动态和静态信息,以至于可通过其获取视频中可能出现的任何行为或事件信息。

2.1 特征提取

在提取视频特征之前,需要确定视频中所需要处理的目标区域。本文将视频中所有包含前景目标的区域作为特征提取的目标区域,因此首先通过背景差分法[17]确定视频帧中的前景像素点,并对前景像素点p=(x,y)计算其对应的视频特征。前景分离的方法不仅可捕获运动特征突出的像素点,同时可获得目标处于静止状态的像素区域。

为了完备地表示视频的目标位置以及运动信息,本文联合方向梯度直方图(Histogram of Gradient,HOG)和光流直方图(Histogram of Optical Flow,HOF)以及视频区域块生成时空描述符。首先通过光流法计算相邻两帧图像中的光流信息,将存在运动的各前景像素点作为兴趣点,将其附近的局部区域分成3×3×2个时空块,其中空间尺度为3,时间尺度为2。在每个时空块中,计算其梯度方向并量化为4个单位的直方图生成当前帧的HOG描述符,同时计算其中光流并量化为5个单位的直方图生成HOF描述符。结合各时空块中的直方图,最终得到一个162维的描述符,其中HOG向量维度为72(3×3×2×4),HOF向量维度为90(3×3×2×5)。

上述所得的HOG和HOF描述符包含了视频场景中的运动和形态信息,然而在对视频进行异常判定的时候同样需要考虑各目标的位置信息,因为同样的事件发生在不同的区域性质可能完全不同。为此,将视频分成20×20个等大小的块,每一个块都作为其中前景像素点的位置属性,本文将此特征描述符记为Grid=(i,j),其中i和j表示某一块区域在所有视频块中所在的位置。

2.2 生成视觉单词

通过联合上述提取的视频特征,可以获得每个前景像素点对应的一个164维的特征描述符:

其中,v为通过ℓ2范数标准化后的结果。随后利用词袋模型对描述符进行处理。首先通过K均值聚类算法对描述符进行聚类,获得N个聚类中心,再将每个聚类中心视为一个视觉单词,从而获得具有N个单词的词汇表V={v1,v2,…,vN}。

对于一个视频,将其视为一个由词汇表中的视觉单词所组成的视觉文件,可通过如下向量进行表示:

其中,wn(n∈N)表示词汇表中的第n个单词vn在视频文件中出现的次数。

3 基于运动模式的视频编码

将一个给定的视频分成一系列完备、等时长并且不重复的文件集。取其中M个文件作为训练样本集S。每个训练样本文件d∈S都可通过向量wd=(wd,1,wd,2,…,wd,N)T表示。假设视频中存在K个运动模式,每个运动模式都可看成一个关于词汇表V的空间分布。本文将各运动模式组合得到一个矩阵D∈RK×N,并将其称为主题字典,其每一行Dk都为一个主题基,对应一种运动模式。令αd,n=(αd,n1,αd,n2,…,αd,nK)表示文件d中第n个单词的编码,各编码之间相互独立。对于单词n∉Id,其对应的单词编码等于0。因此整个文件可以通过编码集αd=(αd,1,αd,2,…,αd,N)T和主题字典D进行表示。

3.1 稀疏主题模型的概率生成

视频中的每一个行为都会属于某个特定的运动模式,相应地,每一个视觉单词都会属于某个潜在的语义主题,因此每个文件也可以看成是由不同的主题所组成。本文提出的稀疏主题模型的关键就是要利用这些主题基实现对大规模视频数据的稀疏表示。模型的生成过程可以总结如下。

对于每个主题k∈{1,2,…,K}:

(1)根据先验分布p(Dk)(如均匀分布)取样得到字典的主题基Dk。

(2)对于任一文件d∈S:

根据先验分布p(αd,∙k)采样该单词的编码向量αd,∙k;

对于每个单词n∈Id:

根据条件分布p(wd,n|αd,n,D∙n)采样单词数目wd,n。

在这个过程中,假定各个单词出现的次数相互独立,并且每个单词与不同主题的关系互不影响。通过主题字典D和编码集α={αd|d∈S}可以对单词数量进行表示,进而对文件进行重建。模型的联合分布函数定义如下:

假定同一主题下的单词编码具有群体结构。为了使文件能被稀疏地表示,需要确保只有一些主题对该文件的编码产生影响,而其他主题下的单词编码为0。因此本文将相同主题下的单词编码视为一个群体,并使用多元拉普拉斯分布对单词编码进行采样:

对于任意单词,其在文件中出现的次数等于不同主题中该单词的个数之和。利用泊松分布对其进行采样:

通过上述各式可以确定模型的联合概率分布函数。由于p(α,w,D)小于1,为了获得最大的概率分布值,将目标函数定义如下:

在不同的视频文件中,各主题出现的频率都是不一样的,这意味着每个主题的重要性都是不同的。为了获得视频文件的这一特性,引入主题字典D列向量的ℓ1范数作为约束项,同时可加强字典的稀疏性。因此最终的目标函数如下:

其中,λ1和λ2是非负的超参数,应该选取适当值。λ1控制编码的稀疏性,λ2控制字典的稀疏性,这两个参数过小会导致模型的稀疏程度低,过大则可能导致有用信息的遗失,影响文件的稀疏重构过程。目标函数的第一部分代表了损失函数,其作用相当于求取单词数量与其重构之间的KL散度,当该值最小时意味着重构值与真实值最接近。第二部分是一个组套索,用于保证文件被稀疏表示。第三部分控制字典非零值的数量,由于每个主题都是仅与有限数量的视觉单词相关,通过增加这项限制可以迫使模型学习一个稀疏的字典。

虽然本文提出的稀疏主题模型是从概率模型的角度推导得出,但它最终是以一个非概率的形式进行表示。通过对目标函数进行优化,可以得到视频中的运动主题及其对应的编码。

对于目标函数f(α,D),由于它含有两个变量,因此采用的优化策略是首先假设一个变量恒定,对另一个变量进行优化,轮流对α和D进行处理,直到目标函数收敛。当D固定,目标函数对α优化时,将这个过程称为视频编码;当α固定对D优化时,称该过程为字典更新。

3.2 视频编码

令D保持恒定,目标函数针对α进行优化。由于各文件之间相互独立,可以轮流对单独的文件进行处理:

将该目标函数记为g(αd),它是一个关于αd的凸函数,因此可以利用坐标下降算法对编码集αd中的每个元素αd,nk轮流进行求解。下面阐述其证明过程。首先对函数求导:

其中,ε是一个足够小的正数,用于确保分母不为0。再求取函数的二次导数:

显然该二次导数始终大于0,因此目标函数g(αd,nk)对于任意αd,nk都是一个严格的凸函数,其最小值将在极值点处取得。令式(9)等于0,可以得到一个一元四次方程式,求解该方程即可得出目标函数的最优解。令由于编码向量各元素的值必须不小于0,其值满足:

3.3 主题字典更新

在完成上述稀疏编码过程后,将α当作常量,目标函数可视为关于D的一元函数。字典通过优化下述函数ζ(D)进行更新:

该方程的第一项为重构过程的损失函数,它是一个凸函数。第二项是一个ℓ1范数正则化约束项。由于字典中各元素的值都大于等于0,可将该约束项表示如下:

在此采用与上述稀疏编码过程相似的解决方法,即对字典列向量中的每个元素进行轮流计算。分别对Dkn进行一次和二次求导:

由二次导数恒大于0可知,对于任意Dkn目标函数严格单调递增,因此函数的最小值在其极值点处取得。令式(14)等于0,得到函数的最优解最终Dkn的值为:

当求出字典中的所有元素的解后即完成了字典的更新过程。这个更新过程从数学原理上展示了正则化约束项控制字典稀疏性的原因。由可知,当参数λ2越大,字典各元素值越小,因此字典中更多的元素趋向于零值,从而导致字典的稀疏度增加。

4 异常行为检测

通过对训练样本进行训练,可以获得包含典型运动模式的字典,然后可以利用该字典对测试样本进行表示,并通过后续分析对视频场景进行异常检测。

不同的模型对于异常事件的定义不尽相同,现今大多数方法都将那些没有出现过或是无法用模型进行准确描述的事件视为异常。然而这种定义是不完善的,其无法准确概括所有异常信息。异常的判别不应该是孤立的,而是要与其所处的场景紧密相连。因此将偏离正常运动模式的行为定义为异常行为,准确来说,就是将一个在不正确的时间或位置发生的事件记为异常。

4.1 重构精度检测

由于训练样本中不包含异常事件,从而通过稀疏主题模型所捕获的运动模式也是不包含异常的。利用字典对测试样本进行表示的过程,其实质就是要分解出其中包含的各个运动主题,也就是将该视频场景通过正常场景下的各运动模式进行重构,构造出与之最相近的场景。因此,当测试视频样本中存在异常情况时,其与重构场景之间将存在较大偏差,可通过重构损失进行判断:

显然当一个视频文件的重构损失越大越有可能存在异常。Ld的取值范围对于不同的视频片段来说是变化的,因此将对文件与其重构的差别进行重新定义。编码稀疏项对重构误差的计算结果影响很小,因此将其舍去。令重构向量为Rd=(αd1D∙1,αd2D∙2,…,αdND∙N)T,定义重构精度:

上式取值范围为[0,1],其中(wd,Rd)表示两个向量之间的内积。重构精度越小就意味着测试样本与正常运动模式之间的偏离越大,也就越可能包含异常。

4.2 运动模式分析

上述方法是针对视频文件全局区域进行的异常检测。由于一个文件中包含大量信息,异常事件又通常只会在一个很小的时空区域中发生,而重构精度的大小与异常的数量有较大联系,因此正常文件与异常文件之间的区别往往不够大,导致检测重构精度的方法不够稳定[18]。为此,本文提出一种基于运动模式分析的异常检测方法,通过对视频文件中的运动模式进行分析捕获异常信息。具体算法如下。

(1)通过视频编码获取视频文件中的各运动模式所占比例。第k个主题在文件d中所占比例可通过下式求得:

每个视频片段di都可表示成在主题空间下的概率分布:(θdi,1,θdi,2,…,θdi,K)。

(2)给定一个测试样本,将其用上述的主题向量进行表示。在主题空间中,找到与之最相近的m个训练样本文件,其中两个文件di和dj之间的距离被定义如下:

(3)将文件di的单词直方图记为Hi。统计这m个最相邻训练样本的单词数生成直方图H0。观测每一个在测试样本中出现过的单词vn,如果该单词在直方图H0中的频率大于特定值,将其记为正常。

(4)考虑与vn具有相同位置属性的相邻区域的单词,如果其中有至少l个单词满足步骤(3),该单词将同样被记为正常。

(5)如果单词既不满足步骤(3)的条件也不符合步骤(4),其将被记为异常。此时将认为该测试文件中包含异常行为,其中异常单词对应的位置信息表示异常行为发生的区域。

5 实验与结果

本次实验过程将在QMUL交通数据集中进行。首先利用本文方法对数据集中的视频进行异常检测,再通过与其他方法的实验结果进行对比,从而验证本文方法的高效性。本次实验将在VS 2012和MATLAB 2010上进行,运行环境是Win7操作系统,电脑配置是CoreTMi5-4210M CPU、4 GB内存。

QMUL交通数据集由一个位处繁华地段的交通枢纽监控视频所组成。该视频全长60 min,帧率为25 Hz,包含90000帧画面,其中每一帧分辨率为360×288。该视频背景由马路、人行道及周围建筑组成,场景中包含大量的车辆、自行车以及行人。同时,场景中的运动模式也是多种多样,包括车辆直行、转弯、等候红灯、行人横穿马路等。图1展示了几种最具代表性的运动方式。图2为几个包含异常事件的场景样例,其中亮线框出来的部分表示偏离正常运动模式的异常事件。如图2所示,(a)为行人在非人行道横穿马路;(b)为车辆非法转向;(c)、(d)所示为正常直行期间车辆异常闯入。

图1 视频中的几种典型运动方式示例

图2 QMUL数据集中的几个异常事件样例

视频被等分成一系列时长为6 s的不重复片段,首先将包含异常事件的片段分离出来,并在剩下的片段中选取其中75%的文件作为训练样本对模型进行训练,得到主题字典,剩下的25%将作为测试样本并与异常片段一起用于异常检测。

实验分别采用了不同的描述符对视频进行了表示,并利用本文方法对其进行异常检测。如表1所示,分别比较了HOG、HOF联合时空描述符,基于像素点坐标的联合时空描述符以及基于区域块的联合时空描述符,后两种方法中均引入了前景目标的位置信息。由表1可知,在采用相同视频表示的情况下,通过模式分析进行异常检测在效果上总是优于重构精度检测。同时,引入区域块信息的描述符在检测效率上要优于其他两种方法。

表1 使用不同描述符的异常检测精度%

为了显示各运动模式相互间的独立性,定义一个名为主题相关性(TS)的变量,其值通过各运动主题两两之间的关系计算得出:

实验中选取K=20。表2记录了本文方法与其他一些先进方法的主题相关性计算结果。由该表可知,本文方法所捕获的运动主题在相关性上明显低于其他方法,在对运动场景进行描述时可以更加充分。

表2 运动模式相关性对比

为了充分展示本文方法的有效性,将通过运动模式分析所检测的结果分别与JSM[11]、PLSA[15]和NLLC[9]等方法进行对比。图3所示为各方法实验结果对应的ROC曲线。表3记录了这几种方法ROC曲线对应的AUC值。

图3QMUL数据集中异常检测结果的ROC曲线

表3 不同检测方法的AUC值

实验中所使用的QMUL数据集中包含大量目标,运动方式复杂,因此现今大多数方法都难以对其进行较好的检测。而由以上结果可知,本文提出的异常行为检测方法在该数据集上实现了比较可观的检测效果,较之另外几种方法在识别效率上具有明显的优势。由此可以看出本文方法在检测复杂视频场景中的异常行为方面的有效性。

6 结论

本文提出了一种基于运动模式分析的异常行为检测方法。根据视频的时空描述符和位置描述符,由词袋模型生成视觉单词并对视频进行表示。本文提出的稀疏主题模型是一种非概率主题模型,它既能发现视频场景中具有潜在语义的主题,又能实现对视频文件的稀疏表示。最后通过分析视频中的运动模式组成对其中的异常行为进行判定。文中方法在QMUL交通数据集中进行了测试,并与其他几种方法进行了对比,结果表明,本文方法具有更高的检测率。

猜你喜欢
描述符字典重构
基于结构信息的异源遥感图像局部特征描述符研究
长城叙事的重构
基于AKAZE的BOLD掩码描述符的匹配算法的研究
字典的由来
北方大陆 重构未来
Linux单线程并发服务器探索
北京的重构与再造
利用CNN的无人机遥感影像特征描述符学习
我是小字典
论中止行为及其对中止犯的重构