APP下载

基于自适应阈值DBSCAN的路侧点云分割算法*

2022-08-04金立生王欢欢谢宪毅郭柏苍

汽车工程 2022年7期
关键词:激光雷达滤波聚类

金立生,贺 阳,王欢欢,霍 震,谢宪毅,郭柏苍

(1. 燕山大学车辆与能源学院,秦皇岛 066004;2. 燕山大学,河北省特种运载装备重点实验室,秦皇岛 066004)

前言

智能交通可以推进网联自动驾驶车辆的发展,提升行车安全性、减少拥堵。目前,新一代通信技术5G 取得了革命性的进展,大大提升了车路通信网络的承载能力,使自主式感知在感知视野上的技术瓶颈能通过协同感知有效解决。激光雷达作为环境感知常用的传感器之一,路侧安装激光雷达可以为网联自动驾驶车辆提供环境中周围车辆的位置、速度等多维信息。对激光雷达点云数据处理的步骤中聚类分析作为其关键步骤之一,准确提供隶属于同一目标的点云对于后续目标检测和速度测量等任务具有重要意义。

近年来,国内外学者对激光雷达点云分割方法的研究主要分为两类:基于深度学习和基于点云聚类。基于深度学习的点云分割方法利用数据集对模型进行训练,得到包含点云空间局部-全局特征的参数模型,最后使用训练好的模型进行点云级分割。文献[7]中针对点云全局特征无法准确表征局部信息,基于抽象模块(set abstraction,SA)和Point-Net 构建了多尺度特征网络提取局部特征;文献[8]中针对点云局部特征之间相互耦合,基于区域内结构学习模块(intra-region structure learning,ISL)和区域间关系学习模块(inter-region relation learning,IRL)构建了区域间关联性自适应提取网络;文献[9]中针对大规模点云无法直接使用深度学习进行处理的问题,基于随机采样(random sampling)和局部特征整合模块(local feature aggregation module)建立了高效特征提取网络。基于深度学习的激光雷达点云分割方法优点在于分割精度高,特征提取主观性低。但须提前使用标注好的数据进行训练,标注的工作量较庞大;另外训练所用数据的质量和训练数据采集场景与部署场景的相似性直接影响训练所得模型在部署场景中的表现;此外,深度学习计算平台的硬件成本仍相对较高。

基于点云聚类的分割方法主要通过人工设定点云生长规则提取隶属于同一目标的点云簇。文献[10]中针对越野环境下的行人识别问题,基于欧式聚类和行人几何特征构建了行人识别框架,但未考虑行人由近及远连续变化和噪声点的影响;文献[11]中引入点云密度对真实数据中密度小于阈值的噪声点进行滤除,但该方法仅设置全局参数,参数的设置对分割结果影响较大;而文献[12]中通过引入排序的思想来弱化带噪声基于密度的空间聚类(density-based spatial clustering of applications with noise,DBSCAN)算法对参数敏感的影响,但返回的结果是基于可达距离的有序点云集合,簇的提取须进一步计算,因此实时性较差;文献[13]和文献[14]中在DBSCAN 引入了block 概念,作为数据处理的最小单元,block 中至少包含一个点云,在簇的生长过程中同时处理多个点云,提高了实时性,但未考虑局部密度变化对聚类效果的影响;文献[15]中提出了一种适用于路侧雷达的背景滤除和目标检测框架,使用DBSCAN 对点云前景目标进行提取,但未考虑目标距离对DBSCAN 聚类效果的影响,距离较远时易产生过分割现象;文献[16]中针对距离对聚类效果的影响,在单一扫描线束上使用DBSCAN 算法,并根据线束间距离对不同线束点云簇进行合并,缺点是未考虑目标距离增加导致相邻线束间距增大的影响,对远距离目标易产生过分割现象。

上述文献中在进行点云分割时以算法耗时和分割精度为优化目标,算法耗时和分割精度互相耦合,算法实时性和准确性难以同时兼顾。

