1. 引言
汽车保有量的增速惠及普罗大众,带给大家出行便利的同时,道路安全始终面临严峻的挑战。由于人为驾驶过程会受主观思维影响,故制定的驾驶决策不一定能做到安全最优解。而自动驾驶技术在执行制动、加减速、换道、停车等操作时,可通过智能技术规避人为不可控因素,做到更精准的感知、决策与执行,因此自动驾驶技术是目前的研究热点。
跟驰任务作为最基本的行驶行为,模拟了驾驶者无法改变车道的情况下跟随前车的纵向运动,是微观交通建模的基本算法 [1] 。通过检测定位引导车,实时获取到跟驰车辆间的行驶行为相关变量,具象化非自由状态下行驶的车辆间的相互影响和作用,对得到的信息进一步分析理解,辅助车辆制定后续行车决策。预测跟驰工况中行驶行为的可降低道路交通事故的发生率,为智能交通发展提供了无限可能。
2. 相关研究
车辆行为预测对车辆感知、辨析车辆行驶行为的能力提出较高的要求。随着自动行驶的发展,车载传感器等设备的性能大幅度提升,主要利用视觉传感器、激光雷达等设备实现对前导车辆的识别,获取行驶过程中的大量行为信息与轨迹数据。其中,激光雷达能够探测3D环境信息 [2] ,但在多车辆遮挡覆盖时可能会错漏关键特征信息,且成本原因也成为掣肘激光雷达规模化上车应用的关键。而视觉技术模拟人类视觉系统,所获取的数据信息占总信息的80%左右,更为丰富真实,因此本文选用视觉技术作为自动驾驶车辆跟驰下的感知方式。
由于搭载在自动驾驶车辆上的视觉设备成本较低、操作相对简易、便于产品化推广等优势,在环境感知领域得到了广泛的研究。Alvarez等 [3] 利用单目彩色摄像机提出利用阴影进行道路检测的方法。Wu等 [4] 提出的方法准确拟合车道边界,并可用于获得有关车道线方向的稳健信息。Jen等 [5] 提出了一种基于鲁棒视觉的尾灯信号自主检测方法有效检测刹车灯和转弯信号。以上方法对于环境复杂的非结构化道路检测精度不理想,在交通流密集道路环境下车辆易频繁覆盖,无法支撑自动驾驶车辆对于前车准确检测。其次,自驾车辆需要持续性进行车辆检测,如何在有限的行车硬件下进行大量数据处理是不容忽视的一点,检测模型在保证准确性的基础上同样需要考虑实时性。因此本文提出一种YOLO-SA检测网络满足检测精度的同时减少行车计算成本。
为保证自动驾驶车辆在跟驰工况下对前车进行持续性的行为预测,在感知行为信息后需要对该信息进行理解分析。随着硬件计算能力的提升,近年来研究者们利用深度神经网络对预测算法进行了一番探索。Ding等 [6] 提出基于时延反向传播神经网实时预测变道轨迹。Zhou等 [7] 提出了基于递归神经网络的微观汽车跟驰模型,能够准确捕捉和预测交通流动态。Altche等 [8] 使用广泛应用于行人轨迹预测的长短时记忆网络来预测高速公路上的汽车轨迹。以上方法能合理显示与预测复杂的交通现象,但是参数过多导致行车计算耗时长,无法满足自动行驶在实际应用中对实时性的要求。其次,用卷积网络提取数据可能会出现数据损失的情况从而影响预测精度。最后,跟驰下的行为预测不能忽略车辆间的耦合关系,需要基于本车视角实时探测前车的与本车间的相对信息。因此本文以本车作为数据采集载体,通过基于神经网络的方法处理行为特征量,并在行车过程中持续预测前车状态以提前应对行车风险。
针对视觉传感器无法准确描述行驶行为信息的问题,本文提出基于机器视觉与时间序列数据的车辆行驶行为预测模型(Vehicle Driving Behaviour Prediction Model Based on Machine Vision and Time Series Data,简称VDBP)。该模型融合图像处理与时间序列数据思想,以速度、相对距离等参数信息体现行驶车辆的行驶状态,并通过深度学习算法对输出的数据信息源进行数学拟合,根据变化趋势预测行驶车辆的未来行驶行为。VDBP模型的创新工作如下:1) 将视觉技术引入自动驾驶跟驰应用中,一体化目标检测、数据处理、行驶行为规律探索三个维度,以此实现自驾车辆行为预测闭环。2) 为解决持续检测造成的数据冗余与计算速度低下的问题,本文提出轻量级YOLO-SA目标检测算法,在特征提取网络中利用深度可分离卷积替换标准卷积,并添加改进后的注意力机制,规避降维的同时使网络赋予感兴趣特征更高的权重;3) 针对现有预测算法处理自动驾驶车辆不断迭代行为参数时易出现数据丢失的情况,本文将行为预测当作序列生成任务,从正反两方向学习时间序列下过去与未来的双向行为参数,获取更为精确的跟驰行为数据预测变化趋势。
3. VDBP模型结构
车辆跟驰任务首先实现对单行车道中引导车辆的检测定位,其次需要计算该车辆的位置和速度信息,最后以自学习的方式对相关参数信息进行后续纵向行驶行为预测,辅助车辆实时调整自身跟驰行驶状态。因此需要三个模块分别实现。VDBP模型结合环境感知与数据预测,将二维图像信息转换为时序数据信息,为跟驰下前导车辆的行为作出预测辅助自驾车辆后续驾驶决策规划。该模型由三个采用层进式的模块组成:前导车辆视觉检测模块(Leading Vehicle Vision Inspection Block,简称LVVIB)、参数计算模块(Behavior Information Processing Block, IPB)和行为预测模块(Behavioral Prediction Block, BPB),总体结构如图1所示。车载摄像头采集该车跟驰工况下引导车图像,在LVVIB模块中轻量化卷积网络,并引入本文改进的注意力机制,确定得到最终引导车目标矩形区域,IPB模块计算检测到的引导车目标与本跟驰车的行为参数,生成二维参数行为特征量,最后BPB模块通过PVBP (Pioneering vehicle behavior prediction algorithm,简称PVBP算法)模型学习车辆在时序下两个参数的变化,挖掘轨迹数据的深层信息。
通过基于机器视觉下目标感知、数据处理、行为预测的自驾车辆跟驰应用闭环方案,在感知层面上可以平衡跟驰工况中对前导车检测的精度与实时性,相较基准检测模型更关注行车环境出现的多车辆遮挡重叠等非线性条件因素,除此之外基于车辆本身特性探究单车道上跟驰车辆间的行驶行为,辅助自动驾驶车辆提前做出加减速、制动等行车策略,确保行驶安全性与舒适性,提前应对碰撞风险。
3.1. 前导车辆视觉检测模块LVVIB
引导车检测是自动行驶车辆跟驰模型研究的关键技术,其检测结果的时空轨迹数据作为跟驰模型的输入变量。由于道路环境的复杂性和传感器的限制,现有算法仍有改进优化之处。由于自驾车辆在中交通流密度相对较大的行驶环境中需要持续性动态定位引导车辆,初步识别和定位待测目标车辆就需具有较高准确性与实时检测能力。因此本文在YOLOv3 [9] 的基础上提出一种改进的轻量级检测网络YOLO-SA进行实时目标检测,利用深度可分离卷积大幅度降低计算量,并引入优化后的通道注意力机制一自适应调整特征权值提升通道与通道间特征相关性,保证检测的鲁棒性。
YOLO-SA网络在YOLOv3模型基础上进行优化,具体工作在于:1) 通过深度可分离卷积轻量化特征提取网络结构,大幅度减少参数;2) 引入改进的注意力机制ECSKNet,降低交通背景对车辆检测的干扰,优化模型检测精度。
3.1.1. 轻量化特征提取网络结构
YOLOv3采用多尺度预测结构,在某些卷积层之后进行下采样,然后以上采样和张量拼接的方式产生三种不同尺寸大小的特征图,最终融合多尺度特征的空间信息和语义信息。YOLOv3特征提取网络DarkNet-53结构复杂,以堆叠残差单元的方式提取特征,导致有大量权重参数,提取速度效果不佳。为了满足自驾车辆在交通流密集的行车条件下持续性检测前导车辆,并在有限行车计算资源的条件下提高模型处理速度,本文常规卷积替代为深度可分离卷积大大减少参数数量。
深度卷积和标准点卷积组成普通卷积,如图2所示。

