一种激光点云的车道线提取方法及电子设备与流程

文档序号:22547510发布日期:2020-10-17 02:18阅读:252来源:国知局
一种激光点云的车道线提取方法及电子设备与流程

本发明涉及高精度地图技术领域,特别是一种激光点云的车道线提取方法及电子设备。



背景技术:

当前,车道级高精度地图能够提供更多的可帮助车辆定位、导航以及决策判断的道路信息,因此车道级高精度地图广泛地应用于高级驾驶辅助系统中,现有的传统地图已经无法满足高级驾驶辅助系统的需求。车道线是车道级高精度地图的重要组成部分,正确提取车道线是保证车道级地图精度的前提。

在现有技术中,有多种提取车道线的方法。第一种方法,基于深度学习神经网络提取车道线。这种方法主要是根据特征识别出的车道线模型,建立深度学习神经网络,从而实现车道线的提取。但是,基于深度学习神经网络提取出的车道线的精度与训练神经网络的模型精度强相关。为了取得高精度的车道线,需要大量的车道线模型进行训练,训练成本和负荷高。第二种方法,基于图像的车道线提取。这种方法通常采用基于his(hue-saturation-intensity,色调-饱和度-亮度)色彩空间的阈值分割方法,但是由于路面的复杂性,车道线会出现磨损,这种情况下很难区分磨损的车道线和路面,而且路面上车辆的遮挡情况也会影响提取的车道线的精度和完整度。第三种方法,人工编辑识别车道线。这种方法主要依靠人工在点云或图像上绘制车道线,效率低、成本高、无法保证准确率、无法进行批量生产。第四种方法,基于点云的车道线提取。这种方法利用点云的回波反射率(灰度值)等特征区分车道线与路面,采用最小二乘拟合对提取出的点进行拟合,实现车道线的自动提取。但是这种方法容易受到噪声的影响,例如,地面上其他高亮的标识(如限速标记、文字等)会被错分为车道线,提取精度低。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的激光点云的车道线提取方法及电子设备。

本发明的一个目的在于提供一种可进行海量数据处理、提取精度高的激光点云的车道线提取方法。

本发明的一个进一步的目的在于进一步提高所提取的车道线的平滑度。

特别地,根据本发明实施例的一方面,提供了一种激光点云的车道线提取方法,包括:

获取包括车道的激光点云;

基于所述激光点云中各点的高程值从所述激光点云中剔除非地面点得到地面点云;

将所述地面点云转换为基于灰度值的灰度图像和基于高程值的高程图像,基于所述灰度图像生成二值图像;

根据所述灰度图像和所述高程图像对所述二值图像进行区域增长聚类生成至少一个聚类区域;

获取各所述聚类区域的最小外接矩形的长度和宽度的比值,基于所述比值从各所述聚类区域的地面点中提取用于生成车道线的地面点;

对所述用于生成车道线的地面点进行拟合生成车道线,以制作高精地图。

可选的,所述基于所述激光点云中各点的高程值从所述激光点云中剔除非地面点得到地面点云,包括:

将所述激光点云投影到空间直角坐标系的xoy平面;

在所述xoy平面建立包括所述激光点云的格网;

将所述格网分割成多个栅格,基于各所述栅格中各点的高程值,通过数学形态学滤波从所述激光点云中剔除非地面点得到地面点云。

可选的,所述将所述格网分割成多个栅格,基于各所述栅格中各点的高程值,通过数学形态学滤波从所述激光点云中剔除非地面点得到地面点云,包括:

获取各所述栅格内的各点在所述空间直角坐标系的z坐标;

以各所述栅格中的各点的z坐标中的最小值作为各所述栅格的高程值;

以所述格网的任一栅格作为起点,逐行逐列依次获取各所述栅格的八邻域内的栅格的高程值,得到各所述栅格的八邻域内的栅格的高程值的集合,对所述集合进行数学形态学的开运算,得到各所述栅格的高程阈值;

对于各所述栅格,比较该栅格内的各点的高程值与该栅格的高程阈值,将该栅格中高程值小于该栅格的高程阈值的点确定为地面点从而得到地面点云。

可选的,所述将所述地面点云转换为基于灰度值的灰度图像和基于高程值的高程图像,基于所述灰度图像生成二值图像,包括:

