APP下载

局部阈值自适应的地面点云分割

2023-10-02张佩翔高仁璟万振中

光学精密工程 2023年17期
关键词:栅格斜率直线

张佩翔,王 奇,高仁璟*,夏 阳,万振中

(1.大连理工大学 汽车工程学院 工业装备结构分析优化与CAE 软件全国重点实验室,辽宁 大连 116024;2.大连理工大学 宁波研究院,浙江 宁波 315000;3.比亚迪汽车工业有限公司,广东 深圳 518118)

1 引言

随着自动驾驶技术的迅猛发展,对无人驾驶中道路环境感知稳定性的要求越来越高,而相对于图像检测,激光雷达点云能够提供丰富的空间三维信息,在遥感探测[1-2]和无人驾驶[3-4]等领域得以广泛应用。由于点云数据中地面点云比重较大且通常被认为是不必要的信息,因此,需要对地面点进行有效去除[5]。

目前,有关车载激光雷达地面点云分割提出了多种方法。徐国艳[6]和Sebastian[7]等通过在x-y平面划分栅格,计算每个栅格的最大高程差,通过与设定阈值的对比进行地面点云分割,但此类算法易受陡坡和悬垂物体的影响。Chu[8]、蒋剑飞[9]和李炯[10]等通过比较同一扫描线连续点之间的高度阈值实现分割。Narksri[11]和冯绍权[12]等通过比较相邻环之间的水平阈值实现分割,此类算法速度快,但准确度有待提高。Velas[13]、释小松[14]等将点云转换为特征图,并应用神经网络对特征图进行训练,从而获得较好的分割结果。Paigwar[15]等提出Gnd-Net 方法,通过基于网格的方法估计地面信息,实时识别地面点,但此类方法需要大量有效标注的数据进行训练。Himmelsbach[16]等通过划分极坐标栅格地图形式,将点云映射到二维平面进行直线模型拟合,并设定点与直线模型垂直距离的方式实现地面点提取。Zermas[17]等利用随机采样一致性算法(RANSAC)拟合平面模型,并通过选取初始种子点的方法去除外点进行加速,此类算法通过设置距离阈值实现分割,但分割性能易受阈值大小和模型拟合程度的影响。

考虑到真实道路环境比较复杂,在坡度值变化较大的路面和障碍物与地面点云的交汇处,点云的类别判断难度较大。为提高点云的分割精度,本文在Himmelsbach[16]等对点云划分方法的基础上,提出具有自适应阈值的道路点云地面分割算法,并通过在Semantic-KITTI 数据集[18]进行二分类数据处理的基础上进行实验验证,证明了算法的准确性。

2 原理

本文提出的点云自适应阈值地面分割算法模型示意如图1 所示,主要包括原始点云输入、点云栅格地图划分、道路直线模型拟合和地面点云分割等部分。

图1 点云自适应阈值地面分割算法模型示意图Fig.1 Schematic diagram of point cloud adaptive threshold ground segmentation algorithm model

在点云栅格地图划分部分,采用极坐标栅格地图划分方法[16]。针对道路直线模型拟合,本文提出种子点自适应判断准则,通过将种子点选取的判断阈值与相邻种子点间的水平距离相关联,实现不同种子点分布条件下种子点集的更新。在道路模型斜率阈值判断条件中,本文加入了道路坡度连续性判断准则,引入模型拟合过程中斜率的变化量作为道路模型的判断依据,实现对斜坡道路的有效更新。在地面点云分割部分,本文建立了地面点分割的波动加权阈值自适应判断准则,通过确定近地面点集的方式描述路面的波动情况,并建立路面波动幅值加权公式,通过加权的方式削弱离群点和异常点的影响,进而实现地面点分割阈值的自适应判断。

2.1 栅格地图划分

激光雷达通过接收由物体表面返回激光发射器发射的激光束获取物体表面信息。由于激光雷达每转一圈便可接收数万条激光束,且所有激光束呈现杂乱分布,因此,需要对接收到的点云数据进行预处理。

