基于多尺度分块方向类模型的群体异常行为检测∗

2019-11-29 05:14王思聪包智雄于子皓葛非凡马元骅
计算机与数字工程 2019年11期
关键词:分块单元格尺度

王思聪 陈 莹 包智雄 于子皓 葛非凡 马元骅

(江南大学 无锡 214122)

1 引言

近年来,智能视频监控系统作为多学科交叉的前沿热点,引起了世界范围内越来越多研究者的兴趣。针对基于视频的人群行为异常检测,国内外学者对此做了很多的相关工作,也取得了丰硕的成果。

早期的人群异常行为识别,都是基于运动物体检测。比如Nikos Paragios等[1],利用类似高斯混合模型的概率方法建立三种背景模型,对于每一帧视频图像都会计算三个不同的运动检测模型,比较三个图像就可以比较准确地提取出运动的前景(人群)。

又比如Viola 等[2]中提出的一种基于静态物体识别的统计算法。该算法对人体区域图像提取harr-like 特征然后采用boost 增强学习方法训练基于决策树的cascade 级联分类器,使用滑动窗口遍历图像并判断截取的子区域是否为检测目标,但是该算法不能用于运动物体检测。

近年来,随着深度学习算法——卷积神经网络(CNN)的发展,能够提取更全面更抽象的特征,提高特征的表征力[3~5]利用卷积神经网络估计场景中人群密度也已经成为了学界新的热点。但是卷积神经网络因其计算量大,难以适应实时性的要求,故在现实中应用也相对较少。

总体来看,视频的人群异常行为的检测和分析方面的研究成果虽然比较多,但是较难适用于多拍摄角度下得到的视频识别。其难点在于:

1)监控视频受摄像头位置、拍摄角度、光照、因透视而形成的形变等多种因素的影响,为视频分析带来困难。

2)目前既有的各种人群异常行为识别算法,对于不同拍照角度带来的透视问题以及相应的透视误差缺乏相应的讨论。

3)人在视频中位置、姿势、衣着等形态变化很多。且在人群密集场景,人和人之间存在大量重叠。

然而实际的生活中却经常出现涉及这方面情况,如繁华的公共场所经常会吸引较多的人,且摄像头拍摄的角度也不固定。所以,随着社会经济建设的不断提高公共安全事件的发生概率也越来越高,智能视频人群异常行为检测必然会在人们的日常生活中产生更加重要的作用。

2 算法框架

2.1 LK光流法

关于运动目标的检测,常用的目标检测方法有帧差法、背景减法、光流法等。此处,本文使用Lucas-Kanade[6]光流算法,引入图像局部区域光流值一致的约束条件,利用加权最小二乘法进行近似计算光流值。

2.2 Shi-Tomasi角点检测方法

图像中的特征检测是进行图像内容特征描述的前提,行人特征点检测属于局部特征检测,本文采用了Shi-Tomasi算法[7]。

图1 算法框架图

Shi-Tomasi 方法运用平移运动来估计块的运动随着图像帧的推进,图像强度改变模式会一种复杂的方式变化,这个方法是通过确定前后两个帧图像之间的相似性,来估计图像间的运动。

2.3 稀疏表示的人群异常事件检测算法

异常检测过程中,将待检测视频基于训练所得的冗余字典进行稀疏分解,当场景内为正常运动时,其特征能够被冗余字典内的原子稀疏表示,因而得到的系数是稀疏的;当场景内存在异常运动时,因该类特征不包含在冗余字典中,因此将得到非稀疏的表示结果,据此采用稀疏重建代价(Sparse Representation Cost,SRC)[9]对重构稀疏进行判断,即可检测场景中是否存在异常事件。

3 多尺度分块方向类群性模型

3.1 多尺度分块模型建立的必要性分析

在现实生活中常见的监控场景中,监控摄像头的拍摄视角往往与水平地面成一定的角度,而不同的拍摄角度会带来画面中行人不同程度的透视问题。摄像设备位于高处,远处的物体虽然和近处的物体实际上大小相等,但是在图像中近处的物体占图像比更大,这就是透视现象。如图2 所示,监控设备的拍摄视角与水平地面之间的夹角越小,则透视现象越严重。这对于场景中个体的表征带来了一定的困难[8]。