获取各所述栅格中的各地面点的高程值,计算各所述栅格中的各地面点的高程值的平均值,作为各所述栅格的高程值,根据各所述栅格的高程值生成高程图像;

获取各所述栅格中的各地面点的灰度值,计算各所述栅格中的各地面点的灰度值的平均值作为各所述栅格的灰度值,根据各所述栅格的灰度值生成灰度图像;

比较各所述栅格的灰度值与预设灰度阈值,若所述栅格的灰度值小于所述预设灰度阈值,则令所述栅格的二值化灰度值等于0,否则,令所述栅格的二值化灰度值等于1,得到各所述栅格的二值化灰度值,根据各所述栅格的二值化灰度值生成二值图像。

可选的,所述根据所述灰度图像和所述高程图像对所述二值图像进行区域增长聚类生成至少一个聚类区域,包括:

将所述二值图像中二值化灰度值为1的栅格作为种子栅格;

从所述种子栅格中选取一个栅格作为初始的起始栅格,通过区域增长法遍历搜索所有种子栅格并对搜索到的种子栅格进行聚类,以将所有种子栅格分类为至少一个类别;以相同类别的种子栅格组成一个聚类区域,得到至少一个聚类区域;

其中,在对种子栅格进行聚类时,将各种子栅格及该种子栅格的八邻域内的栅格定义为第一区域,以该种子栅格的八邻域内的任一种子栅格作为邻近栅格,将所述邻近栅格及所述邻近栅格的八邻域内的栅格定义为第二区域,按照余弦相似度算法计算所述第一区域和所述第二区域的灰度值相似度和高程值相似度,根据所述灰度值相似度和所述高程值相似度判断各种子栅格与对应的邻近栅格是否为相同类别。

可选的,所述通过区域增长法遍历搜索所有种子栅格并对搜索到的种子栅格进行聚类,以将所有种子栅格分类为至少一个类别;以相同类别的种子栅格组成一个聚类区域,得到至少一个聚类区域包括:

步骤s1:搜索所述起始栅格的八邻域内是否存在未参与区域增长聚类的种子栅格;

若否,执行步骤s13;

若是,执行步骤s2:将所述起始栅格的八邻域内的任一未参与区域增长聚类的种子栅格作为邻近栅格;

步骤s3:将所述起始栅格及其八邻域内的栅格定义为第一区域,获取所述第一区域内的各栅格的灰度值和高程值;

步骤s4:将所述邻近栅格及其八邻域内的栅格定义为第二区域,获取所述第二区域内的各栅格的灰度值和高程值;

步骤s5:根据所述第一区域内的各栅格的灰度值和高程值和所述第二区域内的各栅格的灰度值和高程值,按照余弦相似度算法计算所述第一区域和所述第二区域的灰度值相似度和高程值相似度;

步骤s6:比较所述灰度值相似度是否大于第一阈值且所述高程值相似度是否大于第二阈值;

若是,执行步骤s7:认为所述邻近栅格与所述起始栅格为同类别的栅格,属于同一个聚类区域;

步骤s8:以所述邻近栅格作为新的起始栅格,并返回步骤s1;

若否,执行步骤s9:判断所述起始栅格的八邻域内是否存在除所述邻近栅格之外的未参与区域增长聚类的种子栅格;

若存在除所述邻近栅格之外的未参与区域增长聚类的种子栅格,执行步骤s10:以所述起始栅格的八邻域内的任一未参与区域增长聚类的种子栅格作为新的起始栅格,并返回步骤s1;

若不存在除所述邻近栅格之外的未参与区域增长聚类的种子栅格,执行步骤s11:搜索是否存在未参与区域增长聚类的种子栅格;

若否,执行步骤s12:得到同类别栅格组成的至少一个聚类区域,结束区域增长聚类;

若是,执行步骤s13:选取一个未参与区域增长聚类的种子栅格作为新的起始栅格,并返回步骤s1。

可选的,所述对所述用于生成车道线的地面点进行拟合生成车道线包括:

将空间直角坐标系沿x轴、y轴以及z轴分割成多个体素;

根据所述用于生成车道线的地面点的坐标将所述用于生成车道线的地面点分配到各所述体素;

获取各所述用于生成车道线的地面点与其自身所在体素的中心之间的欧式距离;

选取每个体素中所述欧式距离最小的地面点作为体素特征点;

