APP下载

基于视频车流轨迹的虚拟车道划分方法

2020-04-24刘继聪陈庆奎

计算机工程与设计 2020年4期
关键词:高斯结构化车道

刘继聪,陈庆奎

(上海理工大学 光电信息与计算机工程学院,上海 200093)

0 引 言

车道是城镇公路和高速公路的重要组成部分,很多用于指导司机和减少交通事故的交通规则都是基于车道指定的[1-3]。所以,车道线检测[4]对减少交通事故的发生起着至关重要的作用。目前多数车道检测是基于城市结构化道路实现的,对于城市快速发展(地铁建设)造成车道封路或者工地施工引起车道线腐蚀或宽度变化、交通事故带来的临时交通管制,非结构化道路[5](乡镇道路)、车辆拥挤造成车道线标志区域被遮挡以及天气(降雪)等情况,尚无行之有效的检测方法。

此外,无人驾驶[6]是汽车未来的研究方向。车道识别作为无人驾驶的基础和前提,对无人驾驶的发展起着重要的技术保障作用。目前无人驾驶研究停留在城市结构化道路,对于城乡车道或者由天气原因造成的车道线无法检测的车道的研究处于空白状态。无人驾驶研究的新趋势是面向城乡非结构化道路和极端天气环境。提出一个具有普适性的车道识别方法是一个必然的趋势。

本文利用密度矩阵统计车道时间t内经YOLOv3模型[7]所检测的车辆数量,并建立三维坐标系模拟车辆密度分布、根据其分布建立虚拟车道宽度数学模型,利用3σ准则[8]对一元混合高斯模型求解得到车道边界点集合,最后利用最小二乘法实现虚拟车道划分。实验结果表明,本文方法在复杂路况识别与划分上表现出良好的效果。

1 车道识别研究现状车道车流特征

在传统视觉处理领域,对车道的检测一般是基于两个特征—颜色[9-11]和边缘[12-15]。车道标记在道路上涂上白色或者黄色(明显区别于道路的其它部分),考虑检测车道的颜色特征来识别车道是有意义的。Son Jogin等提出了一种车道偏离预警系统的实时和照明不变车道检测方法[16]。所提出的方法在各种照明条件下工作良好,例如在恶劣天气条件下和夜间。它包括3个主要组成部分:首先,基于投票图检测消失点,并定义自适应感兴趣区域(ROI)以降低计算复杂性。其次,利用车道颜色的独特属性来实现照明不变的车道标记候选检测。最后,使用来自候选车道标记的聚类方法找到主要车道。Wang Jingyu等提出了一种根据摄像机的透视特征使用消失点来筛选数据的车道检测方法[17],该方法在原始图像的Canny和Hough变换之后获得线数据。根据消失点和其它位置特征创建过滤条件。该算法在近历史中保存检测到的车道和消失点。该算法根据历史数据进行聚类和集成以确定检测输出。Gu J等提出了一种基于邻域的图像转换方法,称为极值区域增强[18]。在该方法中增强了白线的强度,因此它对阴影和照度变化很稳健。方法中的白线的边缘和形状信息都被提取为车道特征。此外,使用提取的特征实现鲁棒的道路车道检测算法,并通过概率跟踪提高正确性。

在深度学习领域,对车道的检测一般基于结构化道路的车道线特征,通过卷积神经网络(CNN)对车道线提取进而完成车道检测。Jihun Kim等提出在CNN框架中提出了堆叠ELM架构[19]。ELM是一种快速学习方法,用于在单次迭代中计算输出和隐藏层之间的网络权重,因此可以显著减少学习时间,同时以最少的训练数据生成准确的结果。此外,修改反向传播算法以找到隐藏层的目标,并在保持性能的同时有效地学习网络权重。Davy Neven等将车道检测问题转为实例分割问题,从而使每个车道线各自形成一个实例,实现端到端的训练,可以灵活检测多车道[20]。通过LanNet实现二值分割和实例分割,二值分割得到白色车道线,实例分割将不同车道线进行像素分离,最后运用H-Net对车道线进行曲线拟合。Bei He等提出一种基于双视角的车道线检测(DVCNN)架构[21]。首先,在提高精确度方面,构建一种新的网络模型并结合前视图和俯视图。通过前视图,可以将行进的车辆、路牌等排除,通过俯视图,可以去除非车道形状的物体,如指示标语等。其次,提出了一种帽状滤波器,能够识别潜在的车道线,而且还能平滑渐变纹理的分布,从而减少误测。最后,设计一个全局的优化函数,将车道线的可能的长度、宽度、方向和数量都考虑在内。经过优化,得到真实车道线的最优组合。

