道路边界检测方法、装置、计算机设备和存储介质与流程

文档序号:33324706发布日期:2023-03-03 22:31阅读:39来源:国知局
道路边界检测方法、装置、计算机设备和存储介质与流程

1.本技术涉及雷达检测技术领域,特别是涉及一种道路边界检测方法、装置、计算机设备和存储介质。


背景技术:

2.在自动或辅助驾驶领域中,基于3d激光雷达的感知方案可以实现高精度的环境场景检测,不仅可以探测到环境中的动态物体,同时也可以探测到环境中的静态物体,其中,道路边界作为自动驾驶领域中一重要的检测信息,对于车辆的可行驶区域确定以及车辆的行驶安全性至关重要,正常行驶情况下,道路边界对于车辆是不可逾越的,它可以为车辆定位导航提供一个路径规划区间。因此,基于激光雷达的道路边界检测对于车辆自动驾驶以及辅助驾驶的研发具有重要的意义。
3.传统技术中,一些道路边界检测算法往往采用随机采样一致性算法分割点云,再通过设置较大阈值参数,将部分道路边界也包括其中,但是这样不仅精度不高,还容易存在漏检的问题。另一些道路边界检测算法则依赖激光点云的线束信息,依据同一条点云线上的点的曲率发生突变作为该条激光线可能经过了一个路沿,然后保存路沿点,但是这样对于没有线束信息或者线束信息不规则的固态激光雷达来说,就没有办法使用了。此外,一般基于激光雷达的道路边界检测一般主要针对结构化的道路边界检测效果可以,而对于非结构化的道路边界,非结构化的道路边界例如植被覆盖的路边沿,高速公路场景,道路中间的栅栏等等非结构化场景,传统技术将难以检测出道路边界。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够不依赖激光雷达的线束信息、有效提高非结构化的道路边界检测准确性的道路边界检测方法、装置、计算机设备和存储介质。
5.第一方面,本技术提供了一种道路边界检测方法,方法包括:
6.获取道路的原始点云数据;
7.提取原始点云数据中的目标区域,得到目标点云;
8.对目标点云进行地面分割,得到非地面点云;
9.将非地面点云划分成若干点云栅格,并根据点云栅格中的空白栅格对应的角度确定道路分割角,以道路分割角对非地面点云进行划分,分别得到道路两侧的环境点云;
10.对道路两侧的环境点云分别进行距离过滤,得到对应的边界种子点云,并基于边界种子点云进行曲线拟合,提取得到道路边界点云。
11.在其中一个实施例中,根据点云栅格中的空白栅格对应的角度确定道路分割角包括:
12.统计各个点云栅格内的点数量,并基于点数量确定空白栅格,其中,空白栅格为点数量为0或者小于预设数量阈值的点云栅格;
13.根据空白栅格对应的角度进行排序,并选择排序之后所有角度的中间值作为道路分割角。
14.在其中一个实施例中,根据空白栅格对应的角度进行排序之前,还包括:
15.基于所有点云栅格的标注信息进行中值滤波,并剔除异常值的点云栅格,其中,基于点数量标注点云栅格的标注信息。
16.在其中一个实施例中,提取原始点云数据中的目标区域,得到目标点云包括:
17.根据目标区域对原始点云数据进行各个轴向的直通滤波,提取得到目标点云,其中,通过高度数组对原始点云数据进行高度轴向的直通滤波。
18.在其中一个实施例中,对目标点云进行地面分割,得到非地面点云包括:
19.将目标点云划分成若干点云区域;
20.通过平面法向量约束的随机采样一致性算法对每一点云区域进行地面分割,合并得到非地面点云,其中,平面法向量为点云区域拟合得到的地平面模型的法向量。
21.在其中一个实施例中,通过平面法向量约束的随机采样一致性算法对每一点云区域进行地面分割,合并得到非地面点云包括:
22.基于平面法向量约束的随机采样一致性算法,通过多线程并行拟合每一点云区域的地平面模型,其中,通过平面法向量和标准地面法向量之间的夹角与预设角度阈值比较,确定地平面模型是否正确,若不正确则重新迭代拟合;
23.根据对应的地平面模型对每一点云区域的进行地面分割,合并得到非地面点云。
24.在其中一个实施例中,对道路两侧的环境点云分别进行距离过滤,得到对应的边界种子点云包括:
25.对道路两侧的环境点云分别进行栅格化处理,得到若干环境栅格;
26.对每一环境栅格分别进行距离过滤,得到每个环境栅格的种子点;
27.基于种子点得到边界种子点云。
28.在其中一个实施例中,基于边界种子点云进行曲线拟合,提取得到道路边界点云包括:
29.通过二次多项式对边界种子点云进行曲线拟合,提取得到粗边界点云;
30.通过三次多项式对粗边界点云进行曲线拟合,提取得到道路边界点云。
31.在其中一个实施例中,通过三次多项式对粗边界点云进行曲线拟合,提取得到道路边界点云包括:
32.基于粗边界点云迭代拟合获取多个三次曲线模型,并统计各个三次曲线模型的内点个数,其中,从粗边界点云中随机提取四个点,建立三次曲线模型,基于三次曲线模型计算得到对应的模型参数矩阵,通过模型参数矩阵和预设的残差阈值统计三次曲线模型的内点个数;
33.以内点个数最大的三次曲线模型作为最优模型,对粗边界点云进行过滤,提取得到道路边界点云。
34.第二方面,本技术还提供了一种道路边界检测装置,装置包括:
35.获取模块,用于获取道路的原始点云数据;
36.目标提取模块,用于提取原始点云数据中的目标区域,得到目标点云;
37.地面分割模块,用于对目标点云进行地面分割,得到非地面点云;
38.道路分割模块,用于将非地面点云划分成若干点云栅格,并根据点云栅格中的空白栅格对应的角度确定道路分割角,以道路分割角对非地面点云进行划分,分别得到道路两侧的环境点云;
39.边界提取模块,对道路两侧的环境点云分别进行距离过滤,得到对应的边界种子点云,并基于边界种子点云进行曲线拟合,提取得到道路边界点云。
40.第三方面,本技术还提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述任意一种实施例所述的道路边界检测方法的步骤。
41.第四方面,本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任意一种实施例所述的道路边界检测方法的步骤。
42.上述道路边界检测方法、装置、计算机设备和存储介质,通过获取道路的原始点云数据,提取原始点云数据中的目标区域,得到目标点云,对目标点云进行地面分割,得到非地面点云,将非地面点云划分成若干点云栅格,并根据点云栅格中的空白栅格对应的角度确定道路分割角,以道路分割角对非地面点云进行划分,分别得到道路两侧的环境点云,对道路两侧的环境点云分别进行距离过滤,得到对应的边界种子点云,并基于边界种子点云进行曲线拟合,提取得到道路边界点云,如此,一方面,通过过滤地面点云采用非地面点云进行道路分割以及边界检测,这不仅可以适用于各种3d激光雷达,摆脱激光雷达的线束信息的依赖,而且可以适用于视觉稠密点云的道路边界提取,实现非结构化的道路边界检测,另一方面,基于非地面点云划分点云栅格,并基于空白栅格进行道路划分,可以准确地分割道路,尤其适用于各种不规则道路,从而大大提高道路边界检测的准确性。
附图说明
43.为了更清楚地说明本技术实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
44.图1为一个实施例中道路边界检测方法的整体流程示意图;
45.图2为一个实施例中道路边界检测方法中步骤s500的具体流程示意图;
46.图3为一个实施例中道路边界检测方法的检测过程示意图;
47.图4为一个实施例中道路边界检测装置的结构框图;
48.图5为一个实施例中计算机设备的内部结构图。
具体实施方式
49.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
50.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中在本技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术。
51.需要说明的是,当一个元件被认为是“连接”另一个元件时,它可以是直接连接到另一个元件,或者通过居中元件连接另一个元件。此外,以下实施例中的“连接”,如果被连接的对象之间具有电信号或数据的传递,则应理解为“电连接”、“通信连接”等。
52.在此使用时,单数形式的“一”、“一个”和“所述/该”也可以包括复数形式,除非上下文清楚指出另外的方式。还应当理解的是,术语“包括/包含”或“具有”等指定所陈述的特征、整体、步骤、操作、组件、部分或它们的组合的存在,但是不排除存在或添加一个或更多个其他特征、整体、步骤、操作、组件、部分或它们的组合的可能性。
53.本技术实施例提供的道路边界检测方法,可以应用于机械激光雷达和固态激光雷达等各种激光雷达进行道路边界检测,尤其适用于非结构化的道路边界以及其他不规则道路,例如,植被覆盖的路边沿,高速公路场景,道路中间的栅栏、上下坡道路、弯曲道路、多路口道路等等。
54.在一个实施例中,如图1所示,提供了一种道路边界检测方法,包括以下步骤:
55.s100:获取道路的原始点云数据;
56.具体地,原始点云数据为雷达扫描道路得到的数据,其中,该雷达可以是机械激光雷达或者固态激光雷达,也可以是其他各种激光雷达,该原始点云数据由雷达扫描道路的表面特性所得到的点数据组成,点数据一般包括三维坐标和激光反射强度。
57.s200:提取原始点云数据中的目标区域,得到目标点云;
58.具体地,目标区域为原始点云数据中的感兴趣区域,也就是道路中的感兴趣区域,可以通过感兴趣区域分割算法(roi)提取原始点云数据中的目标区域,得到目标点云,其中,在一种实施方式中,目标区域可以以雷达为中心,以与雷达的距离为半径进行限制,在另一种实施方式中,目标区域可以直接以三维坐标进行范围限定。
59.s300:对目标点云进行地面分割,得到非地面点云;
60.具体地,基于目标点云拟合得到的地平面模型对目标点云进行地面分割,以过滤地面点云,得到非地面点云,其中,非地面点云为目标点云过滤地面点云之后的点云数据,可以采用随即采样一致性算法对目标点云进行拟合,得到地平面模型,该随即采样一致性算法是一种迭代方法,这种方法用于从一组包含异常值的数据中估计数学模型的参数。
61.s400:将非地面点云划分成若干点云栅格,并根据点云栅格中的空白栅格对应的角度确定道路分割角,以道路分割角对非地面点云进行划分,分别得到道路两侧的环境点云;
62.具体地,每一点云栅格对应有一角度,这些角度覆盖雷达扫描的范围,其中,在一种实施方式中,可以沿雷达扫描中心的圆周方向划分成若干扇形的点云栅格,并基于每个扇形的点云栅格所在圆周方向上的位置确定其角度,同样地,在另一种实施方式中,也可以将点云栅格划分成其他形状的点云栅格,并基于各个点云栅格的中心三维坐标确定其相对于雷达扫描中心的角度。
63.具体地,统计各个点云栅格内的点数量,确定其中的空白栅格,值得注意的是,该空白栅格可以是点数量为0的栅格,也可以是点数量小于预设数量阈值的栅格,其中,由于非地面点云为过滤了地面点云的点云数据,故而在非地面点云中将存在空白的区域,该空白区域相当于道路地面区域,因此基于空白栅格对应的角度可以确定道路的范围与方向,这样以所有空白栅格对应的角度中间值就可以确定道路分割角,也就是道路两侧的分界
线,从而可以将非地面点云准确地划分成道路两侧的环境点云,即左侧环境点云、右侧环境点云。进一步地,若不存在空白栅格,则改道路分割角可以取雷达的默认分割角度,在自动驾驶领域中,该默认分割角度一般为汽车的行驶方向对应的角度。
64.s500:对道路两侧的环境点云分别进行距离过滤,得到对应的边界种子点云,并基于边界种子点云进行曲线拟合,提取得到道路边界点云。
65.具体地,对道路两侧的环境点云进行栅格化,并通过距离过滤对每个栅格中的点进行筛选,选择满足距离要求的点作为对应栅格中的种子点,从而得到边界种子点云。
66.具体地,通过多项式拟合对道路两侧的边界种子点云进行曲线拟合,其中,基于边界种子点云中的随机点迭代进行多项式拟合,并基于拟合得到的最佳曲线模型对边界种子点云进行过滤,得到所需的道路边界点云。
67.上述道路边界检测方法,一方面,通过过滤地面点云采用非地面点云进行道路分割以及边界检测,这不仅可以适用于各种3d激光雷达,摆脱激光雷达的线束信息的依赖,而且可以适用于视觉稠密点云的道路边界提取,实现非结构化的道路边界检测,另一方面,基于非地面点云划分点云栅格,并基于空白栅格进行道路划分,可以准确地分割道路,尤其适用于各种不规则道路,从而大大提高道路边界检测的准确性。
68.在一个实施例中,根据点云栅格中的空白栅格对应的角度值确定道路分割角包括:统计各个点云栅格内的点数量,并基于点数量确定空白栅格,其中,空白栅格为点数量为0或者小于预设数量阈值的点云栅格;根据空白栅格对应的角度值进行排序,并选择排序之后所有角度值的中间值作为道路分割角。
69.具体地,以扇形的点云栅格为例,将非地面点云沿着圆周方向划分为n个扇形的点云栅格,每一个栅格的角度为1
°
,该角度也可以其他角度值,例如0.5
°
、2
°
等等。然后统计各个点云栅格内的点数量,将点数量为0或者小于预设数量阈值的点云栅格的角度保存下来,标注为1,以表示空白栅格,其他标注为0,得到每个点云栅格对应的栅格数组,每个数组中保存有标签值和栅格的角度,最后对所有标签为1的栅格数组按照角度顺序进行排序,选择角度中间值作为道路分割角。
70.在一个实施例中,根据空白栅格对应的角度值进行排序之前,还包括:基于所有点云栅格的标注信息进行中值滤波,并剔除异常值的点云栅格,其中,基于点数量标注点云栅格的标注信息。
71.具体地,为了提高数据的准确性,对所有点云栅格的标注信息进行中值滤波,剔除点云栅格之间的个别异常值,从而提高道路划分的准确性。
72.本实施例通过对过滤地面之后的非地面点云进行栅格化,然后通过中值滤波过滤掉一些异常值,基于过滤之后的非地面点云中空白栅格,可以很好的统计出前方道路趋势的角度,从而可以很好的计算出道路分割角,提高道路分割的精度,同时,还可以在环视激光雷达中检测十字路口以及三叉口等不规则道路的位置。
73.在一个实例中,提取原始点云数据中的目标区域,得到目标点云包括:根据目标区域对原始点云数据进行各个轴向的直通滤波,提取得到目标点云,其中,通过高度数组对原始点云数据进行高度轴向的直通滤波。
74.具体地,对原始点云数据进行x、y、z三个轴向上的直通滤波,其中,x、y轴为水平轴向,z轴为高度轴向,x、y轴向上根据实际需要进行限制,z轴向上采用该高度数组进行限制。
75.具体地,考虑到激光雷达安装误差中本身有一定的俯仰角误差,会导致远处的地面点云高度和近处的地面点云高度相差比较大,同时地面也会存在坡度等因素,导致地面点云高度相差比较大,故而本实施例采用高度数组h={z1,z2,z3

,zn}对原始点云数据进行高度过滤,从而避免由上述因素导致高度过滤引起的道路边界点丢失,其中,高度数组中数量取决于原始点云数据的分块数量,例如,若原始点云数据按照x轴远近分成了3块,则通过高度数组h={z1,z2,z3}分别对每块进行高度过滤,而高度数组中每一数值大小取决于对应区域中点数据的z轴坐标,以匹配该区域的高度,从而准确地进行高度过滤,避免高度过滤数据丢失。
76.本实施例基于高度数组进行高度过滤,不仅可以适应有坡度的路面,而且可以校正激光雷达安装误差引起的数据丢失,从而大大提高道路边界检测的准确性。
77.在一个实施例中,对目标点云进行地面分割,得到非地面点云包括:将目标点云划分成若干点云区域;通过平面法向量约束的随机采样一致性算法对每一点云区域进行地面分割,合并得到非地面点云,其中,平面法向量为点云区域拟合得到的地平面模型的法向量。
78.具体地,可以按照x轴方向将目标点云分成n块点云区域,其中,x轴方向为汽车行驶的方向,即道路方向,这里的点云区域的数量与按上述高度数组中数量对应。
79.具体地,通过随机采样一致性算法对每一点云区域进行拟合得到地平面模型,并通过该地平面模型的平面法向量检验拟合得到的地平面模型是否正确,若不正确则重新迭代拟合,直至找到正确的地平面模型,通过对应地平面模型从各个点云区域中分割出地平面点云,再合并得到非地面点云。
80.本实施例基于区域分块融合法向量约束的随机采样一致性进行地面分割,并同时结合多线程并行处理,解决了传统随机采样一致性算法的地面分割效率比较低以及分割精度低的问题,大大提高了地面分割的准确性以及处理效率。
81.在一些实施例中,通过平面法向量约束的随机采样一致性算法对每一点云区域进行地面分割,合并得到非地面点云包括:基于平面法向量约束的随机采样一致性算法,通过多线程并行拟合每一点云区域的地平面模型,其中,通过平面法向量和标准地面法向量之间的夹角与预设角度阈值比较,确定地平面模型是否正确,若不正确则重新迭代拟合;根据对应的地平面模型对每一点云区域的进行地面分割,合并得到非地面点云。
82.具体地,基于多线程并行处理各个点云区域,以提高整体处理效率。以一点云区域为例,通过随机采样一致性算法拟合地平面模型为ax+by+cz+d=0,其中,地平面模型的平面法向量为归一化之后的系数组成的向量n1=[a,b,c],参考的标准地面法向量n2=[0,0,1]。例如,预设角度阈值取45
°
,则计算法向量n1与n2之间的夹角,如果大于45
°
则不能作为地平面模型,重新迭代拟合,找到正确的地平面模型,以分割出地平面点云,得到该点云区域对应的非地面点云,最后将每一个区域的非地面点云合并,得到整体的非地面点云。
[0083]
在一个实施例中,参看图2,对道路两侧的环境点云进行距离过滤,得到对应的边界种子点云包括:s501:对道路两侧的环境点云分别进行栅格化处理,得到若干环境栅格;s502:对每一环境栅格进行距离过滤,得到每个环境栅格的种子点;s503:基于种子点得到边界种子点云。
[0084]
具体地,将道路两侧的环境点云沿着x轴方向改进行栅格化,得到若干环境栅格;
然后在每个栅格里面根据点云的y轴方向坐标进行距离过滤,其中,以y轴方向朝向道路左侧为例,对于道路左侧的环境栅格,选择每个栅格中y坐标最小的点作为种子点,对于道路右侧的环境栅格,选择每个栅格中y坐标最大的点作为种子点,最后分别组合得到道路两侧的边界种子点云。
[0085]
本实施例基于高程几何特征去提取道路边界点,首先过滤干净地面点云,然后根据道路分割角去分割非地面点云,分为左边路沿和右边路沿,通过距离滤波找到沿着道路分割线方向上每一段的路沿种子点,其中,左边路沿选择y值最小的点,右边路沿选择y值最大的点,通过这样可以提取到道路边界候选点云,不仅适用于各种3d激光雷达的道路边界路沿种子点的提取,同时也适用于视觉稠密点云的路边界种子点提取。
[0086]
在一个实施例中,参看图2,基于边界种子点云进行曲线拟合,提取得到道路边界点云包括:s504:通过二次多项式对边界种子点云进行曲线拟合,提取得到粗边界点云;s505:通过三次多项式对粗边界点云进行曲线拟合,提取得到道路边界点云。
[0087]
具体地,本实施例采用二次多项式拟合和三次多项式拟合组合的方式提取道路边界点云,其中,通过二次多项式拟合从边界种子点云中提取粗边界点云,再通过三次多项式拟合从粗边界点云中提取得到精细的道路边界点云。
[0088]
在一个实施例中,通过二次多项式对边界种子点云进行曲线拟合,提取得到粗边界点云包括:基于边界种子点云迭代拟合获取多个二次抛物线模型,并统计各个二次抛物线模型的内点个数,其中,从边界种子点云中随机提取三个点,建立二次抛物线模型,基于二次抛物线模型计算得到对应的模型参数矩阵,通过模型参数矩阵和预设的残差阈值统计二次抛物线模型的内点个数;以内点个数最大的二次抛物线模型作为最优模型,对边界种子点云进行过滤,提取得到粗边界点云。
[0089]
具体地,通过二次多项式拟合提取粗边界点云,其中,二次多项式模型为y=ax2+bx+c,具体而言,通过随机采样一致性算法从边界种子点云中随机取三个点,计算二次抛物线模型y=a0x2+b0x+c0,分别将边界种子点云的x坐标组成矩阵x,边界种子点云的y坐标组成矩阵y,然后计算对应模型参数矩阵m=[a0,b0,c0],具体计算方法为:m=x
inv
·
y,x
inv
为x的逆矩阵,然后通过模型参数矩阵m以及预先设定的残差阈值t
two
统计模型的内点个数n,然后通过迭代n次后,获得内点个数最大的模型作为最佳的模型m
best
,然后通过最佳模型去过滤出道路两侧的粗边界点云。
[0090]
在一个实施例中,通过三次多项式对粗边界点云进行曲线拟合,提取得到道路边界点云包括:基于粗边界点云迭代拟合获取多个三次曲线模型,并统计各个三次曲线模型的内点个数,其中,从粗边界点云中随机提取四个点,建立三次曲线模型,基于三次曲线模型计算得到对应的模型参数矩阵,通过模型参数矩阵和预设的残差阈值统计三次曲线模型的内点个数;以内点个数最大的三次曲线模型作为最优模型,对粗边界点云进行过滤,提取得到道路边界点云。
[0091]
具体地,通过三次多项式继续拟合粗边界点云,三次多项式模型为y=ax3+bx2+cx+d,具体首先通过从粗边界点云中随机提取四个点,计算三次曲线模型y=a0x3+b0x2+c0x+d0,分别将粗边界点云的x坐标组成矩阵x,粗边界点云的y坐标组成矩阵y,然后计算模型参数矩阵m=[a0,b0,c0,d0],具体计算方法为m=x
inv
·
y,x
inv
为x的逆矩阵,然后通过模型参数矩阵m以及预先设定的残差阈值t
three
统计模型的内点个数n,然后通过迭代n次后,获得内点个
数最大的模型作为最佳的模型m
best
,然后通过最佳模型去过滤出道路两侧的道路边界点云,最后拼接得到最后的道路边界点云。
[0092]
本实施例通过二次多项式与三次多项式曲线相结合进行道路边界点云提取,先采用二次多项式拟合算法粗提取道路边界点,这样可以剔除偏离道路边界的异常点,较多保留道路边界点,之后采用三次多项式曲线拟合算法去精提取道路边界点,整体上大大改善了道路边界的拟合效果。
[0093]
现结合一具体场景对本实施例进行说明,但不仅限于此。
[0094]
参看图3,现对一原始点云数据进行道路边界检测,其中,点云坐标中,x轴为汽车前进的道路方向,y轴方向朝向汽车左侧,z轴为高度方向。具体步骤如下:
[0095]
1)首先,通过感兴趣区域分割算法对原始点云数据进行x,y,z三个轴向的点云分别进行直通滤波,得到目标点云p
roi
,其中,x和y方向根据实际需要进行限制,z采用高度数组进行限制,并沿x方向将直通滤波之后的目标点云分割成n块点云区域pi;
[0096]
考虑到激光雷达扫描得到的点云存在安装误差或者地面存在坡度等,采用高度数组h=z1,z2,z3