计算所述体素特征点中的最大x坐标和最小x坐标的差值,得到第一差值;

计算所述体素特征点中的最大y坐标和最小y坐标的差值,得到第二差值;

比较所述第一差值和所述第二差值的大小,选取两者中较大的差值对应的坐标轴方向作为主方向;

沿所述主方向按照第一预设长度将所述体素特征点划分为多个组;

对各组中的所述体素特征点进行拟合计算得到拟合参数,根据所述拟合参数生成车道线。

可选的,在所述对所述用于生成车道线的地面点进行拟合生成车道线之后还包括:

沿所述主方向计算每相邻两条车道线的相对的两个端点之间的欧氏距离;

判断所述欧氏距离是否小于第二预设长度;

若是,则根据所述相邻两条车道线的相对的两个端点的坐标,通过插值得到所述相邻两条车道线之间的点坐标;

根据所述点坐标连接所述相邻两条车道线。

可选的,在所述对所述用于生成车道线的地面点进行拟合生成车道线之后,还包括:

对各所述车道线进行平滑处理,包括:

对各所述车道线中的体素特征点的三维坐标进行一阶差分,分别计算各所述车道线的每一体素特征点与相邻的体素特征点在x轴、y轴、z轴方向上坐标变化的幅度;

判断各所述体素特征点在x轴、y轴、z轴的至少一个坐标轴方向上的坐标变化的幅度是否大于周围其他所述体素特征点在相同坐标轴方向上的变化幅度;

若是,则确定所述体素特征点是突变点;

以所述突变点为中心,左右各依次选取3个体素特征点建立平滑窗口平滑所述突变点。

根据本发明实施例的另一个方面,还提供一种电子设备,包括存储器和处理器,所述存储器内存储有控制程序,所述控制程序被所述处理器执行时用于实现上述任一项所述的激光点云的车道线提取方法。

在本发明实施例的激光点云的车道线提取方法中,基于激光点云中各点的高程值从激光点云中提取地面点,可减少地物高亮区域被错误识别为车道线;根据灰度图像和高程图像对二值图像进行区域增长聚类,有利于提高车道线聚类的准确率;通过求取每种聚类的最小外接矩形的长宽比值,有利于快速剔除非车道线聚类;对提取的用于生成车道线的地面点进行拟合生成车道线。

进一步地,在拟合得到车道线之后,还可以对各车道线进行平滑处理提高车道线的平滑度。

根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。

附图说明

后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:

图1示出了根据本发明一实施例的激光点云的车道线提取方法的流程示意图;

图2示出了根据本发明一实施例的从激光点云中剔除非地面点得到地面点云的步骤的流程示意图;

图3示出了根据本发明的一个栅格和该栅格的八邻域栅格的示意图;

图4示出了根据本发明一实施例的基于激光点云中各点的高程值从激光点云中剔除非地面点得到地面点云的效果的示意图;

图5示出了根据本发明一实施例的对二值图像进行区域增长聚类生成至少一个聚类区域的示意图;

图6示出了根据本发明一实施例的对用于生成车道线的地面点进行拟合生成车道线的步骤的流程示意图;

图7示出了根据本发明一实施例的将用于生成车道线的地面点分配到各体素中的效果示意图;

图8示出了根据本发明一实施例的求取未被提取的车道线的场景示意图;

图9示出了根据本发明一实施例的区域增长聚类的流程示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明实施例提出一种激光点云的车道线提取方法。图1示出了根据本发明一实施例的激光点云的车道线提取方法的流程示意图。参见图1所示,该方法至少可以包括以下步骤s102至步骤s112。

步骤s102:获取包括车道的激光点云。

步骤s104:基于激光点云中各点的高程值从激光点云中剔除非地面点得到地面点云。

步骤s106:将地面点云转换为基于灰度值的灰度图像和基于高程值的高程图像,基于灰度图像生成二值图像。

步骤s108:根据灰度图像和高程图像对二值图像进行区域增长聚类生成至少一个聚类区域。

步骤s110:获取各聚类区域的最小外接矩形的长度和宽度的比值,基于比值从各聚类区域的地面点中提取用于生成车道线的地面点。

步骤s112:对用于生成车道线的地面点进行拟合生成车道线,以制作高精地图。