针对上述问题,考虑到算法的泛化性和路侧激光雷达点云的数据特点,本文中提出一种基于自适应阈值DBSCAN 的路侧点云分割算法。首先将采集到的原始数据进行预处理,降低数据维度并对地面和非地面点云进行分割;然后分析交通场景点云数据特点,构建基于sigmoid 函数的自适应阈值策略;最后利用DBSCAN 对非地面点云进行聚类,并利用自适应阈值策略对DBSCAN 中集群生长过程进行优化,提升分割的准确性;最后搭建路侧激光雷达数据采集平台,采集实际路段的数据,对本文算法进行验证。

1 激光雷达点云数据预处理

1.1 道路区域点云提取

本文中所采用的RS-Ruby Lite 80 线激光雷达由深圳市速腾聚创科技有限公司生产,是一种机械式激光雷达。路侧安装的激光雷达采集的数据包含了主干道路、辅路、路侧、较高交通设施、远距离建筑和噪声等部分,其中,主干道路点云是本文算法的研究对象,因此在预处理过程首先须通过直通滤波提取出主干道路区域内的点云。提取步骤如图1所示。

图1 直通滤波流程示意图

保留的点集须满足式(1)的要求:

式中:(xyz)为点集中第个点云的三维坐标;为半径阈值,考虑到激光雷达能提供有效特征的距离,取= 100 m;为高度阈值,考虑到场景内道路限高,取= 5 m;、、、为道路区域的方向和方向坐标范围,轴方向与道路方向相同,取= -100 m、= 100 m、= -10 m、= 26 m。

1.2 点云数据栅格降维

提取后的主干道路区域点云数据量依旧庞大,为加速计算,对提取的主干道路区域点云进行体素滤波下采样,栅格尺寸采用40 cm × 40 cm。以frame0 为例,体素滤波前包含68 561 个点,体素滤波后包含11 286个点。体素滤波处理前后效果对比如图2所示。

图2 体素滤波下采样

1.3 非地面点云提取

下采样处理后的点云包含了主干道路路面、路侧树木和交通参与者等部分,其中非地面点云为本文算法的研究对象,须对点云进行地面分割和非地面点云提取。路侧安装的激光雷达具有高度固定、背景固定和前景变化的特点,地面点云高度变化较小,同时,地面通常为较低点云组成的平面。因此,本文中采用平面模型拟合方法实现对地面和非地面点云的分割。考虑到路侧激光雷达采集的点云中地面通常高度较低、交通场景中路面通常为平面的特点,假设当前场景内地面为地势较低的平面。基于对地面做出的假设,采用文献[18]中提出的地平面滤波(ground plane filtering,GPF)算法实现地面点云分割与非地面点云提取。

GPF 算法基于高度特征和最低代表点进行地面模型拟合,当地面高度变化较小、激光雷达安装位置固定时,GPF 算法设置的高度参数与数据的匹配性较好,同时由于对初始种子点的选取采用了最低点采样规则,保证了算法在场景固定时性能稳定可靠,避免了基于随机采样(RANSAC)的地面分割算法关键特征点丢失的情况发生。文献[18]中将GPF算法应用到车载设备中,因此须从车载雷达算法中迁移到路侧场景中并针对路侧场景相对固定进行优化。

GPF 算法核心思想是基于点云生长,经过一定次数迭代后得到的平面为地平面。车载雷达工作场景复杂多变,地面高度也不断变化,行驶过程中存在地面突变如上下坡、道路施工、场景变化导致存在较大坑洼等情况,导致迭代过程中相邻两次拟合的平面模型相似性难以保障。但安装在路侧设备时,场景相对稳定,迭代过程中相邻两次拟合的平面模型相似性较大时,可认为算法准确找到了场景中的地面,即迭代过程中相邻两次拟合的平面模型分割出的地面点云数量差别小于1%时认为找到了地面,可提前结束迭代过程。因此,使用最大迭代次数和迭代过程地面模型相似性作为点云生长迭代过程的终止条件,可以在保证分割精度的前提下提升实时性。迭代终止条件为

式中:N为当前迭代次数;为最大迭代次数,为进一步提升实时性,取= 20;numPnumP分别为当前迭代和上一次迭代提取到的地面点个数;isStop为是否终止迭代判断参数。

