计算机应用   2017, Vol. 7 Issue (2): 593-596  DOI: 10.11772/j.issn.1001-9081.2017.02.0593
0

引用本文 

杨婷, 李博, 石雯婧, 张成飞. 基于DSP的单车道车流量实时监测算法[J]. 计算机应用, 2017, 7(2): 593-596.DOI: 10.11772/j.issn.1001-9081.2017.02.0593.
YANG Ting, LI Bo, SHI Wenjing, ZHANG Chengfei. Real-time vehicle monitoring algorithm for single-lane based on DSP[J]. JOURNAL OF COMPUTER APPLICATIONS, 2017, 7(2): 593-596. DOI: 10.11772/j.issn.1001-9081.2017.02.0593.

基金项目

国家自然科学基金资助项目(61471325)

通信作者

李博(1972-),男,山西吕梁人,副教授,博士,主要研究方向:嵌入式电子电路系统,libo@nuc.edu.cn

作者简介

杨婷(1991-),女,内蒙巴彦淖尔人,硕士研究生,主要研究方向:嵌入式视频图像处理;
石雯婧(1992-),女,江苏南通人,硕士研究生,主要研究方向:视频图像处理;
张成飞(1990-),男,安徽亳州人,博士研究生,主要研究方向:电子电路系统

文章历史

收稿日期:2016-06-22
修回日期:2016-09-06
基于DSP的单车道车流量实时监测算法
杨婷1, 李博1, 石雯婧2, 张成飞1    
1. 仪器科学与动态测试教育部重点实验室(中北大学), 太原 030051;
2. 图像视频处理与通信实验室(新墨西哥大学), 阿尔伯克基 新墨西哥州 87131, 美国
摘要: 针对传统的车流量检测系统采用感应器设备硬件安装繁杂及通用车流量检测算法无法判别车辆行驶方向的问题,提出一种基于数字信号处理器(DSP)的单车道车流量实时监测算法,并应用于停车场。首先,在虚拟检测带上使用背景差分法完成车辆检测,并对均值法背景建模进行改进;其次,提出一种邻帧二值归类算法对车辆行驶方向进行判别;最后,在虚拟检测带上进行车流量计数并将车位情况实时显示于LED显示屏上。通过模拟实验验证了所提算法的可行性,并在实际测试实验中,得到邻帧二值归类算法方向判别的准确率为96.5%,车位监控算法准确率为92.2%。实验结果表明,该单车道车流量实时监测算法准确率较高,节省了检测系统设备,可以应用于单车道停车场进行车流量实时监测。
关键词: 车流量监测    单车道    背景差分法    背景建模    虚拟检测带    
Real-time vehicle monitoring algorithm for single-lane based on DSP
YANG Ting1, LI Bo1, SHI Wenjing2, ZHANG Chengfei1     
1. Key Laboratory of Instrumentation Science & Dynamic Measurement, Ministry of Education(North University of China), Taiyuan Shanxi 030051, China;
2. Image and Video Processing and Communications Lab(University of New Mexico), Albuquerque New Mexico 87131, United States
Abstract: The traditional traffic flow detection system based on sensor device has complex hardware equipment and the universal traffic flow detection algorithm cannot distinguish the directions of vehicles. To resolve the above problems, a real-time vehicle monitoring algorithm for single-lane based on Digital Signal Processor (DSP) was proposed and applied to parking lot. Firstly, the background differential algorithm was used to detect vehicles on virtual detection zone and the method of mean background modeling was improved. Then, an adjacent frame two-value classification algorithm was proposed to distinguish the directions of vehicles. Finally, virtual detection zone was used for vehicle counting and the number of empty parking spots was real-time displayed on a Light Emitting Diode (LED) screen. The feasibility of the proposed algorithm was verified by the simulation experiment. The actual test results showed that the accuracy rate of the adjacent frame two-value classification algorithm for direction detection was 96.5% and the accuracy rate of parking spot monitoring algorithm was 92.2%. The proposed real-time vehicle monitoring algorithm for single-lane has high accuracy and needs less detection equipment, so it can be applied to single-lane parking lot for real-time vehicle monitoring.
Key words: vehicle monitoring    single-lane    background differential algorithm    background modeling    virtual detection zone    
0 引言

