基于YOLO的道路车辆拥堵分析模型

2019-08-01 01:35张家晨陈庆奎
计算机应用 2019年1期
关键词:交通拥堵

张家晨 陈庆奎

摘 要:针对当前交通运行出现的拥堵问题,提出一种新型的道路状态判断模型。首先,模型基于YOLOv3目标检测算法,然后结合图片对应的特征值矩阵,通过相邻帧之间的特征矩阵作差并将差值逐项求和得到的结果与预设值进行比较来判断当前道路是处于拥堵状态还是正常通行状态,其次再将当前计算出的道路状态与前两次计算出的道路状态进行比较,最后运用模型里的第二个算法状态统计法此句指代不清晰,能否具体化一点,例如具体的算法名称。来统计道路某状态(拥堵或通畅)的持续时间。该模型能够同时对一条道路的三个车道进行状态统计分析,经过实验,模型对单条车道状态判断的平均准确率能达到80%以上,并且白天与夜晚的道路均适用。该模型的提出对引导人们的方便出行以及交通拥堵的缓解具有重要的实际意义。

关键词:交通拥堵;拥堵检测;车道分析;拥堵时间;高峰时段

中图分类号: TP393; TP18

文献标志码:A

Abstract: To solve traffic congestion problems, a new road condition judgment model was proposed. Firstly, the model was based on YOLOv3 target detection algorithm. Then, according to the eigenvalue matrix corresponding to the picture, the difference between adjacent frames was made by the eigenvalue matrix, and the difference value was compared with preset value to determine whether the current road was in a congested state or a normal traffic state. Secondly, the current calculated road state was compared with previous two calculated road states. Finally, the state statistics method in the model was used to calculate the duration of a state (congestion or patency) of road. The proposed model could analyze the states of three lanes of a road at the same time. Through experiments, the average accuracy of model to judge the state of single lane could reach 80% or more, and it was applicable to both day and night roads. The proposed model is of great practical significance to guide people to travel conveniently and alleviate traffic congestion.

Key words: traffic congestion; congestion detection; lane analysis; congestion time; rush hour

0 引言

隨着经济的发展与城市化进程的加快,人们的生活水平日益提高,机动车成为了越来越多人的出行首选工具。根据中国公安部交管局的统计数据[1],截至2017年6月底,全国机动车保有量达3.04亿辆,其中汽车2.05亿辆;机动车驾驶人达3.71亿人,其中汽车驾驶人3.28亿人。数量巨大的机动车也为城市交通的良好运行带来了巨大的挑战,我国道路交通拥堵情况非常严重,尤其是在特大、超大型城市,比如北京、广州、上海等。除了我国,交通拥堵在其他国家也是个大问题,根据《Inrix:2016年全球交通拥堵情况排行榜报告》[2]显示,洛杉矶以人均104h堵在路上位居第一。由此可见,道路拥堵是个亟待解决的问题。

当前存在的一些道路车辆拥堵检测方法包括:利用路面传感器定时采集道路车流数据信息以达到实时判断道路拥堵情况,或者对特定路段的交通车辆数据流进行分时段的统计与数据分析。常用的路面传感器[3]比如检测器有线圈[4]此句不通顺,请调整、浮动车[5]等。这两个方法可移植性差,并且对每个路口都要进行设备安装或者数据统计,因此这些方法存在着成本高、代价高的缺点。本文提出一种新型的道路车辆拥堵分析模型,该模型具有运行速度快、准确率高、成本低、易于部署等优点。实验结果证明,针对直行车道,该模型的平均准确率均能达到80%以上。

1 相关工作

当前基于目标检测的道路拥堵分析算法很少见,常见的目标检测方法有SSD(Single Shot multibox Detection)[6]、YOLO(You Only Look Once)[7]、RCNN(Regions with Convolutional Neural Network)[8]、Fast R-CNN(Fast Regions with Convolutional Neural Network feature)[9]等。RCNN的基本思想是利用Selective Search[10]高效率地寻找图片中可能包含目标物体的Box,再用CNN(Convolutional Neural Network)[11]提取特征,最后再做个分类便完成了目标检测的工作。RCNN目标检测的效果好,但是计算量大,算法运行缓慢,而Fast R-CNN[12]此处是指代文献9,即是Fast;若是文献12,则为Faster。若为文献12,则应调整正文中的引用顺序了和文献列表的顺序了。回复:标注的12是重复多余的。便是对RCNN进行的改进,主要改进有两点:第一点是对RCNN中的ROI(Region Of Interest)[1312]提取特征后,把物体框的回归和分类这两个任务的loss融合在一起训练,这使得训练效率更高,运行也就更快;第二点是把SPP(Spatial Pyramid Pooling)[1413]改换成了ROI Pooling[1514]。相比RCNN,Fast R-CNN算法在运行速度上得到了很大提升。