极坐标栅格地图划分是对点云进行数据处理的一种有效的方法[19-20],本文在每帧点云的x-y平面划分极坐标栅格地图[16],并且在每个扇形栅格块中划分数个种子点区域b,在扇形栅格的中心线位置建立二维坐标地图,通过将三维点云数据映射到二维坐标地图的方式,实现点云数据的处理,点云数据极坐标划分如图2所示。

图2 点云数据的极坐标划分Fig.2 Polar division of point cloud data

图2 中以激光雷达为中心划分极坐标地图,将点云平均划分为N个极坐标栅格块S,划分个数为:

式中:N为极坐标栅格块S的划分个数;Δα为划分角度。

基于自动驾驶汽车在行驶过程中感知范围的有效性,并根据路面分割的计算经验,选取距离车辆60 m 的范围作为感兴趣区域[16]。根据物理特性,激光雷达在感知周围环境时会出现随着距离增加点云变稀疏的情况,因此将每个极坐标栅格块S划分为M个区域bi(i为1~M),且bi沿远离激光雷达原点的方向逐渐增大。

2.2 道路分段直线模型拟合

激光雷达点云数据为三维信息,进行直线模型拟合时需将三维点云映射到二维地图中。对于每个区域bi中的点云pi=(xi,yi,zi)T,在x-y平面中将它映射到S的中心面,得到点云集:

式中:Pbi,Pbi'分别为初始点云集和映射后的点云集;pi,pi'分别为初始点和映射后的点。初始点云和映射点云之间的索引关系通过点云的输入顺序建立。

由于车辆行驶过程中出现的抖动和周围环境的干扰,点云数据中存在一定量的噪声点,为减少噪声点对直线模型拟合的影响,本文采用多条件判断的形式筛选拟合模型的种子点。通常认为点云中高度值最小的点为地面点,因此,将每个区域bi中的高度值最低点作为初始种子点,通过对种子点的筛选建立种子点集。

本文以种子点集的点云为原始点实现直线模型的拟合。从雷达原点沿扫描线方向遍历区域b,依次取非空区域bi中的种子点加入种子点集BSi,当种子点集中的点数大于2 时进行直线模型拟合,直线模型为:

式中:a,b为常数;x,y表示点的坐标。利用最小二乘法,基于种子点集BSi拟合直线模型。

车辆在行驶过程中地面具有一定程度的起伏,如图3 所示,R1路段和R2路段显然不属于同一地面模型,因此在地面直线模型拟合时需要分段处理。这里通过地面直线模型拟合时种子点集的更新来实现直线模型的分段处理,其主要过程为:

图3 车辆行驶路况图Fig.3 Vehicle driving road map

(1)种子点距离阈值自适应判断。建立种子点条件阈值与种子点水平距离的判断准则,解决传统固定阈值分割中的误分割问题。

(2)直线模型的斜率阈值判断。引入道路坡度连续性判断准则,并计算当前直线模型斜率a,如果小于斜率阈值amax,则认为当前种子点符合直线模型。

(3)点的期望高度判断。将当前种子点在二维平面的水平坐标代入直线模型,计算得到垂直坐标作为期望高度,计算当前种子点的期望高度与当前种子点实际高度之差的绝对值,并将绝对值与最大期望阈值进行比较,以判断该种子点是否符合当前直线模型。

(4)直线模型更新。当上述条件都满足时,则认为该点属于当前种子点集;反之,则保存当前直线模型,清空种子点集,遍历下一个区域b,重复上述步骤,从而实现直线模型的分段拟合。

2.3 种子点距离阈值自适应判断

种子点集更新时,传统的固定阈值判断方法存在误分割问题,如图4 所示。

图4 区域bi点的分布对dmax的影响Fig.4 Effect of distribution of regional bi points on dmax

图4 中,Ai点和其他区域b拟合的直线模型为LA;Bi点和其他区域b拟合的直线模型为LB。计算当前种子点集BSi中种子点到所属直线模型的最大正交距离dmax。传统固定阈值分割方法认为,当dmax小于正交距离阈值Δd时,则该种子点有可能属于当前直线模型。但是当区域b的范围沿着激光束的方向增加,b内点云的分布对dmax的影响会逐渐增大。当模型更新到区域bi时,判断最低点是否可纳入当前种子点集,这同当前点与前一点之间的距离有关,由图4 可知,d_MB>d_MA,因此Ai点被认为更符合当前直线模型,Bi点则易被错误剔除。

