一种基于光流法的逆行异常事件检测方法

2011-04-17 03:34杨小康
电视技术 2011年13期
关键词:光流矢量聚类

黄 佐 ,徐 奕,杨小康

(1.上海交通大学 电子工程系 图像通信与信息处理研究所,上海 200240;2.上海市数字媒体处理与传输重点实验室,上海 200240)

0 引言

视频行为分析是当今计算机视觉和人工智能领域的一个新兴研究方向。异常事件检测是其中的一个重要应用。近年来,摄像头的成像质量显著提高,而且安装容易且其价格相对低,这使得智能视频行为分析具备了可行条件。如今,在大街小巷都能看到监控摄像头的身影,尤其是在重要的干道和十字路口。这些监控的视频可以传输到处理中心,进行交通流量估计、车辆和行人的检测与跟踪,以及异常事件的检测。

近几十年来,各种异常事件检测的算法相继被提出,并产生了许多商业应用,如ObjectVideo公司研发的车站监控系统,intuVision公司的VideoAnalyst。但是,异常事件检测仍然面临诸多挑战问题:当目标发生相互遮挡,背景的混乱与干扰,图像存在部分模糊,以及语义噪声的存在,检测的准确率会明显下降。异常事件检测任务对视频处理系统的稳定性、实时性、稳健性都提出了很高的要求。目前异常事件检测依然是视频图像处理领域中的一个开放问题。

机场大厅、公路等公共场合,经常要求行人或车辆单向运动,以避免环境的拥堵、保障开放环境的安全及秩序。因此对逆行事件进行检测在许多开放场合显得非常必要。事实上,由美国国家标准技术局(National Insti⁃tute of Standards and Technology,NIST)组织实施,作为视频检测领域权威国际评测的TRECVID,自2008年开始也将其列入必选事件检测。

笔者提出一种逆行异常事件的检测算法,它利用光流法(optical flow)快速计算图像中特征点的运动矢量,并结合特征点的空间位置分布进行特征点的聚类,有效抵抗了噪声点的干扰,提高了在多人复杂环境下逆行异常事件的检测准确率。

1 本文算法流程

逆行异常事件通常是由某个行人或车辆的反向运动导致的,此时表征行人或车辆的特征点的运动方向与正常的运动方向相反或成较大角度,因此可以利用Lu⁃cas-Kanade光流法(简称LK光流算法)计算角点特征点的运动矢量,来判断逆行异常事件是否发生。实际上,当一定区域内一定数量特征点的运动方向与正常运动方向相反或成较大角度时,一般可判定发生了逆行异常事件。

逆行异常事件具有一定的区域性,通常只需在环境的某个位置进行检测,如在机场的大厅入口即可完成检测,而与大厅内部无关。本算法通过选定感兴趣区域避免提取无关的特征点,可减少后续光流计算的运算量。

视频本身具有的噪声,以及场景中某些背景物体的偶然轻微运动都会对逆行的判断造成干扰。然而这些干扰运动比较分散且密度低。因此,笔者提出一种基于特征点空间分布的聚类算法来滤除这部分干扰。

本文设计逆行检测算法流程如图1所示。

1)读入待检测视频的当前帧。视频的拍摄角度以及质量对检测准确率有一定的影响。

2)通过手动框选或者通过智能分析自动形成掩膜图像,获取图像的待检测感兴趣区域。这个环节可提高检测的效率,避免在无关区域浪费计算资源。

3)提取出感兴趣区域内的角点作为特征点,特征点可以精确到子角点(subpixel corner)。

4)基于LK光流算法计算出感兴趣区域内各特征点的运动矢量。

5)提取出候选的逆行特征点,根据特征点的位置关系进行聚类,判断本帧是否存在满足逆行判定条件的特征点聚类。

6)如果连续M帧(本实验中M取值为6)都存在逆行聚类,则判定发生了逆行事件,进行报警。

2 Lucas-Kanade光流法