,zn依次对沿x轴方向分割的n块点云区域分别进行高度过滤,具体数组中z1,z2,z3

,zn的大小根据对应点云区域的高度坐标决定,以在保留道路边界点不丢失情况下,尽可能多的剔除掉无关点云,并且提高后续地面分割算法的效率;
[0097]
2)其次,通过法向量约束的随机采样一致性算法对每个点云区域pi进行地面分割,其中,通过多线程并行计算,实现加速;
[0098]
具体通过点云区域pi使用随机采样一致性算法拟合地平面模型为ax+by+cz+d=0,其中,地平面模型的平面法向量为归一化之后的系数组成的向量n1=[a,b,c],参考的标准地平面法向量n2=[0,0,1],在此,计算法向量n1与n2之间的夹角,如果大于预设角度阈值45
°
则不能作为地平面模型,重新迭代拟合,直至找到正确的地平面模型,以分割出道路的地面点云,最后将每一个点云区域pi的地面点云和非地面点云合并,得到地面点云p
ground
、非地面点云p
noground

[0099]
3)然后,通过对非地面点云p
noground
进行扇形栅格分割,根据扇形栅格中的空白栅格对应的角度值确定道路分割角α,以道路分割角对非地面点云p
noground
进行划分,得到道路两侧的环境点云p
left
和p
right