Figure 2. Depthwise separable convolution structure
图2. 深度可分离卷积分解图示
利用深度可分离卷积与使用普通卷积的参数量比值如式(1)所示:
(1)
其中
输入特征矩阵的宽高,
指卷积核尺寸,M、N分别为输入输出特征矩阵的通道数。若采用2 × 2的卷积核即
,通过深度可分离卷积可将参数量缩减为原来的四分之一,而输出图像尺寸未发生变化,效果十分显著。

Figure 3. The basic residual unit ECSK-Residual
图3. 基本残差单元ECSK-Residual
除此之外,在残差单元最后添加线性激活函数ReLU6,减轻输出通道数较少时的信息耗损。最终组成提取网络的基本残差单元ECSK-Residual设计结构如图3所示,t表示升维倍数。
其中a为步长为1时,若输入矩阵通道数等于输出矩阵通道数,则做shortcut分支直接将输入与输出卷积做加法融合,最后添加改进后的注意力机制ECSKNet (于3.1.2详述)。b为步长为2时,首先输入特征通过1 × 1点卷积与ReLU6激活函数对特征进行升维,其次利用3 × 3深度卷积层提取特征,然后通过点卷积进行降维,最后还是经过一个注意力机制单元加强特征提取效果,低维信息特征通过该方法可有效表征。
3.1.2. 添加改进的通道注意力机制ECSKNet
轻量化改造通过减少参数量使得计算速度有明显提升,但参数数量的缩减也意味着特征表征能力会相对下降。因此在残差单元最后一个点卷积后添加改进的注意力机制模块ECSKNet构成ECSK-Residual。通过在输出不同尺度特征图的三个分支后各添加该基本单元,赋予通道特征权重系数体现各个通道特征图与重要特征的相关性,突出重要特征。
ECSKNet在通道注意力SKNet [10] 的基础上进行优化,减少全连接操作涉及降维对通道信息造成的损耗,如图4所示。ECSKNet在Fuse阶段融合不同尺度与路径的语义信息,构成特征图U后对每个通道进行全局平均池化操作,压缩成一维目标车辆特征S统计各通道特征信息,如式(2)、(3)所示:
(2)
(3)
其中,
表示S的第c个通道,
表示U的第c个通道,
为全局平均池化。之后通过大小为k的一维卷积处理输出维度为
的特征Y。k随着通道维数C动态调整,代表该通道交互信息的覆盖范围,捕获每个通道与其相邻k个通道实现局部跨通道交互。映射关系
如式(4)所示,其中,
代表参数取最近的奇数。
(4)