但是,基于传统OpenCV的车道线检测方法和基于深度学习的车道线检测方法都各有明显的缺点:①大多数颜色模型对光照变化都是敏感的,随着不同时间点光照强度的不同,对道路特征检测的准确率也会呈现时序性浮动。虽然基于边缘的特征检测对物体背影对于改变光照条件具有更强的鲁棒性,但使用环境受限,程序鲁棒性差。不仅受周围环境影响较大(如树的背影和交通杆背影),检测时会出现边缘特征杂乱,而且在光线较暗时无法使用。②基于深度学习的车道线检测方法高度依赖结构化道路,通过CNN提取已有车道线完成检测。对于车道线不完整、非结构化道路或者是由于天气原因造成的车道线无法识别(降雪天气)等情况,现有的基于深度学习的车道线检测方法是无法完成的。

鉴于上述原因,我们提出基于视频车流轨迹的虚拟车道划分方法。该方法通过统计一段时间车流量密度分布,通过混合高斯模型对密度分布进行求解,并运用最小二乘法进行车道线拟合,完成虚拟车道线划分。该方法不仅适用于城市结构化道路,而且为非结构化道路或者城市发展造成车道线破损、交通事故等原因以及天气因素造成的车道线无法识别的车道提供一个科学合理虚拟车道线,可以将提取车道的数据上传云端,为智慧城市建设和无人驾驶发展提供有力的技术支持。

2 基于视频车流轨迹的虚拟车道划分方法

本文提出的车道线检测方法适用于多种道路环境和车道状况,在该方法中我们主要做了3点工作:①通过大量视频集训练YOLOv3模型,以实现对车辆的精确检测;②建立二维密矩阵,统计时间t内车辆通过流量,并利用三维坐标系描述密度分布;③对一元混合高斯模型进行求解,对车道宽度建立数学模型并运用3σ准则进行求解,根据最小二乘法拟合虚拟车道线。车道线划分流程如图1所示。

图1 车道线划分流程

2.1 车辆检测模型

本文利用YOLOv3模型对车辆进行检测,视频数据集来源于上海市海安路、延吉中路、西藏中路等路段,视频录制时间超过30小时,涵盖不同场景各个时间段。实验图片集为10 000张,按照7∶3比例划分训练集和测试集,数据集示例如图2所示。

图2 数据集图像示例

YOLOv3模型基于darknet-53网络结构,如图3所示,共106层,从第0层一直到74层,一共有53个卷积层,其余为res层(shortcut操作[22])。从75到105层为yolo网络的特征交互层,分为3个尺度,每个尺度内,通过卷积核的方式实现局部的特征交互,作用类似于全连接层。但是,是通过卷积核(3*3和1*1)的方式实现feature map之间的局部特征(fc层实现全局特征交互)交互。

图3 darknet-53结构

本文借鉴迁移学习思想,采用了在ImageNet上预训练好的模型参数darknet53.conv.74,在此基础上继续训练。在数据预处理阶段,我们对图片数据进行随机裁剪、随机翻转以及增加曝光度等处理,增加训练集样本数量,提高模型的泛化能力。在训练过程中,每2500个样本更新一次权重参数。通过设置decay参数防止模型过拟合。车辆检测结果如图4所示。

图4 车辆检测

2.2 车辆密度统计

图5 局部密度分布

多数车辆运动轨迹均匀分布在车道中间区域且维持一定长度,呈现一个二元混合高斯分布图像,有极少数出现偏离情况,在划分虚拟车道线时,通过设定阈值将异常点排除。通过YOLOv3模型检测,可以得到一系列车辆信息参数

Carti={(xi,yi,wi,hi)}|i=1,2,3…n|

(1)