[0100]
具体将非地面点云p
noground
沿着圆周方向划分为n个扇形栅格,每一个栅格的角度为1
°
,得到环境栅格p
grid_i
,i∈n,然后统计环境栅格p
grid_i
中点的数量,将数量为0的扇形栅格的角度保存下来,并标注为1,即空白栅格,其它标注为0,然后对所有栅格中保存的标注信息进行中值滤波,剔除个别异常值,得到栅格数组n_grid,每个数组中保存标签值和栅格的角度,最后对所有标签为1的栅格数组n
grid
进行角度排序,选择角度中间值作为道路分割角α,若标签为1的角度数组n
grid
的大小为0,这说明表示前方车辆拥挤,遮挡严重,则道路分割角可以取默认值0
°
,即x轴方向。
[0101]
具体依据道路分割角α,可以将非地面点云p
noground
划分为左边环境点云p
left
和右边环境点云p
right
,具体分割公式如下:
[0102]
[0103]
其中,pt表示点云中的某一点,pt.x表示点云的x坐标,pt.y表示点云的y坐标;
[0104]
4)最后,通过多项式拟合算法从种子点云中过滤出路边界点云,通过二次多项式拟合提取粗边界点云,再通过三次多项式提取精细的道路边界点云;
[0105]
先通过距离滤波从左右环境点云中提取左右道路边界种子点p
l_seed
和p
r_seed
,具体思路是,先将左右环境点云沿着x轴方向进行栅格化得到环境栅格p
x_grid_left
和p
x_grid_left
,然后在每个栅格里面根据点云的y方向坐标进行删选,其中,在p
x_grid_left
中选择每个栅格中点云的min(pt.y)作为种子点,在p
x_grid_left
选择每个栅格中点云的max(pt.y)作为种子点,从而得到道路的边界种子点云p
l_seed
和p
r_seed

