隋 靓 党建武
(兰州交通大学电子与信息工程学院 甘肃 兰州 730070)
随着我国机动车保有量的逐年增加,道路上交通拥挤问题变得日益突出,每年的交通事故居高不下,尤其在车辆行驶速度快的高速公路上,驾驶员无视交通法规,逆行、停车等异常事件往往会造成严重的交通事故。为了及时发现异常行驶车辆,减少不必要的交通事故,交通异常事件检测系统成为当前研究的热点。
传统的人工观看视频监控判断交通事件的检测方式劳动强度大、工作效率低且存在交通事件发现不及时和漏判现象,已不能满足现实交通视频监控的需求。目前,基于视频的交通事件自动检测技术越来越受到研究学者们的重视,该技术主要由运动目标检测[1-4]、运动目标跟踪[5-10]和交通事件检测[11-13]三部分组成。其中,常见的运动目标检测技术有背景差法、帧差法以及光流法。当检测车辆运动速度较慢或静止时采用帧差法检测车辆容易发生漏检现象;背景差法对外界环境变化(例如光照)比较敏感,需要依靠稳定的背景;而光流法计算比较复杂,计算量比较大。运动目标跟踪技术主要有kalman滤波和粒子滤波等方法,kalman滤波是线性条件下的跟踪,而粒子滤波是非线性条件下的跟踪。在交通事件检测方面,许多学者针对不同的交通情景提出了不同的交通事件检测模型,其中文献[14]提出了一种采用时间序列特征的稳态分析法来检测静止目标的露天场景下的高速公路违章停车视频检测算法。文献[15]采用滑动窗口的方法来判断车辆的运动趋势,并通过计算滑动窗口内的轨迹点的平均速度来判断交通异常行为。文献[16]采用码本模型对背景进行建模来检测运动目标,根据车辆停留时间的长短来判断车辆是否停车。文献[17]提出了一种仿昆虫复眼算法来检测停车事件,该文将整个视频画面分割成若干小区域,对每个区域建立停车事件数学模型进行停车检测。文献[18] 提出了一种基于视频车辆轨迹模型的交通事件自动检测方法,该方法通过分析车辆行驶轨迹点将车辆轨迹分解为前行、反行、停滞、斜行四类轨迹元素,并且根据这4类轨迹元素对车辆的行驶行为建立数学模型来确定发生的交通事件类型。文献[19] 提出的基于机器视觉的高速公路交通事件检测方法,该方法根据二值图上运动目标的特征,判断拥堵、行人、停车等交通事件的发生。文献[20] 提出了一种基于支持向量机的交通事件自动检测(SVM-AID)算法,对实际高速公路交通参数数据应用SVM-AID算法进行测试,检测率和实用性均达到了很好的效果。文献[21] 利用像素级时间序列特征检测静止物体,并根据对象级区域特征实现停驶车辆的辨识,获取车辆的违章停车信息。以上方法都对交通异常事件进行了分析,但是没有对异常事件进行细致的划分,容易出现漏判。
基于以上分析,本文针对高速公路停车、逆行交通事件提出了基于运动目标轨迹的高速公路异常事件检测算法研究。车辆的运动轨迹含有丰富的车辆信息,通过观察车辆的运动轨迹可以直观地了解车辆的运动状态,获得车辆的运动方向。同时,通过对车辆运动轨迹进行分析,可以间接获得各种空间交通参数(例如速度,质心变化等),为交通异常事件的检测提供了判断依据。本文首先采用均值法建立背景,背景差法提取运动目标前景,针对存在阴影的运动目标前景采用改进的基于边缘和HSV颜色空间相结合的算法消除阴影,该方法弥补了单一特征阴影去除算法阴影消除不干净和前景过度消除的缺点,提高了运动目标检测的精度。其次,对检测出的运动目标前景采用kalman滤波算法进行跟踪,获得车辆的运动轨迹。最后,分析车辆的运动轨迹,根据车辆的运动状态设计异常事件模型,检测相关的交通参数来判断异常事件。该检测方法能够精确地检测出车辆属于哪种违章行为,实用性好。
本文重点是分析车辆的运动状态,判断车辆是否异常行驶。精确提取运动目标前景是分析车辆运动状态的基础,为后续的车辆跟踪,行为分析做准备。本文以均值法建立背景,背景差法提取目标前景,通过阈值分割、滤波、形态学等预处理获得完整运动目标,如式(1)-式(4)所示。
(1)
Bi+1=(1-α)Bi(x,y)+αfi(x,y)
(2)
Di(x,y)=|fi(x,y)-Bi-1(x,y)|
(3)
(4)
式中:fi(x,y)为原图像,B(x,y)为背景图像,Di(x,y)为差分图像,F(x,y)为前景二值图像。为防止停车车辆融入背景,本文以较小的学习率α对背景进行更新来适应当前环境的变化,取α=0.005,N=200,th=45。 实验结果如图1所示。
图1 视频序列第18帧运动目标检测
由于阴影的存在,通过背景差法得到的运动前景区域,使检测出的前景区域部分车辆信息丢失或者多个车辆区域发生融合,从而改变了车辆的大小和形状。如图1(c)中,由于阴影的存在使3辆车识别为1辆车。产生这个误差的原因是由于车辆阴影与车辆具有一致的运动特性,以至于阴影被识别为运动目标,使后续的跟踪无法进行。对于车辆阴影,国内外学者提出了不同的阴影去除算法[22-23],但在阴影消除过程中采用基于颜色的算法去除阴影会使车辆颜色与背景颜色相同的车辆被误认为阴影而被消除,从而得到的检测前景不完整。本文采用基于边缘和HSV颜色空间相结合的方法去除阴影,能够检测出精确的运动区域,弥补了基于边缘的阴影去除算法阴影消除不干净的结果,也弥补了基于颜色空间的阴影去除算法检测不完整的情况。算法流程如图2所示。
图2 阴影去除算法流程图
1.1.1 基于HSV颜色空间的阴影去除
HSV颜色模型保留了精确的灰度信息和色彩信息,能够突出阴影与运动物体和背景的不同。在 HSV 颜色空间下,阴影区域相对于前景区域在色调(H)和饱和度 (S)上变化不大,但亮度 (V)有很大不同,即阴影区域比非阴影区域暗很多。基于这个原因,进行阴影去除,算法如式(5)-式(8)所示,算法流程如图2(a)所示。
(5)
△S=|Sf(x,y)-Sb(x,y)|
(6)
△H=|Hf(x,y)-Hb(x,y)|
(7)
(8)
式中:Hf、Sf、Vf分别为前景色调、饱和度、亮度,Hb、Sb、Vb分别为背景色调、饱和度、亮度。 其中(α,β)∈(0,1),在本文中取α=0.05,β=0.2,Ts=30,Th=15。
1.1.2 基于边缘特征的阴影检测
图像中边缘含有丰富的信息,车辆阴影的边缘相比车辆的边缘更清晰简洁且阴影的边缘密度比较小,而车辆的边缘密度比较大。本文采用文献[24]的方法利用Log边缘检测算子对背景差法得到的车辆前景和阈值分割后的图像分别进行边缘检测,将最终的边缘图像进行异或运算后得到去除阴影的前景图像。Log边缘检测[25]先对原始图像进行平滑处理,从而实现对噪声最大程度的抑制,再对平滑后的图像提取边缘。具体可以分为三个部分:① 采用二维高斯函数对灰度图像进行卷积,实现对灰度图像的平滑;② 采用二维拉普拉斯算子对平滑后的图像进行增强;③ 根据二阶导数零交叉进行边缘检测,即提取增强后的二阶方向导数图像的零交叉点轨迹,即可得到图像的边缘。如式(10)、式(12)所示,算法流程如图2(b)所示。
(9)
img(x,y)=G(x,y)*f(x,y)
(10)
(11)
g(x,y)= ▽2{img(x,y)}=
▽2[G(x,y)*f(x,y)]=
▽2G(x,y)*f(x,y)
(12)
(13)
式中:式(9)为二维高斯函数,σ为G函数的标准差,*为卷积运算符;式(13)为高斯拉普拉斯(LOG)。本文取3×3的高斯滤波器,取σ=0.25。
检测出完整运动目标前景后,用最小矩形框标定运动车辆的连通区域并跟踪,提取连续帧车辆的质心坐标,即可以获得车辆的运动轨迹。实验结果如图3所示。
图3 运动目标跟踪
本文采用文献[26]中的质心距离约束、目标大小约束双重约束条件相结合的方法进行车辆跟踪,获得车辆运动轨迹。跟踪过程如下:
(1) 对t时刻矩形框标记的运动目标,分别计算矩形框信息BBox=[x,y,width,height]和质心坐标及面积大小,并通过kalman滤波算法对质心坐标和面积大小进行预估计,建立初始目标信息链。
(2)t+1时刻时,通过同样的方法获得目标的质心和面积及矩形框信息。
(3)t+1时刻,对目标进行匹配,匹配规则:质心距离约束匹配要求t+1时刻对应目标区域的质心的估计值和实际值欧氏距离小于给定阈值dth,即|CtCt+1| 其中,kalman滤波算法是对车辆信息建立状态空间方程和观测方程,根据前一帧的车辆特征信息估计当前帧的特征信息值,与当前帧的观测值在线性无偏差最小方差的估计下对车辆的特征信息做出最优估计,它的状态方程和观测方程可用一个线性随机微分方程表示: 状态方程: x(k)=Ax(k-1)+W(K) (14) 观测方程: z(k)=Hx(k)+V(K) (15) 对于视频中的运动车辆,相邻帧间车辆的运动距离非常小,几乎不会发生较大的改变,所以认为在相邻帧△t时间内的车辆在做匀速运动,即满足如下公式: xk=xk-1+vxk-1×△t (16) vxk=vxk-1 (17) 因此,可选用质心的横纵坐标和外接矩形框的高和宽设置一个八维向量来构建运动车辆的运动状态。 运动车辆的状态方程为: x(k)=[xk,yk,vxk,vyk,wk,hk,vwk,vhk] (18) 运动车辆的观测方程为: z(k)=[xk,yk,wk,hk] (19) 式中:(xk,yk)为质心的横、纵坐标;wk、hk为外接矩形的宽、高;vxk、vyk、vwk、vhk分别为质心和外接矩形四个分量的速度。 根据整个跟踪模型可以得到: 式中:△t为相邻帧间的时间间隔,按每秒30帧的速率,其取值为0.33。 在高速公路上每个摄像机安装的位置和角度都是确定的,每个路段车辆的正确行驶方向可以在上位机上直接进行人工设置,通过分析车辆某一方向上的运动,观察质心坐标大小的变化,判断车辆是否逆行。本文以左上角为坐标原点,以向摄像机的方向为正方向,通过对车辆连续跟踪T帧,分析车辆的运动轨迹的纵坐标序列y=(y1,y2,…,yn)。当y1 判断车辆停车的基本思想是:车辆在高速路上减速行驶至停车,初始速度大于0,加速度小于0,速度逐渐减小,车辆质心的位置变化减小;当车辆停止行驶时,车辆的质心不在变化,速度为0。因此,通过计算车辆的质心位置的变化和车辆的速度变化来判断车辆是否违章停车。具体判断方法如下: (1) 分析车辆运动轨迹,对矩形框标定的运动车辆的质心C,每j个跟踪点计算车辆质心的位置变化(其中,j=5): (20) 若△Ck(x,y)>△Ck+i(x,y)(i=1,2,3,4,5)则表明车辆在减速行驶。对于减速行驶的车辆,连续k帧,满足△Ck(x,y)=0,则表明车辆停止行驶,k=5。 (2) 本文认为车辆在相邻帧内做匀速直线运动,因此,认为视频图像中的车辆在相邻几帧之间的运动速度为瞬时速度。 (21) (22) 当连续k帧,vt=0,则表明车辆停止行驶,其中k=5。 本文基于MATLAB 2014a实现,在CPU为2.60 GHz,内存为4 GB的普通计算机上对广泛使用的阴影检测基准运动图像序列Highway1、Highway2(https://cvrr.ucsd.edu/aton/shadow/)和实际高速公路图像序列Highway进行实验来验证本文对改进的阴影去除算法的性能,测试图像序列如表1所示。 表1 测试图像序列 并和文献[24]提出的基于边缘检测的阴影去除算法在同样的实验平台上进行实验对比,采用文献[27]提出的性能评价公式来判断不同算法的检测效果,其中阴影检测率η和阴影分辨率ξ越大则效果越好,实验结果如图4-图6所示。 图4 Highway1阴影检测对比结果 图5 Highway2阴影检测对比结果 图6 Highway阴影检测对比结果 (23) (24) 从图4-图6实验结果可以看出,文献[24]提出的基于边缘检测的阴影去除能够去除大部分的阴影,但是仍然存在细小的阴影边缘,如图4(b)和图5(b)的阴影检测结果;当车辆本身颜色和路面的颜色一样时,采用HSV阴影去除算法误将部分车辆识别为阴影,使得检测的车辆不完整,如图6(c)中的HSV阴影去除算法将大部分的车辆识别为阴影,仅保留了部分车辆前景。本文采用文献[24]的方法与HSV颜色空间相结合的方法去除阴影,很好地解决了细小阴影去除不干净和车辆检测不完整的现象。实验数据检测结果如表2所示。 表2 实验数据检测结果 从表中检测结果数据可以看出,本文所采用的方法阴影分辨率ξ比文献[24]小,但是阴影检测率较文献[24]高,整个阴影去除效果较文献[24]好。 本文以高速公路实际交通视频为研究对象,在此实验平台上验证逆行、停车异常事件算法的正确性。其中视频分辨率为320×240,帧率为30帧/s。图7为在高速公路匝道口由于车辆错过出口而发生的逆行事件,分别列出了视频序列的第45帧和第456帧,从2帧图像车辆的运动轨迹可以明显地看出456帧图像中的车辆在逆向行驶。取T为20,获得车辆的20个跟踪点如表3所示。分析跟踪点的y坐标序列,得出y1>y2>…>yn,车辆在背向摄像机的方向运动,从而判断车辆逆行。视频序列中3辆车质心横纵坐标变化如图8所示。从图中可以看出,车辆质心的横坐标均在一定的范围变化,而正常行驶车辆的纵坐标在逐渐增大,逆行车辆的纵坐标在逐渐的减小。 图7 运动车辆违章逆行检测 跟踪点坐标(x,y)跟踪点坐标(x,y)1(508,332)11(488,233)2(498,314)12(487,222)3(497,304)13(484,216)4(496,295)14(485,211)5(495,284)15(485,205)6(494,276)16(483,200)7(491,261)17(481,190)8(489,254)18(479,186)9(489,247)19(475,182)10(486,239)20(473,177) 图8 车辆质心坐标变化图 图9为某高速公路违章停车视频序列的第104帧、253帧、828帧。该视频序列是车辆行驶至路中停车后有人下车最终车辆离开的过程,通过分析车辆减速至停车部分车辆质心、速度、加速度等交通参数来判断车辆是否违章停车。 图9 运动车辆违章停车检测 图10为图9中停车车辆的交通参数变化图,其中在图10(a)中可以看出,在100帧左右车辆质心的横纵坐标几乎保持不变,并且质心的位置变化也逐渐的趋于0,在104帧达到0。车辆在运动的过程中,通过式(21)、式(22)可以得到车辆的初始瞬时速度为52.9像素/s,大于0,初始加速度为-11.1像素/s2小于0,说明车辆在做减速运动,在第104帧时质心位置变化为0,速度为0,并且以后连续5帧均为0,说明车辆停止运动,车辆位置变化及速度变化如图10(b)、10(c)所示。 图10 停车车辆参数变化图 为了验证本文异常事件检测算法的正确性,对高速公路不同路段视频进行违章逆行、停车异常事件检测,得出如图表4所示的实验结果。针对不同帧视频序列均可以检测出异常事件,正确检测率可以达到91%。 表4 高速公路车辆异常行驶检测 本文提出的基于车辆运动轨迹的高速公路异常事件检测算法,应用背景差分法提取车辆前景,在已有的阴影去除算法的基础上,提出了基于边缘检测和HSV颜色空间相结合的方法去除阴影,阴影去除效果及阴影检测率均有所提高,比单一的阴影去除方法效果好。针对高速公路异常逆行、停车事件易出现追尾、交通拥堵甚至连环的交通事故的情况,本文根据车辆行驶状态建立异常事件模型,通过分析车辆运动轨迹检测交通参数判断车辆是否发生异常行驶。最后以实际高速公路视频序列为研究对象进行实验验证,实验结果表明交通异常事件检测的准确率可以达到91%,能够很好地检测出异常事件并且能够清楚地了解车辆发生了哪种异常行为。 [1] 于万霞,杜太行.基于彩色空间的背景帧差法视频车辆检测[J].计算机仿真,2010,27(1):285-287. [2] 康晓晶,吴谨.基于高斯背景建模的目标检测技术[J].液晶与显示,2010,25(3):454-459. [3] 徐凯,陈仕先,颜广.基于高斯模型的运动目标检测方法研究[J].激光与红外,2012,42(7):821-824. [4] 范文超,李晓宇,魏凯,等.基于改进的高斯混合模型的运动目标检测[J].计算机科学,2015,42(5):286-288. [5] 马文罗,胡建新,钱东海.基于视觉的运动目标伺服跟踪研究[J].计算机工程,2012,38(8):183-185. [6] 柴毅,阳小燕,尹宏鹏,等.基于运动区域检测的运动目标跟踪算法[J].计算机应用研究,2010,27(12):4787-4789. [7] 刘超,惠晶.基于改进CAMShift的运动目标跟踪算法[J].计算机工程与应用,2014,50(11):149-153. [8] 路红,李宏胜,费树岷,等.融合块显著质心描述和多级关联的多目标跟踪[J].系统工程与电子技术,2015,37(9):2182-2190. [9] 万中田,冼钟业,胡明宇,等.基于Kalman预测器的多特征Camshift运动目标跟踪算法[J].武汉大学学报(工学版),2015,48(5):712-716. [10] 王炜,郭毓,俞信.基于卡尔曼滤波的多区域关联运动目标跟踪[J].计算机应用,2012,32(11):3174-3177. [11] Wang R,Work D B.Interactive multiple model ensemble Kalman filter for traffic estimation and incident detection[C]//IEEE,International Conference on Intelligent Transportation Systems.IEEE,2014:804-809. [12] 宋焕生,郭玲玲,袁彬,等.一种基于块累积的高速公路车辆停车事件检测方法:中国,102110366[P].2011-06-29. [13] Tan Z,Lu X.A Combination Algorithm of Freeway Traffic Automatic Incident Detection[C]//International Conference on Transportation Information and Safety,2011:1106-1112. [14] 赵敏,张波,唐毅,等.露天场景下高速公路违章停车视频检测算法[J].计算机测量与控制,2014,22(2):489-492. [15] 邱凌赟,韩军,顾明.车道模型的高速公路车辆异常行为检测方法[J].计算机应用,2014,34(5):1378-1382. [16] 姜明新,王洪玉,沐方顺.基于视频监控的违章停车检测算法[J].计算机工程,2012,38(19):151-153. [17] 王卫锋,黄翰,郝志峰,等.仿昆虫复眼的交通视频停车事件检测方法[J].计算机工程与应用,2012,48(6):246-248. [18] 赵有婷,李熙莹,罗东华.基于视频车辆轨迹模型的交通事件自动检测方法研究[J].中山大学学报,2011,50(4):56-60. [19] 苑玮琪,谢昌隆.基于机器视觉的交通事件检测方法的研究[J].计算机仿真,2013,30(10):189-193. [20] 陈维荣,关佩,邹月娴.基于SVM的交通事件检测技术[J].西南交通大学学报,2011,46(1):63-67. [21] 殿海,胡宏宇,李志慧,等.违章停车检测与识别算法[J].吉林大学学报(工学版),2010,40(1):42-46. [22] 余孟泽,刘正熙,骆键,等.融合纹理特征和阴影属性的阴影检测方法[J].计算机工程与设计,2011,32(10):3431-3434. [23] 张红颖,李鸿,孙毅刚.基于混合高斯模型的阴影去除算法[J].计算机应用,2013,33(1):31-34. [24] 李浩亮,水清河,范文兵,等.一种新颖的基于边缘检测的车辆阴影去除方法[J].郑州大学学报(工学版),2014,35(5):11-14. [25] 贺强,宴立.基于LOG和canny算子的边缘检测算法[J].计算机工程,2011,37(3):210-212. [26] 陈聪,朱煜,肖玉玲,等.一种有效的车辆跟踪算法与异常车辆检测[J].华东理工大学学报(自然科学版),2015,41(2):205-209. [27] 邱一川,张亚英,刘春梅.多特征融合的车辆阴影消除[J].中国图象图形学报,2015,20(3):0311-0319.3 车辆异常事件检测
3.1 违章逆行事件检测
3.2 违章停车事件检测
4 实验结果
5 结 语