在本发明的激光点云的车道线提取方法实施例中,基于激光点云中各点的高程值从激光点云中提取地面点,可减少地物高亮区域被错误识别为车道线;根据灰度图像和高程图像对二值图像进行区域增长聚类,有利于提高车道线聚类的准确率;通过求取每种聚类的最小外接矩形的长宽比值,有利于快速剔除非车道线聚类,从而实现自动从海量点云数据中精确提取车道线的目的,处理效率高,提取精度高。

上文步骤s102中,获取的激光点云可为通过激光雷达采集的原始点云。

上文步骤s104中,可以将激光点云投影到空间直角坐标系的xoy平面,在该xoy平面建立包括激光点云的格网。之后,将格网分割成多个栅格,基于各栅格中各点的高程值,通过数学形态学滤波从激光点云中剔除非地面点得到地面点云。通过数学形态学滤波从激光点云中剔除非地面点得到地面点云,可以快速定位地面区域,减小搜寻车道线的范围和降低将地物的高亮区域错误的识别为车道线的概率。

空间直角坐标系可以为wgs84空间直角坐标系。wgs84空间直角坐标系是以地球质心为坐标原点,地球质心到国际时间服务机构1984.0定义的协议地球极(conventionalterrestrialpole,ctp)的方向为z轴方向,x轴方向指向bih1984.0的零子午面和ctp赤道的交点,y轴分别与z轴和x轴垂直构成的右手坐标系。xoy平面是指由地球质心、x轴和y轴建立的水平面。本文提及的栅格为大小相等的正方形。激光点云中的各点包括三维坐标,即x坐标、y坐标和z坐标。其中,根据每个点的x坐标和y坐标将激光点云投影到wgs84空间直角坐标系的xoy平面,且每个点的z坐标即为该点的高程值。

参见图2,在本发明一个实施例中,将格网分割成多个栅格,基于各栅格中各点的高程值,通过数学形态学滤波从激光点云中剔除非地面点得到地面点云可包括以下步骤s202-s208。

步骤s202:获取各栅格内的各点在空间直角坐标系的z坐标。

步骤s204:以各栅格中的各点的z坐标中的最小值作为各栅格的高程值。

本步骤中,根据下式(1)计算激光点云中每个点i在xoy平面的格网中的行号rowi和列号coli,根据点i的行号rowi和列号coli即可以确定点i处在格网的第rowi行、第coli列的栅格内。

式(1)中,xi、yi分别为点i的x坐标和y坐标,xmin、ymin分别为激光点云中所有点的x坐标的最小值和y坐标的最小值,csizecurrent表示当前栅格尺寸,floor为将输入值向下取整的操作。

根据下式(2)确定栅格的高程值。

zcell=min(z1,z2,z3,....,zn)(2)

式(2)中zcell为栅格的高程值,z1,z2,...zn为落入该栅格的各个点的高程值,n为落入该栅格的点的个数,min为求取最小值。

另外,如果存在未包含激光点云的点的栅格,对该栅格进行插值,即,获取未包含点的栅格的八邻域内的栅格的高程值,计算未包含点的栅格的八邻域内的栅格的高程值的平均值作为未包含点的栅格的高程值。图3为一个栅格和该栅格的八邻域栅格的示意图。

根据下式(3)确定未包含点的栅格的高程值。

zcell(i,j)为未包含点的行列号分别为i、j的栅格的高程值,zcell(i+m,j+n)为行列号分别为i+m,j+n的栅格的高程值,m与n的取值为[-1,1]范围内的整数且m与n不能同时为0。

步骤s206:以格网的任一栅格作为起点,逐行逐列依次获取各栅格的八邻域内的栅格的高程值,得到各栅格的八邻域内的栅格的高程值的集合,对集合进行数学形态学的开运算,得到各栅格的高程阈值。具体地,例如,以格网的第一行第一列的栅格作为起点栅格,建立一个3*3的滑动窗口,该滑动窗口包含起点栅格和该起点栅格的八邻域栅格,确定起点栅格的高程阈值。

在本步骤中,根据下式(4)得到各栅格的高程阈值。

式(4)中,是行列号分别为i、j的栅格的高程阈值,f()是对输入值进行形态学开运算操作,zu为行列号分别为i、j的栅格的八邻域内的高程值的集合。