随着经济的迅猛发展,汽车持有量急剧增加,停车场的使用频率也大幅提高。目前国内大型停车场是进出双向车道,而在住宅小区或占地面积不大的小型停车场,由于车流量的限制,进出口使用同一车道。传统的停车场车流量检测均是采用电动栏杆感应器或地磁感应器[1-3],硬件设备成本高且易损耗,维修与升级更是需要消耗更多的财力物力。这种方法硬件设备过于复杂,且占用大量的软件资源[4-6]。近年来,随着计算机视觉技术的不断发展,基于视频的车流量检测已广泛应用于智能交通系统(Intelligent Traffic System,ITS)[7]中。

与传统的视频检测以个人计算机为平台不同,本文采用TMS320DM642(简称DM642) 作为数据处理总控制器,对地下停车场单车道的车流量进行实时监测,并通过外接发光二极管(Light Emitting Diode,LED)屏实时显示车位剩余情况。鉴于数字信号处理器(Digital Signal Processor,DSP)的运算能力有限,要在保证检测准确性的同时满足实时性的要求,就必须降低算法的运算量,故本文在虚拟检测带上用背景差分法提取运动区域完成车辆的检测,通过邻帧二值归类法完成单车道车流量计数并在LED屏上实时显示。

1 单车道车流量实时监测算法 1.1 车辆检测

目前基于视频的车流量检测主流算法有光流法[8]、帧间差分法[9]和背景差分法[10]。 本文采用背景差分法完成车辆检测,因为与另外两种算法相比,背景差分法提取运动目标更为精确,计算量较小,实时性好,且目标完整性不易受到目标速度的影响,但它需要实时更新背景[11-13]。 本文系统的应用环境为停车场,相对公路具有车流量较少的特点,因此设计了改进型的均值法进行背景模型建立,具有算法简单、运算量小的特点,适合简单场景,能保证算法的准确性。

1.1.1 背景差分法

假设第k帧图像中像素点(x,y)的当前像素灰度值为Fk(x,y),背景像素灰度值为Bk(x,y),差值为Dk(x,y),背景差分如式(1) 所示:

${{D}_{\text{k}}}(x,y)=\text{ }|{{F}_{k}}(x,y)-{{B}_{k}}(x,y)|$ (1)

背景差分后为了提取出运动区域,将差分后的像素灰度值二值化:

${M_{\rm{k}}}(x,y) = \left\{ \begin{array}{l} 1{\rm{ , }}{{\rm{D}}_k}(x,y) \ge T\\ 0{\rm{,其他}} \end{array} \right.{\rm{ }}$ (2)

其中Mk(x,y)为前景掩模。由式(2) 可知,背景差值Dk(x,y)与阈值T进行比较,当Dk(x,y)≥T,视为运动点,此时Mk(x,y)赋值为1,在图像上显示为白色;当Dk(x,y)<T,视为背景点,此时Mk(x,y)赋值为0,在图像上显示为黑色,由此可以直观地提取出运动区域。经过大量的实验测试,在不影响检测准确性的前提下,最大限度避免随机噪声的干扰,本文中阈值T选取固定值为30。

1.1.2 改进均值法背景建模

改进均值法步骤如下:

1) 取一帧没有运动车辆的图像作为初始背景B1(x,y)。

2) 当前帧Ik(x,y)与背景帧B1(x,y)相减根据阈值判断前景点和背景点:

${D_k}(x,y) = \left\{ \begin{array}{l} 1{\rm{ ,}}\left| {{{\rm{I}}_k}(x,y) - {\rm{ }}{\mathit{B}_1}(x,y)} \right| \ge T\\ 0{\rm{ , 其他}} \end{array} \right.$ (3)

式中,Dk(x,y)为背景点与前景点判别值。

3) 当判别为前景点时,保持前一帧背景值不变;当判别为背景点,则更新参考背景模型。

${G_k}(x,y) = \left\{ \begin{array}{l} {\rm{ }}{{\rm{B}}_1}{\rm{(}}x,y{\rm{) ,}}{D_k}{\rm{(}}x,y{\rm{) }} = 1\\ (1 - \theta ) \times {B_1}(x,y) + \theta \times {I_k}(x,y){\rm{,}}{D_k}{\rm{(}}x,y{\rm{) }} = 0 \end{array} \right.$ (4)

其中:Gk(x,y)为第k帧参考背景模型;θ是更新速度参数,经过大量实验测试,本文取θ=0.03。

4) 当k=M时,要对前M帧参考背景模型取平均值,得到新的背景值,其计算公式为:

${{B}_{M}}(x,y)=\frac{1}{M}\sum\limits_{k=1}^{M}{{{G}_{k}}(x,y)}$ (5)

式中,BM(x,y)为更新后的背景值,经过实验测试,M取值为30较为合适。

采用改进的均值法更新背景模型,首先利用停车场车流量相对公路较少的特点,取初始背景帧更容易实现;其次,得到参考背景模型后再对M帧参考背景模型作均值得到更新的背景,消除了图像中非背景点,提高了运算的准确率;最后,该算法运算简单,每30帧更新一次背景,降低了算法运算量,保证了系统的实时性。

1.2 单车道方向判别

为了减少运算量以提高算法的实时性,在DSP处理数据时,无需对整幅图像作运算,只需截取一条检测带进行数据处理。本文设置10个像素高度的虚拟检测带完成车辆检测以及单车道车流量计数。

经过背景差分二值化后,此时虚拟检测带中可以检测出运动车辆。若有车辆经过检测带,像素值会发生规律性变化,根据变化情况判别车辆驶入驶出方向。首先将该检测带看作元素个数为10的一维数组a,其中a[i](i=0,1,…,9) 表示第(i+1) 行的状态,此时各行元素之间相互独立,相应值为:

$\mathit{a}[\mathit{i}] = \left\{ {\begin{array}{*{20}{l}} {1,{\mathit{P}_i} \ge t}\\ {0,{\rm{其他}}} \end{array}} \right.$ (6)

其中:Pi表示第i行中经过背景差法二值化后白色像素点的个数,也即1.1.1 节Mk(x,y)为1的个数;t为阈值。 经过式(6) 运算后,此时检测带内像素变化情况便可用只有0和1组成的数组a[i]代替。

图 1可知,当车驶入车库时,是由3种状态组成:状态1→状态2→状态3。当车从状态1变为状态2的过程中,数组a的变化为[1000000000],[1100000000],[1110000000],…,[1111111110];当车处于状态2时,数组a为[1111111111],当车从状态2变为状态3的过程中,此时数组a的变化为[0111111111],[0011111111],[0001111111],…,[0000000001]。而车驶出车库的情况与车驶入车库正好相反,因此是状态3→状态2→状态1。

图 1 车辆驶入驶出判断原理示意图 Figure 1 Schematic diagram of judging vehicles entering and exiting

根据分析可知,数组a[i]的值分为两部分,L个1和10-L个0规律排列,1和0并非穿插排布。当L大于0时,即状态2不予考虑,此时便可根据规律判断车辆驶入驶出方向。

车辆驶入驶出方向判断步骤:

1) 根据式(6) 确定数组a[i]的值。

2) 计算a[i]中1的个数。

3) 将当前帧1的个数与前一帧1的个数作对比:

$\mathit{Count}\left\{ {\begin{array}{*{20}{l}} { > {\rm{0}},{\rm{驶入并处于状态1 或 驶出并处于状态3}}}\\ {{\rm{ < 0}},{\rm{驶入并处于状态3 或 驶出并处于状态1}}} \end{array}} \right.$ (7)

其中Count表示当前帧1的个数与前一帧1的个数的差值。

4) 判断数组起始值a[0]是否为1。

$\mathsf{a }[\text{ 0 }]\text{ }=\left\{ \begin{align} & 1\text{,状态1} \\ & 0\text{,状态3} \\ \end{align} \right.$ (8)

5) 车辆行驶方向通过a[0]和Count的不同组合进行判断,判断方法见表 1

表 1 车辆驶入驶出方向判别方法 Table 1 Distinguishing method of vehicle direction

传统的车辆方向判别法是标记并记录每帧图像中车辆外接矩形的中心点位置,并跟踪该中心点所形成的轨迹[14]。这种方法需要对目标车辆进行跟踪、定位、估计运动矢量,运算复杂度高,运算量较大,难以满足实时性的要求,而本文方法根据虚拟检测带像素值规律性变化判断车辆行驶方向,算法简单,实时性好。

1.3 车流量计数

虚拟检测带中的像素点是固定值,若有车辆驶入检测带,图像背景差分二值化后,运动目标检测为白色,背景检测为黑色。当车辆驶入检测带再驶出时,检测带内白色像素点个数增多后又逐渐减少,因此采用背景差分法检测出运动车辆,采用邻帧二值归类法判别出车辆驶入驶出方向,再统计虚拟检测带中白色像素点的个数便可完成单车道车辆检测、方向判别及流量计数。

