刘志强,王盈盈,倪 捷,刘 恒
(江苏大学 汽车与交通工程学院,江苏 镇江 212013)
汽车的安全问题已经得到全世界的高度关注。目前汽车上一般采用单个传感器(雷达或机器视觉)检测周围障碍物,不能满足车辆前方障碍物检测的可靠性要求和复杂环境条件下的适应性要求,容易产生漏警、误警或冗余报警[1],这样驾驶员就会忽略提醒,等到发生危险时又不能够及时采取措施。
车辆前方障碍物检测需要传感器具有很高的性能。雷达能够很好的感知车辆前方环境的深度,但容易受到其他物体的干扰。机器视觉获取信息量大,对物体的颜色和纹理有较好的解析能力。因此通过运用毫米波雷达与摄像机综合检测并采用信息融合[2]技术,实现信息的优势互补,提高系统的可靠性和稳定性,减少单个传感器可靠性差、有效检测范围小等不足[3]。
利用毫米波雷达检测前方障碍物到自身车辆的距离,并将此距离与行车安全距离进行比较,初选出有效目标物。建立数据融合模型,将获得的前方目标信息传递到摄像机采集图像上,利用OpenCV库函数及其算法对摄像机获取的图像进行处理,包括灰度化、二值化等[4],从而检测障碍物轮廓信息,并且能够识别出障碍物。接着检测障碍物底部阴影的特征,并建立感兴趣区域,从而判断是否为车辆类障碍物。
同时摄像机也获取前方障碍物的行驶速度,与毫米波雷达获取前方障碍物的速度作为信息融合的状态变量X^。通过搭建毫米波雷达与摄像机数据融合模型,将毫米波雷达与摄像机进行信息融合,共同检测前方车辆障碍物。
在车辆行驶过程中,毫米波雷达检测到的可能是目标车辆,也可能是其他虚假干扰物。另外,车辆在运行时产生颠簸和晃动,会使得检测信号突然消失,采集信息也随之产生波动。所以,需要对毫米波雷达测量信息进行处理,从而尽可能准确获取有效目标。
为了能够快速准确获取有效目标,需要设定搜索范围,并对毫米波雷达探测到的目标进行筛选。建立车辆行驶坐标系[5],X轴为自车行驶的方向,Y轴与之垂直。
一般情况下,目标物距离越近就越危险。因此,将毫米波雷达所能获取的距离最小的物体作为可能最危险的目标,即:
式中:X—毫米波雷达获得的自车到障碍物之间的距离;Xmin—毫米波雷达获得障碍物的最小距离。
利用本车与附近障碍物之间的横向距离来判断两者是否处在同一车道内,即:
式中:y0—自车相对于其他障碍物之间横向距离的阈值;y—通过毫米波雷达测得的自车和障碍物之间的横向距离。
根据道路技术规范,国内车道一般宽3.75m,综合考虑y0选择2m。
将毫米波雷达获取的障碍物相关信息传递至摄像机,如图1所示。利用OpenCV库里的函数及相应算法对图像进行灰度化、二值化、边缘提取等一系列处理,可以得到障碍物轮廓信息,识别出障碍物。
图1 摄像机检测到的图像Fig.1 The Image Detected by Camera
在不同环境中,不管车辆是否有大小、形状或颜色上的区别,车辆底部都存在阴影,而且阴影部分的灰度值总比周围路面区域要小。因此只需对障碍物底部的阴影特征进行分析,并建立感兴趣区域,确立车辆目标的存在区域,从而可以识别出是否为车辆障碍物。
车底阴影分割可以通过局部灰度统计的阈值改进算法实现[6],算法如下:
在道路有效区域内,按照从近到远选取六个大小相同的局部区域,如图2所示。并分别对每个局部区域的灰度值进行统计,接着求得各个局部区域的灰度均值μi和方差σi。依据大量实验统计,为了表示路面灰度信息,局部区域σ值不能大于100,因此在处理过程中首先将该局部区域剔除。
图2 局部区域选取Fig.2 Local Areas Selection
根据式(3)计算出N(N≤6)个区域的灰度均值μ和方差σ。
一般情况下,路面灰度f(x,y)的范围为μ-3σ<f(x,y)<μ+3σ。
因为路面灰度值总是比车底阴影灰度值大,可选取路面最小灰度值对车底阴影进行阈值分割,即T=μ-3σ。
以T为阈值对图像二值化处理,结果g(x,y)如下:
将提出的算法作用于图2,结果如图3所示。表1显示的是图2中各局部区域及路面的灰度均值μi和方差σi。
表1 图2中各区域的灰度均值与方差Tab.1 Grayscale Average and Variance of Regions in Fig.2
由表1可以看出,图2中各局部区域的方差均小于100,都满足要求,因此可直接计算分割阈值,计算结果为32。分割后的路面有效区域图像,如图3所示。
图3 阈值分割图像Fig.3 Threshold Segmentation Image
对车底阴影分割后,显示阴影区域。这些阴影区域包括车底阴影,也包括车体本身或外界环境,也就是说阴影区域是可能存在车辆的区域。接下来确认存在车辆障碍物,可在阴影特征区域建立矩形框,称为感兴趣区域(Region of Interest),结果如图4所示。图中可以明显看出:所建立的感兴趣区域为车辆障碍物所在区域,这样就确立了存在车辆目标的区域,从而可以检测出是否为车辆障碍物。
图4 感兴趣区域的建立Fig.4 Establishment of ROI
实现毫米波雷达与摄像机信息融合最重要的内容就是两者的数据融合,也是整个系统获取准确信息的关键。两者进行数据融合包含两个方面:空间融合和时间融合[7]。
建立车辆行驶坐标系物点P(xv,yv,zv)与图像坐标系像点P(u,v)的转换关系,数据融合模型为:
式中:K—摄像机内部参数矩阵;Rc—摄像头外部参数旋转矩阵;Tc—摄像头外部参数平移向量;fx、fy—x和y方向的等效焦距;u0、v0—图像像素中心坐标。其中K的表达式为:
通过上述转换完成空间上的数据融合,毫米波雷达、摄像机、图像像素和车辆行驶四个坐标系能够统一起来,使得系统的计算时间减少、实时性提高。另外综合了摄像机与毫米波雷达各自的优点,增强了系统的鲁棒性,降低了检测的误警率及冗余报警率。
传感器不同,采样频率也就不同,因此采集到的信息很可能不是同一时刻。传感器时间上的数据融合是要让传感器数据能够在时间上同步,可以通过线程同步的方式完成。当摄像机检测每一帧图像的同时获取同一时刻毫米波雷达获取的数据,两者的数据便达到时间同步。
针对毫米波雷达与摄像机不同类以及不同步等问题,完成联合标定工作,实现了两者所获数据的空间标定与时间同步工作。
联合卡尔曼滤波是包含分配过程的数据处理方式。各个卡尔曼滤波器与各自的传感器相对应,即各个子滤波器,它们同时工作,获得各部分最佳估计,最后主滤波器在此基础上综合处理,对滤波结果信息融合,从而获得系统的整体估计[8]。
以前方障碍物的行驶速度作为信息融合的状态变量X^[9],将毫米波雷达与摄像机各自获取的前方障碍物的速度通过联合卡尔曼滤波器实现信息融合,并将融合后的速度与障碍物的真实速度进行比较。
线性定常多传感器系统一般采用离散形式描述,具体如下:
式中:X(k)—在k时刻障碍物的状态向量;Φ(k)—状态转移矩阵;G(k)—噪声驱动矩阵;W(k)—过程噪声,并是具有零均值和正定协方差矩阵的高斯噪声向量。
由于需要毫米波雷达和摄像机这两个传感器,那么就应该有两个子滤波器,每个子滤波器能够单独滤波。第i(i取1,2)个局部滤波器的模型为:
对于车辆前方障碍物检测系统,子滤波器按照观测量对局部进行最佳估计,就是通过卡尔曼滤波器估计局部状态。卡尔曼滤波器包括:时间更新方程和测量更新方程。
式中:X^—无偏最小方差估计;Pi—误差协方差[10]。
选用美国Delphi 76-77GHz的ESR电子扫描毫米波雷达和IFV250智能摄像机。
毫米波雷达和摄像机经过空间上和时间上融合之后结果,如图5所示。空间上,毫米波雷达、摄像机、图像像素及车辆四者的坐标系得到了一致;时间上,毫米波雷达和摄像机两者数据也得到了同步。
图5 数据融合Fig.5 The Data Fusion
在MATLAB中对联合卡尔曼滤波融合算法进行仿真。该系统的状态方程为:
式中:i=1,2;k=1,2,…100。
过程和测量噪声相互独立,且都是零均值高斯噪声,过程噪声方差为1,测量噪声方差为4。假设障碍物以13m/s的速度匀速运动。融合结果,如图6所示。
图6 融合结果Fig.6 The Fusion Result
图6中可以看出,毫米波雷达和摄像机检测到的前方障碍物的行驶速度通过联合卡尔曼滤波算法信息融合之后,融合值更趋近于障碍物的真实速度,而且随着时间而逐渐平稳。
将毫米波雷达与摄像机信息融合,可以很好地实现传感器的优势互补,使融合后的结果更加准确,提高了前方障碍物系统的检测精度,减少了误警和冗余报警现象。(1)将毫米波雷达获取的前方有效目标信息传递给摄像机,对采集到的图像进行处理,获取物体轮廓信息,识别出障碍物,验证雷达目标并确定其具体位置。(2)通过对障碍物底部的阴影特征进行分析,并建立感兴趣区域,能够确立存在车辆目标的区域,从而确切的检测出前方障碍物是否为车辆障碍物。(3)利用数据融合模型解决了毫米波雷达和摄像机坐标统一问题和时间同步问题。在此基础上,通过联合卡尔曼滤波算法对两者进行信息融合,提高了系统的精确度,使得车辆前方障碍物检测系统具有良好的实时性和鲁棒性。