甘耀东,郑 玲,张志达,李以农
(重庆大学,机械传动国家重点实验室,重庆 400044)
随着汽车保有量的增加和交通环境的日益复杂,汽车带来的交通安全事故日益增多,亟待通过驾驶辅助系统和高级自动驾驶技术等手段,降低交通事故的发生率,提高汽车行驶的安全性和效率。环境感知技术是自动驾驶汽车的关键技术,它通过车载传感器获取车辆周边的环境信息,为自动驾驶汽车的决策和控制提供依据[1-2]。
视觉传感器采集数据信息量丰富、易于目标识别分类且成本较低,广泛应用于前方车辆检测[3]。传统的车辆检测大多利用车辆特征进行识别,如文献[4]中利用车辆底部阴影特征生成车辆假设,并使用Adaboost验证车辆假设;文献[5]中利用HOG方向梯度直方图特征,结合LSVM训练车辆识别分类器,对多视角的车辆有较高的识别率。传统的视觉检测本质上利用人工选择的特征进行识别分类,该方法适合于某一类特定场景下的目标识别,其数据规模不大,泛化能力较差,较难在复杂应用场景中达到快速准确检测的效果。近年来,深度学习技术因其可以自动学习目标的有效特征,无须人工提取特征即能保证良好的检测效果,受到研究人员的广泛关注[6]。基于深度学习的目标检测算法主要分为两类:(1)以R⁃CNN系列[7-9]为代表的基于分类的目标检测框架;(2)以SSD[10-11]和YOLO系列[12-14]为代表的基于回归的目标检测框架。其中,基于分类的检测算法须生成待检测目标的候选区域,并对这些候选区域进行分类与位置校准。该类方法检测精度较高,但实时性较差。基于回归的检测算法则直接在特征图中进行目标的识别与定位。该类方法在保证较高检测精度的同时具有较快的检测速度。基于视觉的目标检测算法易受光照和雨雪等天气的影响,检测精度大幅降低,且无法获取目标的运动信息。
毫米波雷达具有抗环境干扰能力强、探测距离远、能获取目标运动信息和成本低等优点,是目前汽车高级辅助驾驶系统的主流传感器,得到国内外学者广泛关注[15]。文献[16]中针对雷达弯道目标跟踪准确性较低的问题,采用曼哈顿距离聚类和最邻近数据关联算法,减少了数据关联计算并提高跟踪准确性。文献[17]中通过两级级联逻辑进行航迹的起始,解决了雷达存在的杂波和不确定量测情况下的目标滤波问题。虽然基于毫米波雷达的检测跟踪算法在智能驾驶领域取得了一定的成果,但毫米波雷达无法获取目标的几何信息与类别信息,另外,雷达检测中还存在虚假目标。
针对单一传感器自身功能的局限性,基于多传感器信息融合的车辆检测方法能充分融合不同传感器的优势。文献[18]和文献[19]中采用毫米波雷达与视觉信息融合的方法检测前方车辆,其中,文献[18]中提出一种基于层次聚类的雷达杂波剔除方法,并采用KCF[20]-EKF[21]组合滤波算法对前方车辆进行检测跟踪,有效降低了车辆检测的漏检率。文献[19]中基于视觉图像提取Haar⁃like特征,利用Adaboost算法检测车辆并生成感兴趣区域(region of interest,ROI),通过与雷达投影到视觉图像产生的ROI计算重合率,完成雷达与视觉信息的融合,降低检测时间。但是,上述视觉算法中采用传统的机器视觉检测方法,检测精度受人工提取特征的影响,进而影响后续融合算法的检测效果。另外,上述雷达跟踪算法中未考虑噪声的先验统计特性和外部环境的动态变化,易造成滤波精度下降进而导致跟踪算法失效。
为解决上述问题,做出以下改进:针对雷达跟踪稳定性问题,利用毫米波雷达的观测数据,实时估计和修正滤波器噪声统计特性,提出一种自适应EKF(adaptive extended Kalman filtering,AEKF)算法,用于提高目标跟踪的精度;针对传统视觉检测精度较低的问题,采用SSD+MobileNetV2相结合的深度学习网络进行前方车辆目标检测。最后,结合毫米波雷达与深度视觉检测信息,提出了决策级融合算法,用于提升前方车辆检测的准确性和实时性。
选用Delphi公司的ESR毫米波雷达进行车辆目标检测与跟踪,该雷达的工作频率为20 Hz。其中,每帧返回64个通道的数据,每个通道的数据信息包括前方目标的相对距离、相对速度、相对加速度、相对角度和反射率等。考虑到后续决策与路径规划中需要识别的道路车辆目标主要为同车道前方车辆和左右两侧邻近车道的同向车辆,以及高速道路上车辆运动速度信息等,分别设置横向距离阈值与速度阈值:
式中:y为本车与前方车辆的横向距离;Y0为车道横向有效车辆范围阈值;v1为前方车辆与本车辆相对速度。根据我国道路技术规范,行车道的标准宽度为3.75 m。经过大量实验数据验证,可以选取Y0=4.8 m。
为滤除毫米波雷达中的非连续数据,使用前后帧关联方法,其判断准则为
式中:Xt=[d tx,d ty,vt]T表示t时刻每个通道测量前方目标的横向距离、纵向距离和相对速度;Xi=[dix,d iy,vi]T表示i时刻每个通道测量前方目标的横向距离、纵向距离和相对速度。
选取道路实测数据、毫米波雷达原始数据和滤波后数据对比如图1所示。其中,蓝色像素点表示杂波干扰信息,红色像素点表示经过阈值筛选与前后帧关联方法提取得到的目标点。可以看出该方法能够有效滤除前方杂波干扰信息。
图1 雷达数据滤波效果对比图
基于EKF算法的毫米波雷达跟踪通过求解Jacobian矩阵对系统1阶线性化,可用于非线性估计。然而,EKF在未知噪声的先验统计特性和外部环境的动态变化的情况下,易出现滤波精度下降甚至发散的问题,这些不确定性因素最终会导致EKF算法失效。针对此问题,本文中提出一种AEKF算法,在滤波的同时利用毫米波雷达观测数据带来的信息,不断在线估计和修正滤波器噪声统计特性,以提高滤波精度,得到估计状态的最优值。
同时,在目标追踪运动模型中,恒定速度与恒定加速度模型假定目标为直线运动,并不适合复杂环境下的车辆追踪。考虑车辆在转弯等复杂路况环境下的运动特征,采用恒定转弯率和速度(constant turn rate and velocity,CTRV)模型进行追踪。
所提出的AEKF算法主要包括状态预测、状态更新和协方差矫正,具体实现过程如下。
步骤1:状态预测
步骤2:状态更新
步骤3:协方差矫正
k时刻新息d k定义为滤波器实际观测值Z k和预测观测值之差。假设d k具有各态历经性,则根据开窗估计法可得到新息的实时估计方差为
式中W为滑动数据窗口长度。k时刻残差r k定义为滤波器实际观测值Z k和估计观测值之差,即
残差方差为
卡尔曼增益为
式(13)两边同时左乘H k,并代入式(10)可得
式(14)两边同时右乘R k可得
将其代入式(12)得R k的估计值为
同理,利用新息可以求得状态噪声方差Q的在线估计值:
为保持方差Q的半正定性,只提取Q k-1主对角线上的元素值。结合CTRV模型,设置跟踪目标的状态量为
式中:θ为偏航角,是跟踪目标车辆在当前车辆坐标系下与x轴的夹角;w为偏航角速度。考虑到实际运动中目标车辆存在直线加速度和偏航角加速度噪声,最终CTRV的状态转移函数为
式中:μa为随机纵向加速度;μω为随机偏航角加速度。
由于状态转移函数与观测函数都为非线性函数,故使用1阶泰勒展开近似线性化得到状态转移函数与观测函数的雅克比矩阵F和H。将毫米波雷达检测结果进行AEKF跟踪,并将跟踪结果通过投影方程投影到视觉图像中。
通过阈值筛选与前后帧数据关联提取出前方目标车辆信息后,须将毫米波雷达识别结果通过空间与时间坐标系进行转换进而映射到视觉图像中,以便之后与机器视觉检测信息进行融合[22]。具体步骤如下。
(1)空间坐标系转换
根据相机坐标系与世界坐标系、毫米波雷达坐标系与世界坐标系、相机坐标系与图像物理坐标系、图像像素坐标系与图像物理坐标系之间相互的转换关系可得到世界坐标系到图像像素坐标系之间的转换关系为
式中:R为旋转矩阵,由相机的俯仰角和偏航角决定;T为平移向量,是相机坐标系原点在世界坐标系[X YZ]方向上的坐标;f为相机焦距;d x、d y为像素坐标系下每个单位像素对应物理坐标系下距离的大小;[XW YW ZW]为雷达监测点在世界坐标系中的坐标;[u,v]为雷达检测点在图像坐标系中的坐标;Zc为雷达监测点在相机坐标系中的Z轴坐标。
(2)时间坐标系对准
毫米波雷达与摄像机数据完成空间坐标系的转换之后,还须进行时间信息上的匹配。本实验中采用的毫米波雷达采样频率为20帧/s,摄像机的采样频率为30帧/s,毫米波雷达每间隔2帧选取1次数据、摄像机每间隔3帧选取1次数据,完成雷达与相机时间上的对准。雷达与视觉坐标系对准规则如图2所示。
图2 雷达与视觉时间同步示意图
通过空间坐标系与时间坐标系的转换得到毫米波雷达跟踪检测结果在视觉图像上的投影,如图3所示。其中,红色部分为雷达检测跟踪结果,range为前车与实验车相对距离,speed为前车与实验车的相对速度。
图3 雷达目标投影ROI区域
采用检测精度与检测速度都有较好表现的SSD(single shot multibox detector)神经网络算法作为视觉检测算法。SSD算法直接在卷积网络层进行检测,其检测速度比基于分类检测的two⁃stage方法大大提高;同时SSD算法通过提取不同尺度的特征图,更好地适应不同尺寸物体的检测。SSD算法网络结构如图4所示。
图4 SSD检测算法网络结构图
为解决SSD算法中参数过多、训练难度较大的问题,采用轻量级神经网络模型MobileNetV2替换原始SSD算法中的VGG模型[23]。MobileNetV2网络结构通过深度可分离卷积与逆残差的方法,大大减少网络参数的同时保证较好的检测精度。
截取滴滴车载视频帧,并手动标注车辆数据集训练卷积神经网络[24]。其中手动标注车辆数据集过程如图5所示。选取6 000张标注数据集进行神经网络训练,另选取2 000张数据集进行检测。设置训练的最大迭代次数为120k次,训练过程中实时记录损失函数值的变化,直到损失函数值稳定不变时结束训练。损失函数值变化如图6所示。
图5 手动标注数据集示例图
图6 滴滴数据集训练损失函数值变化图
训练结束后对2 000张待检测图片进行平均准确率(average precision,AP)的计算,所得AP值为0.792。为进一步测试神经网络检测算法的准确率,在天气晴朗、光线良好的条件下采集4段城市道路视频,并以每隔10帧的方式随机抽取视频图像数据输入至神经网络进行检测。其中,视频帧大小为1920像素×1080像素。表1为神经网络算法基于采集视频的检测结果,图7为神经网络算法检测结果图。其中,车辆总数为抽取到所有帧视频图像中车辆数目的总和,正确检测数目为算法检测出车辆的总和,漏检数目为算法未检测到车辆的总和。可以看出,基于所提出的SSD+MobileNetV2神经网络检测方法进行车辆识别的平均准确率为84.3%,平均漏检率为3.1%,实时检测帧率为24帧/s。结果表明,基于手动标注滴滴数据集训练的SSD+MobileNet V2神经网络算法能快速准确地识别前方车辆。
图7 神经网络算法检测结果
表1 神经网络算法检测结果统计
在完成雷达AEKF跟踪和深度学习算法的训练后,须对毫米波雷达与深度视觉检测跟踪结果进行融合。提出决策级融合策略,具体流程如图8所示。首先,将毫米波雷达原始数据进行阈值筛选与前后帧关联,得到目标特征信息之后进行时间坐标系与空间坐标系的转换和对准,基于AEKF算法将跟踪检测结果投影至视觉图像;其次,标注车载数据集进行SSD+MobileNetV2神经网络训练,完成深度视觉目标检测;最后,将雷达与深度视觉检测跟踪结果进行融合。
图8 融合框架逻辑图
对两种传感器得到的检测框计算交并比(IOU)以便进行决策级判断。IOU计算公式为
式中:SV为深度视觉检测矩形框面积;SR为毫米波雷达检测跟踪矩形框面积。当IOU∈[0.5,1],输出视觉检测类别与位置信息;当IOU∈(0,0.5),输出视觉检测类别与毫米波雷达检测的目标位置和状态信息;当IOU=0时,针对SV≠0,SR=0和SV≠0,SR≠0的情况均不输出检测结果,当SV=0,SR≠0时仅输出雷达检测目标位置与状态信息,直至IOU≠0。
基于上述毫米波雷达与视觉信息融合规则,对于不同情况下的车辆状态均能对其位置信息进行融合且获得较为准确的前方车辆位置状态输出。
主要对日间结构化高速和快速道路环境下的车辆检测进行研究。用于验证本文融合算法有效性的实验数据包含复杂道路背景、路面阴影、密集车辆和不同车距车辆等多种道路环境。实验采用的毫米波雷达型号为德国的Delphi ESR,工作频率20 Hz。视觉传感器型号为罗技C920 Pro摄像头,采集分辨率为1920×1080,采集频率为30帧/s。计算机平台的配置为Intel Core i7⁃8700k处理器,NVIDIA RTX 2080 8G显存,满足神经网络训练与检测的要求。算法采用Python语言实现,其中神经网络算法采用pytorch神经网络框架进行搭建。实验融合检测结果如图9所示。其中,绿色框为毫米波雷达跟踪检测框,红色框为神经网络算法检测框。本文算法检测统计如表2所示,文献[18]方法检测结果如表3所示,不同检测算法检测速度对比结果如表4所示。
图9 算法检测结果
表2 本文方法检测结果统计
表3 文献[18]方法检测结果统计
表4 不同检测算法检测速度对比
为验证所提出的基于AEKF算法跟踪与深度视觉信息融合算法的稳定性与准确性,与文献[18]中的算法进行对比分析。对比表2与表3可见,基于相同视频序列的检测结果,本文提出的毫米波雷达AEKF检测跟踪算法与深度视觉算法对前方车辆检测精度与漏检情况皆优于文献[18]中的传统检测方法,进而提升了两种传感器信息融合检测的精度。文献[18]中采用EKF算法对毫米波雷达目标进行跟踪,并未考虑噪声先验统计特性和外部环境动态变化对滤波精度的影响。此外,其采用传统的基于HOG特征的SVM分类器对车辆进行检测,泛化能力较差,较难在复杂应用场景中达到快速准确检测的效果。本文改进方法采用AEKF算法对毫米波雷达进行跟踪,检测准确率达93.2%,有效降低了雷达漏检、误检对目标检测的影响。采用SSD+MobileNetV2神经网络算法提升了检测准确率,针对实车道路场景测试能达到22帧/s的检测速度,实现了快速准确检测目标。基于决策级融合策略,降低了光照、阴影等环境对算法的影响,进一步提升了检测精度,减少了漏检与误检情况的发生,提高对目标车辆位置、运动状态和几何参数估计的准确性。
(1)针对融合毫米波雷达与机器视觉的信息检测跟踪算法准确率低和实时性较差的问题,提出一种基于自适应EKF滤波跟踪算法。在未知噪声先验统计特性和外部环境动态变化的情况下,利用毫米波雷达观测数据不断在线估计和修正滤波器噪声统计特性,以提高滤波精度与稳定性。
(2)针对传统机器视觉检测算法精度较低、检测速度较慢的问题,采用SSD+MobileNetV2的神经网络算法进行前方车辆检测,进一步提升融合检测算法的精度与速度。
(3)提出毫米波雷达与深度视觉信息融合框架,为验证融合框架检测跟踪的有效性,进行了不同交通环境场景下的实车实验。在存在光照变化、路面阴影和道路车辆密集的情况下,所提出的算法依然能快速准确地对前方车辆进行检测跟踪。结果表明所提出的检测跟踪算法有效降低了雷达检测跟踪的漏检率,提高了车辆检测精度与速度。
(4)所提出的融合毫米波雷达与深度视觉信息检测跟踪算法可实时检测跟踪前方车辆,具有比传统方法更好的可靠性与稳定性,对提高智能汽车环境感知性能具有重要的意义。