基于深度图的三维激光雷达点云目标分割方法 下载: 2493次
1 引言
三维激光雷达以其测距精度高、探测范围大以及不受照明条件影响的优势,成为一种重要的环境主动感知技术,在无人车、移动机器人等领域得到广泛的应用[1]。三维激光雷达产生的点云是海量、稀疏、无序的点集合,要实现对环境周围目标的识别,首先,最重要的一步是将点云聚类分离成独立的子集,每个子集与有物理意义的目标相对应,这种分割为后续目标识别及追踪提供了重要基础,其次,算法运行时间和分割效果直接影响到后续数据处理,但是普通的聚类算法无法满足点云分割实时性和准确性,因此研究一种快速、准确的高效分割方法很有必要。
目前,国内外对点云分割研究大致分为基于特征、基于地面投影及深度图三类。第一类研究直接在三维空间中构建复杂的特征,然后通过聚类算法对目标进行分割[2-6],这类基于特征的方法虽然可以取得较好的分割效果,但计算时间往往很长。文献[
4-5]中利用邻近点关系,提出了径向边界最近邻聚类算法,从某点出发不断迭代查询,因此算法实时性不好。DBSCAN(Density-Based Spatial Clustering of Applications with Noise)算法由于搜索临近点时间复杂度高,直接对点云目标进行分割的实时性并不高,为了提升速度,基于
为了满足目标点云分割算法准确性和实时性的要求,本文提出一种基于深度图的点云目标快速分割(FS)方法,不同于传统的DBSCAN聚类分割方法,从深度图的角度对点云数据进行处理,保证算法的实时性。采用自适应参数的改进DBSCAN算法,搜索临近点,同时考虑欧氏距离和角度距离,大大减少了相邻目标欠分割的问题,并在公开的数据集上验证了算法的有效性。
2 基本原理
2.1 数据获取和深度图的建立
本文提出的点云目标分割方法分为3步操作进行,主要包括建立深度图、地面点云去除、非地面点云聚类分割。
无人车中常用的激光雷达为机械式激光雷达,其中由若干组可以旋转的激光发射器和接收器组成,每个发射器发射一条激光束,称之为扫描线。目前主要有16线、32线和64线激光雷达。激光雷达中的激光束是波长在900 nm左右的近红外光,可以通过发射激光探测信号直接获得周围一圈准确的三维空间信息。激光雷达的成像原理比较简单:发射器和接收器连接在一个可以旋转的机械结构上,某时刻发射器将激光发射出去,之后接收器接收返回的激光,最后计算激光与物体碰撞点到雷达原点的距离。
以美国Velodyne公司xx型16线激光雷达为例,该激光雷达共有16个激光器,每个激光器在垂直方向都有固定的俯仰角,两个相邻的激光器之间的垂直夹角为2°,每间隔时间Δ
式中:
点云数据转化为深度图,将三维空间中的点投影到可以展开的圆柱形表面上,使其平面化。深度图的每个像素点存储了目标到激光雷达的空间距离
图 1. 从点云到深度图的投影过程。(a)点云数据;(b)深度图;(c)场景图片
Fig. 1. Projection form point clouds to depth map. (a) Point clouds; (b) depth map; (c) scene image
点云的三维直角坐标点(
式中:
2.2 地面点云的去除
地面点云数据去除是减少数据量以及提高分割算法精度的有效手段,是点云滤波的一种方式,根据各种滤波算法理论背景,可以对这些算法进行分类, 如基于坡度、基于形态学、基于分割等[12]。基于坡度的点云滤波方法[13]原理简单,搜索临近点导致计算量和内存占用很大,同时算法严重依赖于阈值的设定。基于形态学的滤波方法[14]主要通过设定高程阈值的方法实现地面点云的去除,这个方法虽然简单有效,但是无法处理起伏和有坡度的路面。基于分割的方法包括随机采样一致性法、地面分块直线拟合算法[15]等,这类方法往往能够获得较好的点云滤波效果,但是算法实时性不高,在无人车领域中应用受限。本文基于深度图的角度阈值法有两点创新:1)结合深度图提升搜索速度,在深度图上数据点的邻接关系较为明确,所以可以快速地搜索到临近点;2)原理简单,便于操作实施。
基于深度图的角度阈值法实现地面点云去除。激光器扫描线在地面和障碍物间形成的角度值存在显著的不同,可作为分离地面点云的重要依据。如
其中
式中:
广度优先搜索(BFS)算法是一种图搜索算法。本文结合BFS算法和深度图的角度阈值法去除地面点云:从深度图的起始点出发,搜索起始点所有的相邻点,计算与相邻点的角度差值来实现对地面点云的标记,然后再从相邻点搜索,最终实现整个地面点云的去除,这本身是一种以BFS策略的方式来实现遍历深度图。
基于BFS的地面点云去除算法的伪代码框图如
2.3 基于改进DBSCAN算法对非地面点云目标分割
文献[ 16]中提出了一种FS方法,即通过扫描线中的角度差判断是否为同一目标,但是对于稀疏点云目标往往易出现过分割问题。
DBSCAN算法作为一种有代表性的基于密度的聚类算法[17],它能够在有噪声的空间数据中发现任意形状的类,有距离半径参数(eps)
针对激光雷达应用,并结合深度图和DBSCAN算法特点,本文提出基于深度图的自适应参数的改进DBSCAN算法,一方面深度图是结构化形式,很容易找到临近点,提高了搜索速度,在深度图上8邻域范围选取代表点,搜索时间大大缩短,效率更高。另一方面,激光雷达点云的数据密度会随着扫描的距离变化而变化,距离激光雷达越近的数据密度越高,距离激光雷达越远的数据密度越低,
因此,将自适应参数
式中:
式中:
图 4. 角度距离和激光扫描目标示意图。(a)角度距离;(b)激光器扫描相邻的两个目标
Fig. 4. Angle distance and laser scanning target diagrams. (a) angle distance; (b) laser scanning two adjacent targets
基于深度图和改进DBSCAN算法对非地面点云目标分割的伪代码框图如
3 实验分析与讨论
为了验证本文提出的点云分割方法的实时性和分割精度,以文献[ 18]公开的街道数据集作为算法的测试样本,实验数据采集于美国Velodyne公司HDL-64型激光雷达,其有64个激光器,工作频率为10 Hz,可以实现2°~-25°角度调节,提供极好的垂直视野,水平视野可达360°,计算所使用的电脑配置为:INTEL 3GHz i7-7700CPU,8 GB内存。编程环境为C++及OpenCV,并使用OpenGL进行显示。
在数据集中随机抽取200 frame激光雷达数据进行实验,地面点云去除的效果如
图 6. 地面点云去除结果。(a)原始点云数据;(b)去除地面点云后
Fig. 6. Ground point cloud extraction result. (a) Original point cloud data; (b) ground point cloud extraction
为了对比非地面点云目标分割方法,选取FS算法进行对比。FS算法利用不同目标的角度差异实现对目标的分割,在对比实验中角度值设为10°,本文提出的方法设定
图 8. 点云目标分割结果。(a)FS算法;(b)所提算法
Fig. 8. Point cloud target segmentation results. (a) FS algorithm; (b) proposed algorithm
分别通过两种算法进行处理,得出每种算法的
4 结论
提出了一种基于深度图的三维激光雷达点云目标FS方法,通过角度阈值法去除地面点云,采用改进DBSCAN算法来改善固有参数的缺陷,同时考虑空间欧氏聚类和角度距离,较好地克服了相邻目标的欠分割问题,并结合深度图提升搜索速度,实时性进一步得到保障,最终实现对非地面点云目标的FS。通过实验进行验证,结果表明该方法的时间效率远高于原始DBSCAN算法,提高了约48倍,同时在分割效果上也优于其他方法,相较于FS算法,本文提出的方法在准确度提升了近10%,为点云目标的FS提供了一种新思路,是一种较为有效的方法。
点云目标分割研究目前大多数仍采取先地面点云去除再目标分割的处理方式,然而,地面点云去除操作很大程度上影响后续点云目标分割的准确度,对点云目标分割实现端到端处理是未来的研究方向。同时考虑到无人车在恶劣天气、雾霾等情况下。激光雷达自身工作特性,为了保证无人车较高的安全性要求,多种传感器相融合的处理方式可能是较为稳妥的方式。
[2] DouillardB, UnderwoodJ, VlaskineV, et al. A pipeline for the segmentation and classification of 3D point clouds[M] ∥Khatib O, Kumar V, Sukhatme G. Experimental robotics. Berlin, Heidelberg: Springer, 2014: 585- 600.
[3] Lu XH, YaoJ, Tu JG, et al. Pairwise linkage for point cloud segmentation[J]. ISPRS Annals of Photogrammetry, RemoteSensing and Spatial InformationSciences, 2016, III-3: 201- 208.
[4] KlasingK, WollherrD, BussM. A clustering method for efficient segmentation of 3D laser data[C]∥2008 IEEE International Conference on Robotics and Automation, May 19-23, 2008, Pasadena, CA, USA. New York: IEEE, 2008: 4043- 4048.
[6] 黄钢, 吴超仲, 吕能超, 等. 基于改进DBSCAN算法的激光雷达目标物检测方法[J]. 交通信息与安全, 2015, 33(3): 23-28.
[7] Asvadi A, Premebida C, Peixoto P, et al. 3D Lidar-based static and moving obstacle detection in driving environments: an approach based on voxels and multi-region ground planes[J]. Robotics and Autonomous Systems, 2016, 83: 299-311.
[8] 杨飞, 朱株, 龚小谨, 等. 基于三维激光雷达的动态障碍实时检测与跟踪[J]. 浙江大学学报(工学版), 2012, 46(9): 1565-1571.
[9] 叶刚. 城市环境基于三维激光雷达的自动驾驶车辆多目标检测及跟踪算法研究[D]. 北京: 北京理工大学, 2016.
YeG. Multi-target detection and tracking algorithm for autonomous driving car based on a 3D lidar in urban traffic environment[D]. Beijing: Beijing Institute of Technology, 2016.
[10] BörcsA, NagyB, BenedekC. Fast 3-D urban object detection on streaming point clouds[M] ∥Agapito L, Bronstein M, Rother C. Lecture notes in computer science. Cham: Springer, 2015, 8926: 628- 639.
[11] MoosmannF, PinkO, StillerC. Segmentation of 3D lidar data in non-flat urban environments using a local convexity criterion[C]∥2009 IEEE Intelligent Vehicles Symposium, June 3-5, 2009, Xi'an, China. New York: IEEE, 2009: 215- 220.
[12] 惠振阳, 程朋根, 官云兰, 等. 机载LiDAR点云滤波综述[J]. 激光与光电子学进展, 2018, 55(6): 060001.
[13] Chu P, Cho S, Sim S, et al. A fast ground segmentation method for 3D point cloud[J]. Journal of Information Processing Systems, 2017, 13(3): 491-499.
[14] 黄作维, 刘峰, 胡光伟. 基于多尺度虚拟格网的LiDAR点云数据滤波改进方法[J]. 光学学报, 2017, 37(8): 0828004.
[15] 王肖, 王建强, 李克强, 等. 智能车辆3-D点云快速分割方法[J]. 清华大学学报(自然科学版), 2014, 54(11): 1440-1446.
Wang X, Wang J Q, Li K Q, et al. Fast segmentation of 3-D point clouds for intelligent vehicles[J]. Journal of Tsinghua University (Science and Technology), 2014, 54(11): 1440-1446.
[16] Bogoslavskyi I, Stachniss C. Efficient online segmentation for sparse 3D laser scans[J]. PFG-Journal of Photogrammetry, Remote Sensing and Geoinformation Science, 2017, 85(1): 41-52.
[17] 袁夏, 赵春霞. 一种应用于机器人导航的激光点云聚类算法[J]. 机器人, 2011, 33(1): 90-96.
Yuan X, Zhao C X. A laser point cloud clustering algorithm for robot navigation[J]. Robot, 2011, 33(1): 90-96.
[18] MoosmannF. Interlacing self-localization, moving object tracking and mapping for 3D range sensors[M]. Germany: KIT Scientific Publishing, 2013.
范小辉, 许国良, 李万林, 王茜竹, 常亮亮. 基于深度图的三维激光雷达点云目标分割方法[J]. 中国激光, 2019, 46(7): 0710002. Xiaohui Fan, Guoliang Xu, Wanlin Li, Qianzhu Wang, Liangliang Chang. Target Segmentation Method for Three-Dimensional LiDAR Point Cloud Based on Depth Image[J]. Chinese Journal of Lasers, 2019, 46(7): 0710002.