从RCNN和Fast R-CNN甚至后来的Faster R-CNN(Faster Regions with Convolution Neural Network feature)[1215]请补充Faster R-CNN的英文全称这一系列方法都是基于Region Proposal[16]的,而不用Region Proposal的目标检测算法也有很多,其中比较有代表性的便是YOLO和SSD。YOLO是一种简单、高效的目标检测算法,其运行速度非常快,这是其最大的特点,YOLO的把一幅图片划分成S*S的格子,以每个格子所在位置和对应内容来进行预测目标存在的位置。与基于Region Proposal方法的不同之处在于YOLO是一个单纯的卷积神经网络,把物体检测转化成了回归问题,没有Region Proposal和对每个ROI的计算,再加上利用了GPU(Graphics Processing Unit)的并行计算优点,因此YOLO的运行速度非常快,用于实时目标检测没有问题;而SSD是同时借鉴了YOLO和Faster R-CNN思想,SSD可以达到在实时目标检测的水平下仍然有很高的检测精度。与YOLO相近的地方在于,SSD也会在CNN的最后阶段得到S*S的响应图;与Faster R-CNN相近的地方在于,SSD会基于每个格子的位置借鉴anchor box的思想生成默认的物体框。YOLOv3[17]与其他目标检测算法在精度与检测时间上存在一定的差异,具体来说,是YOLOv3可以在保持快速检测的同时依然具有相当高的准确度,因此,本模型选择了YOLOv3算法来进行目标检测。

本模型基于YOLOv3(YOLOv3于2018年提出),相比YOLOv2,YOLOv3的目标检测准确性得到了进一步提升。YOLO是一个单纯的卷积神经网络,用作目标检测,速度快且准确度高;然而其缺陷是并不能体现出物体的运动状态信息,比如物体的运动速度或者物体某段运动状态的持续时间等。想要获得物体的运动速度或者运动状态持续时间等信息,必须建立起新的数学模型,因此,本文在YOLOv3之上提出了一个获得车辆运动信息的新方法。该方法提取出了车辆在图片中的特征矩阵,再通過特征矩阵之间的一系列计算得到当前道路中车辆总体的运行状态。不仅可以检测出道路上的车辆,还能获得车辆的位置以及停止或运行状态等信息,用以进一步判断当前路段是处于交通拥堵状况还是交通运行畅通状况,该方法的提出对交通拥堵的缓解以及人们生活水平的提高具有非常大的实际意义。

2 模型结构

2.1 特征矩阵表示

本模型计算出图片中目标的特征值并将该特征值按相应规则存放于矩阵中所得到的该矩阵即为特征矩阵。首先,根据图片帧的宽高与目标在图片中的宽高进行计算,得到特征矩阵的行数和列数,然后将所有目标的特征值映射到矩阵中的相应位置便得到了当前图片帧对应的特征矩阵。当前特征提取的方法有很多,比如有:基于车窗定位的车辆特征提取方法[18]、基于方向梯度直方图(Histogram of Oriented Gradients, HOG)特征提取的车辆检测方法[19]以及使用角点检测来提取车辆特征[20],这些方法虽然具有一定的效果,但是计算复杂,本研究选择了一种更加轻量、快速、简单的车辆特征计算方法。计算目标X的特征值要注意的是,现实环境是复杂多变的,天气的变化、光照的变化等都会对目标造成影响。为了最大限度地避免环境因素以得到较为稳定的特征值输出,本模型中目标的特征值计算方法为:选择目标X的中心像素值,取其红色、绿色、蓝色分量值,分别记为R、G、B,目标的面积大小记为S。记特征值为value,其计算方法如下:

接下来计算value在矩阵中的位置。

设当前的特征矩阵为M,该矩阵M有R行、C列。当前目标X的value在图片中的位置posX、posY,计算其在M中相应的位置row、column:

其中CAR_WIDTH、CAR_HEIGHT为预设值。