最初,Horn-Schunck提出了光流场的计算[1]。假设在t时刻,图像上点(x,y)处灰度值为I(x,y,t),在t+Δt时刻,该点运动到(x+Δx,y+Δy,t+Δt),对应的灰度值为I(x+Δx,y+Δy,t+Δt)。假设该点的灰度值未发生变化,则应满足

将式(1)左边项在点(x,y,t)处用泰勒公式展开,令Δt→0,得到光流基本方程

从式(3)可以看出,灰度空间梯度与光流速度的点积等于灰度对时间的变化率。这个方程中包含了两个未知数,是典型的病态问题。常用的解法是增加约束条件来求解。Lucas和Kanade假设在一个小的空间邻域Ω上的运动矢量保持恒定,通过加权最小二乘法估计光流[2]。在一个小的空间邻域Ω上,光流估计误差定义为

式中:T(x)表示窗口权重函数,它强调邻域中心区域对误差的贡献比外围区域大,式(4)的解可表示为

其中,在t时刻的n个点Xt∈Ω,A=[▽I(X1),▽I(X2),…,▽I(Xn)]T,W=diag[W(X1),W(X2),…,W(Xn)],B=-[It(X1),It(X2),…,It(Xn)]T。

尽管LK光流算法非常高效,但对整个图像的所有像素进行光流场计算耗时较高,也不一定有意义,例如在机场大厅检测逆行事件,只需关注大厅的入口处即可,而大厅内部则可以忽略。因此,在实际的检测过程中,先选定感兴趣区域,提取出该区域中的角点特征点,然后计算出各个角点特征点的运动矢量,从而减少计算复杂度,提高系统实时性。

如图2所示,在机场大厅的逆行事件检测实验中,笔者选取原始图像中大门所在的区域(见图3)作为检测区域,提取出待检测区域中的角点特征点(图4),获得的光流场图像如图5所示。通过观察图5中的运动矢量图,可以明显发现,其中一个正要通过大门的行人的运动矢量的方向与正常运动方向相反,而且数值较大。

3 聚类算法

聚类算法有很多种,常用的方法复杂度较高,如K-MEANS算法[3]、Clara算法[4],它们比较适合大规模的数据集,而且K-MEANS算法需要预先指定聚类的个数。逆行异常事件中特征点具有一定的特殊性,它们个数相对较少,而且聚类个数不确定,因此笔者提出一种小规模快速的聚类方法。

通过LK光流算法,可以获得各个特征点的运动矢量。为分析逆行异常事件,先假定正常的运动矢量为C。特征点Pn当前的运动矢量为D,如果D与C的夹角α满足150°≤α≤180°,则将Pn视为候选逆行特征点。当一个特定大小的矩形区域内候选逆行特征点超过一点数量时,即判定发生了逆行异常事件。

算法步骤如下:

1)采用LK光流算法获得当前帧特征点的运动矢量。

2)提取出候选逆行特征点,保存在一个链表PointList中。

3)如果PointList中的元素大于0,执行步骤4),否则聚类结束。

4)创建一个链表结构的新的聚类Clusterj,将PointList的第一个元素P0存入Clusterj,作为Clusterj的头结点,并将P0从PointList中删除。

5)从Clusterj的头结点依次向后遍历,每个结点执行以下过程:设当前结点为CPk(1≤k≤当前的Clusterj元素总量),以CPk为圆心,作半径为R(本实验中R取值为40个像素)的圆Ok,遍历PointList中剩余的所有元素Pi,如果Pi落入圆Ok中,则将Pi添加到Clusterj链表的末端,成为新的末节点,并从PointList移除Pi。该过程循环至Clusterj的末节点不再更改而结束。

6)重复步骤3)。

7)遍历所有Cluster,如果存在一个Clusterj的元素总量大于门限值N(本实验中N取值为20),则认为当前帧存在逆行方向的特征点聚类。

上述算法基于距离对候选逆行特征点进行聚类,由于每帧感兴趣区域的候选逆行特征点一般不多,约5~80个,因此聚类算法收敛速度快,而且能动态地获取不同的聚类数量。