步骤s208:对于各栅格,比较该栅格内的各点的高程值与该栅格的高程阈值,将该栅格中高程值小于该栅格的高程阈值的点确定为地面点从而得到地面点云。

下面结合图4,举例说明步骤s104中基于激光点云中各点的高程值从激光点云中剔除非地面点得到地面点云的效果。如图4所示,将4(a)所示的原始激光点云投影到xoy平面,并将网格分割成多个栅格,如4(b)所示把投影的激光点云分配到各栅格中。如4(c)所示,计算每个栅格的高程值。若存在未包含点的栅格,对该栅格进行插值,例如,插值前如4(c)所示的第6行第1列为0,插值后如4(d)所示为11.4。如4(e)所示,选定一个栅格(如第1行第1列的栅格),以该栅格中的多个点建立如4(e)所示的滑动窗口。之后,如4(f)所示,剔除该栅格中的非地面点,剩余的为地面点。处理下一个栅格,如4(g)所示。遍历4(d)中的每个栅格,剔除各栅格中的非地面点,得到4(h)所示的地面点云。

在本发明一个实施例中,步骤s106可包括获取各栅格中的各地面点的高程值,计算各栅格中的各地面点的高程值的平均值,作为各栅格的高程值,根据各栅格的高程值生成高程图像。

之后,获取各栅格中的各地面点的灰度值,计算各栅格中的各地面点的灰度值的平均值作为各栅格的灰度值,根据各栅格的灰度值生成灰度图像。

比较各栅格的灰度值与预设灰度阈值,若栅格的灰度值小于预设灰度阈值,则令栅格的二值化灰度值等于0,否则,令栅格的二值化灰度值等于1,得到各栅格的二值化灰度值,根据各栅格的二值化灰度值生成二值图像。

在本实施例中,具体计算公式可以参照式(5)至式(8)。

根据下式(5)计算激光点云中每个地面点j在xoy平面的格网中的行号rowj和列号colj,根据地面点的行号rowj和列号colj即可以确定地面点处在格网的第rowj行、第colj列的栅格内。

式(5)中,rowj、colj分别为地面点j在格网中的行号及列号;xj、yj分别为地面点j的x坐标及y坐标;x′min、y′min分别为所有地面点x坐标的最小值及y坐标的最小值;csize为格网中栅格的尺寸。

根据下式(6)计算每个栅格的高程值。

zcell(i,j)=∑zt/n(6)

式(6)中,zcell(i,j)为栅格行列号分别为i、j的栅格的高程值,∑zt为该栅格内所有地面点的高程值之和,n为该栅格内的地面点的个数。

另外,如果某个栅格内没有地面点,则该栅格的高程值取其八邻域栅格的高程值的平均值。

根据下式(7)计算每个栅格的灰度值。

i(rowj,colj)=∑it/n(7)

式(7)中,i(rowj,colj)为栅格(rowj,colj)的灰度值,∑it为该栅格内所有地面点的灰度值之和,n为该栅格内的地面点的个数。

另外,如果某个栅格内没有地面点,可以将该栅格的灰度值定义为0。

根据下式(8)计算每个栅格的二值化灰度值。

式(8)中,it为设定的预设灰度阈值,不同灰度图像设定的预设灰度阈值可以不同。

在本发明一个实施例中,根据灰度图像和高程图像对二值图像进行区域增长聚类生成至少一个聚类区域可包括将二值图像中二值化灰度值为1的栅格作为种子栅格。然后,从种子栅格中选取一个栅格作为初始的起始栅格,通过区域增长法遍历搜索所有种子栅格并对搜索到的种子栅格进行聚类,以将所有种子栅格分类为至少一个类别;以相同类别的种子栅格组成一个聚类区域,得到至少一个聚类区域。其中,在对种子栅格进行聚类时,将各种子栅格及该种子栅格的八邻域内的栅格定义为第一区域,以该种子栅格的八邻域内的任一种子栅格作为邻近栅格,将邻近栅格及邻近栅格的八邻域内的栅格定义为第二区域,按照余弦相似度算法计算第一区域和第二区域的灰度值相似度和高程值相似度,根据灰度值相似度和高程值相似度判断各种子栅格与对应的邻近栅格是否为相同类别。

参见图9,下面详细介绍本实施例的具体步骤,具体步骤可包括步骤s1至步骤s13。

