段建民 李龙杰 郑凯华
(北京工业大学北京市交通工程重点实验室,北京100124)
基于车载4线激光雷达的前方道路可行驶区域检测*
段建民李龙杰郑凯华
(北京工业大学北京市交通工程重点实验室,北京100124)
【摘要】通过分析大量激光雷达数据,提出了改进的DBSCAN算法对雷达数据进行聚类,以使智能汽车获得前方道路和障碍物信息。根据不同的密度参数,多次调用该算法完成多密度聚类。结合提出的道路边沿、路面和障碍物等信息提取方法,在结构化或半结构化的城市道路中对提出的方法进行实车试验,结果表明该算法可实时准确的提取智能汽车的可行驶区域信息。
智能汽车利用可通行区域信息来保障其在道路区域内安全行驶,防止侧翻和碰撞等危险状况发生。车辆可通行区域的主要信息有边界的位置信息(路沿、路口)和道路内的障碍物信息等。用于环境信息检测的传感器主要有摄像头和激光雷达等。由于摄像头采集数据时受环境影响较大,因此本文研究其中一种受环境因素影响较小的车载传感器——激光雷达。激光雷达具有全天候、远距离、不受光线影响等优点,可以得到汽车前方环境的高精度距离和方位数据构成的深度信息。
目前使用激光雷达提取道路信息的研究成果可参考文献[1]~文献[4],从中可以看出,对雷达扫描数据进行处理的方法主要使用聚类分析,其被广泛运用于数据挖掘技术中,是一种常用的模式识别方法。常用的聚类方法有基于划分的聚类、基于层次聚类、基于密度的聚类、基于网格的聚类、基于神经网络的聚类、基于统计学的聚类和高维可视化数据聚类等。K-均值算法一般实现比较简单,适合用来处理大量数据甚至是高维数据,但是K-均值算法具有需要预先给定K值和对外部噪声敏感等缺点[4]。ISODATA算法在这两个方面作了改进,但是同时也增加了许多限制条件,而这些限制条件在实际应用中难以满足。根据激光雷达的数据特点,当激光雷达扫描到物体表面时数据点会呈现密集分布特性,因此基于密度的方法更适合处理雷达数据。本文改进了基于密度的DBSCAN聚类算法,运用一维核密度估计和加权欧式距离来解决参数Eps和Minpts的选取问题,改进搜索范围来提高运行速度,再提出可行驶区域方法。试验结果表明,该算法可以很好的提取道路信息和得到可通行区域信息。
2.1激光雷达数据特点分析
本文采用德国生产的IBEO-LUX-2010型号4线激光雷达,它是一种三维的4层激光雷达,利用多层技术可以获得高度信息,与单线激光雷达相比具有数据量大、检测精度高、探测距离远、范围广等优点。虽然与64线激光雷达相比还有一定差距,但是对于智能汽车而言,4线激光雷达性价比较高,在数据量和实时性方面能很好的满足实际需求。该型号雷达垂直视场角度为2.4°,4条扫描线在垂直方向以不同的俯仰角同时在水平方向上构成4个扫描面,相邻的扫描面之间夹角为0.8°,水平视场宽,最大扫描角度范围约为110°,扫描频率为12.5 Hz,水平分辨率为0.125°,距离分辨率为4 cm,测量范围为0.3~200 m,性能稳定,具有全天候的工作特性,其具体参数如表1所列。
表1 IBEO-LUX-2010型激光雷达技术参数
IBEO-LUX-2010每次扫描采集到的数据包含周围物体的距离、位置和扫描层数等信息,通过以太网进行数据信息的传递,以1帧数据为单位进行数据处理。
在给定的初始化条件下,通过对采集的单帧数据进行分析,得到如下特点:
a.激光雷达数据为三维数据,扫描点自左向右顺序排列,扫描方式为周期扫描,每帧的返回数据点数目相差不大;
b.激光雷达返回的扫描数据时刻随着行驶环境的变化而变化,因为需要根据智能汽车周围环境进行聚类,所以聚类的数目不确定,形状也是任意的,这就要求在实际聚类时聚类算法能根据数据特性对聚类数目有自适应性;
c激光雷达扫描到道路路面上的点在x、y轴方向上基本为均匀紧密分布,距离很小;扫描到路沿(一般道路方向与车辆行驶方向同向)上的点为同一层中相邻的点,x轴方向分布稀疏、y轴方向分布特别紧密,局部呈直线形;
d.激光雷达扫描到前方物体上的点,在相同扫描角度方向上,随着障碍物距离的增大,返回的相邻数据点间距变大,呈现正相关性;等距离情况时,随着扫描到障碍物上的点与y轴夹角(0°~90°)的增大而增大,同样也呈现正相关性。
根据雷达数据的扫描和分布特性,本文对道路信息提取时,主要使用最低的两层数据来提取车辆前方的路面宽度和车辆所处位置等信息,而最高和次高层数据则用来探测较远处的路面、丁字路口和阻挡物等信息,将4层数据融合处理后的结果与实际场景、高程数据信息等多特征比对,以保证提取的信息可靠。
2.2坐标转换
从车辆的安全角度出发,为保证激光雷达对前方道路观察的全面和准确,将4线激光雷达安装在智能汽车正前方的中间位置,距离地面高度h为0.846 m,安装示意图如图1所示。
图1 激光雷达安装示意图
车体坐标系是以车辆后轴中心为坐标原点,前进方向为xv轴,水平向左为yv轴,竖直向上为zv轴。建立临时坐标系以激光雷达在地面的投影中心为坐标原点OT,水平向前为xT轴,水平向左为yT轴,垂直于xoy平面竖直向上为zT轴。激光雷达坐标系以激光雷达的中心为坐标原点,取第1层蓝层为xoy平面,水平向前为xL轴,水平向左为yL轴,垂直于蓝层竖直向上为zL轴,如图2所示。为保证在水平地面时能有两条扫描线扫描到路面,以准确对道路信息进行提取,故安装雷达时向下倾斜α>2.4°,如图2所示。基于智能汽车的应用需要将传感器坐标转换到车体坐标系中,IBEO-LUX-2010激光雷达的垂直扫描精度为固定值θ0=0.8°,所以本文使用一种分层转换4线激光雷达坐标的方法[5,6],关系式为:
式中,ρ是雷达原点到扫描点的距离值;θ是激光雷达扫描过的角度值;i分别代表4层激光雷达的层号;ρ1(θ=0° )是智能汽车在水平地面上第1层扫描线扫描角度θ=0°时雷达坐标原点到地面距离值;R3×3为安装旋转矩阵;T1×3为平移矩阵,代表从临时坐标系的原点到车辆坐标系的坐标原点的平移量,可由实际测量得到。
图2 雷达数据的坐标转换
由于雷达安装固定后与车体的姿态时刻一致,因此利用车辆的位姿传感器(如陀螺仪等)测量车辆姿态,得到旋转矩阵R′,利用式(1)对雷达采集到的数据进行预处理,可以很好的处理车辆俯仰及道路结构导致的激光雷达相对俯仰角起伏变化情况。
3.1DBSCAN算法
DBSCAN[7]聚类算法是一种经典的基于密度的聚类算法。该算法首先遍历数据集中的每个数据对象,若该数据对象的半径邻域内包含的对象个数不少于给定的阈值,则将该数据对象标记为核心对象点,迭代寻找其附近密度可达的数据对象,标记为同类号形成一个簇,否则将剩余的点标记为噪声点。DBSCAN算法的优点是能够发现任意形状的簇,且对噪声数据点不敏感。该算法需要预先给定领域搜索半径Eps和领域内成为核心对象的最小数据个数MinPts。传统的DBSCAN算法描述为[8]:
a.检查输入的数据集合D中未被检查过的数据点p,假如p未被处理过(未标记为某一类或归为噪声),检查p的Eps领域内数据点个数是否大于MinPts,若是,p标记为核心对象,且建立新簇C,将其领域内的直接密度可达点归入此簇。
b.检查C中所有未被处理的数据点p′的Eps领域,若包含不少于MinPts个数据点,则将其领域中未处理的数据点归入簇C中。
c.重复步骤b直至没有新的对象加入簇C中,然后进行下一步。
d.重复上述3步骤,形成最大密度相连对象的集合,中间包含有一些密度可达对象集合的合并等操作。直到所有数据都被处理完毕,最后输出带有簇号或噪声标记的数据集D′。
3.2一维核密度估计方法
基于前述激光雷达数据特征分析,本文选用一维核密度估计方法对一帧数据的数据特性进行初步统计,以提取需要的数据集。核密度估计是由Rosenblatt[9]和Parzen[10]等人提出的一种非参数估计方法,该方法可以不依赖于数据分布的先验知识,从数据本身出发得到数据的分布特性。将激光雷达数据点的某一维度看作是一组服从独立同分布的随机变量x1,x2,……,xn,假设随机变量服从同一概率密度函数f(x ),那么定义:
核函数都满足Mercer定理,很容易确定。常用的核函数有Uniform、Triangular、Epanechnikov和Gaussian等,这些单个核函数与坐标轴形成的面积为1。本文采用常用的Epanechnikov核函数,其表达式如下:
该核密度函数不仅形式简单,而且在所有核函数中其效率也是接近最优的。在核密度估计中窗宽的选择也很重要,若窗宽选择过小,容易出现波动,呈现不规则形态,可能会掩盖f(x)的重要特性;若窗宽选择过大则经压缩后使得平均作用突出,会使(x)过于平稳,减小灵敏性。结合经验和理论分析,运用交叉验证策略选择合适的窗宽h来平衡这两种效应[11],本文选择的窗宽为:
式中,σ̂为待估计数据标准差的无偏估计。
由于相邻多帧间数据相似度较大,结合当前几帧待估计数据的σ̂和n的中间值来进行计算,以防止出现突变值。经试验验证所得的h能满足实际应用要求。
3.3加权欧式距离
加权欧式距离可以看作是对简单欧式距离方法的一种改进,可以利用权重值将数据各个维度的重要性区别开来。设n维向量p1(x11,x12,……,x1n)、p2(x21,x22,……,x2n),加权欧式距离的表达公式如下:
式中,当λk=1时,为欧式距离;当λk≠1时,为加权欧式距离;当n=2时,dij为平面内两点的距离;当n=3时,dij为空间内两点间的距离。
对雷达数据进行核密度估计后提取各个峰值区域的点集,计算其横、纵坐标的标准差值,对标准差较大的维度赋予较大的权重值。为了计算方便,将λ2进行归一化处理,λ值的确定可根据当前帧核密度估计的峰值区域点集的横纵坐标标准差求得,若σ′≠0,则;否则σ′=ε(很小)。从而可以对扫描到路沿的点的x、y赋予不同权重值,而对于扫描到障碍物上的点,也可以采用此类办法进行更精确的聚类。
3.4最小二乘法的拟合道路边界
根据雷达的扫描数据特点,扫描到道路边沿上的点一般都是呈线性分布,因此本文采用最小二乘法对聚类产生的数据点进行拟合,得出被扫描的道路边沿表面轮廓。
最小二乘法常用于直线段y=kx+b拟合,其k、b的表达式为:
式中,n表示待拟合的点的个数;(xi,yi) 为待拟合点的坐标值;k代表斜率;b代表截距。
4.1改进的DBSCAN聚类算法
DBSCAN聚类方法能够在存在噪声的空间中发现任意数目和任意形状的簇,但该聚类算法还存在以下不足[12,13]:
a.聚类时必须预先手工对Eps(半径邻域)和MinPts(核心对象邻域内的最少点数)两个参数进行赋值,由于DBSCAN的聚类效果受这两个参数准确性的影响严重,因此根据待处理数据的特征对这两个参数值的自适应确定至关重要;
b.通用的DBSCAN算法仅对这两个参数进行一次赋值,只能对一个全局的单一密度聚类,而在处理密度多变的数据集时,往往得不到理想的聚类效果;
c.聚类算法在进行确立核心对象运算时,通常采用遍历法,且随着数据的遍历核心对象不断增多,会导致运算速度较慢且内存耗费很大。
针对DBSCAN算法的缺点结合激光雷达数据的特点,本文提出了以下改进措施:
a.针对参数敏感且无法适用于多密度数据集聚类的缺点,运用一种改进的基于一维估计分析的多密度聚类算法[13]来对激光雷达数据进行聚类。即对一帧激光雷达数据进行一维核密度估计分析,估计激光雷达数据的特征分布,结合加权欧式距离,得到估计的峰值点附近的数据密度和估计的4-dist值(4最近邻点的距离),对4- dist值从低到高进行排序[sort0,sort1,……,sortP];在聚类时,先聚类出密度大的数据,再依次聚类出密度小的数据,从而作为DBSCAN的输入参数进行多密度聚类,针对不同障碍物数据会有不同的密度输入和处理提取方法。
b.为了降低算法的搜索复杂度,根据激光雷达扫描特性,运用采用峰值近邻域扫描+分步处理的方法来代替常规DBSCAN方法中的遍历法。现将KDE核密度估计的值高于一定密度值的区域[作为待处理区域,ζ表示核密度估计的邻域范围[12]。分步处理是将4线激光雷达分为两部分,最低和次低的两层由于直接扫描到路面上,主要用来提取横向道路(如边界等)信息,而最高和次高层由于扫描射程较远,主要用来提取路面前方纵向道路(如障碍物等)信息(必要时可利用局部4层数据)。这样两层结合处理,既可以大大降低由于单层激光雷达处理时的虚警和误报,又可以更好的探测车辆前方足够大的行驶区域,同时降低了算法复杂度。
4.2道路边沿信息提取算法
首先对1层雷达数据的横坐标y进行一维核密度估计分析,寻找密度估计的峰值点,作为DBSCAN算法的核心对象,再对峰值点附近满足式(7)条件的密度数据点区域进行提取:
这样可以最大限度的保留扫描到路沿上的点,同时将一些散乱点数据滤除,如扫到的花草等。将提取出的目标区域数据点按密度从高到低进行排序,以聚类出密度大的簇,再依次对剩余的数据进行聚类,以把不同密度的数据点聚成不同的类别。而在对目标区域聚类前,首先结合加权欧式距离计算峰值点的4-dist近邻点距离,作为DBSCAN的Eps参数输入;然后将自适应产生的参数输入到改进的DBSCAN算法中,从而将线形分布的路沿数据点聚成若干簇,再运用最小二乘法拟合出道路边沿线若干条。同理,对次低层数据进行同样的分析操作,得到若干条道路边沿线,保留距离车辆最近的左右两边各一条道路边沿线。利用得到的高程信息z值对提取出的路沿点高度(一般为20 cm左右)特征进行验证,再结合场景图像实际对比和试验验证本方法可以很好的提取出道路边沿线。
4.3可行驶区域的检测
根据前述提取出的路沿信息,可以横向界定可行驶区域范围,为车辆横向控制提供依据,同时需要进一步在此范围内对车辆纵向行驶区域进行检测。其过程可分为道路路面的检测提取和对路面上凹凸障碍物信息的提取两部分。为了减小计算复杂度,根据路面上扫描点之间紧密连续排列的数据特点,将预处理后的雷达三维数据在xoy、yoz的二维平面中进行投影。在yoz平面内,结合高程信息,可以将雷达各扫描层扫描到路面点部分提取出来。在一定范围内,路面具有一定的连续性,因此其高度也应该在一定范围内变化。设当前车辆所处位置高度为he,由于地面起伏不平造成的局部高度差极值为τ,则激光雷达所扫描到的部分道路高度[2]应满足[he-τ,he+τ]。由于路面上的点彼此间距相差不大,且连续密集分布,在xoy平面内,可以进一步将剩余路面点满足式(8)条件标记为路面点:
式中,i,j为同一扫描层相邻的点的序号;α为比例系数;θs为雷达各层的水平分辨率。
在滤除道路以外和路面的扫描点数据后,剩余的道路内数据点聚类后主要分为两种情况:凹障碍物,具有负高度值,如坑洼地区等,对智能汽车的行驶有一定安全隐患;凸障碍物,具有正高度值,如行人、车辆、路口的路肩或墙壁等。当这两类障碍物出现在道路范围内后,需要对它们的信息进行提取。因为雷达扫描方式是自左向右,在扫描过程中只扫到同角度且距离雷达近的物体表面,所以对道路内最高两层(必要时局部4层)激光雷达的数据y值运用改进后的DBSCAN算法,对道路内的障碍物进行不同密度的聚类。在yoz平面利用高程值提取出凸凹障碍物的最大高(深)度信息。通过障碍物高(深)度信息可以判断出此障碍物所属的类别,从而可以得到道路区域内的障碍物属性信息表示object= {distance,center_x,center_y,object_width,angle}。
前方道路被分割成若干部分,通过计算其与左右路沿的距离,可通行区域表示如下:
式中,i代表左、右路沿;ζ表示车辆通行的宽度安全系数。
5.1道路路沿、路面检测和提取试验
为了验证本文所提算法检测路沿和路面的效果,在以下道路场景中进行试验。试验平台为BJUT-IV自主研发的智能汽车平台,装备有型号为IBEO-LUX-2010 的4线激光雷达,前向安装俯仰角角度约为2.88°,横滚角约为-1.1°,正常行驶时保证在水平地面上有两条扫描线扫描到路沿上。试验场景1是校园内一条双向单车道的结构化道路;试验场景2是一条没有标准车道和道路边沿的道路。试验场景1和场景2进行道路边沿提取和路面提取。
图3a所示为校园内一条结构化的双向单车道道路,具有标准高度的路沿作为道路分界,道路两边有人行道,远近道路宽度近似一致。图3b是对原始一帧雷达数据的第0、1层进行一维(y坐标值)核密度估计(KDE)结果,可以看出扫描到路沿的点的密度估计值较大。由于人行道左侧墙壁的干扰最低和次低层利用最小二乘法共拟合出5条路沿线(图3c中的椭圆形标示路沿点),将距离较近的进行合并,再提取出距离车体位置最近的左右两条路沿线(直线标示)。通过将提取出的数据点投影到yoz平面,进一步通过高度信息对比,对所提取的路沿进行确认,高度约为0.2 m,符合一般结构化道路的路沿特征。
图4所示为校园内一条半结构化的道路,一侧具有标准的道路边界,而另一侧为具有一定高度的围墙,并且距离车辆较近的道路宽度较窄,而较远处较宽(道路中部凹陷是因为中部有排水设施)。同样进行图3的操作,可以得到两条路沿拟合线。
图3 结构化城市道路试验结果
图4 半结构化城市道路试验结果
在提取的道路边沿范围内对路面点进行提取,由于路面点高度在参考平面附近,且扫描到路面上的点为同一层连续紧密排列的点,因此先利用高度条件提取出部分路沿点集,再利用式(7)来将符合特征的点归为路面点集中。从对结构化和半结构化的道路路面提取试验可以证明,所提出的路面提取方法可以很好的提取路面点,如图3c和4c中的路面点标示。再与图3d、4d的高度信息作对比,高度在参考水平面附近,符合一般道路的路面特征。
5.2道路可行驶区域信息检测与提取
在对道路横向边沿和路面进行提取后,进一步对道路内剩余的4层雷达数据点提取道路纵向信息,进而得出智能汽车的可行驶区域。本次试验分为两种情形的信息提取,第一是对前方道路阻断情形检测(如丁字路口);第二是对道路中凹凸障碍物信息的提取,得到更具体的可行驶区域。
对路面行驶区域的界定,包括横向和纵向行驶区域界定。图5是一个丁字路口情形。利用本文提出的算法提取出两条道路边沿线,再分别提取道路宽度、车辆中心距离左右道路边沿的距离和前方路口距离信息。图5表明,当前道路宽度为3.71 m,实际测量为3.80 m,误差为9 cm,车辆距离左侧路沿距离为2.65 m,右侧为1.07 m,当前车辆距离前方丁字路口边界距离为39.81 m。图6是一个直道情形,当前道路宽度为10.56 m,实际测量为10.51 m,误差仅为5 cm,车辆距离左侧路沿距离为5.97m,右侧为4.61 m,当前行驶方向无路口。
图5 丁字路口检测
由于最高和次高层扫描到较远地方和入射角度的原因,一般没有路面回波,而当前方出现障碍物时才会在路面范围内具有一维投影且具有一定的高度值。利用上述特性对凸障碍物进行检测。图6检测到前方有两个行人、1辆车和1个垃圾桶共4个障碍物,具体信息为{distance,center_x,center_y,width,angle},在图6的下方显示,并用方框标识。
图6 直路和凸障碍物检测
对于凹陷区域,主要采用提取路面区域的断点区域,利用最低两层的扫描点数据找到凹障碍物,如图7左侧图显示为路面中一个凹陷的坑洼,对应图7右侧图激光雷达检测到黑色椭圆所标记区域,凹障碍物宽度为1.22 m,深度为-0.11 m,坐标位置为(20.23,0.62),距离车体坐标原点为20.24 m,相对车辆前进方向(x轴)夹角为1.75°。
图7 凹障碍物检测
根据4线激光雷达扫描特性,提出了一种改进的DBSCAN算法。该算法通过一维核密度估计方法对雷达的原始数据进行统计分析,对不同维度进行密度估计,再结合4-dist提取峰值附近的加权欧式距离值,从而解决了原始DBSCAN聚类方法全局单一参数问题,能够根据数据特征自适应的对参数Eps和MinPts进行调整,同时解决了原聚类算法只能对单一密度区域进行聚类的问题。根据道路中不同物体的特性,提出了可行驶区域信息提取方法,并且在规则和半规则化城市道路中的实车试验中得到验证。同时还可以根据得到的可行驶区域信息进行建立局部地图,结合智能汽车全局的路径规划进行导航工作,对道路内的障碍物进行识别、跟踪,进一步完善车辆周围的局部地图,也可以作为未来的研究方向。
参考文献
1史鹏波.基于单线激光雷达的道路特征检测:[学位论文].南京:南京理工大学, 2013.
2袁夏,赵春霞.一种激光雷达可通行区域提取算法.兵工学报,2010(12): 1702~1707.
3周俊静,段建民,杨光祖.基于雷达测距的车辆识别与跟踪方法.汽车工程,2014(11): 1415~1420.
4吴维一,刘大学,戴斌.一种处理激光雷达数据的聚类分析方法.计算机仿真,2007(08):236~240.
5万忠涛.基于激光雷达的道路与障碍检测研究:[学位论文].长沙:国防科学技术大学, 2010.
6杨象军.基于四线激光雷达的道路检测与跟踪:[学位论文].杭州:浙江大学,2013.
7 Martin Ester, Hans-Peter Kriegel, Jorg Sander,Xiaowei Xu. A density- based algorithm for discovering clusters in large spatial databases with noise.The 2nd International Confer⁃ence On Knowledge Discovery and Data Ming,1996: 226~231.
8李双庆,慕升弟.一种改进的DBSCAN算法及其应用.计算机工程与应用,2014(08): 72~76.
9 Rosenblatt M. Remarks on some nonparametric estimates of a density function. Annals of Mathematical Statistic,1956,27 (6): 832~837.
10ParzenE. On estimation of a probability density function and mode.Annals of Mathematical Statistics,1962,33 (8): 1065~1076.
11 Christoph Heinzand, Bernhard Seeger. Cluster Kernels: Re⁃source- Aware Kernel Density Estimators over Streaming Data. IEEE Transactions on Knowledge and Data Engineer⁃ing, 2008(20):884~885.
12关超华,陈泳丹,陈慧岩,龚建伟.基于改进DBSCAN算法的激光雷达车辆探测方法.北京理工大学学报,2010 (06): 732~736.
13钱美旋,叶东毅.利用一维投影分析的无参数多密度聚类算法.小型微型计算机系统,2013(08):1866~1871.
(责任编辑帘青)
修改稿收到日期为2015年9月1日。
Preceding Drivable Area Detection Based on Four-layer Laser Radar
Duan Jianmin, Li Longjie,Zheng Kaihua
(Beijing Key Laboratory of Traffic Engineering, Beijing University of Technology, Beijing 100124)
【Abstract】By analyzing a large number of laser radar’s data, a modified Density Based Spatial Clustering of Applications with Noise (DBSCAN) algorithm is proposed to obtain the information on roads and obstacles for intelligent vehicle. According to different density parameters, this algorithm is called to complete multiple density clustering. Also, methods for extracting the information on road edge, road surface and obstacles etc., are proposed, which are tested on vehicle on structured and semi- structured urban roads. The results show that the methods can real- time extract the accurate information on drivable area for intelligent vehicle.
Key words:Four- layer Laser Radar, DBSCAN Algorithm, Weighted Euclidean Distance, Drivable Area
中图分类号:U463.6
文献标识码:A
文章编号:1000-3703(2016)02-0055-07
*基金项目:北京市属高等学校人才强教计划资助项目(038000543115025)。
主题词:4线激光雷达DBSCAN算法加权欧式距离可行驶区域