上述种子点集更新出现的误剔除是由于种子点的位置影响了直线模型的拟合。以图5 点云的分布形式来说明点云的位置对直线模型的影响程度。

图5 点云分布假设图Fig.5 Point cloud distribution hypothesis map

图5 中,Ai和Bi位于同一高度,点Bi与M点的水平距离很近,而Ai点与M点的水平距离很远,不同区域点云之间的前后距离分布对直线模型的影响程度很大,进而对种子点集的更新造成较大影响。本文提出自适应距离条件阈值的方法来减小点云水平分布位置对种子点集更新的影响,流程如图6 所示。

图6 种子点集更新流程Fig.6 Flowchart of seed point set update

Δd的计算公式如下:

式中:Δdmax,Δdmid和Δdmin表示点云集在不同距离条件下的更新阈值;Xi表示当前bi区域种子点距离雷达中心的水平距离;Xi-1表示前一区域bi-1种子点距离雷达中心的水平距离,ΔXmin与ΔXmax的取值与当前区域bi的范围线性相关。本文通过对前后两点过近和过远时采用不同的正交距离阈值判定形法,可有效解决种子点集在更新时出现的误判。

2.4 道路坡度连续性判断准则

传统道路斜率阈值判断时,如果出现当前拟合的直线模型斜率过大,则认为当前模型需要分段处理;当斜率a小于最大斜率阈值amax时,认为该种子点适合当前直线模型。当车辆行驶至斜坡路面时,地面斜率会出现较大值,使得当前地面模型更新处于停滞状态。

为解决这一问题,本文引入直线模型拟合过程中直线斜率的变化率来判断当前直线模型是否需要分段处理,其判断条件为:

式中:ae表示当前直线模型斜率与前一直线模型斜率之间差的绝对值;ae_max表示最大斜率差值阈值。本文首先进行直线斜率变化率的阈值判断,在排除斜坡地形的基础上再进行斜率的阈值判定,从而解决斜坡地形种子点集更新停滞的问题。

2.5 地面波动加权幅值自适应判断

考虑到汽车在行驶过程中的颠簸使得地面点云产生一定程度的畸变,而基于模型的分割阈值受地面的波动影响[21],传统形式的固定阈值点云分割精度较低。本文选取高度值最低的n个点作为近地面点集Gpi,采用近地面点集Gpi中点到地面直线模型的正交距离描述地面波动情况,并据此确定分割阈值,波动幅值f表示为:

式中:di为近地面点集Gpi中每个点到地面直线模型的正交距离;du为近地面点集Gpi中的点到直线模型的正交距离均值;n为近地面点集Gpi中点的个数,其数值与当前直线模型遍历的区域b的个数呈线性关系;ρ为加权系数,用来削减离群点和异常点的影响,可表示为:

式中:t为内点临界阈值,表示非离群点距离du均值的范围;tk为内点临界阈值影响系数;dmax表示di中的最大值。张凯[21]等的研究结果表明,模型的分割阈值受地面波动程度的影响,且二者具有线性关系。基于此建立地面直线模型分割阈值ΔHmax与地面波动幅值f的关系方程,即:

式中:k为波动幅值影响系数,由张凯[21]等研究所得,k取1.5。在地面点云分割过程中,将点到地面直线模型正交距离小于ΔHmax的点划分为地面点,从而完成点云的地面分割工作,整体算法流程如图7 所示。

图7 地面点分割流程Fig.7 Flowchart of ground point segmentation

3 实验结果分析与验证

3.1 Semantic KITTI 数据集简介

鉴于目前激光雷达点云地面分割实验所用数据集大多为经过人工标注的自采数据,数据集的普遍性和规范性不强。因此,本文在Semantic KITTI 数据集[18]的基础上进行点云的二分类,生成具有标注信息的地面点云。