图2 拍摄视角与透射失真

因此结合监控设备在场景中位置进行特征提取可以显著提升异常检测算法的检测性能。为此,有必要使用在空间上非重叠的网格结构将监控画面进行分割,从每个网格中提取需要的特征信息。

然而,若采用等尺寸的网格结构,而不考虑它们相对于监控设备的具体位置,将会导致计算的偏差,难以消除透视误差,因此等尺度网格不适合处理监控设备的位置及拍摄视角的问题。

3.2 多尺度分块模型的建立

通过前期对其他文献的对比分析可知,在中高密度的人群中进行个体特性的识别,计算量大,耗时长,因此,尺度分块结构中每个单元格的大小由监控图像的尺寸决定,从监控图像的顶顶端开始,令yk为垂直方向上第k 个单元格的高度,则与其在垂直方向相邻的单元格即第k+1 个单元格的高度为

其中,α ≥1 为网格增长率,从而使第k+1 个单元格的尺寸大于第k 个单元格的尺寸,α 值的大小与监控设备的拍摄视角有关,摄像机与水平方向夹角越小,则α 值越大;摄像机与水平方向夹角越大,则α 值越小。当拍摄视角与水平方向夹角为90°时,α 的值为1,即所有单元格尺寸相同。因此,监控图像的垂直高度Y 可通过每个单元格的递归垂直维度表示如下。

其中,ny为监控图像在垂直方向单元格的数量。y0最小单元格的垂直高度当确定ny、y0的值之后,如图3(a)所示,使用公式yk+1=αyk计算以y0为起始最小单元格高度,在铅垂方向Y 上创建的ny个多尺度单元格的垂直高度,随后按照相似的方法确定单元格在水平方向上的尺寸。设X 为监控图像的水平宽度,令x0为最小单元格的水平宽度,从监控图像的顶部边界开始,在X/2 的位置上即监控图像的中部,沿水平方向填充整数个相同尺寸的单元格,如图3(b)所示。随后使用相同的单元格增长率增加垂直方向上单元格的水平尺寸:

若单元格填充后水平方向上还有未填满的空隙,则在单元格水平方向上继续增加像素,直到在水平方向上单元格完全覆盖监控图像的X/2 到X。填充间隙之后的图像如图3(c)所示。随后采用对称填充的方式去填充监控图像的0到X/2部分。用cell(i,j)表示位于第i 行第j 列的单元格,第一行网格由于尺寸最小,每个单元格中所包含的特征信息较少,且实验表明其会经常触发错误警报。因此舍弃第一行单元格结构,如图3(d)所示。由此得到完整的多尺度分块结构。

图3

3.3 基于多尺度分块结构的方向-群体性模型

在多尺度分块结构的基础上,计算每个单元格的前景占用量。在前景图像上,在多尺度分块的单元格cell(i,j)的基础上结合时间信息,定义对应的三维时空单元格:

其中mx和my分别为单元格cell(i,j)的水平和垂直尺度mt为视频帧数。随后通过统计每个时空单元格ui,j中前景像素的数量来计算被检测目标的大小以及在场景中持续运动的时间。对于每个时间单元格ui,j来计算其前景占用F(i,j)∈R

其中,N=mx×my×mt为ui,j中的像素个数。Bt表示t时刻的二进制掩码。

最后,提取单元格中的目标块区域。将前景占用F(i,j)高于阈值ThF的时空单元格所对应的单元格视为兴趣块。

此处,令ThF=0.1。即单元格中至少有10%的像素属于背景,对应的单元格视为活动块区域。在后续的特征提取中,只分析与活动块区域相关的特征信息。该操作有助于滤除干扰判断的特征,减少算法的处理时间,降低误报率。为了滤除背景噪声,只保留活动块中的运动粒子点,去除非活动块中的运动粒子。从而构造出每帧图像的运动点集。f 时刻的目标块cell(i,j)中的运动粒子点集kt(i,j)表示为:

需修正运动速度大小以补偿透视问题带来的计算误差:

其中,|Vtp(i,j)|表示t时刻目标块cell(i,j)中第p个运动粒子的运动速度大小,Xkp,Xk-1p,Ykp,Yk-1p分别为该运动粒子在t 时刻和t-1 时刻的横纵坐标。α 为构建多尺度分块结构的网格增长率,ny为多尺度分块结构垂直方向的单元格数。

对群体的群体性通过数学分析进行了合适的表征,得到了群体性指数:

其中,ωL为正则化因子,用来减缓个体集群性指数随路径L 的增长而呈指数爆炸的效应。CL(kti,ktj)表征从粒子点kti到粒子点ktj的长度为L的所有运动路径行为的一致性。

使用一个全局方向描述子,用来提取全局层面的群体运动模式,并构建了群体性方向指数,群体性方向指数用以下的公式进行定义:

∆θmean(i,j)和∆θmax(i,j)分别表示t 时刻粒子点(i,j)的方向和所有粒子平均速度方向的差值和t时刻粒子点(i,j)的速度方向与所有粒子最大速度方向的差值。是∆θmean(i,j)和∆θmax(i,j)的均方根,用来表征粒子点(i,j)的方向无序度的平均离散值,ρ 为归一化因子,作用为使Direction(i,j)的值保持在0~1之间。

计算块内粒子的方向-群体性指数DC(i,j):

计算块内运动粒子的速度能量特征Espeed(i,j):

其中,Nij为目标块cell(i,j)中的运动粒子数,最后,将目标块中提取的方向-群体性特征与速度能量特征组成特征点对

联合表征群体运动模式。

3.4 线性内插权值的摄像畸形矫正

摄像机的监控区域由于距离摄像机的距离的远近不同而产生近大远小的情况。为了减少深度信息丢失所带来的影响,本文除了使用上述的多尺度分块模型来减小透视问题带来的误差处理之外,还采用线性了内插权值的方式辅助进行图像的透视矫正。

线性内插权值的透视矫正方法,具有很强的适应性,它的实时性高,并且在实际应用中无需对现场的环境进行测量。图像划分为四个网格区域,在每个网格区域的入口和出口统计参考人物的最小外接正矩形的宽度与高度。通过区域中的参考人物的面积变化率,可求得区域的内插权数的值。

图4 线性内插权值的透视效应矫正

如图4所示,网格区域abcd中,面积变化率为

其中,(h1,w1)、(h2,w2)分别为参考人物在入口和出口统计的高度与宽度。

本文将原始监控空间人工的划分为4 个单元,如图5所示,这4个单元为经过多尺度分块之后,处于距离监控屏幕较远的位置。以单元为对象进行后续的线性内插权值的透视矫正。

对于上述划分的四个区域,分别内插四个权值K1,K2,K3,K4首先提取单人行走的活跃区块的特征点DCE(i,j)为特征点,通过统计回归的方式,计算出这四个权值的值。图6 可以看出矫正前与矫正后的明显差异。横坐标代表帧数,纵坐标代表DCE(i,j)点个数。

图5 线性内插权值划分的单元格

图6 (a)中可以看出随着行人逐渐远离摄像机,DCE(i,j)点个数在逐步减少。通过线性拟合得到点数减少关系,就能够得到这内插的四个权值。图6(b)中可以看出,通过内插这四个权值的矫正后,单人的DCE(i,j)点数基本保持在一个稳定的范围内。

图6 矫正前后的特征点对

通过图6(a)、图6(b)可以看出,线性内插权值的透视效应矫正能够快速有效地矫正透视畸形带来的影响。

3.5 稀疏表示的人群异常检测算法

提取正常人群运动视频的DCE(i,j)特征,通过K-SVD[14]方法学习训练建立基于DCE(i,j)特征的冗余字典,使得该字典内包含正常视频所提取的DCE(i,j)特征,基于该字典进行稀疏分解时,可以得到稀疏的重构系数。其中稀疏重构系数x*计算公式如下。