Figure 4. Advanced attention mechanism structure
图4. 改进的注意力机制模块结构
ECSKNet注意力模块无需降维即可以极轻量的方式获取跨通道交互信息,显式地建模通道之间的关系以此来强化特征学习,使网络在降低计算复杂度和优化模型性能之间达到平衡。最终优化后的目标检测网络YOLO-SA结构如图5所示。

Figure 5. YOLO-SA network structure
图5. YOLO-SA网络结构
3.2. 参数计算模块IPB
为满足自动驾驶车辆持续关注前方引导车行为状态,需要基于目标定位区域有效提取行为信息。而对于交通流较密集的跟驰场景中,更需要实时利用当前行为信息作为预测下一时刻行为信息的数据来源。因此本文利用LVVIB模块生成的目标区域,计算出前车距离与两车相对速度并共同组成二维行为特征需求P(Z,T),用于表示前车的相对信息。
3.2.1. 前车距自车距离Z
单目测距可以理解为将现实三维世界投射到图像二维平面中,可采用小孔成像模型进行描述此类投影,如图6所示。
其中f为单目相机焦距,(x,y)为目标车辆在二维图像中的像素坐标,H为相机高度,h为目标像素点到水平线的垂直距离,Z为至目标的水平距离,
为相机的俯仰角。根据图6与相似三角形原理,可得出前车距自车的距离Z,如式(5)~(7)所示:
(5)
(6)
(7)
3.2.2. 相对速度V
设摄像机以一定帧速采集行车视频图像,采集周期为T。从第p帧到第q帧历经一段行驶时间,该行驶间隔
如式(8)所示:
(8)
N帧内引导车在世界坐标系中映射的坐标分别为
,利用帧差法可计算得到两车相对行驶距离
如式(9)所示,式中
为两车初始位置距离。
(9)
结合式(8)、(9)计算可得跟驰自动车与引导车间之间的相对运动速度V,如式(10)所示:
(10)
3.3. 行为预测模块BPB
为确保行车安全与舒适,实时预测前导车行为可辅助自动驾驶车辆第一时间采取相应驾驶决策,避免突然刹车与碰撞情况的发生,减轻对交通流的负面影响。因此本模块提出一种适用于交通流密集情况下的跟驰前导车辆行为预测算法PVBP从正反两个方向提取并学习IBP模块所输出时间序列下引导车的行为参数,拟合预测值与真实值,获取更为精确的跟驰行为数据预测变化趋势。
GRU [11] 改善了RNN梯度消失导致的短时记忆问题,且GRU拥有更少参数不易产生过拟合,保持预测效果的同时收敛性与训练效率更优,在短时交通流预测方面广泛适用。因此,PVBP算法以GRU神经网络作为基础预测网络,并在此基础上进行优化,如图7所示。PVBP算法核心思想为:搭建两层双向预测模型,且选取鲁棒性更高的激活函数,将未来与过去的背景信息进行有效融合,而非依赖正向时间序列或逆向时间序列导致数据缺失。通过该双层双向的PVBP算法训练顺序与逆序两类二维行为参数序列P(Z,T)可进一步分析时序下行为参数间的相关性,减少循环神经网络伴随的遗忘性与梯度消失等问题,具体工作流程如下:
Step1:构建基础GRU神经网络。鉴于传统GRU模型采用的隐状态激活函数存在软饱和性会导致梯度消失,故采用ReLU线性非饱和激活函数将其替代,极大提高梯度下降的收敛速度。在计算完更新门
和重置门
后,利用
重置前的隐藏层数据
输出得到候选隐藏层
,引入ReLU激活函数后数据基础传输过程如式(11)~(14)所示:
(11)
(12)
(13)
(14)
式中,
、
为GRU权值矩阵,
为矩阵的哈达马积,
为当前时刻输入,
为上一时刻输出,
、
分别为更新门和重置门,[ ]为矩阵相连。
Step2:考虑到预测跟驰车辆行驶行为的相关参数与时间具有一定关联性,即这一时刻的速度与相对距离不仅与当前行驶状态有关,还与上一时刻相应参数有紧密关系。为防止预测过分依赖单向数据流导致的数据遗忘问题,更好提取过去与未来双重背景信息提高预测精度,本文利用Step1中构建的基础神经网络对正序二维行为参数序列P(Z,T)进行正反两个方向训练。
正向输出
表示按时序从前往后预测未来数据,反向输出
表示按时序从后往前预测过去数据,在每一个时刻点t内对二者进行融合得到结果
,如式(15)~(17)所示,其中c为比例系数。
(15)
(16)
(17)
Step3:搭建第二层双向预测网络,同时重复Step2的方法对逆序序列
进行正反方向的训练,得出
。
Step4:将正序逆序二维行为参数序列的输出结果
与
进行融合,如式(18)所示:
(18)