Semantic KITTI 数据集是基于KITTI 数据集,通过对数据集中的点云进行人工标注生成具有语义信息的点云数据,该数据集包含道路、人行道、车辆等28 个数据类别,不仅对场景中的动态物体进行标注,同时对静态物体也进行了细致的划分,划分结果如图8 所示。

图8 Semantic KITTI 道路信息划分Fig.8 Segmentation of semantic KITTI road information

3.2 数据集二分类

为有效验证所提算法,需对数据集进行二分类处理。根据经验,本文将道路、停车位、人行道和其他地面地形四部分划分为地面点云,剩余部分划分为地上点云,划分结果如图9 所示(彩图见期刊电子版),图中绿色表示地上点云,紫色表示地面点云。

图9 Semantic KITTI 数据集二分类划分结果Fig.9 Binary division result of semantic KITTI dataset

3.3 算法测试

本文算法使用C++实现,算法运行环境为Intel i7-10700F 处理器、64G 内存和NVIDIA 1660 super 显卡的微型计算机。为评价算法在不同环境下的分割性能,选取Semantic KITTI 中4 500 帧点云数据进行实验验证,图10 为本文算法实现的分割结果。

图10 本文算法的分割结果Fig.10 Segmentation result of proposed algorithm

由图10 可以看出,本文算法对地面点和非地面点进行了有效的分割,对车辆,路侧灌木等的分割完整。然后,在4 500 帧经二分类处理数据的基础上,将本文算法与固定阈值算法、文献[8]和文献[17]所提出的算法的分割结果进行对比。

3.4 对比结果分析

为定量的评估各算法的分割精度,采用Lee[19]等提出的精确率(Precision)和召回率(Recall)的两个评价指标来分析:

式中:TP为地面点正确标记的数目;FP为非地面点被错误标记为地面点的数目;FN为地面点被错误标记为非地面点的数目。P越大,说明分割出的地面点中正确分割的数目越多,分割效果越好;R越大,说明数据集中被标记为地面点的点云正确分割的数目越多,分割效果越好。对4 500 帧点云的分割结果如图11 所示。

图11 不同算法的分割结果Fig.11 Point cloud segmentation results of different algorithms

由图11 可知,由于固定阈值算法和本文算法采用相同的数据划分方式和判断类型,因此在精确率和召回率图中具有相同的分割趋势,而本文算法获得了一个较高精度的分割结果。对4 500帧点云的精确率和召回率取平均值并计算点云分割的平均计算时间,对比结果如表1 所示。

表1 Semantic KITTI 二分类数据集分割结果对比Tab.1 Comparison of segmentation results of Semantic KITTI binary dataset

由表1 可知,本文算法相对文献[8],精确率提高了2%,相对文献[17]提高了4%;本文算法相对固定阈值方法,召回率提高了1%,相对文献[8]提高了4%,由此验证了本文算法在地面分割处理上的准确性。

4 结论

本文提出一种基于种子点距离阈值和路面波动加权幅值自适应的地面点云分割方法。该方法在极坐标点云栅格地图划分方法的基础上,考虑种子点的选取判断阈值与相邻种子点间水平距离的关系,并在此基础上加入道路坡度连续性判断准则和地面波动加权阈值自适应判断准则,以提升对地面点云的分割精度。最后,在Semantic KITTI 二分类数据集上进行了算法验证,相关数据分割结果表明,本文算法在地面均点云分割精确率和召回率方面最多提高了4%,验证了算法的准确性。由于本文算法在种子点集判断以及地面幅值判断部分进行了大量计算,运行时间稍长,后续有待进一步改进。

猜你喜欢

栅格斜率直线
基于邻域栅格筛选的点云边缘点提取方法*
物理图像斜率的变化探讨
画直线
两条直线 变变变
画直线
求斜率型分式的取值范围
基于子孔径斜率离散采样的波前重构
MMC-MTDC输电系统新型直流电压斜率控制策略
不同剖面形状的栅格壁对栅格翼气动特性的影响
基于CVT排布的非周期栅格密度加权阵设计