步骤s1:搜索起始栅格的八邻域内是否存在未参与区域增长聚类的种子栅格。

若否,执行步骤s13。

若是,执行步骤s2:将起始栅格的八邻域内的任一未参与区域增长聚类的种子栅格作为邻近栅格。

步骤s3:将起始栅格及其八邻域内的栅格定义为第一区域,获取第一区域内的各栅格的灰度值和高程值。

步骤s4:将邻近栅格及其八邻域内的栅格定义为第二区域,获取第二区域内的各栅格的灰度值和高程值。

步骤s5:根据第一区域内的各栅格的灰度值和高程值和第二区域内的各栅格的灰度值和高程值,按照余弦相似度算法计算第一区域和第二区域的灰度值相似度和高程值相似度。

根据下式(9)计算计算第一区域和第二区域的灰度值相似度和高程值相似度。

表示以行号i和列号j为中心栅格(这里的中心栅格即为上述所述的种子栅格)建立的第一区域的灰度值。表示以行号m和列号n为中心栅格(这里的中心栅格即为上述所述的邻近栅格)建立的第二区域的灰度值。表示以行号i和列号j为中心栅格(这里的中心栅格即为上述所述的种子栅格)建立的第一区域的高程值。表示以行号m和列号n为中心栅格(这里的中心栅格即为上述所述的邻近栅格)建立的第二区域的高程值。s表征八邻域内的栅格与中心栅格之间行号的差值,s的取值范围为[-1,1]之间的整数,如果八邻域内的栅格的行号小于中心栅格的行号,s取值为负;如果八邻域内的栅格的行号大于中心栅格的行号,s取值为正。t表征八邻域内的栅格与中心栅格之间列号的差值,t的取值范围为[-1,1]之间的整数,如果八邻域内的栅格的列号小于中心栅格的列号,t取值为负;如果八邻域内的栅格的列号大于中心栅格的列号,t取值为正。δi表征起始栅格及其八邻域内的栅格定义的第一区域与邻近栅格及其八邻域内的栅格定义的第二区域的灰度值的相似度,δh表征起始栅格及其八邻域内的栅格定义的第一区域与邻近栅格及其八邻域内的栅格定义的第二区域的高程的相似度,δ取值范围在[0,1],δ取值越接近1表明两块窗口区域相似度越大,取值越接近0表明两块窗口区域相似度越小。δi与δh的取值可根据实际工程需要进行调整。δi及δh取值越接近1,则聚类的第二区域与第一区域越相似,即提取出的车道线精度越高,但是提取的车道线的完整度会下降。δi与δh取值越接近为0,则提取的车道线的完整度越高,但是提取出的车道线精度会下降。由于车道线存在磨损的情况,如果δi的取值设定过高,会降低提取车道线的完整度,因此δi的取值可以设定比δh的取值低。

步骤s6:比较灰度值相似度是否大于第一阈值且高程值相似度是否大于第二阈值。第一阈值和第二阈值可以根据实际需要进行设定,本发明实施例对此不做具体地限定。

若第一区域和第二区域的灰度值相似度大于第一阈值且第一区域和第二区域的高程值相似度大于第二阈值,执行步骤s7:认为邻近栅格与起始栅格为同类别的栅格,属于同一个聚类区域。

步骤s8:以邻近栅格作为新的起始栅格。并返回步骤s1。

若灰度值相似度小于或等于第一阈值或高程值相似度小于或等于第二阈值,执行步骤s9:判断起始栅格的八邻域内是否存在除邻近栅格之外的未参与区域增长聚类的种子栅格。

若存在除邻近栅格之外的未参与区域增长聚类的种子栅格,步骤s10:以起始栅格的八邻域内的任一未参与区域增长聚类的种子栅格作为新的起始栅格。并返回步骤s1。

若不存在除邻近栅格之外的未参与区域增长聚类的种子栅格,执行步骤s11:搜索是否存在未参与区域增长聚类的种子栅格。

若未搜索到,执行步骤s12:得到同类别栅格组成的至少一个聚类区域,结束区域增长聚类。

若搜索到了未参与区域增长聚类的种子栅格,执行步骤s13:选取一个未参与区域增长聚类的种子栅格作为新的起始栅格。并返回步骤s1。

在一些其他情况下,若步骤s1的结果为否,也可以执行步骤s11。若步骤s11的结果也是否,则可以将起始栅格单独作为一个独立的聚类区域。