图6给出两个不同时刻图像帧中候选逆行特征点的聚类结果。图6a,c,e为一组聚类过程;图6b,d,f为另一组聚类过程。前一组未出现噪声点,聚类效果理想。后一组中,自动大门的开闭运动产生了候选逆行特征点,如图6f的椭圆内空心小圆圈所示。然而,由于它们的位置离行人逆行产生的候选逆行特征点较远,而且数量较少,算法最终判定其为干扰噪声点。

4 实验结果

实验选取了TRECVID2009的数据集作为测试视频。这些视频所摄场景为机场的一个出口,所拍摄的正常行为表现为旅客由大厅往外走。因此,当发现旅客由外面穿过大门走向大厅,并且身体完全通过大门时(包括旅客的行旅物品等),即可判定为发生了逆行异常事件。在该事件分析中笔者选取了大厅大门的中上部分作为待分析的感兴趣区域。图7是本算法一组实验结果的截图,图7a~e是连续5帧原始图像的待检测区域图像,图7f~j为对应的角点特征点图像,图7k~o为逆行特征点的聚类结果。

实验平台配置为,操作系统:Windows XP Profession⁃al,CPU:Intel Core2 Duo E4600(2.40 GHz),内存:2 Gbyte。系统开发环境为:Windows Visual Studio 2005。

测试视频分辨率为720×576,帧速为24 f/s(帧/秒),视频集共约100 h发生逆行事件14次。TRECVID2009数据集中,摄像头安装在出口大门的侧边,取景角度倾斜。另外,由于飞机航班陆续到达,旅客在某些时刻非常密集,流向不稳定,导致遮挡情形严重。本文的检测算法可有效处理这种实际监控场景的复杂情形,14次逆行事件被检测出13次,误警次数4次,平均检测速度为17 ms/f。

5 结论与展望

一些高敏感性、高安全性、高秩序性的场合要求行人或车辆单向运行。对这类环境的监控视频进行逆行异常事件的检测一直是近年来的研究的热点。笔者提出了一种逆行异常事件检测算法,它能满足监控系统的实时性要求,并具有较高的检测率,该方法在TRECVID2009事件竞赛中取得了最好的逆行事件检测效果。另外,如何有效地将特征点的运动矢量或者运动轨迹,运用到行为分析,尤其是其他类型的异常事件检测中,是本文下一步研究工作的重点。

[1] HORN B K P,SCHUNCK B G.Determining optical flow[J].Artificial Intelligence,1981,17:185-203.

[2] LUCAS B D,KANADE T.An iterative image registration technique with an application to stereo vision[C]//International Joint Conference on Artificial Intelligence(IJCAI-81).Vancouver:[s.n.],1981:674-679.

[3]ZHANG Yuang,MAO Jiali,XIONG Zhongyang.An improved k-means algorithm[J].Computer Applications,2003,23(8):31-33.

[4] NG R T,HAN Jiawei.Efficient and effective clustering methods for spatial data mining[C]//Proceeding of the 20th VLDB Conference.Santiago,Chile:Institute of Electrical& Electronics Engineers,1994:144-155.

黄 佐(1986-),硕士,主研基于视频的异常事件检测;

徐 奕,讲师,主研图像处理、小波变换和计算机视觉;

杨小康,教授,博士生导师,主研图像通信、数字电视、图像处理和模式识别。

猜你喜欢
光流矢量聚类
利用掩膜和单应矩阵提高LK光流追踪效果
矢量三角形法的应用
基于K-means聚类的车-地无线通信场强研究
基于高斯混合聚类的阵列干涉SAR三维成像
基于矢量最优估计的稳健测向方法
三角形法则在动态平衡问题中的应用
一种层次初始的聚类个数自适应的聚类方法研究
一种改进的基于全局最小能量泛函光流算法
融合光流速度场与背景差分的自适应背景更新方法
自适应确定K-means算法的聚类数:以遥感图像聚类为例