地面滤波的效果如图3 所示。经过地面滤波后,点云被分割成地面点云和非地面点云,其中非地面点云作为聚类算法的输入进行同一目标点云的提取。

图3 地面滤波

2 非地面点云聚类

2.1 自适应函数构建

自适应阈值策略须构建基于特定参数的映射关系。sigmoid 函数是一种常用的S 型非线性激活函数,可把一个实数映射到0~1 之间,其中中部区域信号的增益较大,两侧区域信号增益较小,同时输出有界,对超过一定范围的输入参数不敏感。sigmoid函数曾一度作为深度学习的激活函数而广泛使用,其数学形式为

式中:、、为模型参数;为变量。

路侧部署的激光雷达采集的点云数据具有随距离增加点云稀疏性增强的特点,自适应阈值策略主要是对稀疏性增强导致的过分割问题进行抑制,因此选择点云到激光雷达的水平距离作为构建的映射关系的输入。考虑到路侧采集的点云数据还具有一定的视野盲区,同时远距离点云难以提供足够的用于目标检测的特征,因此近距离一定范围内和较远距离以外的点云对聚类和目标检测的意义较小,而由近及远的中部区域的点云是聚类和目标检测的核心区域,须对聚类算法的参数进行自适应修正。综合考虑路侧采集点云的数据特点,sigmoid 函数的特点对于路侧激光雷达数据处理具有较好的匹配性,因此选择sigmoid 函数作为构建的映射关系的基础模型。构建的映射关系为

2.2 自适应阈值DBSCAN

基于密度的空间聚类算法DBSCAN简便易实现,主要包括核心点搜索和集群生长两部分,在车载激光雷达点云聚类中广泛应用,但该方法仅通过点云空间密度来判断是否隶属于同一目标,没有考虑传感器采集的数据具有随距离增加稀疏性增加的特点,固定阈值难以在整个数据空间对所有局部区域实现精确分割,常见的解决思路包括自适应阈值和层次聚类。层次聚类算法由于场景内目标数量复杂多变,难以确定满足所有场景的终止条件,同时当场景内目标众多时层次聚类的计算复杂度较大,这在车辆拥堵时对算法实时性提出了较大挑战。自适应阈值策略的难点在于构建全局范围内所有局部场景都能准确分割的阈值策略,另外过于复杂的策略对算法实时性影响较大。

为构建简单易行的适用于全域场景的自适应阈值策略,处理路侧安装激光雷达采集的具有近距离盲区、远距离无有效特征、随距离增加稀疏性增加等特点的点云数据,使集群生长过程考虑与雷达的相对距离带来的密度下降的影响,引入在较小、较大范围变化不明显,中间范围增加较快的sigmoid 函数作为DBSCAN 集群生长过程中密度可达搜索半径的修正系数,对于划分隶属于同一目标的点云集群十分有利。构建出的模型如式(4)所示,而集群生长半径的修正公式为

式中:′为修正后的半径参数;为初始半径参数;r为搜索同一集群点的种子点。由式(4)确定的自适应阈值系数和固定阈值系数在主干道路区域内的分布如图4所示。图中,方向为道路方向,方向为与道路垂直方向。

图4 阈值分布

自适应阈值DBSCAN 的伪代码如下面算法1 所示。为加速计算,本文使用KDTree 对近邻搜索过程进行加速。

?

3 实验与结果分析

3.1 实验条件和数据来源

为验证本文所提算法的有效性,首先搭建了路侧激光雷达数据采集平台,如图5 所示。激光雷达可提供每秒144 万个点,旋转频率为10 Hz,工作模式为单回波模式,极限测距能力为230 m。数据采集设备为带操作系统ubuntu 18.04 的工控机nuvo8108,数据采集环境为ROS-melodic。升降平台初始高度为2.5 m,最高可升至7 m。该平台完全满足本文对于路侧激光雷达点云数据采集的要求。在路侧部署该实验平台,为模拟真实龙门架安装视角,将激光雷达上升至4.5 m,采集连续帧数据至bag包中。使用解析后的1 055帧连续点云数据对本文算法进行测试。采集数据的场景为真实路段,具体采集地点如图6 所示,其中标红区域为数据采集路段,红色五角星为实验平台部署位置。

