薛飞杨 巨永锋 宋永超 杜凯 刘维宇
摘 要: 针对现有交通状态检测算法无法适应城市道路复杂交通的问题,提出一种新的基于Haar?like和时空信息的交通状态区域提取算法。该算法首先采用基于Haar?like特征的车辆检测算法、边缘检测法和帧差法分别提取路面车辆、空域纹理和时域纹理的三种信号;然后将提取到的三种信号进行统计分析,获得准确的交通状态区域。将该算法与基于车辆检测的交通状态检测算法和基于帧差法的交通状态检测算法在远距离小目标、遮挡车辆和混合交通的复杂交通场景中进行对比实验。实验结果表明,该算法在这些复杂交通场景中准确率平均达90.98%。
关键词: 交通状态检测; 拥堵检测; 车辆检测算法; 空域纹理; 时域纹理; 信号分析
中图分类号: TN911.72?34; TP391.41; U491.265 文献标识码: A 文章编号: 1004?373X(2020)01?0080?06
Regional traffic state detection based on Haar?like features and
spatial?temporal information
XUE Feiyang, JU Yongfeng, SONG Yongchao, DU Kai, LIU Weiyu
Abstract: In view of the fact that the existing traffic state detection algorithm fails to cope with the complex traffic on urban roads, a new regional traffic state extraction algorithm based on Haar?like features and spatial?temporal information is proposed. Firstly, the vehicle detection algorithm based on Haar?like features, the edge detection method and the frame difference method are used to extract three kinds of signals of vehicles on the pavement, spatial texture and temporal texture respectively. Secondly, the three extracted signals are statistically analyzed to obtain the accurate traffic status area. The algorithm is compared with the traffic state detection algorithm based on vehicle detection and the traffic state detection algorithm on frame difference method in the complex traffic scenes with remote small targets, invisible vehicles and mixed traffic. The experimental results show that the algorithm has an accuracy rate of 90.98% in these complex traffic scenes.
Keywords: traffic state detection; congestion detection; vehicle detection algorithm; spatial texture; temporal texture; signal analysis
0 引 言
交通状态检测一般采用道路拥挤等级[1?2]作为道路交通状态的区分标准。但一方面,城市道路的交通状态兼具复杂性和多变性,因此需要对城市道路交通进行局部细分的区域性检测;另一方面,非机动车等交通对象的借道穿行造成混合交通[3]现象干扰交通状态检测。目前,国内外对于拥堵的检测有光流法[4?5]、帧法[6?7]、背景差分法[8?9]等,但这些方法无法对交通对象进行细分。文献[10]采用基于Haar?like特征的车辆检测技术进行拥堵检测,其缺点在于无法检测遮挡车辆和远距离小目标车辆。
为了克服以上问题,本文将交通状态区域细分为“机动车拥堵区域”“机动车正常行驶区域”“非机动车区域”“道路无车区域”,基于Haar?like与时空信息提取信号分析,得出准确的交通状态区域。经对比实验,本文算法在城市复杂交通场景下有着更好的表现。
1 算法总体思路及分车道标定
1.1 算法总体思路
本文的算法流程图如图1所示。首先对各车道线及分车道进行标定。然后采用基于Haar?like特征的车辆检测、边缘检测法和帧差法分别获得检测车辆、空域纹理曲线和时域纹理曲线。再使用适应性窗口的均值阈值和方差阈值提取车辆信号、时域纹理信号、空域纹理信号。最后,通过统计分析信号,提取出各交通状态区域在图像中的位置,获得精准细化的道路交通状态。
1.2 分车道标定
为了精准地提取分车道环境下的交通状态区域,实验采用两端法对指定车道线进行人工标定,并划分各车道区域以及相应的终止线,如图2b)所示。[{Xi1,Xi2}]为各车道线的端点,[i=1,2,…,M]。相邻车道线间的区域为分车道区域,标记为第[1,2,…,i,…,M-1]区域。
2 基于Haar?like特征的车辆检测及车辆信号提取
2.1 基于Haar?like特征的车辆检测
本文应用基于Haar?like特征的AdaBoost级联分类器[11]对道路内的车辆进行检测。收集车辆正面和背面图片样本进行训练,再将训练获得的AdaBoost级联分类器在图像中扫描识别,可以获得多个车辆识别框[P]。每一个识别框的位置、大小可用以下公式描述:
[P=(x,y,w,h)] (1)
式中:[(x,y)]代表识别框左上角点坐标;[(w,h)]代表识别框的大小。
当前视频帧的所有候选框可表示为集合[Φ{P1,][P2,…,Pj,…,Pn}],如图3所示。
2.2 车辆信号提取
首先要将识别车辆[P]归类到所属的分车道上,识别框[P]的底边中点是车辆离路面最近的稳定点,记为[Xs],则有:
[Xs=(x+w2,y+h)] (2)
为判断[Xs]处于哪一车道内,可将[Xs]与第[i]条车道线的两端点[{Xi1,Xi2}]分别做如下运算:
[Deti=xsys1xi1yi11xi2yi21] (3)
当[Xs]在第[i]条车道线右侧时,[Deti>0];当[Xs]在左侧时,[Deti<0]。设车辆所属的区域为[i],则有[Deti>0],且[Deti+1<0],如图4所示。
此时即可将车辆识别框[Pj]分类在各自的分车道[i]内。假设第[i]分车道从上到下的编号为[k1,k2,…,kni],则第[i]分车道的车辆信号可以由如下公式计算:
[sig_vehi(ys)=1,yj 式中:[j=k1,k2,…,kni];[ys]为水平扫描线纵坐标;[sig_vehi(ys)]为垂直方向上对应整个图像的车辆信号。如果[ys]处于第[i]分车道的任意识别框[Pj]内,即将车辆信号[sig_vehi(ys)]置1。对每一个分车道分别求车辆信号[sig_vehi(ys)],可得结果如图5所示。 3 空域和时域纹理检测与其信号提取 3.1 空域纹理检测及信号提取 本文采用边缘检测法提取图像的边缘纹理来获取其空域上的纹理。设[E(x,y)]为去除了道路以外区域的二值边缘灰度图,如图6a)所示。 观察二值化边缘图[E(x,y)]得到,道路路面除噪声或阴影外基本无纹理,而道路上的物体如车辆的纹理相对密集且变化较为明显。本文在各分车道上,沿道路消失方向水平扫描,并统计相应的像素个数得到空域纹理曲线。以第[i]条分车道为例,首先第[i]条分车道的点集[Ti]公式如下: [Ti={(x,y)Deti>0?Deti+1<0}] (5) 再计算空域纹理曲线,公式如下: [tex_spai(ys)=(x,y)∈TiE(x,ys)l(ys)] (6) 式中:[E(x,y)]为[Ti]内水平线[ys]上的像素点[E(x,y)=1]的个数;[tex_spai(ys)]即为第[i]条分道的空域纹理曲线,得到的结果如图6b)所示。由于道路物体在图像中呈现出近大远小的特点,纹理强度随道路深度等比例缩放。为了消除它对实验的影响,将[E(x,y)]除以对应的道路宽度[l(y)]。 再在窗口[w]内计算空域纹理曲线的均值[m(ys)]和方差[v(ys)],公式如下: [m(ys)=ys-w2ys+w2tex_spa(ys)w] (7) [v(ys)=ys-w2ys+w2[tex_spa(ys)-m(ys)]2w] (8) 同样由于物体在图像中近大远小的原因,窗口的大小[w]也需要随着扫描线[ys]的滑动改变,设定[w]正比于图像中的道路宽度[l(y)]。 得到均值[m(ys)]和方差[v(ys)]后,设定阈值[M]和[V]提取空域纹理信号[sig_spa(ys)],计算公式如下: [sig_spa(ys)=1,m(ys)>M?v(ys)>V0,other] (9) 最终得到的所有分车道的空域纹理信号[sig_spa(ys)],如图7所示。 3.2 时域纹理信号提取 为了分析视频帧上的运动性物体,本文对视频采用帧差法获得其在时间上的纹理变化,设道路内的帧差图为[D(x,y)]。以同样的原理提取帧差图[D(x,y)]在各分车道上的时域纹理曲线,公式如下: [tex_tempi(ys)=(x,y)∈TiD(x,ys)l(ys)] (10) 式中:[tex_tempi(ys)]为第[i]条分车道区域的时域纹理曲线,结果如图8b)所示。 最后,以同样的方法计算均值[m(ys)]和方差[v(ys)]后,提取时域纹理信号[sig_temp(ys)],公式如下: [sig_temp(ys)=1,m(ys)>M?v(ys)>V0,other] (11) 所有分车道的时域纹理信号如图9所示。 4 交通状态区域提取 城市道路上会产生各类交通状态区域,这些区域存在于不同的分车道,且有着不同的位置和大小。本文通过统计分析车辆信号、空域和时域纹理信号,提取准确的交通状态区域。 车辆信号不能识别远处的车辆类型,不过由于在图像远处,使用空域纹理信号和时域纹理信号足以进行提取,在近处才使用所有的信号来提取交通状态区域。本文根据车辆检测方法能提取到的最远距离对各分车道区域的“远处[Far]”和“近处[Near]”进行定义。如在第[i]分车道上,车辆检测算法得到的最远的识别框为[Pk1]。因此定义此分车道的“远处[Far]”为[Pk1]上边沿与终止线[yend]之间的区域,即: [Far={(x,y)∈Tiyend 此分车道的剩余区域则为“近处[Near]”。然后,将车辆信号、空域纹理信号和时域信号分别进行比对与统计分析,即可获得各类交通状态区域,具体步骤如下: 1) 通过式(12)获取分车道的“远处[Far]”和“近处[Near]”; 2) 针对“远处[Far]”和“近处[Near]”分别采用不同的信号分析统计交通状态区域,信号分析区域提取方法分别如表1和表2所示。 3) 对各区域边界进行修正:各区域间的交界修正为车辆信号[sig_veh(ys)]的上升下降沿。其他边界修正为空域纹理信号[sig_spa(ys)]与车辆信号[sig_veh(ys)]中最远的上升下降沿。 交通状态区域提取的结果如图10所示。 图10中,每条分车道各自的浅蓝线为车辆检测算法的最远距离的线,浅蓝线(虚线)以上的区域为“远处Far”,以下的区域为“近处Near”。以第2分车道为例,如图10a)所示。从上到下,2A区域为“拥堵区域”,2B,2C区域为“正常行驶区域”。分析得知此图像的场景路况:第1分车道完全空白;第2,3车道后方拥堵、前方车辆刚刚起步运行。总的来说,此道路为特定分车道陷入局部拥堵,又在分车道内部处于拥堵即将结束的道路交通状态。 5 实验结果 为了保证实验的真实性,本文采用的视频采集自西安雁塔区长安中路,视频中包含以下复杂场景:远距离小目标、车辆遮挡、混合交通。 将本文算法和算法1(基于文献[6])、算法2(基于文献[10])在各复杂场景中进行比对实验。 1) 远距离小目标场景 在图11(远距离小目标场景)中。算法1基于车辆检测,提取的C,D区域并不包括远方小目标车辆,其D区域下方边沿不准确;本文算法则清晰完整的提取了所有的区域,其B边界也得到了修正。 2) 车辆遮挡场景 在图12(车辆遮挡场景)中。算法1提取的D,E区域不包括后方遮挡车辆;而本文算法提取的区域更为准确。 3) 混合交通 在图13(混合交通场景)中。由于算法2没有加入车辆信号,D,E两区域错误地进行了正常行驶区域的提取。同时E区域下边界有误;而本文算法由于结合车辆信号,其B,C两区域正确提取了非车物体区域,同时也修正了C区域下边界的位置。 为了量化各算法的准确率,令准确率[P]公式如下: [P=(R?G)G] (13) 式中:[G]为真实场景下的交通状态区域;[R]为算法得出的交通状态区域;准确率[P]为算法和真实场景的重叠区域与真实场景区域的面积比。 本文针对远距离小目标、车辆遮挡和混合交通的复杂场景,分别各抽取100帧视频进行人工标定,得到真实的交通拥堵区域。再根据式(13)对比各算法对于交通拥堵区域的准确率,如表3所示。 观察表3可知,算法1在远距离小目标场景中有极大缺陷,在其他复杂场景中,由于没有进行边界修正,其准确率也不是非常高;算法2在其他场景表现较为良好,但在混合交通场景中无法准确识别;本文算法则在这三种复杂场景中都有着较高的准确率。 6 结 论 本文在城市复杂道路场景下,提出一种基于Haar?like和时空信息的交通状态区域提取算法,该算法可以分车道地提取各交通状态区域,得到细化精准的各交通状态情况。将该算法与基于帧差法的交通状态检测和基于车辆检测的交通状态检测进行对比实验,结果表明该算法在复杂交通情形下仍然有着较高的准确率。 注:本文通讯作者为巨永锋。 参考文献 [1] 美国交通研究委员会.道路通行能力手册[M].北京:人民交通出版社,2007:116?189. [2] 北京交通委员会.国外交通拥堵定义指标简介[EB/OL]. [2012?12?28]. http://www.bjjtw.gov.cn/gzdt/yjzl/201212/t20121228_70291.htm. [3] WONG G C K, WONG S. A multi?class traffic flow model—an extension of LWR model with heterogeneous drivers [J]. Transportation research part A: policy & practice, 2002, 36(9): 827?841. [4] 计文平,郭宝龙,丁贵广.基于虚拟线圈的光流法车流量检测[J].计算机仿真,2004(1):109?110. [5] TAN H, ZHAI Y, LIU Y, et al. Fast anomaly detection in traffic surveillance video based on robust sparse optical flow [C]// IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP 2016). [S.l.]: IEEE, 2016: 1976?1980. [6] 郝毫刚,陈家琪.基于五帧差分和背景差分的运动目标检测算法[J].计算机工程,2012,38(4):146?148. [7] SENGAR S S, Mukhopadhyay S. A novel method for moving object detection based on block based frame differencing [C]// 3rd International Conference on Recent Advances in Information Technology. [S.l.]: IEEE, 2016: 467?472. [8] 郭怡文,袁飞虎.基于背景差分的多车道车流量检测系统[J].电光与控制,2010,17(9):90?93. [9] JOUDAKI S, SUNAR M S B, Kolivand H, et al. Background subtraction methods in video streams: a review [C]// 2015 4th International Conference on Interactive Digital Media. [S.l.]: IEEE, 2016: 53?60. [10] LAM C T, GAO H, NG B. A real?time traffic congestion detection system using on?line images [C]// 2017 IEEE 17th International Conference on Communication Technology. [S.l.]: IEEE, 2017: 1548?1552. [11] VIOLA P, JONES M J. Robust real?time face detection [J]. International journal of computer vision, 2004, 57(2): 137?154. 作者简介:薛飞杨(1994—),男,陕西韩城人,硕士,研究方向为交通检测技术。 巨永锋(1962—),男,陕西周至人,教授,博士生导师,主要研究方向为交通控制与管理、智能测控技术及应用。 宋永超(1990—),男,山东威海人,博士,研究方向为交通多对象检测。