郭 熙,胡广地,杨雪艳
(西南交通大学 机械工程学院,四川 成都 610031)
智能驾驶汽车极大地方便了交通出行,同时可以减少交通事故的发生,是汽车技术的未来发展方向。在智能驾驶汽车行驶过程中,其他车辆是道路场景中最常见也是最容易发生碰撞危险的目标,因此准确的车辆检测对于智能驾驶汽车安全平稳运行具有重要意义。常用于车辆检测的算法根据传感器可以分为基于毫米波雷达的检测算法、基于摄像头的检测算法及毫米波雷达摄像头传感器融合检测算法。文献[4]对目标运动特征和电磁散射特征进行提取,提出了基于多特征融合的毫米波雷达目标检测方法。近年来,深度学习在许多领域取得了令人瞩目的成果,文献[5]提出了一种基于CNN(Convolutional Neural Network,CNN)和AdaBoost结合的雷达检测算法,该算法使用浅层CNN提取特征后将数据输入AdaBoost分类器完成车辆检测,提高了车辆检测的鲁棒性和实时性。毫米波雷达检测算法常用输入特征是距离多普勒(Range-Doppler)图和雷达散射截面(Radar Cross Section,RCS),多普勒图描述目标的距离与速度,RCS表征目标反射雷达波的强度。毫米波雷达检测算法根据车辆的物理特征信息检测车辆,未考虑车辆形状等几何特征。摄像头车辆检测算法分为基于图像特征机器学习的检测方法和基于深度学习的检测方法。常见的图像特征有方向梯度直方图(Histogram of Oriented Gradient,HOG)特征、Haar特征。文献[8]提出了一种基于HOG特征和支持向量机(Support Vector Machine,SVM)的单目摄像机前向车辆检测方法。文献[9]提出了一种基于Haar特征和改进AdaBoost分类器的车辆图像检测算法,该方法在保证检测准确率的前提下解决了AdaBoost算法训练时间长的问题。相比基于图像特征的检测方法,基于深度学习的检测方法不需要人工提取车辆特征。文献[10]针对YOLO网络嵌入式检测实时性差的问题对网络进行了修改,可对车辆进行实时检测。摄像头检测算法基于计算机视觉,根据车辆目标在图像中的梯度、形状等几何信息进行检测,未考虑车辆的物理特征。常用的融合算法首先通过毫米波雷达得到目标大体位置,然后将位置信息映射到图像中,产生较少感兴趣区域(Region of Interest,ROI),最后对ROI进一步检测并准确分类。文献[12]使用毫米波雷达探测潜在车辆目标后得到感兴趣区域,采用对称性检测和主动轮廓检测在感兴趣区域检测车辆。基于传感器融合的检测算法中,毫米波雷达只用于提供ROI输入后续视觉算法,分类任务仅由视觉算法完成,同样存在未考虑车辆物理特征的不足。
检测算法根据获得的特征对目标建模并分类,特征的丰富程度极大影响了检测准确率。上述仅通过物理特征或几何特征检测车辆的方法只在某一角度描述目标,用于检测的特征维度不够丰富,算法对于目标的建模较为片面,导致准确率不高。针对以上问题,本文提出了一种融合雷达与视觉特征的车辆检测方法,从雷达与摄像头2个角度提取车辆特征,综合利用几何特征信息与物理特征信息对目标建模,构建输入为雷达与视觉融合特征的深度神经网络R-V-DenseNet,制作数据集并训练该网络,实现车辆的准确检测。
本算法主要用于对纵向行驶的非静止机动车进行检测。根据《道路交通安全法》规定,汽车最高车速为120 km/h,即33.33 m/s,探测目标速度超过此限制即可认为是非车辆目标,可过滤;行人步行速度最高约为1.8 m/s,探测目标速度小于此限制即可认为是非车辆目标,可过滤。进一步,根据车道宽度范围筛选,选取自车所在车道及相邻车道为横向车道宽度限制并适量放宽,放宽原因如下:
(1)实际行车时车辆不一定位于车道正中间;
(2)适量增大探测范围有助于传感器尽早检测目标。
综合考虑并实地测量后,取横向位置y的范围为-9.1~9.1 m。
真实目标初选后仍有部分持续时间不长,且与机动车目标点位置接近的噪点无法滤除。提取噪点存在的连续4帧图像如图1所示。
图1 噪点图像
图1中,标号18为机动车点,标号86为噪点,参数见表1所列。
表1 噪点及真实点参数
分析表1数据,发现噪点产生的可能原因是车身回波不均匀。此类噪点的横纵向距离、横纵向速度与真实点较为接近,采用上文对距离、速度的筛选方法难以去除,因此该部分噪点应通过神经网络判断、分类后进行过滤。
毫米波雷达输出的目标原始特征有17个,每个特征都会增加计算量,因此需要对特征进行选择,去除对结果影响不大的特征,以提高实时性。初步分析发现,横向加速度特征数值基本不变,对分类任务无帮助,因此去除。进一步分析剩下的16个特征,包括横纵距离、横纵速度、纵向加速度、方位角、RCS、横纵向距离RMS、横纵向速度RMS、横纵向加速度RMS、方位角RMS、目标长宽,统计各特征与目标分类结果的相关系数绝对值,并按照从大到小排列。雷达特征相关系数绝对值见表2所列。
表2 雷达特征相关系数绝对值
分析表2可知,纵向距离、横向加速度RMS的相关系数绝对值相比其他特征小了数个量级,可以考虑去除,分别将16维特征、去掉纵向距离的15维特征、去掉横向加速度RMS的15维特征输入R-V-DenseNet,根据测试集准确率是否明显下降来判断是否去除该特征,结果见表3所列。
分析表3可知,与完整的16维输入相比,去掉纵向距离的15维输入,准确率约下降0.01,因此应保留;去掉横向加速度RMS的15维输入准确率基本不变,证明横向加速度RMS特征对分类任务帮助不大,与横向加速度RMS相关系数绝对值大小情况相符,因此可以去除。
表3 16维特征输入与15维特征输入准确率
综上,最后得到的毫米波雷达特征共15维,包括横纵距离、横纵速度、纵向加速度、方位角、RCS、横纵向距离RMS、横纵向速度RMS、纵向加速度RMS、方位角RMS、目标长宽。
感兴趣区域获取涉及雷达摄像头数据的空间融合及时间融合。
(1)空间融合
空间融合的实质是将毫米波雷达得到的目标横纵坐标信息投影到图片上,摄像头坐标系为媒介。首先将坐标系旋转平移,实现毫米波雷达坐标系到摄像头坐标系的转换,见式(1):
(2)时间融合
毫米波雷达的采样周期约为72 ms,每秒14帧;摄像头的采样周期约为33 ms,每秒30帧。如不进行时间融合处理,随着时间的累积,误差将越来越大,导致毫米波雷达与摄像头检测结果无法对应输出。本文采用的解决方案是选择2个传感器采样周期中较大的1个作为融合后的采样周期,即毫米波雷达按照本身的采样周期正常采样,在每次雷达开始采样一帧时触发摄像头采样一帧,认定这2个数据帧具有对应关系,时间融合方案如图2所示。
图2 时间融合方案
一个雷达数据帧按照时间顺序由0x60A、0x60B、0x60C、0x60D组成。其中,0x60A帧仅表示本周期目标数不包含目标参数信息,且该帧位于一个雷达检测周期的开始,因此将该帧设为标志帧,表示雷达开始一个检测周期。在第N个检测周期,当接收到0x60A帧时会触发摄像头保存此帧图片,将此帧图片同样标号为N,表示此图片为第N个毫米波雷达检测周期对应的摄像头输出,实现毫米波雷达摄像头时间融合。
实现毫米波雷达摄像头数据融合后即可进行感兴趣区域获取,将毫米波雷达点投影到图片。根据相关规定,汽车高宽应小于2 m、2.6 m,以图像上雷达点为中心,将汽车根据投影原理投影到图片上即得到雷达目标框,将雷达目标框按一定比例放大得到该目标的图像感兴趣区域ROI。
HOG特征通过统计图像区域的梯度方向来构成特征,是一种使用边缘方向表征物体形状的特征算子,具有良好的几何不变性。在实际应用中,将图像分割成大小相等的单元格,每一单元格称为一个cell,计算每个cell的梯度方向直方图,并将相邻的cell合并成更大的块,称为block,block在图像上滑动,整合所有block梯度方向直方图即HOG特征。本文使用OpenCV中的HOGDescriptor函数计算HOG特征,设置cell尺寸为(4,4),block尺寸为(8,8),输出梯度的统计信息。在ROI上使用HOGDescriptor函数得到该目标的HOG特征,其为向量,统计该向量中所有元素的标准差、中位数、平均数,即得到视觉特征。
视觉特征同样需要选择,统计视觉特征与目标分类结果的相关系数绝对值,并按照从大到小排列。视觉特征相关系数绝对值见表4所列。
表4 视觉特征相关系数绝对值
分析表4数据,相关系数绝对值都较高,因此全部保留。
上文得到的毫米波雷达特征与视觉特征总计18个,包括15个毫米波雷达特征与3个HOG统计特征,将这18个特征作为输入,构建BP(Back Propagation)神经网络并训练。
BP神经网络通过一定的结构将功能简单的神经元组织起来,按照误差逐层反向传播的方式,将误差分给各层的所有神经元,实现各神经元权重的修正和更新的多层前馈神经网络。对于只有输入层和输出层的神经网络,假设x,x,...,x是输入数据,w,w,...,w为输入层和输出层权值,Y为输出,b为偏置,f(x)为激活函数,则双层神经网络可以表示如下:
本文根据输入特征的数据特点构建BP神经网络并命名为R-V-DenseNet,每一层均由若干非线性处理神经元组成,邻近层之间通过不同的权重矩阵连接,结构如图3所示。
图3 R-V-DenseNet架构
R-V-DenseNet网络由输入层、隐藏层、输出层组成。输入层使用BN(Batch Normalization)层,可以加快梯度下降与模型收敛速度。中间的隐藏层由2个Dense-Block堆叠而成,每一个Dense-Block由全连接层和Dropout顺序连接而成,Dropout层可以缓解数据量过少引起的过拟合,Dense-Block中的全连接层激活函数选择ReLU激活函数。通过堆叠的隐藏层学习参数与标签的对应关系。输出层为全连接层,由于是二分类问题,设置输出层节点数为1,激活函数设置为sigmoid,该激活函数处理非线性问题效果较好,输出为该目标是车辆的概率。
扩展到隐藏层,如式(5):
扩展到输入层,如式(6):
BP神经网络由以上过程实现了误差反向传播,使网络的参数逐渐迭代到最优估计。R-V-DenseNet参数分布见表5所列。
表5 R-V-DenseNet参数分布
R-V-DenseNet共有521个参数,其中485个需要训练,剩余36个无需训练。
采集雷达摄像头数据并预处理后建立融合特征数据集,共采集到12 395条数据,标签0.0代表非车辆目标,有6 523条;标签1.0代表机动车目标,有5 872条。设置80%的数据集为训练集,剩余20%为测试集,同时,训练集中还需设置20%为验证集。训练100代,损失(Loss)变化如图4所示。
图4 R-V-DenseNet损失变化
如图4所示,前20代Loss迅速下降,之后缓慢下降,最终稳定。经过100代训练后,训练集Loss由0.746 5下降到0.076 1并保持稳定,验证集Loss由0.496 6下降到0.053 3并保持稳定,证明R-V-DenseNet训练效果良好。
基于不同图像特征及分类器的车辆检测方法较多,其中最常用的是HOG-SVM方法。将测试集上使用的HOGSVM算法、15维毫米波雷达特征作为输入的R-V-DenseNet、3维HOG统计特征作为输入的R-V-DenseNet及融合特征作为输入的R-V-DenseNet网络进行测试并对比,结果见表6所列。
表6 算法准确率对比
由表6可知,相比HOG-SVM算法,融合特征输入R-VDenseNet准确率有所提高,证明融合特征输入R-V-DenseNet网络分类性能相比SVM分类器更好;相比仅雷达特征输入R-V-DenseNet、仅HOG特征输入R-V-DenseNet,融合特征输入R-V-DenseNet的准确率分别提高了0.016和0.076,证明相比单传感器特征,融合特征描述目标更加全面,检测更准确。统计融合特征输入R-V-DenseNet的混淆矩阵,如图5所示。
图5 R-V-DenseNet混淆矩阵
测试集中真实车辆目标共1 297个,其中有1 285个车辆目标被准确检测出,真实车辆目标检测准确率为0.991;真实非车辆目标共1 498个,其中有1 487个非车辆目标被准确检测出,非真实车辆目标准确率为0.993。本文提出的融合特征输入R-V-DenseNet对于车辆分类较为准确。
本文综合毫米波雷达得到物理特征与摄像头得到的几何特征,融合2个传感器的观测角度以增加特征维度,构建基于融合特征的BP神经网络,实现了一种融合雷达与视觉特征的车辆检测方法。实验证明,该方法相比单传感器特征检测方法准确率更高。
本文算法有以下优化方向:
(1)本文使用毫米波雷达与摄像头提取的特征,后续可以增加激光雷达,目标匹配后提取点云特征进一步丰富目标特征维度;
(2)HOG特征参数量较大,对于车载实时计算系统算力提出挑战,后续可以调整提取HOG特征函数的窗口大小、步长等参数,在检测性能不下降的情况下减少计算量,实现准确率与实时性的统一。