假设一幅图片宽800像素、高900像素,目标在该图中的平均宽高分别为100像素和100像素,那么用图像的宽高分别除以目标的宽高便得到了对应的特征矩阵的列数与行数。如下所示为一个8行9列的特征矩阵。

说明:其中特征矩阵中非零的元素便是计算出的目标车辆的特征值。

2.2 状态计算

要计算当前帧中道路的状态,需要根据特征矩阵中特征值的大小来进行计算,将相邻两(数)帧的特征矩阵进行一系列运算,最后将运算得到的结果diff与预设值进行比较,以此来得到当前道路的状态信息。

计算diff:

3,x≥>5(5)条件存在交叉,在=5时,属于哪一个条件?

其中:S=0时表示车辆停止运动(或没有车辆);S=1时表示车辆缓慢运动;S=2时表示车辆中速运动;S=3时表示车辆快速运动。

参数说明 FM为当前得到的目标特征值矩阵;FM2为上一帧得到的目标特征值矩阵;E为满足条件FM和FM2中在相同坐标处均不为0的坐标的个数;N为当前帧中的目标数目。

首先运行YOLOv3神经网络检测当前视频流中显示的当前帧图片,会得到图片中的目标的位置以及目标所在的矩形框大小,然后根据目标在图片中的位置计算其在特征矩阵中的对应位置:行数、列数,与此同时,还要根据目标在图片中的位置计算其当前处于哪个车道:左转弯车道、右转弯车道或者中间直行车道。计算其在矩阵中的位置是为了确定目标的特征值在矩阵中的存放位置。计算特征值要注意,由于车辆可能一直在运动,因此,背景也很可能处于不断变化中,所以,为了得到目标较为稳定的特征值,这里选取目标的中心坐标点的像素值来进行目标特征值的计算,将计算出的特征值结果存放在特征矩阵的相应位置中。将当前帧的特征矩阵与上一帧的特征矩阵进行相减,将得到的每一项的结果相加得到一个diff,根据diff的大小来判断当前道路的状态。

2.3 状态统计

为了统计出当前车道某个状态的持续时间,本文提出一种状态增量state-bonus算法来计算道路某状态的持续时间。算法描述:一个车道分为四个状态,分别记为S1、S2、S3、S4。每一个状态分别用一个对应的信号量Signal记录:Signal_s1、Signal_s2、Signal_s3、Signal_s4。根据当前帧计算出的S_CUR与上两帧计算出的道路状态S_LAST,S_OLD来计算bonus,bonus的计算方法如下:

如果当前帧得到的道路状态Si与前两帧得到的道路状态完全相同,则获得最大bonus,Si得到最大化程度的加强,表明当前道路的Si状态已经很明显,需要被记录。如果当前帧得到的道路状态Si与前两帧得到的道路状态完全不同,则当前状态获得最低bonus,表明Si状态还不够稳定,需要继续观察。

当一条道路的某个状态Si被加强的时候,该道路对应的其余三个状态则被削弱,如果Si状态对应的信号量Signal_si≥MAX_SIGNAL,则确定当前道路进入了状态Si,否则,道路状态还未被确定,或者目前道路状态较为复杂,需要持续观察。假设道路T的S1状态被加强,则道路T下的信号量计算算法为:

其中:Signal_s1为道路当前状态1对应的信号量,Signal_s2为道路当前状态2对应的信号量,Signal_s3为道路当前状态3对应的信号量,Signal_s4为道路当前状态4对应的信号量。

3 实验及模型准确性分析

3.1 实验环境说明

本次实验的硬件环境如下:CPU为Intel Core i5-6300HQ CPU @2.30GHz,电脑运行内存为8GB,显卡为NVIDIA Geforce GTX 950M,显存为4GB。

开发环境为Visual Studio 2015,需要配置CUDA8.0并行计算库、cuDNNv7.0.5并行加速库、OpenCV2.4.9图像处理库和YOLOv3物体检测框架。

3.2 道路车辆运行数据获取

为了测试模型的准确性,本研究对上海市的金桥路、淮海路、大世界三个路口的车辆运行情况进行了视频录制,白天和夜晚的车辆运行情况均有涉及,每个路口的视频录制时间均在5h以上,3个路口视频总时长达到15h以上。