下面结合图5,举例说明步骤s106中得到至少一个聚类区域的效果。

如图5所示,如5(a)所示,搜索起始栅格的八邻域内未参与区域增长聚类的种子栅格,将起始栅格的八邻域内的任一未参与区域增长聚类的种子栅格作为邻近栅格。如5(b)所示,将起始栅格及其八邻域内的栅格定义为第一区域,获取第一区域内的高程值,将邻近栅格及其八邻域内的栅格定义为第二区域,获取第二区域内的各栅格的高程值。如5(c)所示,将起始栅格及其八邻域内的栅格定义为第一区域,获取第一区域内的各栅格的灰度值,将邻近栅格及其八邻域内的栅格定义为第二区域,获取第二区域内的各栅格的灰度值。如5(d)所示,根据第一区域内的各栅格的灰度值和高程值和第二区域内的各栅格的灰度值和高程值,按照余弦相似度算法计算第一区域和第二区域的灰度值相似度和高程值相似度得到至少一个聚类区域,例如,得到了聚类1、聚类2和聚类3三个聚类区域。根据生成的高程图像和灰度图像利用余弦相似度判断聚类的区域是否相似,有利于提高车道线聚类的准确率。

参见图6,在本发明一个实施例中,步骤s112中对用于生成车道线的地面点进行拟合生成车道线可包括以下步骤s1121至步骤s1129。

步骤s1121:将空间直角坐标系沿x轴(行)、y(列)轴以及z(高)轴分割成多个体素。体素为数据在三维空间分割上的最小单位。

步骤s1122:根据用于生成车道线的地面点的坐标将用于生成车道线的地面点分配到各体素。地面点分配到各体素的效果如图7所示。

在本步骤中,根据下式(10)实现值根据用于生成车道线的地面点的坐标将用于生成车道线的地面点分配到各体素。

rowm、colm、hm分别为用于生成车道线的地面点k分配的体素的行号、列号及层号,即rowm、colm、hm分别用于生成车道线的地面点k分配的体素在wgs84坐标系下x轴,y轴,z轴方向上体素的序列号;xk、yk、zk分别为用于生成车道线的地面点k的三维坐标;x″min、y″in、z″min分别为wgs84坐标系下用于生成车道线的地面点x坐标,y坐标,z坐标的最小值;csize为体素的长和宽的尺寸(长和宽相等);csizez为体素的高度尺寸。

步骤s1123:获取各用于生成车道线的地面点与其自身所在体素的中心之间的欧式距离。

步骤s1124:选取每个体素中欧式距离最小的地面点作为体素特征点。

步骤s1125:计算体素特征点中的最大x坐标和最小x坐标的差值,得到第一差值。

步骤s1126:计算体素特征点中的最大y坐标和最小y坐标的差值,得到第二差值。

步骤s1127:比较第一差值和第二差值的大小,选取两者中较大的差值对应的坐标轴方向作为主方向。

步骤s1128:沿主方向按照第一预设长度将体素特征点划分为多个组。第一预设长度可以为50米,当然也可以为40米或者其他长度,本发明实施例对此不做具体地限定。

步骤s1129:对各组中的体素特征点进行拟合计算得到拟合参数,根据拟合参数生成车道线。具体地,例如,可以对各组中的体素特征点进行ransac拟合计算(随机一致性拟合计算)。

在本发明一个实施例中,在步骤s112之后还可包括沿主方向计算每相邻两条车道线的相对的两个端点之间的欧氏距离。然后,判断欧氏距离是否小于第二预设长度。若是,则根据相邻两条车道线的相对的两个端点的坐标,通过插值得到相邻两条车道线之间的点坐标。根据点坐标连接相邻两条车道线。

在本实施例中,沿主方向计算每相邻两条车道线的相对的两个端点之间的欧氏距离,并最终得到相邻两条车道线之间的点坐标,根据点坐标连接相邻两条车道线,可以减少车道线出现因车辆遮挡或车道线磨损而没有提取的情况。为了防止搜索范围过大造成匹配到其他车道的车道线,第二预设长度可以设置为20m,当然,还可以设置为15m或者其他长度,具体可以根据车道之间的距离做出调整,本发明实施例对此不做具体地限定。