其中,y 为测试集中的样本,Dx为正常字典。‖ ‖x1为L1范数,λ为求解过程中所设定的一个系数。

异常检测过程中,将待检测视频基于训练所得的冗余字典进行稀疏分解,当场景内为正常运动时,其特征能够被冗余字典内的原子稀疏表示,因而得到的系数是稀疏的;当场景内存在异常运动时,因该类特征不包含在冗余字典中,因此将得到非稀疏的表示结果,据此采用稀疏重建代价(Sparse Representation Cost,SRC)Sw[9]。

对重构稀疏进行判断,即可检测场景中是否存在异常事件。其中Sw的计算公式如下。

其中λ 与稀疏分解过程中设定的值一样,Sw的值越大表示此样本稀疏重构的代价越高,则证明此样本异常的可能性越大。

4 实验结果与分析

4.1 实验数据库与评判标准

为了检测本文所述方法在不同视角下的识别效果,本文选择在PETS2009-S3 数据集进行试验。PETS2009-S3 数 据 集[13]提 供view001-view004 等4个不同拍摄视角的监控视频。根据拍摄视角的不同,网格增长率序列α 分别设置为αview001=1.12,αview002=1.13,αview003=1.15,αview004=1.20。由于该数据集只提供帧级别的数据,所以对本文对至少有一个网格被检测为异常,则当前帧判定为异常帧。

为了评估人群异常行为检测算法的实用性,本文利用ROC(receiver operating characteristic curve)下的面积AUC(area under ROC curve)作为评判标准,AUC 通常介于0.5~1,其值越大说明算法性能越好。其中ROC 曲线是以真阳性率tpr 为纵坐标,假阳性率fpr 为横坐标绘制的曲线,利用ROC 曲线能很容易观察出算法的分类识别性能[10]。

图7 PETS2009-S3-view001检测结果

图8 PETS2009-S3-view002检测结果

图9 PETS2009-S3-view003检测结果

图10 PETS2009-S3-view004检测结果

4.2 实验结果与分析

通过对数据库PET2009-S3 中4 个不同视角下的场景进行的人群异常行为的检测,首先随机选取50 帧作为训练集,50 帧视频作为测试集。然后对本文算法进行验证,每种场景的ROC 曲线如图11所示。

图11 表明:本文算法对不同场景能够很好地进行人群异常行为检测。同时,本文还在UMN 数据集上对光流法(Optical Flow)传统社会力模型(SFM)[9]、能量模型(BM)[10]、Spare(weight)+LSDS[11]不同的算法准确率进行了对比,如表1 所示,本文模型在三个场景的平均准确率为95.3%,相较于光流法(83.50%),传统的社会力模型(85.44%)和能量模型(90.14%),Spare(weight)+LSDS(95.23.01%)具有更好的识别准确率。

图11 3种场景的异常检测ROC曲线

表1 本文算法与三种不同算法识别准确率的对比

5 结语

本文介绍了一种用于解决设备拍摄角度过低带来的透视变形问题,结合LK 光流法,shi-tomas角点检测法,提出了一种基于多尺度分块方向-群体性模型的群体异常行为监测方法,首先建立起尺寸上从上至下递增的多尺度分块结构,提取多尺度分块结构中包含足够前景运动信息的目标块。随后提取目标块中的方向-群体性特征,并利用线性内插权值法对透视误差进行了进一步的矫正。最后利用稀疏表示的人群异常检测算法。实验结果显示,该算法在检测人群异常事件时具有比较理想的检测结果,与其他算法相比性能更好。

猜你喜欢
分块单元格尺度
面向量化分块压缩感知的区域层次化预测编码
钢结构工程分块滑移安装施工方法探讨
合并单元格 公式巧录入
流水账分类统计巧实现
论社会进步的评价尺度
玩转方格
玩转方格
一种面向不等尺寸分块海量数据集的并行体绘制算法
分块矩阵初等变换的妙用
宇宙的尺度