视频录制后,按照模型里给出的道路状态,将每个路口的视频进行了状态时间划分,以金桥路为例,该路段的左转弯车道、中间直行车道、右转弯车道在1min内各个状态的持续时间如表1所示(状态0表示拥堵情况,状态1表示车辆缓慢运动情况,S列为当前车道的状态值,S列后一列为T列,表示当前状态下的持续时间,单位为s)。

以左车道为例,由表1可知,左车道的第一个状态(S1)是0,该状态持续了8s(即T1值),第二个状态(S2)是1,该状态持续了3s(即T2值),第三个状态(S3)是0,该状态持续了40s(即T3值),最后一个状态(S4)是1,该状态持续了5s(即T4值),其他车道的分析同理。本实验整理了各个路口具有明显状态变化的视频共15段,每个路口5段视频,按照同样的方法,为每个道口制作出了其状态持续时间表,为后面计算模型准确性做数据准备。

3.3 模型测试以及模型准确性分析

将前面提到的15段视频分别用本文的模型进行分析,以金桥路路口2018年4月7日夜间7点18分至夜间7点19分交通状况视频为例,模型分析该路口运行期间效果如图1(a)所示,其中,被矩形框框出来的即为需要的目标,矩形框线条的颜色不同表示不同车道的目标。如图1(a):左边车道中矩形框为深黑色,表示这是左车道中的目标;中间车道的矩形框为灰色,表示这是中间车道中的目标;最右边的矩形框为白色,表示这是右边车道中的目标加图例。

准确率计算公式:

其中k为当前道路出现的状态数目。如上,只有0、1两个状态出现,因此k=2,exS为实验下S状态的持续时间,m为exS状态的数目,realS为实际情况下该道路S状态的持续时间,n为realS状态的数目。依据准确率计算公式,该视频经过模型分析后,与实际数据相比,模型在左车道、中车道、右车道的准確率分别为97%、87%、99%。

模型分析淮海路的实验图如图1(b),该帧对应的特征矩阵如下所示:

模型分析大世界路的实验图如图1(c),该帧对应的特征矩阵如下所示:

按照上面的方法,对15个视频一词用模型视频数据用本文模型感觉“视频一词用模型”这个说法有些奇怪,正确吗?请明确分析并且与道路的实际情况相比后,得到如下金桥路、淮海路、大世界路三个路口的平均准确率分别如表4。

4 结语

本文提出了一种新的交通道路运行情况判断方法,该方法具有一定的创新性,算法准确性高,运算速度快,效果理想,同时简单易于部署。YOLO是一个目标检测算法,本身是无法提取出目标的运动信息的。本文提出的方法建立在YOLO之上,不仅能进行目标检测,还能提取出目标的关键信息,创新地将YOLOv3与特征值矩阵、状态时间统计state-bonus算法相结合,不仅能检测出道路上的车辆数目,还能判断车辆是停止还是运行并且能获得停止或者移动状态下的状态持续时间信息,并且可以做到分车道(左转弯车道、中间车道、右转弯车道)独立检测,在道路拥堵判断方面,已经在一定程度上领先了其他方法,这对于今后的分析,包括道路交通拥堵的缓解,改善以及优化人们的出行都具有重要的意义。

同时,由于城市路口的复杂多变,情况十分繁杂,如何能做到任何路口都能用本模型准确判断道路的运行状况,如何更加正确地处理画面上显示重叠的车辆,如何得到更加稳定的目标特征值输出,如何进一步提升算法的稳健性、准确性以及通用性,这将是今后工作的重点。

參考文献 (References)

[1] 刘羡.大全国机动车保有量达3.04亿辆机动车驾驶人3.71亿人[N/OL].中国新闻网,2017-07-11(14)[2018-05-30]. http://finance.chinanews.com/sh/2017/07-11/8274683.shtml.(LIU X. The number of motor vehicles in China has reached 304 million, with 371 million drivers[N/OL]. China News, 2017-07-11(14)[2018-05-30]. http://finance.chinanews.com/sh/2017/07-11/8274683.shtml.)

[2] 于建SF069.2016年全球最堵城市洛杉矶夺冠[N/OL].新浪财经,2017-02-21(15)[2018-05-30]. http://finance.sina.com.cn/stock/usstock/c/2017-02-21/us-ifyarrcf5236517.shtml.(YU J SF069. Los Angeles, the worlds biggest city, wins in 2016[N/OL]. Sina Finance and Economics, 2017-02-21(15)[2018-05-30]. http://finance.sina.com.cn/stock/usstock/c/2017-02-21/us-ifyarrcf5236517.shtml.)