下面结合图8的场景示意图,以示例的方式对如何求取未被提取的车道线进行具体说明。

图8中,箭头表示车道线拟合的方向(即,主方向),l1、l2、l3、l4是拟合后得到的车道线(不妨称为初始车道线)。首先,如8(a)所示,沿着主方向找到相邻的车道线l1和l2,计算l1和l2的相对的两个端点(图8中的a点和b点)之间的欧式距离。判断a点和b点之间的欧氏距离是否小于第二预设长度(例如20m)。由于判断出a点和b点之间的欧氏距离小于第二预设长度,表明车道线l1的a点与车道线l2的b点之间存在缺失的车道线(即,未被提取的车道线),因此,根据a点和b点的坐标,通过插值法计算得到车道线l1的a点与车道线l2的b点之间的点坐标。根据插值得到的点坐标连接车道线l1和车道线l2,以将l1和l2连接为一体,得到如8(b)所示的在l1和l2之间补充了缺失的车道线之后的车道线l’。然后,沿着主方向找到相邻的车道线l3和l4,计算l3和l4的相对的两个端点(图8中的c点和d点)之间的欧式距离。判断c点和d点之间的欧氏距离是否小于第二预设长度。由于判断出c点和d点之间的欧氏距离大于第二预设长度,表明车道线l3与车道线l4为相互独立的车道线,它们之间不存在缺失的车道线,因此,无需在车道线l3的c点与车道线l4的d点之间进行插值计算。最终,得到如8(c)所示的车道线。

在本发明一个实施例中,在步骤s112之后,还可包括对各车道线进行平滑处理。对各车道线进行平滑处理可包括对各车道线中的体素特征点的三维坐标进行一阶差分,分别计算各车道线的每一体素特征点与相邻的体素特征点在x轴、y轴、z轴方向上坐标变化的幅度。

然后,判断各体素特征点在x轴、y轴、z轴的至少一个坐标轴方向上的坐标变化的幅度是否大于周围其他体素特征点在相同坐标轴方向上的变化幅度。若是,则确定体素特征点是突变点。具体地,例如,若某一个体素特征点在x轴方向的变化幅度为0.3m,周围其他体素特征点在x轴方向的变化幅度为0.1m,则这个体素特征点是突变点。作为本领域的技术人员,能够理解体素特征点周围的范围,是清楚的,这里不再赘述。

以突变点为中心,左右各依次选取3个体素特征点建立平滑窗口平滑突变点。通过对提取的车道线进行平滑处理,可以有利于填充为被提取及被打断的车道线。具体地,例如,可以通过、savitzky-golay法平滑突变点。

在本步骤中,savitzky-golay可以参照下式(11)。以突变点为中心,左右各依次选取3个体素特征点(共7个点)建立平滑窗口

p′j为平滑后点pj的三维坐标;ai(0)为平滑窗口第i个点的权重系数;m为滑动窗口长度的一半取整后的整数;pj+i为平滑前点的三维坐标;j为点pj的序列号。

基于同一构思,本发明还提供了一种电子设备。该电子设备包括存储器和处理器,存储器内存储有控制程序,控制程序被处理器执行时用于实现上述任一项实施例的激光点云的车道线提取方法。

上述各个实施例可以任意组合,根据上述任意一个优选实施例或多个优选实施例的组合,本发明实施例能够达到如下有益效果:

在本发明的激光点云的车道线提取方法实施例中,基于激光点云中各点的高程值从激光点云中提取地面点,可减少地物高亮区域被错误识别为车道线;根据灰度图像和高程图像对二值图像进行区域增长聚类,有利于提高车道线聚类的准确率;通过求取每种聚类的最小外接矩形的长宽比值,有利于快速剔除非车道线聚类,从而实现自动从海量点云数据中精确提取车道线的目的,处理效率高,提取精度高。

进一步地,通过数学形态学滤波从激光点云中剔除非地面点得到地面点云,可以快速定位地面区域,减小搜寻车道线的范围和降低将地物的高亮区域错误的识别为车道线的概率。

进一步地,沿主方向计算每相邻两条车道线的相对的两个端点之间的欧氏距离,并最终得到相邻两条车道线之间的点坐标,根据点坐标连接相邻两条车道线,可以减少车道线出现因车辆遮挡或车道线磨损而没有提取的情况。

至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1