[0106]
之后通过二次多项式拟合粗提取粗边界点云,二次多项式模型为y=ax2+bx+c,具体通过随机采样一致性算法从种子点云p
l_seed
和p
r_seed
中随机取三个点,计算二次抛物线模型y=a0x2+b0x+c0,分别将点云的pt.x坐标组成矩阵x,点云的pt.y坐标组成矩阵y,然后计算模型参数矩阵m=[a0,b0,c0],具体计算方法为m=x
inv
·
y,x
inv
为x的逆矩阵,然后通过模型m以及预先设定的残差阈值t
two
统计模型的内点个数n,然后通过迭代n次后,获得内点个数最大的模型作为最佳的模型m
best
,然后通过最佳模型去过滤出粗边界点云,得到p
l_rough_bound
和p
r_rough_bound

[0107]
之后采用三次多项式继续拟合粗边界点云,三次多项式模型为y=ax3+bx2+cx+d,具体首先通过从粗边界点云集中随机提取四个点,计算三次曲线模型y=a0x3+b0x2+c0x+d0,分别将点云的pt.x坐标组成矩阵x,点云的pt.y坐标组成矩阵y,然后计算模型参数矩阵m=[a0,b0,c0,d0],具体计算方法为m=x
inv
·
y,x
inv
为x的逆矩阵,然后通过模型m以及预先设定的残差阈值t
three
统计模型的内点个数n,然后通过迭代n次后,获得内点个数最大的模型作为最佳的模型m
best
,然后通过最佳模型去过滤出精细的道路边界点云,得到p
l_bound
和p
r_bound
,最后将左右两边界点云拼接得到最后的道路边界点云p
bound

