基于激光雷达的道路边界检测的研究
2015-01-04谭宝成
谭宝成,严 征
(西安工业大学 电子信息工程学院,陕西 西安 710021)
道路检测是无人驾驶智能车进行自主导航的一个重要研究内容,它将道路区域与周围环境进行区分,为无人车提供道路的可行区域。在高速公路、市区环境下,特殊的道路边界等已作为一种障碍物成为新的研究内。现有的道路检测方法大部分都基于灰度或彩色图像[1-2],视觉技术信息量比较丰富,可以实现对道路边界的识别。但视觉易受光照条件变化的影响,若环境复杂时,当道路区域存在阴影、裂缝、水迹等干扰因素时,对道路边界的提取将是非常困难的,上述方法将难以得到正确的道路边界检测结果。目前,使用较多的测距传感器,如雷达传感器或激光传感器[3],可以直接给出距离信息,且对环境和气候的变化有较强的适应能力,我们注意到路与非路区域的交界处通常存在的道路边界,例如道路两侧的道沿、生成的杂草、矮墙等,由于激光测距雷达几乎不受外界因素影响,为此本文选用UTM-30LX-EW激光雷达进行道路边界的检测。c恒定,为3*108m/s,可以通过激光在激光雷达和被测目标之间的往返时间来计算被测目标的距离。激光雷达由激光发射器发出的激光束,设激光雷达离被测目标距离为d,激光脉冲往返经过的时间为t,则
1 UTM-30LX-EW激光雷达的成像原理
激光雷达测距基本原理是:由于激光雷达在空气中速度
UTM-30LX-EW 2D激光扫描测距产品拥有测量距离30 m,测量范围 270°,精度 0.1-10 m:±30 mm;10-30 m:±50 mm,角分辨率0.25°,扫描时间25 ms。
与三维激光雷达相比,二维激光测距仪属于单线型激光雷达,按照一般方法安装时只能得到测量环境某个平面上的距离数据,无法直接采集环境的三维信息,但可以通过人工手段来弥补。本文主要测量无人车在行驶过程中车体到道路左侧边界的距离,为无人车在进行左侧超车、避障时,判断左侧是否有足够宽的道路可行区域,所以采用的策略是将二维激光测距仪侧着安装在无人车左侧前车轮上方车架上(如图1所示),这样激光雷达扫描的平面就是垂直于地面的,在激光测距仪固定不能转动的情况下,为了得到道路边界表面轮廓数据,需要无人车在试验中前进的配合,这样无人车在行进过程中不仅可以得到距离道路边界障碍物信息也可以得到道路边界障碍物的高度信息。
图1 激光雷达安装示意图Fig.1 Laser radar installation diagram
本文中,我们将UTM-30LX-EW激光雷达设置为以水平面垂直向下32°为扫描范围,角分辨率0.25°,激光雷达安装高度距离地面390 mm,对于一般道路边界高度大于30 mm小于390 mm的障碍物,都可以准确测得,配合无人车在行进过程中进行道路边界的检测。
2 道路模型
由于无人车行驶的道路情况复杂多变,为了简化处理问题的难度和便于描述算法,本文假设所处理的道路路面满足以下几点要求:
1)道路路面区域基本平坦,道路区域的高度一致性高于道路区域和非道路区域之间的高度一致性。
2)道路区域和非道路区域之间具有一定的高度落差。即道路边界有人造路沿、围墙或者种植的绿色植被等。
3)道路的边界线为直线或规则的曲线。
本文实验所选择的道路场景是城市道路,其道路满足上述道路要求。无人车在正常运动中,近似呈直线分布,图2是一个理想的结构化道路模型,在这个模型中,道路区域即CD表现出典型的呈类直线分布特点,且在无障碍情况下CD段能保持比较稳定的连续宽度,其中线段BC与DE代表道路边界和路沿的高度。
图2 道路模型Fig.2 Road model
在城市道路环境中,路沿、灌木丛良好的几何特性为道路边界和形状提供了重要信息。因此,基于激光雷达检测出来的障碍信息,再进行道路边界的检测较为可行,不会受到阴影的影响。
3 深度数据的边界检测算法
3.1 单帧激光雷达数据的边界检测
图3 激光雷达扫描模型Fig.3 Laser lidar scanning model
如图3所示路面与非路面边界存在高度的跳变信息[4-5],激光雷达安装在固定高度H=390 mm,AB为路沿高度,OA,OB为测量的距离信息,由于激光雷达的扫描范围设定为水平向下32°,扫描精度为 0.25°,扫描周期 25 ms,所以在一个扫面周期32°范围内有128条激光束对边界进行扫描检测,起始步长412,终止步长540(水平方向),可以通过激光雷达测得的障碍物极坐标计算出路沿的高度。
设障碍物高度为h,激光雷达测得的障碍物返回点有n个,B为第i个点,A为第j个点,则h边沿的实时高度为:
h=H-sin[0.25*(540-412- j)],
由于道路边界有明显的高度差,道路可行区域靠近道路边界处可能会存在小石子、小杂草等干扰,这些我们不作为影响无人车正常通行的障碍物考虑,所以我们采取去除h<30 mm的障碍物点,只提取h>30 mm的障碍物点。由于我们需要获得的是无人车在道路行驶的可行区域,故我们只需要知道单帧激光雷达数据中道路边界距离无人车最近的点即可,再对大于30 mm的障碍物返回点信息中进行分析筛选,只保留最近的障碍物返回点信息,这样就去除了非路区域的障碍物信息,如非路区域障碍物C点的信息是我们所不需要的,这样简化了数据量,又满足无人车对边界测量信息的要求,提高了数据的处理速度。
3.2 多单帧激光雷达数据的边界检测
在复杂道路中,边界区域存在其他因素的干扰,而单帧激光雷达所能获取的环境信息很少,因此仅仅依靠单顿激光雷达数据提取道路边界点有时会存在错误。无人车在运动过程中采集数据是一个持续的过程,各帧之间的激光雷达数据在空间和时间上是关联的,利用多帧激光雷达数据之间的关联特性提高道路边界检测的准确性。
文中提出了一种基于激光雷达的距离差与角度差双阈值结合均值滤波的提取算法[6],该检测方法只针对无人车感兴趣的道路边界区域,减少对非道路区域的检测时间,减少数据点的检测,提高了系统实时性,同时对检测出的障碍物点进行均值滤波,再次消除噪声干扰,提高检测准确度。用该算法检测路面时,只要道路边界和路面具有激光激光雷达能探测出的高度差,无论路边是规则的几何形状还是不规则形状,都可分割出道路区域与非道路区域的边界。
3.3 道路边沿的判定
道路边界具有连续性,根据多帧激光雷达数据之间的关联性可对相邻帧间的雷达数据建立约束关系,可以对道路边界点产生指导作用,排除一些不符合要求的道路边界点候选点,从而提高边界检测的准确性。在使用单帧雷达数据检测道路边界点时,记录已检测过的道路边界点信息,基于这些边界点信息对当前时刻的边界点进行约束:
1)相邻边界点之间的距离差不能超过一个距离上限。
2)道路边界线上一段小范围内的3个点之间的斜率基本相同。
假设第 i帧单线激光雷达的边界点坐标为(xi,yi,zi),x 为无人车前进的方向,y障碍物点到无人车的方向,z障碍物点高度方向,为了加快计算速度,直线特征分析在二维空间进行,将三维空间点投影到XOY平面搜索直线。则该点坐标必须满足以下约束:
公式中,a对表示相邻两个点之间的距离阈值,b为角度阈值。
图4 滤波处理示意图Fig.4 Diagram of the filtering process
如图4所示,是无人车行驶过程中激光雷达测得的经过阈值处理后的n个边界数据点,将数据点的距离信息y存放在数组 A()中,则:
将每6个数据点作为一组进行处理,如图5所示,处理后的数据存放在Y(i)中,公式如下:
Y(i)为均值滤波处理后的数据,i从 0到 n-5,由于道路边界在一段距离内一般呈直线,经过滤波处理后的距离数据具有一定线性关系,去除了噪声的影响。
下面是对无人车行驶中所采集的一段时间内边界数据点,本文仅对道路边界距离进行数据处理,说明该检测方法的可行性可靠性。处理结果如图6所示,*点是无人车行驶过程中的激光雷的所测得原始边界点数据,△是经过双阈值处理后的数据,·点代表均值滤波后数据,可已看出经过处理后边界点噪声明显减少了,更加平滑趋于线性。
4 直线道路边界的拟合
图5 数据处理效果Fig.5 Data processing renderings
在基于多顿激光雷达数据相关性分析的基础上,确定出每一顿单线激光雷达数据的道路边界点之后,然后就可以基于该道路边界点数据检测出道路边界的具体位置。本文假设道路的边界为常见的直线模型。本文分别采用基于直线的最小二乘法对直线道路边界进行拟合,以进一步提高道路边界检测的准确率和精度。
直线拟合的应用非常广泛,主要完成对给定的若干个目标点,找出一条能反映这些点分布规律的直线方程。为了简化计算过程,提高道路边界检测的速度,本文仅处理平面的直线拟合,计算出的道路边界点从空间坐标映射到XOY面,即去掉高度信息,然后进行平面直线拟合。
直线拟合基本原理如下:
最小二乘法是一种常用的拟合技术,根据拟合函数模型,通过计算数据的实际值和对应的函数拟合值误差平方,使该误差平方和的值最小化来确定待拟合函数的最合适参数。 假设待拟合的数据点为(xi,yi),i从 1到 n,拟合后的直线模型为Yi=axi+b,其中a、b为任意实数。实际观测值和拟合值之间的误差平方和可以表示如下:
误差函数为:
最小二乘法寻找使公式中的值最小时a、b值作为最佳估计值。当e值最小时,可以用e对a、b求偏导数,令这两个偏导数等于0,各偏导为:
d e/d a=2∑((yi-axi-b)(-xi)=0
d e/d b=-2∑(yi-axi-b)=0
于是得到关于a,b的线性方程组:
(∑xi2)a+(∑xi)b=∑yixi
(∑xi)a+nb=∑yi
设 A=∑xi2,B=∑xi,C=∑yixi,D=∑yi,则方程化为:
Aa+Bb=C
Ba+nb=D
解出 a,b 得:
a=(Cn-BD)/(An-BB)
b=(AD-CB)/(An-BB)
根据阈值滤波处理后的数据拟合后得到a=0.000 2,b=3.173 1。
所以边界点的拟合直线为:
y=-0.000 2*x+3.173 1;如图6所示。
图6 直线拟合示意图Fig.6 Fitting a straight line schematic
5 结 论
文中根据路面与非路面之间的高度差,提出一种基于激光雷达数据的道路边界检测方法。首先针对单帧激光雷达数据,提取出距离无人车的最近道路边界点,然后再对多帧激光雷达数据采取道路边界点距离、角度双阈值约束处理,再进行均值滤波提取边界点,最后进行了边界拟合等几个部分。实验结果表明,该边界检测算法可靠性强,稳定性高,能够准确完成道路边界检测任务,为无人车在道路的正常行驶提供安全保障。
[1]Tan C,Hong T,Chang T.Color model-based real-time learning for road following[C]//Proc of the IEEE Intellingent Transportation Systems Conference.Toronto:IEEE,2006:939-944.
[2] dahlkamp H,Kaehler A,Bradski G. Self-supervised monocular road detection in desert terrain[C]//Proc of the Robotics Science and Systems Conference.Philadelphia:MIT Press,2006:115-121.
[3]李斌.智能车辆前方车辆探测及安全车距控制方法的研究[D].长春:吉林大学,2001.
[4]Lalonde J,Vandapel N,Hebert M.Natural terrain classification using three-dimensional ladar data for ground robot mobility[J].Journal of Field Robotics,2006,23(10):839-861.
[5]Sappa A,Devy M.Fast range image segmentation by an edge detection strategy[C]//Proceedings of the 3rd International Conference on 3D Digital Imaging and Modeling.Quebec:IEEE,2001:292-299.
[6]Peter X Liu,Max Q H.Online data-driven fuzzy clustering with applications to real-time robotic tracking [J].IEEE Transactions on Fuzzy System,2004,12(4):516-523.