Figure 7. The process of pioneering vehicle behavior prediction algorithm
图7. PVVP算法工作流程
4. 实验结果与分析
4.1. 数据集及训练细节
本文模型采用PyTorch框架搭建,操作系统为Ubuntu18.04,GPU为NVIDI RTX 2080Ti (显存11 GB)。首先为验证YOLO-SA检测网络的有效性,本文选择公开数据集KITTI [12] -Object进行模型训练。该数据集由7481个训练图像和7518个测试图像组成,所有图像均为彩色并保存为png格式,保留数据集中所标注的Car,Van,Truck、Tram四种车辆相关类别,并且对原始分辨率为1242 × 375的图像做基本数据增强预处理。训练时采用Adam优化器,设置学习率为0.001,且使用学习率衰减,衰减系数为0.1,训练时批处理大小设置为32,总共迭代1000个Epoch。
为验证跟驰工况下,行为预测算法PVBP能持续处理前导车感知信息与预测其行驶行为,本文选择KITTI-Tracking数据集进行模型训练。该数据集由21个训练序列和29个测试序列组成。由于序列的特殊性,随机选择一个训练序列,并将连续帧合成10 fps视频序列。对每一帧完成YOLO-SA检测后采用SORT跟踪算法 [12] 持续跟踪前车轨迹,对当前视频帧进行目标检测获取检测框,从而计算得出行为参数数据集,对其进行归一化,即线性映射到区间[0,1],并以8:2的比例划分训练数据集与测试数据集。将时长为140 s的数据输入模型进行预测评估,预测往后5秒的行驶行为参数,通过迭代训练调整参数以达到预测模型较高性能。训练时采用Adam优化器,不断优化调试最终确定超参数,batch_size设为32,隐含层神经元数为768,初始学习率设为0.002。不断增加迭代次数,学习率也会随着变化,迭代10个epoch后,最终学习率为0.00005。
4.2. 评价指标
检测实验以精度(Precision)、召回率(Recall)作为算法性能定量评价指标。精度所有检测出的目标中检测正确的概率,亦称查准率,召回率是指所有的正样本中正确识别的概率,亦称查准率,公式如式(19)、(20)所示,得出指标数值越高代表模型效果越好。
(19)
(20)
其中
为预测正确的车辆数量,
为所有的预测为正样本的数据,即生成的预测框总数,
为实际车辆总数。
(21)
预测实验中将采用均方根误差RMSE (Root Mean Square Error)、平均绝对百分比误差MAPE (Mean Absolute Percentage Error)作为性能指标评估算法。RMSE值反映真实值与预测值的误差程度,如式(21)所示,该值越小,偏差越小,预测更为精准。
MAPE以百分比形式反映真实值与预测值的误差绝对值的平均值,如式(22)所示,可以用来对比不同算法预测相同数据时的预测差异性,该值越小则说明预测值偏离真实值的程度越小,预测效果越好。其中,N代表预测实验样本量,
代表每个行为参数真实值,
代表对应预测值。
(22)
4.3. 前导车辆视觉检测实验结果与分析
图8可视化展示本文算法在KITTI数据集上的检测效果。图8(a)选取出现大量重叠覆盖时的车辆行驶环境,图8(b)选取存在远距离小目标的车辆行驶环境,且受光线影响多数车辆隐于阴影背景之下,车辆外观线条并不清晰。而YOLO-SA较为准确地框定了车辆具体位置,关注到频繁遮挡的车辆、感知范围内远距离的小目标车辆,因此检测效果较为理想。这是因为YOLO-SA网络添加改进后的注意力机制,使得在有限的计算资源中更加关注重要信息而非无关信息,避免行车过程中帧与帧之间频繁切换车辆ID、以及车辆覆盖等造成漏检问题,在持续感知前车的过程中由不错的稳定性。
为验证YOLO-SA网络模型对于检测效能的提升,本文以YOLOv3作为基准模型,在此基础上加入SKNet、本文改进后的ECSKNet以及深度可分离卷积,通过比较精度、召回率、平均每帧耗时对该网络进行消融实验,对比结果如表1所示。