2 DSP的实现

为了在虚拟检测带中提取足够的车辆信息并减少计算量以保证系统实时性,本文系统中虚拟检测带设置高为10个像素,宽为500个像素,总计共5 000个像素点;在车流量计数时,设置阈值Th1=4 800,阈值Th2=20。当检测到虚拟检测带中白色像素点逐渐增多并达到4 800后,又逐渐减少到小于20时,则判定为车辆通过;再采用邻帧二值化归类法根据Counta[0]的不同组合值判别出车辆行驶方向,此时完成车流量计数。算法流程如图 2所示。

图 2 本文算法流程 Figure 2 Flow of the proposed algorithm
3 实验结果分析

将本文算法应用于DM642平台下,用Code Composer Studio (CCS)连接DSP与仿真器,并将程序下载到DSP开发板中进行测试。

实验使用模拟小车对单车道车流量进行测试,如图 3所示。

图 3 模拟实验测试 Figure 3 Simulation test

图 3(a)中看出,在虚拟检测带的位置,此时车辆未驶入检测带,显示屏中显示车位为98;图 3(b)~(c)中车辆驶入虚拟检测带,此时检测带内的车辆判别为白色像素点,显示屏中车位数量不变;图 3(d)中车辆驶离虚拟检测带,检测带中白色像素点减少,几乎为0,此时显示屏计数减少,变成车位97。

多次测试结果显示,车速对该算法有一定的影响。根据基于虚拟线圈车速计算公式[15]可以计算出通过虚拟检测带的速度:

${{v}_{\text{A}}}=\frac{1000\Delta \mathsf{x}}{3600N\Delta t}=\frac{5\Delta \mathsf{x}}{18N\Delta t}(km/h)$ (9)

其中:Δx为虚拟检测带的高度;N为车辆驶过虚拟检测带共需要N帧图像;Δt为每帧图像拍摄间隔。

假设驶过虚拟检测带需要1 s,摄像机每秒采集25帧图像,N为25,Δt为40 ms,Δx为10个像素高度,代入式(10) ,得出vA为10 km/h,但一般停车场车速限速5 km/h,因此可以满足实际要求。

图 4中可以看出,虚拟检测带设置在图像中部靠下位置,当车辆驶离虚拟检测带时,处于检测带区域的车辆尾部在图像中显示为白色像素点,检测带其他区域显示为黑色像素点。

图 4 实际测试场景 Figure 4 Actual test scenario

对停车场不同车速下4 h内的车流量进行统计,以测试本文算法的检测准确性,结果统计如表 2所示。 由表 2可以看出,车速控制在5 km/h以内的车辆很少,基本不会出现漏检的车辆,准确率较高; 车速在5~10 km/h的车辆较多,准确率能保持在92%以上; 车速大于10 km/h的车辆也较少,检测准确率大幅下降。 其中漏检是由于前车车速慢,而后车紧跟,虽然检测带中没有出现两车粘连现象,但检测带会将极其相近的两帧图像判别为一辆车通过; 方向误判是由于a[0]的值没有读出。实地测试结果显示,邻帧二值归类算法方向判别准确率为96.5%,车位监控算法准确率为92.2%。

表 2 实际测试结果统计 Table 2 Statistics of the actual test
4 结语

为简化传统停车场车流量检测设备,实现车辆行驶方向判别,提出一种基于DSP的单车道车流量实时监测算法。利用背景差分法对车辆进行检测,用改进型均值法完成背景模型更新,在提高运算速度的同时保证了算法的准确性;提出邻帧二值归类法实现了车辆行驶方向判别,结合虚拟检测带实现车流量计数,并将停车场剩余车位数实时显示在LED屏上,解决了单车道停车场车流量监控的问题。通过模拟实验和实地测试实验验证了算法的可行性,而且在测试中发现车辆粘连现象和过快车速是造成检测误差的主要原因,这也是检测算法有待进一步优化的地方。

