本发明属于计算机视觉和激光扫描数据处理的交叉领域,尤其涉及一种基于激光扫描离散点强度梯度的道路标线自动化提取方法。
背景技术:
移动激光扫描系统可以自动化的获取道路环境周边的高精度三维坐标信息,已成为一种快速的空间数据获取手段,广泛运用于基础测绘、数字城市建设、交通运输规划等领域。同时,移动激光扫描数据具有数据量大、密度分布不均、场景目标多样(建筑物、道路、树木、车辆、交通标志牌、交通信号灯等)、细节结构丰富等特点。作为三维道路模型的重要部分,路面标线具有丰富的语义信息,为自动化驾驶、辅助驾驶提供了丰富的道路信息。但是,激光点云强度受到:1)扫描对象材质、2)扫描角度、以及3)扫描中心距离的影响。同时,目前市场上的激光扫描仪均没有对强度进行标定,其噪声较大。上述特点均对自动化提取标线提出了重大挑战。因此,自动化地从移动激光扫描数据中提取道路标线是自动化道路环境建模的难点。
目前从移动激光扫描数据中自动化提取道路标线的方法主要包括:全局阈值法、局部阈值法、距离阈值法和图像转换法四类。全局阈值方面,Thuy(2010)在路面点上应用Otsu算法取得最大类间方差、最小类内方差的全局阈值来区分路面点与标线点。局部阈值法方面,Guan((2015)首先根据点密度的高斯分布,按照三倍方差的标准将路面划分为三块;然后,在每一块上应用Otsu算法进行阈值分割。Yu((2015)按照车道标准将点云划分为不同车道,然后在不同车道上应用Otsu算法女性阈值分割。距离阈值法方面,Yang and Fang(2012)对强度按照离车道中心的距离进行加权,获取不同加权值下的阈值,得到了反距离加权的强度阈值,对标线进行划分。Kumar(2015)假定强度阈值与离扫描中心的线性关系,然后通过实验确定了该线性关系中的参数值。图像转换法方面,Velt(2008)首先生成了路面的强度图像,然后利用canny算子等边缘提取算法,提取得到了路面标线。从激光点云中提取标线主要是基于标线的高反射性。但是,点的反射强度不仅跟材质有关还与扫描距离角度有关。因此,全局阈值法在强度受到距离干扰影响较大的情形下很容易失效。而局部阈值法的难点在于确定一个可以使用单一阈值的局部大小。上述方法给出了一些确定局部的方法,但是这些方法在噪声影响下很容易失效导致不稳健。距离与阈值的关系不是简单的反距离加权或者线性关系,因此,上述方法的距离阈值模型都相对简单不能解决通用的问题。而图像转换法,利用图像处理的方法提取标线,这样会在转换的过程中丢失精度。
总体而言,从移动激光扫描数据中快速、准确地提取标线仍然存在:1)强度特征信息对点密度变化、噪声等影响比较敏感,导致标线提取精度较低;2)强度信息受到的距离干扰过于严重时,目前的提取方法均失效;3)没有利用标线的几何信息而仅仅利用了标线的强度信息,使得对于强度信息较差的数据无法自动化处理。
技术实现要素:
本发明的目的是提供一种基于激光扫描离散点强度梯度的道路标线自动化提取方法。
为达到上述目的,本发明采用如下技术方案:
基于激光扫描离散点强度梯度的道路标线自动化提取方法,包括步骤:
步骤1,利用高程信息从激光点云中提取地面点,采用RANSAC法对地面点进行拟合,获得路面点集;
步骤2,采用中值滤波器对路面点集中路面点进行滤波;
步骤3,分别计算路面点集内各路面点的强度梯度,具体为:
对各路面点分别进行:
利用KD树搜索当前路面点的k邻域点,分别计算当前路面点到各邻域点的强度方向导数;根据强度方向导数和强度梯度的关系,采用最小二乘法估计当前路面点的强度梯度;
步骤4,根据路面点的强度梯度,采用全局聚类法将路面点集内路面点聚类为强度梯度较大和强度梯度较小的两类路面点,将强度梯度较大的路面点作为种子点;
步骤5,对各种子点分别进行如下:对当前种子点P',找出同时满足如下条件的其他种子点Po,P以及P到Po上的所有路面点即标线点;所述的条件为:①Po位于P'的强度梯度方向上;②Po与P'的距离在预设的标线宽度范围内;③Po与P'的强度梯度方向相反。
步骤1具体为:
步骤1.1,对激光点云进行二维格网划分,对各格网分别进行:记录格网的最低高程,将格网中与最低高程的高程差不大于高程阈值的激光点标记为地面点;高程阈值为经过验证的经验值;
步骤1.2,任取三个地面点,使用RANSAC法进行拟合,获得拟合平面及拟合误差,将拟合误差小于预设阈值的拟合平面内所有数据点标记为局内点,对拟合误差小于预设阈值的各拟合平面分别进行:计算局内点的外包凸多边形,外包凸多边形的面积即拟合平面的面积;
步骤1.3,多次重复步骤1.2,选取法向与竖直方向近似平行且面积最大的拟合平面,将该拟合平面内所有局内点作为路面点;所述的近似平行指法向与竖直方向的夹角的余弦值大于0.8。
步骤2具体为:
对路面点集中路面点建立KD树索引结构,对各路面点分别进行:
利用KD树搜索当前路面点的k邻域点,按强度对邻域点排序得邻域点序列,以邻域点序列的中值强度作为当前路面点滤波后的强度。
步骤3中,当前路面点IP到邻域点的强度方向导数其中:
IP与分别表示当前路面点P和邻域点Qi的强度;
表示P和Qi间的向量模。
步骤3中,所述的强度方向导数和强度梯度的关系为:其中:
表示当前路面点的强度梯度;
表示当前路面点到第i个邻域点的强度方向导数;
k是当前路面点P的邻域点数量;
fx和fy分别表示当前路面点P在x与y方向的强度偏导数,fx和fy为自变量;
与分别表示的x坐标与y坐标,为与当前路面点和第i个邻域点间向量方向相同的单位向量。
步骤4中,采用全局聚类法将路面点集内路面点聚类为强度梯度较大和强度梯度较小的两类路面点,进一步包括:
步骤4.1,随机选取两个路面点,将路面点的梯度强度分别作为两类的中心梯度强度;
步骤4.2,将其他各路面点分配到与其梯度强度差值最小的中心梯度强度所在类;
步骤4.3,将各类中路面点的梯度强度平均值作为该类的中心梯度强度,重复执行步骤4.2~4.3,直至本次和上次的聚类结果相同。
步骤5中,三个条件的数学表达如下:
其中:
和分别表示P'的梯度强度和梯度强度向量模;
和分别表示P'和Po间的向量与向量模;
ωcolinear为同向的内积阈值,根据经验取值;
dmin和dmax为标线宽度的阈值,根据实际情况取值;
和分别表示Po的梯度强度和梯度强度向量模;
ωopposite反向的内积阈值,根据经验取值。
步骤5中,同时满足下式两个公式的路面点Pt即标线点:
其中,
和分别表示P'和Pt间的向量与向量模;
和分别表示P'的梯度强度和梯度强度向量模;
表示P'和Po间的向量模;
ωcolinear为同向的内积阈值,根据经验取值。
步骤5具体为:
5.1将所有种子点标记为未检验的种子点;
5.2遍历所有未检验的种子点,检验是否存在同时满足条件①~③的其他种子点Po;若存在,将当前未检验的种子点以及位于当前未检验的种子点和其他种子点Po的连线上的所有路面点均标记为标线点,将当前未检验的种子点标记为已检验的种子点;若不存在,直接将当前未检验的种子点标记为已检验的种子点;
5.3重复步骤5.1~5.2直至不存在未检验的种子点。
本发明基于计算机视觉和图像处理理论,综合利用离散点的强度梯度信息与标线的几何形态信息,提高了道路标线提取的准确性和效率,对较差质量的激光点云数据,仍然能够实现自动化地提取,普适于大多数移动激光扫描数据。
本发明具有如下特点:
1)在路面离散点上利用KD树与中值滤波器,去除噪声影响,使得抗噪声能力增强。
2)使用强度梯度进行种子点的搜索,可免受扫描距离的影响。
3)基于强度梯度的标线搜索策略融合了标线的几何信息,使得标线的探测更加稳健。
附图说明
图1是本发明的具体流程图;
图2是采用格网高程信息确定地面点的具体示意图;
图3是实施例的强度梯度计算效果图,其中,图(a)为原始强度图,图(b)为强度梯度计算效果图;
图4是梯度计算与标线搜索的具体策略示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。本发明提供的方法能够用计算机软件技术实现流程,整体技术流程图参见图1,包括以下步骤:
步骤1,利用高程信息与RANSAC法从激光点云中提取路面点集,见图2。
本步骤进一步包括:
步骤1.1,对激光点云进行二维格网划分,对各格网分别进行:记录格网的最低高程,将格网中与最低高程的高程差不大于高程阈值的激光点均标记为地面点。高程阈值为经过验证的经验值。
步骤1.2,任取三个地面点,使用RANSAC法进行拟合,获得拟合平面ax+by+cz+d=0及拟合误差,a、b、c、d为平面方程系数。将拟合误差小于预设阈值的拟合平面内所有数据点标记为局内点,对拟合误差小于预设阈值的各拟合平面分别进行:计算局内点的外包凸多边形,外包凸多边形的面积即拟合平面的面积。预设阈值根据经验取值。
步骤1.3,多次重复步骤1.2,选取法向与竖直方向近似平行且面积最大的拟合平面内所有局内点作为路面点。本发明中,“近似平行”指拟合平面的法向与竖直方向的夹角的余弦值大于0.8。
步骤2,采用中值滤波器对路面点集中各路面点分别进行滤波,以滤除路面点云椒盐强度噪声的影响。
对路面点集中路面点建立KD树索引结构,对各路面点分别进行:
搜索当前路面点的k邻域点,按强度对邻域点排序得邻域点序列;以邻域点序列中[k/2]位置邻域点的强度替代当前路面点的强度。这样,即可有效抑制路面点的椒盐强度噪声影响,使得后续强度梯度计算更加稳健。
步骤3,分别计算路面点集内各路面点的强度梯度
强度梯度的计算过程如下:
见图4,利用KD树找到当前路面点P周围的k个邻域点Qi,i=1,2,...k,分别计算当前路面点P到各邻域点Qi的强度方向导数见公式(1):
式(1)中:
为P到Qi的强度方向导数;
IP与分别表示P和Qi的强度;
和分别表示P和Qi间的向量与向量模;
是与方向相同的单位向量。
根据强度方向导数与强度梯度的关系,见公式(2),以fx和fy为自变量,采用最小二乘法估计当前路面点P的强度梯度
式(2)中:
表示当前路面点到第i个邻域点的强度方向导数;
fx和fy分别表示当前路面点P在x与y方向的强度偏导数;
与分别表示的x坐标与y坐标;
k是当前路面点P的邻域点数量。
由于噪声以及无穷小距离的假设,强度方向导数与强度梯度的上述关系并不能完全满足,因而产生了一个优化模型。这里的优化对象是一个线性模型,因此直接采用最小二乘法进行强度梯度的估计。对于各路面点,按照上述计算强度梯度,图3为本实施例所得标线强度梯度结果。
步骤4,采用全局聚类法对路面点集内路面点进行聚类,将强度梯度较大的路面点作为种子点。
本具体实施中,采用2-均值聚类法对路面点进行聚类,将路面点聚类为强度梯度较大与强度梯度较小的两类,将强度梯度较大的点选为种子点,进行后续标线点搜索。
2-均值聚类法的目标函数J如下:
式(3)中:
表示路面点集内第i个路面点的梯度强度;
cj为第j个聚类中心的梯度强度;
i表示路面点集内路面点序号;
j表示聚类类别序号。
聚类过程如下:
步骤4.1,随机选取两个路面点,将路面点的梯度强度分别作为两类的中心梯度强度;
步骤4.2,将其他各路面点分配到与其梯度强度差值最小的中心梯度强度所在类;
步骤4.3,将各类中路面点的梯度强度平均值作为该类的中心梯度强度,重复执行步骤4.2~4.3,直至本次和上次的聚类结果相同。
步骤5,根据种子点进行标线点搜索,见图4。
对各种子点,分别进行如下:
对当前种子点P',找出同时满足如下条件的其他种子点Po:
1)Po位于P'的强度梯度方向上;
2)Po与P'的距离在dmin到dmax范围内;
3)Po与P'的强度梯度方向相反。
找出种子点Po,P到Po上的所有路面点即标线点。
将上述条件描述为数学表达,如下:
且
公式(4)~(7)中:
和分别表示P'的梯度强度和梯度强度向量模;
和分别表示Po的梯度强度和梯度强度向量模;
和分别表示P'和Po间的向量与向量模;
和分别表示P'和Pt间的向量与向量模;
ωcolinear为同向的内积阈值,根据经验取值,一般在0.7~0.9范围内取值,本实施例中,ωcolinear取0.8;
ωopposite反向的内积阈值,根据经验取值,一般在-0.9~-0.7范围内取值,本实施例中,ωopposite取-0.8;
dmin和dmax为标线宽度的阈值,通过在国标规定的标线宽度上增加误差的方式进行取值。
上述,公式(4)~(6)分别对应条件1)、2)、3),公式(7)用来描述标线点的找寻。
本步骤的具体实施过程如下:
5.1将所有种子点标记为未检验的种子点.
5.2遍历所有未检验的种子点,检验是否存在满足上述条件的其他种子点Po;如果存在,将当前未检验的种子点以及位于当前未检验的种子点和其他种子点Po的连线上的所有路面点均标记标线点,将当前未检验的种子点标记为已检验的种子点;若不存在,直接将当前未检验的种子点标记为已检验的种子点。
5.3重复步骤5.1~5.2直至不存在未检验的种子点,此时,所有的标线点均被检测出来。
本发明使用离散点(即路面点)的强度梯度进行标线提取,采用强度梯度可免受激光扫描强度的距离效应影响,可适用于多种环境下的数据,从而增强方法的稳健性。同时,强度梯度可融合标线点的几何信息,如标线的宽度等,使得算法不仅仅受限于扫描数据强度信息。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。