[3] 张立东.城市交通溢流智能协调控制算法研究[D].济南:山东大学,2012:2-4.(ZHANG L D. Research on intelligent coordinated control algorithm of urban traffic overflow[D]. Jinan: Shandong University, 2012:2-4.)

[4] 陆化普,孙智源,屈闻聪.大数据及其在城市智能交通系统中的应用综述[J].交通运输系统工程与信息,2015,15(5):45-52.(LU H J, SUN Z Y, QU W C. Big data and its application in urban intelligent transportation system[J]. Transportation Systems Engineering and Information, 2015, 15(5): 45-52.)

[5] 廖孝勇.浮动车交通参数检测及在道路交通状态分析中的应用研究[D].重庆:重庆大学,2011:6-8(LIAO X Y. Study on the detection of floating vehicle traffic parameters and its application in road traffic state analysis[D]. Chongqing: Chongqing University, 2011: 6-8.)

[6] LIU W, ANGUELOV D, ERHAN D, et al. SSD: Single Shot multibox Detector [C]// Proceedings of the 2016 European Conference on Computer Vision. Berlin: Springer. 2016: 21-37.

[7] REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: unified, real time object detection [C]// Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2016: 779-788.

[8] GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation [C]// Proceedings of the 2014 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2014: 580-587.

[9] GIRSHICK R. Fast R-CNN [C]// Proceedings of the 2015 IEEE International Conference on Computer Vision. Piscataway, NJ: IEEE, 2015: 1440-1448.

[10] UIJLINGS J R R, VAN DE SANDE K E A, GEVERS T, et al. Selective search for object recognition[J]. International Journal of Computer Vision, 2013, 104(2): 154-171.

[11] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks[C]// Proceedings of the 2012 Advances in Neural Information Processing Systems. Lake Tahoe: [s.n.], 2012: 1097-1105.

[12] BRETT M, ANTON J L, VALABREGUE R, et al. Region of interest analysis using an SPM toolbox[C]// Proceedings of the 8th International Conference on Functional Mapping of the Human Brain. Cambridge: Academic Press, 2002: 497210-217.

[13] HE K, ZHANG X, REN S, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[C]// Proceedings of the 2014 European Conference on Computer Vision. Berlin: Springer, 2014: 346-361.

[14] GRAHAM B. Fractional max-pooling[J]. ArXiv Preprint, 2014, 2014: 1412.6071.

[15] REN S, HE K, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks [C]// Proceedings of the 2015 Advances in Neural Information Processing Systems. Montréal: [s.n.], 2015: 91-99.

[16] MA Y, JIANG Z, ZHANG H, et al. Generating region proposals for histopathological whole slide image retrieval[J]. Computer methods and Programs in Biomedicine, 2018, 159: 1-10.

[17] REDMON J, FARHADI A. YOLOv3: an incremental improvement [J]. ArXiv Preprint, 2018, 2018: 1804.02767.

[18] 汪毅.基于車窗定位的车辆特征提取与车型分类识别[J].科学技术创新,2018(3):17-19.(WANG Y. Vehicle feature extraction and vehicle classification based on window location [J]. Science and Technology Innovation, 2018(3): 17-19.)

[19] 刘家旭.基于HOG特征提取的车辆检测方法研究[D].北京:华北电力大学,2017:4-6.(LIU J X. Research on vehicle detection method based on HOG feature extraction [D]. Beijing: North China Electric Power University, 2017: 4-6.)

[20] 刘荆桥,戴光明.角点检测在车辆特征提取中的应用[J].软件导刊,2008(4):91-92.(LIU J Q, DAI G M. The application of corner detection in vehicle feature extraction [J]. Software Guide, 2008(4): 91-92.)

猜你喜欢
交通拥堵
制度经济学视角下应对城市拥堵的对策
制度经济学视角下应对城市拥堵的对策
太原市城市交通拥堵问题的经济学分析
特种车辆在城市交通拥堵中的现状及建议
城市交通拥堵问题国内研究述评
城市交通拥堵问题国内研究述评
新公共管理理论视角下重庆市交通拥堵整改问题研究
狭窄路段交通控制系统设计研究
水平代步电梯在城市交通中的应用探讨
基于外部性理论的城市交通拥挤问题研究