其中,t为统计的时间段,i为t时间内所检测出的车辆编号, (xi,yi) 表示bounding box的左上横纵坐标, (wi,hi) 表示bounding box宽高。

Algroithm of Matrix accumulation

Input: Vehiclecollection

Carti={(xi,yi,wi,hi)}|i=1,2,3…n|

Density matrixCarInitial weight 0

Output: Accumulation Density matrixCar

i=0

repeat

forw← 1 Towi:

forh← 1 Tohi:

Car[Carti.xi,Carti.yi]+=1

end for

end for

i+=1

until i >n//n:

2.3 虚拟车道划分

车辆通过路面时会对路面区域进行覆盖,大量车辆通过会产生一个叠加效果,叠加区域值越大表明通过该区域的车辆越多,可以设定一个阈值,大概率估计车辆行驶范围。在图5的三维坐标系中z轴值表示通过该区域车辆数量概率,选取y值,沿z轴方向做一个横切面,将二维混合高斯分布降为一维混合高斯分布。如图6所示,该分布近似为

(2)

其中,z轴值为概率值,是将密度矩阵中(min,max)映射到(0,1),ωj是第j个高斯模型的权重,μj是第j个高斯模型的中心, ∑j是第j个高斯模型的协方差矩阵。

图6 不同y值下的密度分布

图6(a)表示正常双向车道行驶时,统计的车辆密度分布,图6(b)表示当一侧发生交通事故时,双向车道逐步向另一侧融合变为单向车道的密度分布,图6(c)表示两个车道融合为一个车道,此时车道变宽车流量变大。不同y值下,车道密度分布现混合高斯概率图形。

对于混合高斯模型的求解,本文使用EM算法对GMM参数进行估计。

Algroithm of EM

Input: SampleX

Output: GMM model parameters

Init:

φj=(ωj;μj;Σj),φ=[φ1,φ2,…φk]T

∑j: unit maxtri

Prior propability of each model ratio:ωj=1/k

The meanμjis a random number

updateωj,μj,Σj

为了精确刻画虚拟车道线宽度dist, 在通过EM算法获取高斯混合模型参数基础上,建立如下数学模型

(3)

其中,通过选取z值,求解dist最大值以达到近似精确划虚拟分车道线的目的,但是这样求解计算量巨大,耗时长。通过分析混合高斯模型图形分布,每个单高斯分布之间没有关联,意味着各车道之间相互独立,所以对上述数学模型可以转为如下格式

(4)

单高斯分布选取zi值不同,使得可以使用每个车道disti最大值构成整体dist最大值,原本对混合高斯模型求解极值转换为对单高斯模型求解,根据3σ准则,单高斯模型选取μ-3σ和μ+3σ两个点可以近似取得dist最大值。记录每个单高斯分布 {(μi-3σi,zi),(μi+3σi,zi)} 极值点,通过选取不同y值,可以记录单高斯分布极值点的集合 {(μyi-3σyi,zyi),(μyi+3σi,ziy)}, 最后对每个集合的点进行最小二乘法拟合,得到虚拟车道线。如图7所示,在一起交通事故中,使用本方法得到的虚拟车道线(方框中为事故车)。

图7 车道划分结果

3 实验结果及分析

实验环境:操作系统Windows 7 64位;硬件环境:CPU为Intel(R) Core(TM)2 Duo,主频2.94 GHz,内存6 GB;GPU为Nvidia Geforce GTX680;开发环境:Python 3.5,OpenCV3.1.0,CUDA8.0并行计算库及cuDNNv5.0并行加速库。视频图像分辨率为 320×270,帧率为25帧每秒。

本实验选取上海市西藏中路、中环路、淮海中路、金桥路、海安路等6个路口视频,录制总时长超过50小时,涵盖车道线标记完整、车道线出现磨损、没有车道线标记以及出现交通事故等4种路况车道。选取海安路、延吉中路、西藏中路用于训练YOLOv3车辆检测模型。由于实验数据集中结构化道路图片部分比重较大,本方法选取结构化车道线与实验得到的虚拟车道线进行对比以检验实验效果。选取基于经典Hough变换的车道线检测方法进行对比,并给出了各种路况下的划分结果。

