0引言高速公路行驶里程较长,司机容易产生打盹、瞌睡等注意力不集中的情况,且由于行驶速度较快,若发生碰撞事故,会对人民生命财产安全造成严重危害。据统计,事故主要包括追尾碰撞、爆胎、刮擦和侧撞等,其中高速追尾和超车变道造成的事故占比最高,造成损失最大。因此,针对高速公路上行驶的车辆进行安全性分析,降低事故的发生显得尤为重要。车辆在行车过程中保持安全距离和对司机进行有效的预警是避免事故发生的基础。相关学者针对车辆安全距离和安全预警模型研究提出了多种方法。洪浩(2016)提出基于视觉的车辆防碰撞预警算法,以固定距离作为标准,未对安全距离进行详细计算,不符合实际情况;杨澜等人(2017)提出通过通信技术构建防碰撞模型,但此方法在一些信号不良的区域无法正常使用,同时对突发情况未提供解决方案;刘锴等人(2018)提出的车路协同环境下道路无信号交叉口防碰撞系统,该方法受驾驶风格影响较大;张立军等人(2019)提出基于轨迹预测和模糊分析的商用车盲区防碰撞预警,该方法主要针对转弯时的侧方碰撞预警,对前方车道的预警效果不明显;蔡创新等人(2020)提出车路视觉协同的高速公路防碰撞预警算法,该方法仅能对前方同车道区域进行安全预警。Li等人(2021a)提出将避撞减速(deceleration for collision avoidance,DCA)作为指标评估自车与前方其他车辆的碰撞风险,主要是根据自车的制动距离和自车与前车的相对距离间关系对可能发生的碰撞进行预测。基于上述分析,本文提出面向高速公路场景的车路视觉协同行车安全预警算法。实现车辆目标的快速精确定位,重新分析车辆行驶过程中的安全距离和预警区域。依据车辆在刹车过程中的力学特性,忽略车辆自身损耗,根据能量变换过程计算得到安全距离模型,同时计算标记车辆与自车间距离,结合安全距离模型和多车道预警模型,对前方多车道中的车辆进行安全预警。所提算法主要由车辆目标识别技术、安全距离模型和多车道预警模型3部分组成,如图 1所示。 图1 总体算法流程图 Flow chart of overall algorithmFig 1本文算法的主要贡献:1)提出一种深度卷积神经网络SF_YOLOv4(single feature you look only once v4)对单一场景下车辆目标进行快速检测,提升对小目标的检测效果,增强单一场景下的目标检测速度与精度;2)提出安全距离模型,考虑了车辆在行驶状态下的动量和能量守恒,符合车辆在真实行驶状况下的力学特性;3)提出多车道安全预警模型,对前方多车道驾驶环境进行安全分析,提供快速安全预警,保障行车安全。1基于SF_YOLOv4的车辆目标检测当前的目标检测算法主要分为传统方法(Li等,2021b)和基于深度学习(Zou等,2019)的方法。基于深度学习的方法主要是利用卷积神经网络(convolutional neural network,CNN)(Shomron和Weiser,2019)提取目标特征,进行特征融合,最终实现目标预测。常用的CNN模型有VGG(Visual Geometry Group)(Haque等,2019)、Inception(Alom等,2021)、ResNets(Shipway等,2021)、DarkNet(Redmon和Farhadi,2018)等。目标检测算法主要为单步检测和双步检测,单步检测首先利用图像分割技术选出候选区域,然后采用滑动窗口思想对图像进行分类、回归操作,主要包括R-CNN(region convolutional neural network(Wang等,2020)、Fast R-CNN(Yang等,2020)和Faster R-CNN(Wan和Goudos,2020)等;双步检测是将目标的定位与分类转化为回归问题直接得到目标类别概率和坐标,主要包括YOLO(Redmon等,2016),SSD(single shot multibox detector(Raj和Chandan,2018)等。其中YOLO是一种基于CNN的双步实时目标检测算法,检测速度较快,但对小目标物体的检测错误率较高。Bochkovskiy等人(2020)对YOLO算法进行了一系列改进,公开了YOLOv4算法(Bochkovskiy等,2020),算法以CSPDarknet53(cross stage paritial Darknet53)为特征提取主干网络,采用SPP(spatial pyramid pooling)(Lian等,2021)和PANet(path aggregation network)(Liu等,2018)构建特征融合网络,并将CIoU(complete intersection of union) Loss(Zheng等,2020)作为损失函数。本文在YOLOv4的基础上优化目标检测网络结构,增强单一场景下的目标检测速度与精度,提升对小目标的检测效果。其网络结构如图 2所示,主干特征提取网络使用层数更少的CSPDarknet17网络结构,可以大幅度降低YOLOv4庞大计算量和参数量导致检测速度低的情况;在特征融合网络部分,提出一种改进的多尺度特征融合网络(four-feature pyramid networks for object detection,F-FPN),在原有3个尺度的基础上增加104×104尺度的特征提取图,有利于提升小目标的检测效果,提出的SF_YOLOv4模型可以做到速度与精度的完美契合。 图2 SF_YOLOv4网络结构 SF_YOLOv4 network structureFig 21.1主干特征提取网络由于本文以检测高速公路上行驶的车辆为研究目标,而高速公路环境相对单一,因此只需要进行简单的特征提取。本文优化的CSPDarknet17网络将YOLOv4的CSPDarknet53网络中重复执行1次、2次、8次、8次、4次残差网络结构减少为均执行一次。结构如图 2中CSPDarknet17所示,其中,CONV模块为卷积操作,BN模块为正则化操作,Mish和Leaky Relu模块为激活函数,Concat模块为拼接操作,add模块为叠加操作。首先使用32个3×3的卷积核对416×416像素分辨率图像进行卷积作为输入图像;然后,对输入图像使用64个尺寸为3×3、步长为2的卷积核进行下采样,再对卷积结果使用由1×1和3×3组成的残差块增加网络深度,此时得到的特征图尺寸为208×208像素;接着,重复执行该残差块,分别得到104×104像素、52×52像素、26×26像素、13×13像素尺度的特征图,除卷积核与特征图的尺度不同之外,每一个残差块都相同。其中,下采样在每个矩形框上方的卷积层中执行,步长为2。在所有的卷积层上均添加批量标准化(batch normalization layer)加速训练收敛过程,使用Mish函数作为激活函数。根据深度学习理论(Hu等,2021),其深度学习模型的时间复杂度和空间复杂度为1$ Time=\mathrm{O}\left(\sum\limits_{l=1}^D M_l^2 \cdot K_l^2 \cdot C_{l-1} \cdot C_l\right)$ 2$ Space=\mathrm{O}\left(\sum\limits_{l=1}^D K_l^2 \cdot C_{l-1} \cdot C_l+\sum\limits_{l=1}^D M^2 \cdot C_l\right)$ 式中,$K_l^2$表示第$l$层的卷积核尺寸,$M_l^2$表示第$l$层的空间尺寸,$C_l$表示第$l$层的通道数。由上述公式可以发现,模型的时间复杂度($Time$)和空间复杂度($Space$)仅与卷积核的尺寸$K^2$、通道数$C$、空间尺寸$M^2$卷积层数$D$相关。因此,通过减少主干网络层数降低模型时间复杂度和空间复杂度。1.2多尺度预测网络SF_YOLOv4网络直接在多个尺度的特征图上预测车辆目标和分类。如图 2中F-FPN结构所示,将经过特征提取后的13×13,26×26,52×52,104×104的特征图输入F-FPN特征融合网络中。该网络首先对主干特征提取网络Darknet17提取的13×13尺度的特征图进行卷积,将卷积结果作为13×13尺度的输出预测;同时将卷积结果进行卷积和上采样操作后与Darknet17提取的26×26尺度的特征图进行拼接后,作为26×26尺度的输出预测;同时再将上述拼接后的结果进行卷积和上采样操作后与Darknet17提取的52×52尺度的特征图进行拼接,将拼接结果进行卷积和上采样操作,将其作为与52×52尺度的特征图所对应的处理结果,然后将所述处理结果和Darknet17提取的104×104尺度的特征图进行拼接后再进行卷积和下采样操作,然后与52×52尺度的特征图所对应的处理结果进行进一步拼接,经拼接结果作为52×52尺度特征图的输出预测。本文改进方法将主干特征提取网络中的104×104尺度的特征图加入特征融合,可以增强模型对于小目标的检测效果。2安全距离模型2.1距离计算为了有效控制并避免交通事故的发生,除需要对前方车辆目标和位置进行标定之外,还需要计算车辆间的距离,精确的距离计算可以对车辆间的相对位置进行准确的量化描述。根据我国高速公路车道线规格与距离(白虚线长度为6 m,白虚线与白虚线之间的间隔为9 m,即15 m为1个周期;白线宽度为0.15 m,车道宽度为3.75 m)。在图像水平和竖直方向标定多个特征点,根据特征点将水平与竖直方法分开计算。通过实验发现水平方向具有一定的比例关系,因此水平方向距离计算式为3$L=k_1 \times L_{\text {pix }}$ 4$k_1=\frac{L_{\text {ref }}}{L_{\text {ref_pix }}}$ 式中,$L$为自车与前方车辆间水平距离,$k_1$为与实际水平长度和像素点个数相关的常数,$L_{\text {pix }}$为前方车辆沿水平方向在鸟瞰图的底边所在直线上的投影到目标车辆位置之间的像素点的个数,$ L_{\text {ref }}$为参照物的实际水平长度。$L_{\text {ref_pix }}$为水平方向上该参照物实际水平长度相对应的线段所对应的像素点的个数。竖直方向计算过程为沿鸟瞰图中车道线布设方向依次获取同一车道线中的子车道线和相邻子车道线之间的间隔,获取矩形车道线部分所对应顺序数据组合的一组实际竖直长度,以及鸟瞰图中沿竖直方向上与各实际竖直长度与其对应的像素点的个数:$\left(L_1, h_1\right), \left(L_2, h_2\right), \left(L_3, h_1+h_2\right), \left(L_4, 2 h_1+h_2\right),$$\cdots, \left(L_m, n_1 h_1+n_2 h_2\right)$,其中,$L_1 、L_2 、$$L_3 、L_4 、\cdots 、L_m$分别为与实际竖直长度$h_1 、h_2 、h_1+h_2 、2 h_1+h_2 、$$\cdots 、n_1 h_1+n_2 h_2$所对应的像素点的个数。其中,通过采集竖直方向上的车道线的实际长度和对应像素关系拟合曲线如图 3所示。 图3 曲线拟合图 Curve fitting diagramFig 3拟合得到实际距离$H$(单位m)和像素距离$x$(单位像素)的计算式为5$H=0.07397 x-0.01629$ 式中,$x$为像素差高度,即为目标检测框底部中点到摄像机的竖直方向像素值,$H$为实际距离。最后利用欧氏距离公式,计算得到目标点与检测点的实际距离$D$(单位m),即6$D=\rho(L, H)$ 式中,$D$为自车与前方检测车辆的实际距离,$\rho(\cdot)$为欧氏距离,$L$为横向实际距离,$H$为纵向实际距离。2.2安全距离模型安全距离模型是主动安全预警系统的主要研究内容。本文在充分考虑车辆在行车过程中的力学特性,忽略车辆自身损耗的前提下,利用动量与能量的守恒变换原理提出一种安全距离模型。根据驾驶员从发现前方车辆险情开始到完成制动过程进行分析,该过程可以分为两个子过程:1)驾驶员发现前方险情的反应时间、将险情传给大脑并作出判断的判断时间以及抬脚踩刹车的整个过程中行驶的距离,由于目前车辆性能的提升,可以忽略车辆的反应时间,即认为驾驶员踩下刹车的一瞬间,车辆立即开始制动;2)车辆刹车过程中由于其存在的巨大能量缓冲造成的刹车距离。其中可以认为在子过程1)中车辆做匀速运动,其行驶距离为$s_1$(单位m),即$s_1=vt$,$v$为车速(单位m/s),通过速度公式(蔡创新等,2020)计算得到,$t$为反应时间,根据国际公约建议使用2 s规则,即前车与自车之间的最小安全距离取决于自车速度,该距离至少为自车保持当前速度行驶2 s的距离,故$t$=2 s。在子过程2)中,根据动量和能量守恒定律,即在车辆刹车过程中,速度产生的动量转化为克服地面摩擦力做功、克服风阻力做功以及克服惯性做功的总和,忽略自车刹车损耗,根据守恒原理计算得到刹车过程中的距离$s_2$。计算过程为7$E_k=\frac{1}{2} m v^2$ 8$W_{\text {friction }}=F_{\text {friction }} s_2=\mu m s_2$ 9$W_{\text {wind }}=F_{\text {wind }} s_2=\frac{1}{16} A C_\omega v^2 s_2$ 10$W_{\text {inertia }}=m g s_2$ 11$\frac{1}{2} m v^2=\mu m s_2+\frac{1}{16} A C_\omega v^2 s_2+m g s_2$ 由上推导可得12$s_2=\frac{\frac{1}{2} m v^2}{\mu m+\frac{1}{16} A C_\omega v^2+m g}$ 式中,$m$为车辆重量(单位kg),$v$为车辆行驶速度,$\mu$为轮胎与地面的附着系数,在沥青路面的高速公路进行测试,取附着系数$\mu$=0.6,$A$为车辆前部截面面积(单位:m2),$C_w$为风阻系数,$g$为重力加速度(9.8 m/s2)。式(7)为车辆刹车过程中的动量,$E_k$为动量,式(8)为车辆刹车过程中摩擦力做功,$W_{\text {friction }}$为摩擦力做功,$F_{\text {friction }}$为轮胎与地面摩擦力,式(9)为车辆刹车过程中风阻力做功,$W_{\text {wind }}$为风阻力做功,$F_{\text {wind }}$为风阻力,式(10)为车辆刹车过程中惯性做功,$W_{\text {inertia}}$为惯性做功,式(11)为车辆刹车过程中能量守恒关系,式(12)为车辆刹车距离。最终,整合上述过程得到整个过程中的安全距离模型为13$s=s_1+s_2=v t+\frac{\frac{1}{2} m v^2}{\mu m+\frac{1}{16} A C_\omega v^2+m g}$ 3多车道安全预警模型高速公路上的汽车在快速行驶时,本车驾驶员对前方同车道和相邻车道中出现的车辆下一刻行为是无法预测的,因此对前方多车道区域建立安全预警算法尤为重要。本文在原有同车道预警区域的基础上重新分析行车过程,提出多车道安全预警模型,该模型作为判断前方多车道行车环境的辅助手段,主要在原同车道区域上进行扩展,能够对前方多车道区域进行预警,使车辆在行驶过程中拥有更加广泛的安全区域,充分保证前方行车安全。多车道安全预警算法的核心思想是:将车辆检测和距离检测相结合,基于安全距离模型构建出多车道安全预警区域,并通过判断车辆距离与预警区域的关系,为司机提供相应的提示。本文方法充分考虑车辆在行驶过程中的实际情况,能对高速公路行车途中发生的不同类型碰撞(追尾、超车变道等)事故进行有效预测,从而保证行车安全性。根据如图 4所示的安全预警模型,对前方多车道中的车辆进行预警,根据车辆出现的不同位置对驾驶员提供相应的预警。若前方车辆位于预警区域外,则提醒司机可以安全行驶;若车辆出现在预警区域内,则根据被检测车辆出现的不同车道对司机提供不同的预警信息。预警算法流程图如图 5所示。 图4 安全预警模型示意图 Schematic diagram of security early warning modelFig 4 图5 预警算法流程图 Early warning algorithm flowFig 54实验结果与分析4.1车辆检测实验分析本文模拟实际高速行车环境,在VOC(visual object class)2012数据集上提取车辆数据与淮安交运公司客运车辆上行车记录仪拍摄的自建数据共同作为实验数据集。其中自建数据包括训练集(13 472幅)、测试集(8 250幅)和验证集(5 774幅),共计27 496幅图像,包括目标car(58 944辆)、truck(17 228辆)、bus(5 650辆)和danger_car(4 258辆)。训练时通过翻转、裁剪、缩放与增减对比度等方式进行增强数据。根据对高速公路上运行车辆分析以及发生事故时造成的生命财产安全损失程度,对车辆目标进行分类检测,主要分类包括car(七座及以下车辆)、bus(大巴及中巴等客运车辆)、truck(货车、卡车等大型车辆)以及Danger_car(危化品车辆及油罐车辆等)。本文实验使用pytorch深度学习框架,在配置为Inter Core i5-7500 @3.40 GHZ四核CPU、16 GB主频为2 400 MHz内存和Nvidia GTX 1660 SUPER的PC机上运行。本文采用均值平均精度(mean average precision, mAP)、检测速度(frames per second, FPS)、召回率(recall)、空间复杂度、时间复杂度等对SF_YOLOv4模型进行评价。分别改变主干网络和特征融合网络进行消融实验,结果如表 1所示,同时在自建数据集上进行不同算法的对比实验如表 2所示。表1 消融实验对比效果 方法 mAP/% FPS/(帧/s) 空间复杂度/104 时间复杂度/108 recall/% car bus truck danger_car CSPDarknet53+SPP+PANet 92.74 12 6 404.0 299.5 88.40 86.24 93.22 87.90 CSPDarknet17+SPP+PANet 91.50 14 5 770.2 256.9 87.40 86.04 93.05 87.90 CSPDarknet53+F-FPN 93.07 18 4 249.5 248.0 89.06 88.33 93.45 90.04 CSPDarknet17+F-FPN 93.55 25 3 615.7 205.3 89.84 93.49 93.26 90.36 Comparative effects of ablation experimentsTable 1 加粗字体表示各列最优结果。表2 不同算法在自建数据集上的实验对比 方法 mAP/% FPS/(帧/s) YOLOv3 87.82 14 YOLOv4 92.74 12 YOLOv4_Tiny 90.06 16 Fast R-CNN 87.26 10 Fsater R-CNN 89.03 10 SSD 91.50 13 EfficientDet_d5 88.56 13 本文 93.55 25 Experimental comparison of different algorithms on self-built datasetsTable 2 加粗字体表示各列最优结果。如表 1所示,对比第1行与第2行数据发现, 本文改进的主干网络(CSPDarknet17)能有效降低模型时间与空间复杂度,与原模型相比,其空间复杂度降低约634万,时间复杂度降低近43亿,检测精度稍有下降,但检测速度有所提升;对比第1行和第3行数据发现本文F-FPN结构与原模型中的SPP+PANet相比,时间复杂度降低近52亿,空间复杂度降低2 155万;对比第1行和第4行数据发现本文提出的SF_YOLOv4模型在时间复杂度上降低2 788万,时间复杂度上降低94亿,在精度上提升0.81%,在检测速度13帧/s。在召回率上,本文方法在各分类上均取得最好效果。从表 2中可以看出,与YOLO系列算法相比,本文方法在精度上比YOLOv4提高0.81%,在速度上比YOLOv4-Tiny提高9帧/s;与非YOLO系列算法相比,本文方法比SSD算法提升2.05%,检测速度明显提升。针对不同类型车辆目标及小目标检测效果如图 6所示。图中可以看出,本文模型对于高速公路等单一特定场景下的车辆目标分类检测和小目标检测具有较好的鲁棒性。 图6 车辆目标分类检测效果 Classification and detection results of vehicle targetsFig 64.2安全距离模型实验分析根据《中华人民共和国道路交通安全法实施条例》第80条规定:机动车在高速公路上行驶,车速超过每小时100 km时,应当与同车道前车保持100 m以上的距离,车速低于每小时100 km时,与同车道前车距离可以适当缩短,但最小距离不得少于50 m。交警部门对此的解释为:当机动车时速为60 km时,行车间距应为60 m以上;时速为80 km时,行车间距为80 m以上,以此类推。为了验证本文安全距离模型的可靠性,进行定量实验,分别选择宇通大巴车(ZK6128HQ(双风挡))和小汽车(凯迪拉克XT4)进行实验,两种类型车辆参数分别如表 3所示,取宇通大巴车的风阻系数为0.7,凯迪拉克XT4的风阻系数为0.4进行计算。实验结果如表 4所示。表3 不同实验车辆参数 车型 宇通大巴车(ZK6128HQ) 凯迪拉克XT4 前挡风尺寸A/mm 2 550×3 695 1 881×1 627 风阻系数Cw 0.6~0.7 0.3~0.51 轮胎摩擦系数μ 0.6 0.6 车辆重量m/kg 12 700 1 652 Parameters of different experimental vehiclesTable 3表4 安全距离实验结果 距离 车速/(km/h) 60 80 100 120 交通法建议距离/m 60 80 100 120 本文距离/m ZK6128HQ 46.68 68.14 92.56 119.90 凯迪拉克XT4 46.67 68.13 92.52 119.82 Test results of safe distanceTable 4通过表 4可以发现,本文方法计算得到的安全距离比交通法建议安全距离更加精确,且不同车型的停车距离误差不超过0.1 m,当车速处于100 km/h时,本文方法计算的刹车距离比交通法建议距离提高近8 m。进一步说明本文方法的可靠性和精确性,同时验证交通法建议距离的安全性与必要性,若司机按照交通法建议距离行驶,则可以保证安全行车。4.3多车道预警实验马自达6(ATENZA)自带前方防碰撞系统(forward obstruction warning,FOW)是目前国内外先进的防碰撞预警系统,通过毫米波对前方车辆进行感知,利用提示音进行追尾预警。为验证本文多车道预警模型对前方相邻车道中车辆变道过程中的预警效果的时效性,本文在正中间安装高清摄像头的马自达6作为测试车辆,拟采用虚拟仿真和在实际行车环境中进行实验分析,以马自达车辆发出预警点为标准。将本文方法和蔡创新等人(2020)提出的防碰撞模型、马自达6(ATENZA)自带前方防碰撞系统分别在长深高速进行实测。本文模型相比于上述两种方法能够精确对相邻车道中的车辆变道进行安全预警,能更加直观地显示车距。对前方同车道区域中的车辆,本文方法较上述两种方法分别提前0.9 s和1.2 s对进入预警区域内的车辆进行预警;对前方预警区域内的车辆发生变道时,本文方法分别提前0.4 s和0.7 s对发生变道的车辆进行预警。本文预警模型效果如图 7所示。当前方车辆超出预警区域时,能够实时显示安全距离并提示前方车辆处于安全区域外,效果如图 7(a)所示;当前方车道中车辆位于预警区域内,根据车辆所处车道提示驾驶员注意行车安全并实时显示车距,预警效果如图 7(b)所示;针对高速公路中具有大量车辆时,对所有车辆进行的安全预警如图 7(c)所示。上述实验结果说明本文方法能够对不同类型的碰撞事故进行预警,从而有效地保证行车安全。 图7 安全预警效果图 Security warning effect diagramFig 7((a)outside the security warning area; (b)in the safety warning area; (c)security warning in complex scenarios) 5结论本文提出的面向高速公路场景的车路视觉协同行车安全预警算法利用计算机视觉技术对路况视频进行处理。首先对图像中的车辆目标进行识别并计算前方多车道车辆与自车间距离,然后根据力学特性构建本车与前方相邻多车道安全距离模型,最后通过多车道预警算法对高速公路多车道可能发生的追尾、超车碰撞等事故进行预警,并提示驾驶员采取相应措施,避免发生事故。实验结果表明,本文算法在车辆检测速度、安全距离计算精确度和多车道安全预警方面均取得了良好效果,与传统毫米波雷达的预警系统相比,其预警准确度高、时效性好。但本文系统仍存在不足,例如对车辆检测仅局限于良好的天气条件下,下一步将考虑雨雾、夜间等能见度较低情况下的车辆检测和安全预警研究。
使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,
确定继续浏览么?
复制成功,请在其他浏览器进行阅读
复制地址链接在其他浏览器打开
继续浏览