图5 路侧激光雷达数据采集平台

图6 数据采集地点

采集的连续帧数据如图7所示。

图7 路侧激光雷达数据

3.2 实验验证

本文算法在计算机中完成,计算机配置为:处理器Inter core I7,内存16 GB,操作系统windows10(64位)。开发环境为jupyter notebook+spyder+Geany,编程语言为python3,所用数据为解析后的1 055 帧连续点云,算法输入为原始点云。本文所构建的KDTree中LeafSize为

式中(P)为当前帧非地面点云个数。

本文算法的具体参数设置如表1~表3所示。

表1 直通滤波参数设置

表2 地面滤波参数设置

表3 非地面点聚类参数设置

表中:、、、分别为直通滤波的半径阈值与高度阈值和ROI 区域阈值;、、、为地面滤波GPF算法参数,分别为最大迭代次数、属于平面点的距离阈值、最低代表点个数和初始地面点距离阈值;为平面模型中点到平面的距离阈值;、分别为自适应阈值DBSCAN 的输入参数搜索半径和判断为核心点的最少点个数;为实验采集的数据帧总数。

部分帧聚类结果如图8 所示,其中图8(a)、图8(c)、图8(e)和图8(g)为聚类前的非地面点云数据,使用回波强度进行可视化显示,图8(b)、图8(d)、图8(f)和图8(h)为聚类后的分割结果,使用matplotlib的brg色带按聚类标签进行上色。从结果来看,本文所提方法可以实现对交通场景内非地面点云的有效分割,能够提取出隶属于同一目标的点云,有效减轻路侧激光雷达点云过分割现象,达到了预期目标。

图8 部分帧分割结果

固定阈值和自适应阈值DBSCAN 的分割效果的对比如图9 和图10 所示。其中图9 为分割效果对比,图10 为分割结果细节对比。图中地面点云被标为黄色,非地面点云使用brg 色带按标签上色。图10 中红框内为局部放大区域,用于对分割细节进行对比分析。从图10 可见,本文所提的采用自适应阈值方法能够更好地提取出隶属于同一目标的点云,在中远范围内的过分割现象被有效抑制。

图9 聚类效果对比

图10 聚类效果细节对比

3.3 定量分析

在采集的1 055 帧连续数据中分别使用固定阈值DBSCAN 和自适应阈值DBSCAN 进行聚类,并用算法耗时、类别数量、C-H 系数(Calinski Harabasz score)、轮 廓 系 数(silhouette score)和D-B 系 数(Davies-Bouldin score)5 个指标进行对比。其中,C-H 系数为所有簇间和簇内离散度之和之比(其中离散度定义为距离的平方和),C-H 系数值越大表明聚类结果越好。C-H系数的算式为

式中:为C-H 系数值;为输入数据;n为数据维度;为聚类结果中簇的数量;(·)为矩阵的迹。而WB则分别为

式中:C为簇中包含的点;c为簇的中心点;c为输入数据的中心点;n为簇中包含的点的数量。

轮廓系数由簇内任一点到簇内其他点距离的均值和簇内任一点到相邻簇内所有点距离的均值定义。轮廓系数的算式为

式中为轮廓系数,取值范围为[-1,1],值越大说明聚类效果越好。

D-B 系数表示集群之间的平均“相似性”,定义为簇间距离与簇所占空间的比值。D-B系数值越小表明聚类效果越好。D-B系数的算式为

式中:为D-B 系数;= 1,2,...,为聚类结果中簇的数量;簇为与簇最相似的簇。R的算式为

式中:ss分别为簇和簇内所有点到簇的中心点距离的均值;d为簇和簇的欧式距离。