Figure 8. Detection results of vehicle object by YOLO-SA
图8. YOLO-SA目标车辆检测结果

Table 1. Comparison of algorithm performance
表1. 算法性能对比
由表1可知,在YOLOv3中引入改进后的注意力机制ECSKNet,相比基准模型YOLOv3与仅适用SKNet注意力机制,在精测精度与召回率上有一定的优化,分别提升8.53%与6.99%、2.56%与0.45%。且通过一维卷积处理以代替全连接的操作在耗时上也有一定缩减。除此之外考虑到实际行车场景,通过引入深度可分离卷积轻量化特征提取网络可以降低耗时与参数量,相比基准YOLOv3平均每帧耗时缩减6.59 ms。综合分析得出本文提出的YOLO-SA在检测准确性与实时性上均有不错的表现,更适宜车辆实时持续检测。
4.4. 行为预测实验结果与分析
图9展示了本文提出的PVBP算法的预测走势,可以看出预测值与真实值误差较小,预测精度理想,这是因为该算法在预测部分考虑将过去与未来双重信息进行融合,数据复用提升预测精度,并且通过引入ReLU激活函数来缓解原先模型易出现梯度消失的问题。
在预测部分选取采用tanh激活函数的传统GRU基准模型、采用ReLU的GRU模型与本文提出PVBP算法进行性能对比。表2列举了三种算法在RMSE、MAPE与训练时间上的不同表现。可以看出,由于模型结构的增加,训练时长高于传统GRU模型,但在RMSE与MAPE指标上都有不错的表现,皆小于其他两种算法。由定义可知,本文提出的PVBP算法预测走势与真实值之间的误差最小。

Figure 9. PVBP algorithm model prediction results grape
图9. PVBP算法模型预测结果图

Table 2. Comparison of model prediction performance
表2. 预测性能对比
5. 结论
本文提出的行驶行为预测模型VDBP,实现对自动行驶车辆在跟驰工况中的行驶行为预测,辅助车辆实时调整自身驾驶策略。首先通过构建轻量级的提取网络模型,并且引入优化后的注意力机制突出重要信息对网络的提取表达能力,实时准确地对引导车辆进行定位与测距。其次采用帧差法计算行驶行为参数。最后通过PVBP算法预测模型学习车辆在时序下两个参数的变化,挖掘轨迹数据的深层信息。实验结果表明,本文提出的检测网络在精度与计算开销上优于基本检测网络,且能更精确预测对引导车距离、速度,有助于拓宽自动行驶运行策略,具有一定实用价值。
由于实验条件限制,今后将进一步结合安全预警机制,通过预测出的行驶行为趋势为跟驰车辆行驶过程中出现的危险情况做提前预警,实现该技术的应用落地。