随着智能交通的快速发展,道路交通状况的实时检测越发重要[1]。常用的城市交通信息采集方式分为两大类:通过硬件检测器进行采集和通过视频进行采集。硬件检测器包括:环形线圈检测器、地磁检测器、微波检测器、超声波检测器,红外线检测器等。但是,这几种交通信息检测方法检测的精度和可靠性不高,不适合进行大范围的检测,不能显示交通现场等对于交通调查与分析、交通处罚等至关重要的信息[2-3]。因此,基于视频图像处理的优点就显现出来。
基于视频的交通信息采集由摄像机、计算机处理技术、微处理器或工控机等构成。由于基于视频的方法具有设备安装方便、覆盖面积大、获取信息量丰富等优点,因此,它成为了智能交通系统的发展趋势。目前,基于视频的交通信息检测的方法主要包括基于帧间差分的方法[4]、基于光流场的方法[5-7]、基于背景差分的方法[8-11]。帧间差分法运算简单,但是它不能检测出静止或运动过慢的物体,而且对于物体内部灰度比较均匀的情况下在目标重叠部分会形成空洞,不利于后面的分析与识别;光流法能够检测独立的运动对象,不需要预知场景的任何信息,但是由于光流的计算采用迭代的方法,计算复杂耗时,不利于实时检测;背景差分法对于复杂背景下的检测效果较好,一般都能提供最完整的特征数据,计算量小,使用价值大,但是易受到光线、天气等外界条件的影响,而且其依赖于背景建模,使得算法变得复杂,耗时更长[12]。而且,这几种方法都不能解决车辆间相互遮挡而引起的漏检问题,对摄像机拍摄角度要求很高。因此,结合已有方法的优点,提出了一种基于时空图的车流量检测方法,这种方法检测车流量准确,并且不受环境变化的影响,计算简单,能够进行实时的检测,具有较好的实用性。
1 时空图像处理基本原理经典的交通流量检测中所用图像都是基于二维空间坐标的序列图,融合空域与时域特性,从另一个角度--时空角度对图像进行描述,该方法很好地反映了运动目标与静态背景间的差异,能更有效地从复杂背景中检测车辆运动状态,进而进行车流量计算和判断道路堵塞状况。
笔者提出的方法中,在视频中设置一条虚拟的检测线,记录从第一帧到第N帧检测线上的灰度值。如图 1所示,由于帧数是随着时间成线性变化,故用横轴T表示时间,用纵轴y来表示检测线上灰度值的变化情况,这样就能得到一段时间内通过检测线的时空图。这种图像可认为是线列探测器的凝视图,将面阵探测器中同一列探测器、不同时刻的图像按时间顺序展开而成,不同位置的列探测器反映了各对应点的情况。
|
图 1 时空图获取示意图 Figure 1 Space-time diagram obtaining diagram |
由图 1可知,时空图描述的是检测线上的灰度值随时间变化的情况,它具有成像画面单一的特点。检测线上的背景是静止的,在时空图上不随时间变化;对于运动的车辆目标,其在时空图上的灰度值将发生改变。当视频的帧率一定的时候,车辆运动速度越快,车辆在检测线上停留的时间越短,在时空图中显示的宽度即时间方向上越短。灰度变化区域长度l与物体运动速度v成反比,如公式(1)所示:
| $ v = w/l。 $ | (1) |
因此,当车辆静止时,其在时空图上的宽度为无限长;当车辆在运动时,其在时空图上的宽度是有限长。由于在时空图像上,横轴是时间轴,显示车辆的时间信息;纵轴是空间轴,显示车辆的空间信息。整个时空图由连续图像帧的检测线像素值堆积而成,它表示出了车辆的存在和宽度,以及车辆在检测线中的保持时间。时空图所表示的时间长度可由公式(2)得到
| $ l = n/a, $ | (2) |
其中:n为时空图上横轴所取的帧数;a为每秒所播放的帧数。
图 2(a)为视频中的某一帧图像,图 2(b)为(a)图像所在时间段的时空图。从图 2中可以清楚地看到,时空图中记录了检测线上的一段连续帧的空间灰度信息,将视频的空间信息和时间信息很好地融合到一起,便于后面的车流量计数算法的设计。畅通时刻和堵塞时刻在时空图中有明显的不同。畅通时刻的车辆为有限长度,而堵塞时刻的车辆在时空图上表现为很多的直线段,这对后面进行路况的判断提供了重要的信息[13-15]。
|
图 2 时空图示意图 Figure 2 Space-time diagram |
由于城市中路况复杂、行车速度慢、立交桥和高架桥较多、路中常有绿化带、摄像头远近和拍摄角度各异、车辆相互遮挡情况比较严重等原因,要计算出车流量和判断路况仅仅依靠时空图还不够,因此本文设计了一套基于时空图的车流量计算和路况判断算法。此算法包括时空图的获取、车流量计算2个部分。
2.1 时空图的获取由于时空图的获取是基于检测线的,因此首先要在视频图片中设定一条检测线,而检测线的设定对于后面的检测也是至关重要的。城市中的道路往往是多车道的,而各个车道之间均以虚线隔开。在设定检测线的时候,尽量不要让检测线直接穿过虚线,而是要让检测线从虚线的缝隙中穿过,以免检测线和车道线相交。如果检测线与多条车道线相交的话,获取的时空图上就会有多条直线存在,这些直线对于车辆计数和路况判断往往会带来负面的影响。由于离摄像机较近的地方车辆分辨率高,故检测线尽可能设定在离摄像机近的地方。
设定检测线后,就可以开始获取时空图了。大部分摄像机获取的视频的帧率约为30帧/s,因此,取5 s为一个时间段,每隔150帧组成一屏时空图累积并输出,即对于帧率为a的视频,时空图的宽度为5 a。对于输出的每一屏时空图,对其进行车流量计算和路况判断,并把每一屏的车辆数累计相加,直到停止检测或者视频播放完毕。该算法中只需要每隔一定的时间计算一次车辆数和判断路况,充分保持了算法的实时性,不必担心因为单屏时空图车辆计数算法过于复杂而导致的延时问题。
该算法中车流量计数是累计的单屏时空图中车辆数。如果在未累加满一屏的情况下停止检测,那么就要对结果进行修正。具体做法是:提取从上一次处理到停止检测那一刻中间时空图的子图像,对其进行车辆计数,并把结果累加到总车辆数上。
2.2 单屏时空图的车流量计算该计算车流量是通过累加每一屏时空图上的车辆数来实现的,所以如何准确计算每一屏时空图上的车辆数至关重要。笔者设计了一种用于计算单屏时空图上车辆数的算法,其过程如图 3所示,具体算法如下:
|
图 3 单屏时空图车辆计数流程图 Figure 3 Single space-time diagram vehicle calculation flow chart |
1)用canny算子获取单屏时空图的边缘图像。
2)由于道路堵塞时时空图呈现“多线状”,这时不能重复计算车辆个数。因此,用霍夫变换检测出时空图中过长的直线,并去除掉。
3)由于车辆挡风屏等问题存在,部分车辆的边界不完整,这对后面的车辆分割有影响。因此,先要对时空图的边缘图像进行形态学的处理。该算法是先进行数学形态学的膨胀数次,再进行孔洞填充,然后再进行腐蚀操作数次,使得各个车辆区域形成独立的实心的区域。最后用去小面积独立区域的方式,去除非机动车辆等其它噪声带来的影响。这样车辆候选区域就被分割为一个个的独立区域。
4)逐个搜索这些独立区域。
5)计算当前独立区域的质心和面积,如果质心接近左边界,并且其面积小于一定的阈值,那么这辆车是位于两屏时空图交接处的车辆,不予以计算,等此车辆出现在时空图右边界的时候再计算,防止一辆车出现在两屏时空图交界处时被重复计数两次的情况。
6)设定检测线时,不可避免地使车道线与检测线相交,使得时空图中出现了噪声,所以这要去除长宽比不符合车辆长宽比的独立区域。
7)计算当前区域的外接矩形,并求其外接矩形的面积。
8)对存在遮挡的图像块进行区域分割。图 4为两种不同的独立区域及其外接矩形示意图。
|
图 4 独立区域及其外接矩形示意图 Figure 4 Independent area and its external rectangle diagram |
左边的独立区域内只包含了一辆车,右边的独立区域内包含了两辆车。由于有公交车和大卡车等车的存在,以及获取车道数不同的问题,所以不能简单地使用独立区域的面积或者独立区域的面积与整个时空图面积之比来计算当前独立区域内包含的车辆数。从图 4中可以看到,包含了多辆车的独立区域,由于两辆车在不同的车道上,只要被遮挡的那辆车没有完全被遮挡住,那么这两辆车在时间轴上就会有错位,则独立区域就会呈现为图 4右图所示的形状,其区域的面积与其外接矩形的面积之比偏小,而且会小于某一阈值sp。本文中,阈值sp取0.5。当独立区域的面积与其外接矩形的面积之比小于阈值sp时,再依据独立区域的面积与整个时空图的面积之比,并结合车道数来计算当前独立区域包含的车辆个数。具体计算如下
| $ {R_{{\rm{AreaRect}}}} = {S_{{\rm{area}}}}/{S_{{\rm{rect}}}}, $ | (3) |
| $ {R_{{\rm{area}}}} = {S_{{\rm{area}}}} * \left( {{N_{{\rm{lane}}}}/2} \right)/{S_{{\rm{image}}}}, $ | (4) |
其中:Sarea为独立区域的面积;Srect为独立区域外接矩形的面积;Simage为整个当前时空图的面积;Nlane为检测线所跨越的车道个数;RAreaRec为独立区域的面积与其外接矩形的面积之比;Rarea为独立区域的面积与当前整个时空图的面积之比。
9)判断所有独立区域是否搜索完毕。没有则转到第(4)步,否则就累加所有独立区域内的车辆个数,作为当前时空图中的车辆个数输出。
3 实验结果及分析实验所用的视频由架在路边建筑物上的摄象机拍摄获得,其场景多样,有直线车道也有弧线车道,有车速较快的车道也有车速较慢的十字路口车道,有噪声少的车道也有噪声多的车道(主要指非机动车的多少),车道数量有单车道、双车道、三车道、四车道和五车道。而且摄像机离路面远近不一、高低不同、其拍摄角度也各异。在10个这样不同的视频中进行了测试,测试的视频画面的分辨率为704×576。
车流量计算实验结果如表 1所示。表 1中显示了10个视频的车流量计算的结果,每个视频长度约为2 min,但是实际车流量却从26~135不等。评判标准为误差。误差计算如式(5)所示,误差越小,则检测效果越好。
| 表 1 车流量检测结果统计 Table 1 Statistics of vehicle flow test result |
| $ 误差 = \frac{{\left| {检测车辆数-实际车辆数} \right|}}{{实际车辆数}}, $ | (5) |
图 5分别给出了测试视频中不同车流量场景下的处理结果示意图。图 5(a)为交通畅通时的图片,图 5(b)为该场景下获取的一屏时空图,由其可知,该场景下时空图中车辆独立成块,易于分割和计数;图 5(c)为拥堵时的图片,图 5(d)为拥堵时获取的一屏时空图,拥堵时的时空图会形成长直线,用方法同样能进行车流量统计。对所有视频进行测试后,统计结果如表 1所示。从表 1中可以看出,提出的方法能够有效地针对城市交通监控摄像机的视频来进行交通流量检测。所有视频的检测误差都在15%以下,绝大部分测试视频的检测误差都在10%以下。车流量测试的误差与摄像机安装的角度以及车辆密集度有密切的关系。摄像机的拍摄方向与道路线的方向之间的夹角越小,则误差越小,检测效果越好。因为拍摄方向与道路线的方向之间的夹角越大,就意味着一个车道上的车辆遮挡另一个车道上的车辆的可能性越大。当车辆之间相互遮挡严重的时候,常常在时空图上表现为多辆车连成块的情况。研究介绍的估算独立区域内包含的车辆数的方法能解决部分遮挡的问题,但是对于车辆之间相互遮挡严重的问题仍然会产生较大的误差,而这种情况往往表现为车辆的漏检情况比较严重。如表 1中视频4所示,实际车辆数为135,而检测出的车辆数只有115,误差达14.8%。当车辆密集度很大,而且路况拥挤的时间持续很长的时候,这种情况就更加明显。这个时候车辆相互遮挡更加严重,检测误差往往就会偏大。如表 1中视频8所示,实际车辆数有67,检测车辆数为57,误差为14.8%。但是,提出的算法对于大部分视频,实验误差都在10%以内,能有效准确地检测出车辆流量。可以看出,提出的算法能够有效地判断实时路况,具有很好的实用性。
|
图 5 测试图片及处理结果示意图 Figure 5 Test images and external rectangle diagram |
与经典的交通信息监测的方法相比,提出的方法有明显的优点。首先,经典的方法对摄像机安装角度要求高,当摄像机拍摄方向与道路线方向的夹角过大时,无法检测被遮挡的车辆,该文提出的算法能够有效地检测到部分被遮挡的车辆,并且能够估算在车辆遮挡很严重的时候的车流量,使总的检测结果更加准确;其次,由于时空图的引入,很好地避免了由于背景变化带来的影响,使得算法的鲁棒性更强,更具实用性;再次,由于时空图的计算方法简单,因此保证了算法的实时性;最后,由于算法中只需要每隔一定的时间计算一次车辆数和判断路况,所以可以使用较复杂而准确的算法,并且不用担心算法过于复杂而导致的延缓现象。
4 结语提出了一种新的时空图的计算方法,并且利用时空图,提出了一种计算交通车流量的方法和一种判断实时路况的方法。该方法是每隔一定时间累计计算一屏时空图,然后对这一屏时空图进行车辆计数和路况判断,总的车流量就等于每屏时空图中车辆数之和。本文提出的算法不受背景变化带来的影响,并且一定程度上解决了由于车辆之间相互遮挡而引起的问题。由于时空图计算方法简单,因而能够充分保证算法的实时性。实验结果证实了提出的算法能够准确、有效、实时地进行车流量计算和路况判断,具有很好的实用性。未来的工作将集中在如何在摄像机拍摄方向与道路线方向夹角较大的情况下得到更精准的检测效果,以及如何在夜间进行检测的问题。
| [1] | Sun J. Proposal of revision for monitoring, communication and video surveillance of coal mine safety regulation[J]. Industry and Mine Automation, 2014, 40(3): 1–6. |
| [2] | Chen C, Li S, Qin H, et al. Real-time and robust object tracking in video via low-rank coherency analysis in feature space[J]. Pattern Recognition, 2015, 48(9): 2885–2905. DOI:10.1016/j.patcog.2015.01.025 |
| [3] |
邱敦国, 兰时勇, 杨红雨.
基于时空特性的短时交通流预测模型[J]. 华南理工大学学报(自然科学版), 2014, 42(7): 49–54.
QIU Dunguo, YAN Shiyong, YANG Hongyu. Short-term traffic flow prediction model based on the characteristics of time and space[J]. Journal of South China University of Technology (Natural Science Edition), 2014, 42(7): 49–54. (in Chinese) |
| [4] | Seki M, Fujiwara H, Sumi K. A robust background subtraction method for changing background[C]// Applications of Computer Vision, 2000, [s. n.]: IEEE, 2000:207-213. http://www.oalib.com/references/16333526 |
| [5] | Cao B G. A new car-following model considering driver's sensory memory[J]. Physica A Statistical Mechanics & Its Applications, 2015, 427: 218–225. |
| [6] |
卜凡亮, 王蓉, 金华, 等.
基于光流的运动目标检测与跟踪[J]. 中国人民公安大学学报(自然科学版), 2009, 15(2): 58–60.
PU Fanliang, WANG Rong, JIN Hua, et al. Moving target detection and tracking based on optical flow[J]. Journal of the Chinese People's Public Security University (Natural science edition), 2009, 15(2): 58–60. (in Chinese) |
| [7] |
马卫强.
基于交通视频的运动车辆检测方法[J]. 吉林大学学报(信息科学版), 2014, 32(3): 321–327.
MA Weiqiang. Vehicle detection method based on the movement of traffic video[J]. Journal of Jilin University (Information Sciences), 2014, 32(3): 321–327. (in Chinese) |
| [8] | Delmelle E M, Zhu H, Tang W, et al. A web-based geospatial toolkit for the monitoring of dengue fever[J]. Applied Geography, 2014, 52: 144–152. DOI:10.1016/j.apgeog.2014.05.007 |
| [9] | Shiode S, Shiode N, Block R, et al. Space-time characteristics of micro-scale crime occurrences: an application of a network-based space-time search window technique for crime incidents in Chicago[J]. International Journal of Geographical Information Science, 2015, 29(5): 697–719. DOI:10.1080/13658816.2014.968782 |
| [10] |
任建强, 陈阳舟, 辛乐, 等.
基于时空轨迹跟踪的交通流特性参数检测分析[J]. 交通运输系统工程与信息, 2015, 15(1): 62–68.
REN Jianqiang, CHEN Yangzhou, XIN Le, et al. Parameters detection analysis based on the trajectory tracking of time and space of traffic flow[J]. Journal of Transportation Systems Engineering and Information Technology, 2015, 15(1): 62–68. (in Chinese) |
| [11] |
浮瑶瑶, 刘新, 刘微, 等.
基于高点视频的交通事件检测技术[J]. 公路交通科技, 2014, 31(2): 128–134.
FU Yaoyao, LIU Xin, LIU Wei, et al. Traffic incident detection technology based on high video[J]. Highway Traffic Science and Technology, 2014, 31(2): 128–134. (in Chinese) |
| [12] |
权义萍, 杨道业.
基于视频检测的卡尔曼滤波车辆跟踪算法及行为分析[J]. 北京工业大学学报, 2014, 40(7): 1110–1113.
QUAN Yiping, YANG Daoye. Kalman filter for vehicle tracking and behavior analysis based on video detection[J]. Journal of Beijing University of Technology, 2014, 40(7): 1110–1113. (in Chinese) |
| [13] |
乔洁, 李京华, 杨志荣.
基于Hough变换的道路边缘提取[J]. 交通信息与安全, 2008, 26(1): 62–64.
QIAO Jie, LI Jinghua, YANG Zhirong. Road edge detection based on Hough transform[J]. Journal of Transportation Information and Security, 2008, 26(1): 62–64. (in Chinese) |
| [14] | Quazi T, Xu H J. Simple unequal error protection mechanism for multimedia traffic using the Alamouti structure with hierarchical modulation and signal space diversity[J]. IET Communications, 2014, 8(17): 3128–3135. DOI:10.1049/iet-com.2014.0350 |
| [15] | Albiol A, Mora I, Naranjo V. Real-time high density people counter using morphological tools[J]. IEEE Transactions on Intelligent Transportation Systems, 2001, 2(4): 45–49. |
2015, Vol. 38