算法在每一帧数据中的具体表现如图11 和图12 所示。由图11(a)可见,自适应阈值DBSCAN 算法耗时在0.94~1.4 s 之间,固定阈值DBSCAN 算法耗时在0.78~1.3 s 之间,采用自适应阈值策略算法耗时略有增加。而从图11(b)可知,采用自适应阈值策略簇的数量明显减少。从图12 中可知,采用自适应阈值策略,轮廓系数略微增加,C-H系数显著增加,D-B 系数略微降低,这3 个系数的变化均表明本文方法分割出的点云簇具有更好的类内一致性和类间差异性,分割效果得到提升。

图11 算法耗时和类别数量

图12 聚类结果评价指标

算法在实际采集的数据中的整体表现如表4 所示。其中优化前为使用固定阈值DBSCAN,优化后为使用本文所提自适应阈值DBSCAN。由表4 可知,与固定阈值相比,采用自适应阈值策略算法耗时平均增加8.51%,类别均值平均减少15.23%,轮廓系数平均增加77.78%,C-H 系数平均增加约3 倍,D-B 系数平均降低4.52%。综合来看,本文所提方法可以有效减少路侧激光雷达点云的过分割现象。

表4 算法对比

3.4 对比分析

将 本 文 所 提 算 法 与 改 进DBSCAN、LADBSCAN进行了对比,在实际采集的数据中整体表现如表5所示。由表5可知,本文算法在轮廓系数均值、C-H 系数均值、簇的数量均值3 个指标上优于其他两种方法,而平均耗时和D-B 系数均值介于改进DBSCAN 与LA-DBSCAN 之间。本文所提方法计算量与其他两种方法计算量相当,同时考虑了交通参与者点云在道路行驶方向上具有更大的密度变化范围,因此本文所提方法在耗时上优于改进DBSCAN,在簇数量合理性上优于改进DBSCAN 和LA-DBSCAN,而LA-DBSCAN 由于采用了全局参数搜索核心点,局部变量进行候选集合生长,一定程度上增加了少量点云被标记为单独目标的可能,对于远距离小目标以避免被标记为噪声,但存在较为严重的过分割现象,因此簇的数量远高于其他方法,这也导致了轮廓系数和C-H 系数表现很差,而连续树木、树冠等被单独分割,使D-B系数表现优于其他方法。另外,由于道路中栏杆、部分车辆、远距离路侧树木具有较好的密度可达性,导致了LADBSCAN 将这些目标分割成同一目标,从而使大量点被标记为已遍历状态,尽管这减少了算法耗时,但并不会得到更好的分割效果。综合来看,本文所提方法在路侧激光雷达点云分割任务中具有较高的工程应用价值。

表5 不同算法对比

4 结论

本文中考虑了路侧激光雷达的工作场景特点,设计了基于GPF 的非地面点云提取框架,分析了点云距离对聚类效果的影响,基于sigmoid 函数和DBSCAN 构建了自适应阈值聚类方法。搭建了路侧数据采集平台,采集实际路段的数据,对本文算法进行验证,结果表明:

(1)对于输入的原始点云,通过直通滤波筛选出ROI 区域,利用体素滤波降低点云维度。针对地面点云滤波,提出了基于迭代相似性优化的GPF 算法,提升了算法实时性,在场景固定时能有效提取出非地面点云。

(2)路侧采集的激光雷达点云数据在近距离和远距离无效,中等距离范围内随距离增加点云稀疏性增加,sigmoid 函数映射关系与路侧雷达数据分布相关性强,基于sigmoid 函数构建的自适应阈值DBSCAN 聚类方法可以有效提高聚类结果的类内一致性和类间差异性。

不同场景对应的激光雷达安装位置及高度,监控区域道路类型各不相同,环境变化带来的算法泛化性问题仍有待进一步深入研究。

猜你喜欢

激光雷达滤波聚类
手持激光雷达应用解决方案
法雷奥第二代SCALA?激光雷达
基于激光雷达通信的地面特征识别技术
基于激光雷达的多旋翼无人机室内定位与避障研究
基于DBSACN聚类算法的XML文档聚类
基于改进的遗传算法的模糊聚类算法
RTS平滑滤波在事后姿态确定中的应用
基于线性正则变换的 LMS 自适应滤波
一种层次初始的聚类个数自适应的聚类方法研究
自适应确定K-means算法的聚类数:以遥感图像聚类为例