参考文献
[1] YAMADA Y, KISEI H. Geomagnetic sensing device:US, 20120078562A1[P]. 2012-03-29.
[2] 金华强.基于AMR传感器的车位检测系统的设计与实现[D].杭州:浙江工业大学,2012:8-10. ( JIN H Q. Design and implementation of parking spaces monitoring system based on AMR sensor[D]. Hangzhou:Zhejiang University of Technology, 2012:8-10. )
[3] 吴呈祥.停车场车位引导系统的设计与实现[D].大连:大连海事大学,2015:4-6. ( WU C X. The design and implementation of parking lot guidance system[D]. Dalian:Dalian Maritime University, 2015:4-6. )
[4] 黄训磊, 王丽静, 王兴宇, 等. 基于ARM的停车场车辆管理系统[J]. 现代电子技术, 2014, 37 (2) : 100-104. ( HUANG X L, WANG L J, WANG X Y, et al. Design of parking lot management system based on ARM[J]. Modern Electronics Technique, 2014, 37 (2) : 100-104. )
[5] 方俊, 谷冰冰. 基于无线射频识别技术的停车场管理系统设计[J]. 计算技术与自动化, 2010, 29 (3) : 92-95. ( FANG J, GU B B. The design of a parking lot management system based on radio frequency identification technology[J]. Computing Technology and Automation, 2010, 29 (3) : 92-95. )
[6] 李宇成, 严娟莉, 王目树, 等. 利用视频图像检测车位状态的方法[J]. 计算机工程与设计, 2012, 33 (1) : 282-285. ( LI Y C, YAN J L, WANG M S, et al. Approach for parking spaces detection based on video images[J]. Computer Engineering and Design, 2012, 33 (1) : 282-285. )
[7] GUPTA P, PUROHIT GN, DADHICH A. Approaches for intelligent traffic system:a survey[J]. International Journal on Computer Science and Engineering, 2012, 4 (9) : 1570-1578.
[8] 王效文.基于光流法的车辆检测与跟踪[D].镇江:江苏科技大学,2015:18-37. ( WANG X W. Vehicle detection and tracking based on optical flow[D]. Zhenjiang:Jiangsu University of Science and Technology, 2015:18-37. )
[9] 王振亚, 曾黄麟. 一种基于帧间差分和光流技术结合的运动车辆检测和跟踪算法[J]. 计机应用与软件, 2012, 29 (5) : 117-120. ( WANG Z Y, ZENG H L. A new algorithm of moving vehicle detection and tracking based on combining frame difference method with optical flow technique[J]. Computer Applications and Software, 2012, 29 (5) : 117-120. )
[10] 卢章平, 孔德飞, 李小蕾, 等. 背景差分与三帧差分结合的运动目标检测算法[J]. .计算测量与控制, 2013, 21 (12) : 3315-3318. ( LU Z P, KONG D F, LI X L, et al. A method for moving object detection based on background subtraction and three-frame differencing[J]. Computer Measurement & Control, 2013, 21 (12) : 3315-3318. )
[11] 吴亚斌, 陈淑荣. 一种基于监控视频的车型识别和车流量检测算法[J]. 微型机与应用, 2015, 34 (7) : 45-48. ( WU Y B, CHEN S R. A vehicle identification and traffic detection algorithm based on surveillance video[J]. Microcomputer & Its Applications, 2015, 34 (7) : 45-48. )
[12] 杨宇腾.基于背景差分法与虚拟区域融合的视频中车流量统计的方法[D].昆明:云南大学,2015:14-18. ( YANG Y T.The method of combined the background difference method and video traffic statistical region merging based on VirtualMethod of traffic statistics in the video based on the background difference method and the virtual regional integration[D]. Kunming:Yunnan University, 2015:14-18. )
[13] 薛茹, 宋焕生, 张环. 基于像素的背景建模方法综述[J]. 电视技术, 2012, 36 (13) : 39-43. ( XUE R, SONG H S, ZHANG H. Overview of background modeling method based on pixel[J]. Video Engineering, 2012, 36 (13) : 39-43. )
[14] 黄海静.基于视频技术的交通事件监测及其应用研究[D].西安:西安科技大学,2014:46-47. ( HUANG H J. Traffic incident detection and its application based on video technology[D]. Xi'an:Xi'an University of Science and Technology, 2014:46-47. )
[15] 许慧.基于视频的车速检测及超速报警系统[D].呼和浩特:内蒙古工业大学,2015:35-50. ( XU H. Vehicle speed detection based on video and overspeed alarm system[D]. Hohhot:Inner Mongolia University of Technology, 2015:35-50. )