[0108]
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0109]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的道路边界检测方法的道路边界检测装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个道路边界检测装置实施例中的具体限定可以参见上文中对于道路边界检测方法的限定,在此不再赘述。
[0110]
在一个实施例中,如图4所示,提供了一种道路边界检测装置,装置包括:
[0111]
获取模块10,用于获取道路的原始点云数据;
[0112]
目标提取模块20,用于提取原始点云数据中的目标区域,得到目标点云;
[0113]
地面分割模块30,用于对目标点云进行地面分割,得到非地面点云;
[0114]
道路分割模块40,用于将非地面点云划分成若干点云栅格,并根据点云栅格中的空白栅格对应的角度值确定道路分割角,以道路分割角对非地面点云进行划分,得到道路
两侧的环境点云;
[0115]
边界提取模块50,对道路两侧的环境点云进行距离过滤,得到对应的边界种子点云,并基于边界种子点云进行曲线拟合,提取得到道路边界点云。
[0116]
在一个实施例中,根据点云栅格中的空白栅格对应的角度值确定道路分割角包括:统计各个点云栅格内的点数量,并基于点数量确定空白栅格,其中,空白栅格为点数量为0或者小于预设数量阈值的点云栅格;根据空白栅格对应的角度值进行排序,并选择排序之后所有角度值的中间值作为道路分割角。
[0117]
在一个实施例中,根据空白栅格对应的角度值进行排序之前,还包括:基于所有点云栅格的标注信息进行中值滤波,并剔除异常值的点云栅格,其中,基于点数量标注点云栅格的标注信息。
[0118]
在一个实施例中,提取原始点云数据中的目标区域,得到目标点云包括:根据目标区域对原始点云数据进行各个轴向的直通滤波,提取得到目标点云,其中,通过高度数组对原始点云数据进行高度轴向的直通滤波。
[0119]
在一个实施例中,对目标点云进行地面分割,得到非地面点云包括:将目标点云划分成若干点云区域;通过平面法向量约束的随机采样一致性算法对每一点云区域进行地面分割,合并得到非地面点云,其中,平面法向量为点云区域拟合得到的地平面模型的法向量。
[0120]
在一个实施例中,通过平面法向量约束的随机采样一致性算法对每一点云区域进行地面分割,合并得到非地面点云包括:基于平面法向量约束的随机采样一致性算法,通过多线程并行拟合每一点云区域的地平面模型,其中,通过平面法向量和标准地面法向量之间的夹角与预设角度阈值比较,确定地平面模型是否正确,若不正确则重新迭代拟合;根据对应的地平面模型对每一点云区域的进行地面分割,合并得到非地面点云。
[0121]
在一个实施例中,对道路两侧的环境点云进行距离过滤,得到对应的边界种子点云包括:对道路两侧的环境点云分别进行栅格化处理,得到若干环境栅格;对每一环境栅格进行距离过滤,得到每个环境栅格的种子点;基于种子点得到边界种子点云。
[0122]
在一个实施例中,基于边界种子点云进行曲线拟合,提取得到道路边界点云包括:通过二次多项式对边界种子点云进行曲线拟合,提取得到粗边界点云;通过三次多项式对粗边界点云进行曲线拟合,提取得到道路边界点云。
[0123]
在一个实施例中,通过三次多项式对粗边界点云进行曲线拟合,提取得到道路边界点云包括:基于粗边界点云迭代拟合获取多个三次曲线模型,并统计各个三次曲线模型的内点个数,其中,从粗边界点云中随机提取四个点,建立三次曲线模型,基于三次曲线模型计算得到对应的模型参数矩阵,通过模型参数矩阵和预设的残差阈值统计三次曲线模型的内点个数;以内点个数最大的三次曲线模型作为最优模型,对粗边界点云进行过滤,提取得到道路边界点云。
[0124]
上述道路边界检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0125]
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口。其中,该计算机设备的处理器
用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种道路边界检测方法。
[0126]
本领域技术人员可以理解,图5中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0127]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述实施例中任意一种道路边界检测方法。具体详细说明参看方法对应的说明,在此不再赘述。
[0128]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中任意一种道路边界检测方法。具体详细说明参看方法对应的说明,在此不再赘述。
[0129]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0130]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0131]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1