基于欧氏聚类的改进激光雷达障碍物检测方法 下载: 1301次
1 引言
在基于激光的无人驾驶和移动机器人应用中,动态场景下提取对象的能力十分重要。感知系统需要在动态环境下感知物体的移动,对图像或点云数据进行处理是分析的关键。在自主导航中,对三维激光雷达点云数据进行单个对象分离是无人驾驶和移动机器人的重要任务。在具有复杂交通环境的街道路面上,地图可能因为环境动态性质发生错误数据关联,无人驾驶车辆需要对周围环境进行推理,在扫描过程中会极大发生误差并进行错误配准,因此实现快速且鲁棒的3D稀疏点云分割与聚类非常重要。
基于三维激光雷达检测障碍的方法主要包括DBSCAN聚类算法[1]、K-means聚类算法[2]、欧氏聚类算法[3]、利用深度图像进行聚类分析的算法[4]等。其中,DBSCAN算法是一种基于密度的数据聚类算法,多用于数据挖掘和机器学习中,在进行点云处理时,此算法能够快速地对任意形状点云进行聚类,但内存资源消耗大,数据过多时对处理器要求很高。K-means聚类算法在数据量较大时仍能保持高准确性,但需要手动输入聚类数目K,由于路面情况较为复杂,K-means聚类算法难以达到实时性要求。欧氏聚类算法则对大多数据有通用性,点云分割的效果也良好,但是需要预设固定的距离阈值,因此该算法在三维激光雷达障碍物检测中精度较低。Vosselman等[5]利用区域生长法和3D Hough变换技术来检测几何形状。Tarsha-Kurdi等[6]通过比较Hough变换技术和RANSAC算法的结果来检测3D建筑点云中的屋顶平面,发现RANSAC算法更有效。Yu等[7]提出了一种基于距离图像的分割算法,用于在城市场景中检测平面区域并同时将结果合并到标记的点云中。本文提出一种在同样计算条件下,对局部点云射线采用角度约束,对全局点云射线采用距离分割的改进欧氏聚类算法,该算法有效地解决了点云近密远疏特性导致分割成功率较低的问题。
2 地面-非地面分割
分割前需要从获得的点云数据中移除地面。简单的方法是将低于车辆高度的3D点移除,这种方式在一般场景中作用较大,但是在车辆的俯仰角、侧倾角不等于0或者地面并非完美的平面时误差较大,因此用RANSAC平面拟合方法进行改善[8]。激光雷达交互软件会提供每条激光束的距离值、时间戳及光束角度。可以直接将这些数据转换为深度图像,图像的行数由垂直方向上光束的数量决定,例如,对于Velodyne激光雷达,有16线、64线、128线等。而图像的列数由激光每旋转360°得到的距离值产生。这种深度图像的每个像素存储了传感器到物体之间的距离,为了加速计算,可以将水平方向上的多个读数组合成一个像素。对于地面分割,提出三个假设:假设传感器安装在水平移动的基座上;假设地面的曲率很低;假设移动机器人或者车辆至少在深度图像最低像素上能观测到地面。
假设条件成立,将深度图看作矩阵,则第c列r行的像素值转化为角度Rr,c,这些角度表示连接两点的倾斜角度,
式中:ξa和ξb分别为第r-1行和第r行激光束的垂直角;‖BC‖为两条相邻射线间的垂直距离。由于计算每个α时需要两个深度值,因此生成的角度图的行数比深度图的行数少1,所有的角度表示为在r行和c列坐标上的角度值。
基于随机采样一致性的RANSAC平面分割算法在点云数据处理中十分常用,其基本思想是根据一组包含噪声、外点等各种缺陷的样本数据集,估计出数学模型参数,同时得到有效的样本数据,结合深度图像的像素距离与平面拟合获得对应的非地面点云,如
3 离散点去除
采用VoxelGrid方法对点云进行下采样,即减少点的数量,该方法的优势在于减少点云数据量的同时能保留点云形状特征,提高了配准精度。激光雷达通常会产生不均匀的点云数据,测量中的误差会产生稀疏的离散点使得结果不准确(例如,前后人物的错位使点云连接)。解决方法是对每个点的邻域进行统计分析,并修剪掉那些不符合标准的点。稀疏离群点移除方法计算输入数据中点到临近点的距离,再计算每个点到所有临近点的平均距离,假设结果是一个高斯分布,其形状由均值和标准差决定,平均距离在标准范围之外的点可被定义为离群点并从数据中去除。该方法用于检测并消除远离样本的异常值,同时能保护好样本点。由此可见,异常值和噪声数据是两种性质不同的点,由统计学方法可知:检测异常值时首先假设点云数据是正常数据并遵循一定的分布规律,然后统计点云数据的概率分布情况,选定该点云的生成模型,再修剪不符合指定标准的点。
1)基于正态分布的一元离群点检测:假设有n个点x1,…,xn,这n个点的均值μ和方差σ表示为
然后,对于数据点x,可以计算概率p(x)以确定x是否是异常值:
式中:i和j均为激光点云数目。
2)多元高斯分布的离群点检测:假设n维的数据集为x={x1,…,xn},则n维数据集的平均向量为
式中:E(·)为期望值。数据集的n×n的协方差矩阵为
对于点x,计算概率p(x)来判断x是不是一个异常值:
4 角度约束-局部分割
激光雷达的垂直分辨率对分割有着重要的影响。需要判断相邻点之间的距离和角度,同时也要判断该激光束是否被同一物体反射,为了解决激光束是否被同一物体反射的问题,采用基于角度约束的局部点云分割方法。首先,将激光雷达三维点云转为深度图像,深度图像的优点是可以明确邻域之间的关系,从而更容易对分割问题进行处理,使整体的计算速度提高。
图 5. 行人与车辆位置。(a)射线图;(b)俯视图
Fig. 5. Location between pedestrians and vehicles. (a) Ray diagram; (b) top view
由
由
5 欧氏聚类-全局分割
5.1 按距离分割点云
本实验采用Velodyne VLP-16线激光雷达,其有效测量距离为100 m,垂直视场角为30°,垂直角分辨率为2°,水平角分辨率为0.1°~0.4°,每秒可搜集30×104点云数据,旋转一周射线数为900~3600。采用欧氏聚类方法实现分割,此方法最重要的参数是聚类半径阈值[9]。点云具有近密远疏的特性,为了达到更好的聚类效果,在不同距离的区域使用不同聚类半径阈值,如
划分激光雷达射线距离:D1=15 m,D2=30 m,D3=45 m,D4=60 m,命名为分割圈1,2,3,4,5。有效半径阈值设定为:r1=0.5 m,r2=1.0 m,r3=1.5 m,r4=2.0 m。有效点云到发射点的距离为
式中:xcur+ycur为每一个激光点的平面坐标。当距离大于80 m时,忽略该点或采用滤波去除。
5.2 聚类点云
聚类就是将没有任何结构的原始点云按照欧氏距离、颜色、曲率、法线方向等特征分割成一系列的点云簇,同一类点云簇的点云具有相似的特征,欧几里得聚类便是将欧氏距离相近的点聚在一起,是点云分割的常用算法[10]。
完整点云虽然信息丰富,但同时也使聚类变得困难,难以区分地面点云与物体点云信息,不利于点云聚类。因此按距离分类为五个类别且对应5组设定有效半径阈值的点云,再比较原始距离与分割距离的关系,若实际距离小于最近有效划分距离,则将其归类于该平面,以此类推,将所有搜集到的点云数据划分到五个平面内,若点的距离在分割距离的第一个圈内,将该距离范围内的激光数据归类到该分割圈,以次类推。
6 实验验证及讨论
为验证所提算法效果,采用某品牌电控车装载的Velodyne激光雷达作为实验平台,如
图 8. 实验平台。(a)电控车实车图;(b)电控设备
Fig. 8. Experimental platform. (a) Electric control car; (b) electric control equipment
6.1 Bounding Box
生成边界框的方法是沿x轴和y轴对点云进行界定。如
6.2 路面拟合分析与讨论
RANSAC法在拟合平面与处理异常值上有着很强的鲁棒性,考虑到算法的后续应用,去除地面是十分重要的一步。最小二乘法在设初值和求最优解时会出现多次误差。
图 10. 地面去除。(a)最小二乘法;(b) RANSAC算法
Fig. 10. Ground removal. (a) Least square method; (b) RANSAC algorithm
表 1. 地面分割对比
Table 1. Comparison of ground segmentation
|
6.3 聚类效果分析与讨论
聚类效果是衡量算法有效性的标准之一。所提算法主要的改进有全局动态阈值分割和局部射线角度约束,因此对独立个体具有更好的区分性,如
图 11. 局部聚类对比。(a)点云图;(b)传统欧氏聚类算法;(c)改进欧氏聚类算法
Fig. 11. Local cluster comparison. (a) Point cloud map; (b) traditional Euclidean clustering algorithm; (c) improved Euclidean clustering algorithm
图 12. 全局聚类对比。(a)原始点云;(b)传统欧氏聚类算法;(c)改进欧氏聚类算法
Fig. 12. Global cluster comparison. (a) Original point cloud; (b) traditional Euclidean clustering algorithm; (c) improved Euclidean clustering algorithm
实验过程中进行了连续帧数据包的测试,分别使用传统欧氏聚类算法、改进欧氏聚类算法对同一时间段的数据进行障碍物检测与识别,实验结果如
表 2. 路边停靠车辆(165辆)
Table 2. Vehicles parked on roadside(165 vehicles)
|
表 3. 行人(113位)
Table 3. Pedestrian (113 pedestrians)
|
表 4. 移动车辆包括非机动车辆(33辆)
Table 4. Mobile vehicles including non-motorized vehicles (33 vehicles)
|
7 结论
在基于距离阈值的点云分割算法中,距离阈值是一个十分难以把握的量。由于点云具有近密远疏的性质,所以即便对不同距离采用不同的阈值也难以完全分割物体,欧氏聚类虽然实现简单且实时性快,但这同时也成为处理3D激光雷达点云数据的弊端。所提算法虽然能够增强点云的聚类,但是受非道路元素的影响颇大,可以采用高精地图彻底剔除不在可行驶区域上的点,这样不仅聚类的计算量更小,同时也能够排除很多障碍物的干扰。
[1] 冯少荣, 肖文俊. DBSCAN聚类算法的研究与改进[J]. 中国矿业大学学报, 2008, 37(1): 105-111.
Feng S R, Xiao W J. An improved DBSCAN clustering algorithm[J]. Journal of China University of Mining & Technology, 2008, 37(1): 105-111.
[2] 孔栋, 王晓原, 刘亚奇, 等. 基于车载32线激光雷达点云的车辆目标识别算法[J]. 科学技术与工程, 2018, 18(5): 81-85.
Kong D, Wang X Y, Liu Y Q, et al. Vehicle target identification algorithm based on point cloud of vehicle 32-line laser lidar[J]. Science Technology and Engineering, 2018, 18(5): 81-85.
[3] 陈向阳, 杨洋, 向云飞. 欧氏聚类算法支持下的点云数据分割[J]. 测绘通报, 2017( 11): 27- 31, 36.
Chen XY, YangY, Xiang YF. Measurement of point cloud data segmentation based on Euclidean clustering algorithm[J]. Bulletin of Surveying and Mapping, 2017( 11): 27- 31, 36.
[4] 王新竹, 李骏, 李红建, 等. 基于三维激光雷达和深度图像的自动驾驶汽车障碍物检测方法[J]. 吉林大学学报(工学版), 2016, 46(2): 360-365.
Wang X Z, Li J, Li H J, et al. Obstacle detection based on 3D laser scanner and range image for intelligent vehicle[J]. Journal of Jilin University (Engineering and Technology Edition), 2016, 46(2): 360-365.
[5] Vosselman G, Gorte B, Sithole G, et al. Recognising structure in laser scanner point clouds[J]. International Archives of Photogrammetry, Remote Sensing and Spatial Information Sciences, 2004, 46(8): 33-38.
[6] Tarsha-KurdiF, LandesT, GrussenmeyerP. Hough-transform and extended RANSAC algorithms for automatic detection of 3D building roof planes from lidar data[EB/OL]. [2020-01-02].https:∥hal.ird.fr/AO-ARCHITECTURE/halshs-00264843v1.
[7] YuG, Grossberg MD, WolbergG, et al. Think globally, cluster locally: a unified framework for range segementation[C]∥Fourth International Symposium on 3D Data Processing, Visualization, and Transmission (3DPVT), June 18-20, 2008, Atlanta, GA, USA. [S.l.: s.n.], 2008.
[8] 薛连杰, 齐臣坤, 张彪, 等. 基于3维点云欧氏聚类和RANSAC边界拟合的目标物体尺寸和方位识别[J]. 机械设计与研究, 2018, 34(5): 44-48,53.
Xue L J, Qi C K, Zhang B, et al. Object size and orientation recognition based on 3D point cloud Euclideam clustering and RANSAC boundary fitting[J]. Machine Design and Research, 2018, 34(5): 44-48,53.
[9] 刘如松. 基于样本间最小欧氏距离的多特征融合识别算法研究[J]. 计算机与数字工程, 2017, 45(12): 2373-2378.
Liu R S. Research on multi-feature fusion recognition algorithm based on minimum Euclidean distance between samples[J]. Computer & Digital Engineering, 2017, 45(12): 2373-2378.
[10] 陈贵宾, 高振海, 何磊. 车载三维激光雷达外参数的分步自动标定算法[J]. 中国激光, 2017, 44(10): 1010004.
Article Outline
刘畅, 赵津, 刘子豪, 王玺乔, 赖坤城. 基于欧氏聚类的改进激光雷达障碍物检测方法[J]. 激光与光电子学进展, 2020, 57(20): 201105. Chang Liu, Jin Zhao, Zihao Liu, Xiqiao Wang, Kuncheng Lai. Improved Lidar Obstacle Detection Method Based on Euclidean Clustering[J]. Laser & Optoelectronics Progress, 2020, 57(20): 201105.