3.1 评价指标

多车道车辆计数准确率既受车辆检测影响,使用精确率P和召回率R来衡量车辆检测性能

(5)

其中,TP为目标为车辆且被系统正确检测为车辆的数量,FP为目标为非车辆且被系统误检测为车辆的数量,FN为目标为非车辆且被系统正确检测为非车辆的数量。

3.2 结果及分析

实验利用YOLOv3网络在预训练的模型基础上进行迭代训练,网络文件中的部分参数设置如下:初始学习率lr=0.001、batch_size=64、step=40000即在迭代40 000次后降低学习率,经过50 000次的迭代训练,结果如图8所示。

图8 Yolov3训练

从结果图可以看出,经过上万次的迭代训练后,该模型的loss值降低至2.43,并且iou趋于1。图9分别展示了该模型在上海西藏中路以及上海中环路的检测效果图。

图9 车辆检测

在验证该模型对车辆检测的准确度方面,选取上述两个路段场景,在不同时间段,对每个路段抽取100张图片进行车辆检测并将结果统计见表1。

表1 检测结果统计/%

统计结果表明,模型在不同场景下都表现出良好的检测效果,除极少数误检测外,在车辆拥挤和车辆稀疏情况下,模型的错检率和漏检率都很低,具有很强的泛化能力。

为了验证本文方法的鲁棒性和灵活性,选取了数据集中存在较多车道指示线的数据与基于Hough变换的车道线检测方法进行对比,如图10所示。

图10 检测对比

针对结构化车道道路,本文方法检测结果如图10(a)所示,经典Hough变换检测结果如图10(b)所示。基于经典的Hough变换车道检测方法只对直线车道体现较好的检测结果,对标记有车道指示线的道路在检测时会将指示线与车道线进行错误拟合,无法提供准确的检测结果。本文方法是基于车流量建立数学模型,能够避免车道指示线的干扰。

在验证不同路况车道线检测与划分的准确性方面,本文选取了上海西藏中路、延吉中路和海安路进行实验,其中海安路为非结构化道路。实验中选取每个路段各1000张图片,并将统计数据整理见表2。

表2 车道线检测与划分统计结果

根据统计结果分析,本文方法检测的平均准确率为88.7%,对不同车道均体现了良好的准确性。图11展示了不同路况下,各道路车道线的划分情况。图11(a)是直线车道路况划分结果,图11(b)是弯曲路况划分结果;图11(c)是车道线磨损不清晰路况划分结果,图11(d)是对非结构化道路车道划分结果,综合实验,本文方法对不同车道均可以确划分车道。

图11 多路况检测

由实验结果可以验证,本文提出的基于视频车流轨迹的虚拟车道划分方法对不同路况道路车道线划分取得了良好的效果。方法优势体现在不仅对城市结构化道路有着良好的划分效果,而且对非结构化道路以及因交通事故导致临时改道都可以提供一个合理虚拟车道线,避免基于Hough变换和基于深度学习道路检测方法的局限性,具有一定的泛化能力和健壮性。

4 结束语

针对结构化道路车道线磨损、因交通事故临时改道以及非结构化道路等情况下的车道划分问题,本文所提出的基于视频流的虚拟车道检测方法实现了对交通视频中道路的车道检测与划分。相比传统的车道检测方法检测结果更加精确。基于视频车流轨迹的虚拟车道划分方法可以排除周围环境的干扰,在车道线不清晰或损坏等情况下都表现出较好的检测效果,具有一定的鲁棒性和灵活性,为日后车道检测提供了新的方向。本文下一步的工作重点是研究如何将神经网络模型轻量化,在不降低精度的前提下,减少网络参数,加快检测过程,进一步提高车道线检测的性能。

猜你喜欢

高斯结构化车道
北斗+手机实现车道级导航应用
避免跟车闯红灯的地面车道线
促进知识结构化的主题式复习初探
改进的非结构化对等网络动态搜索算法
浅谈MTC车道改造
结构化面试方法在研究生复试中的应用
左顾右盼 瞻前顾后 融会贯通——基于数学结构化的深度学习
数学王子高斯
天才数学家——高斯
从自卑到自信 瑞恩·高斯林