基于三维激光雷达的障碍物及可通行区域实时检测 下载: 1726次
of obstacle detection and passable area extraction are fused to detect the passing ability of the passable area. Multi-road real-time vehicle experiments show that the proposed algorithm can accurately detect obstacles and passable road areas, with an average detection accuracy of 94.13% and an average processing time of 69 ms, meeting the real-time requirements of intelligent vehicles.
1 引言
道路信息环境感知作为智能车的“眼睛”,需要在未知环境中实时可靠地获得道路环境信息,是实现智能车无人驾驶至关重要的技术之一。三维激光雷达作为环境感知的主要传感器,可以直接输出深度信息,具有测量精度高、测量范围广、受光照影响小等优点,且能够在雨雪、雾霾等恶劣环境条件下稳定工作,因而被广泛运用于智能驾驶汽车的道路环境感知中。
在障碍物检测方面主要有3类检测方式。第一类为基于栅格地图的检测算法[1-2],Chen等[1]提出一种结合栅格地图和一维高斯过程回归的地面分割算法,该算法利用霍夫变换提取栅格地图中的直线信息,检测动态车辆目标的存在。第二类为多传感器多特征融合检测[3-5],谢德胜等[3]利用无人车RTK-GPS数据和INS航向角数据进行多帧融合的静态障碍物的检测。第三类为基于聚类算法的障碍物检测,可分为基于距离的聚类方法[6-7]及基于密度的聚类方法。Behley等[6]提出基于改进的索引八叉树的半径近邻搜索法,加快了聚类速度;袁夏等[8]将基于密度的噪声应用空间聚类算法(DBSCAN)与结合信息编码的稳健信息聚类算法相结合,优化了聚类结果。对比3类检测方式,基于距离的聚类算法的检测效果较好,为现阶段研究的主流聚类算法。
在道路可通行区域研究方面,现有算法大部分是拟合路沿点、边界点[9-10]或者检测道路边界[11-12],从而确定道路宽度范围,但没有实现道路范围内障碍物的检测,无法形成准确的可通行区域。Liu等[9]通过单线激光雷达构建局部数字高程地图,再基于Hough变换以及多模型随机抽样一致算法(RANSAC)方法成功对路沿候选点进行拟合,从而划分出可通行区域;周智等[13]提出一种改进的直线特征提取算法,并引入回退机制、逻辑推理和特征合并的方法,实现了可通行区域的检测。但使用单线或者二维激光雷达只能进行固定高度平面的检测,容易漏检低于检测平面的障碍物,故检测准确性不高。
本文针对现有障碍物检测算法实时性不高的问题,首先采用地面坡度分离算法,对地面点与非地面点进行分离。通过改进欧氏聚类算法对非地面点云进行聚类分析,同时计算出障碍物点云的最大最小
2 激光雷达配置以及数据预处理
2.1 激光雷达基本参数
采用Velodyne的VLP-16三维激光雷达,具体参数如
表 1. Velodyne VLP-16激光雷达基本参数
Table 1. Basic parameters of Velodyne VLP-16 lidar
|
2.2 激光雷达坐标系
为计算激光点云的距离和角度信息,建立
根据三维坐标系,每一个激光点可以通过3个参数计算其空间位置
2.3 点云数据预处理
VLP-16三维激光雷达每帧的数据会产生将近3万个激光点,在进行检测时,数据量巨大,处理时间将会延长,此时需要通过点云滤波对点云数据进行预处理,进而减少噪点和离群点,降低采样数据量,得到更有效的感兴趣点云区域。通过点云库(PCL)中直通滤波器直接筛选
点云直通滤波结果如
在直通滤波基础上进行统计滤波,结果如
图 2. 点云直通滤波结果图。(a)原始点云;(b)直通滤波后点云
Fig. 2. Through-pass filter results for point clouds. (a) Original point cloud; (b) through-pass filtered point cloud
3 障碍物及道路可通行区域检测
3.1 地面点与非地面点云分离
地面点与非地面点分离情况,对后续障碍物检测影响很大。如果地面点云分离不够彻底,会产生很多噪点,被误检测为障碍物,影响检测结果。在进行障碍物检测前,需要对点云数据进行地面与非地面点云分离处理。现有的主流分割滤波算法总结为6类,分别为基于坡度、基于形态学、基于曲面拟合、基于不规则三角网(TIN)、基于分割[14-15]及基于机器学习的滤波算法[16]。其中:Himmelsbach等[17]采用地面坡度分离算法将地面分成扇形小块,并从每一个扇形中提取直线进行地面分割,可实现快速地面点云分割;Zhang等[18]采用基于形态学滤波器地面分离算法,通过开运算对点云进行处理,使用渐进的滤波窗口,逐渐对地面点和非地面点进行分离,但该算法处理时间长,满足不了实时性要求。
本文在文献[
17]基础上提出一种地面坡度分离算法,具体原理为:以激光雷达角分辨率Δ
式中:
设定距离区间
再设立第二判断机制:在第一机制基础上,设定相邻点坡度阈值
通过这两个判断机制,即可快速实现地面与非地面点分离,实际效果如
图 4. 地面与非地面点云分割效果对比图。(a)基于形态学滤波器地面分离算法;(b)地面坡度分离算法
Fig. 4. Comparison of segmentation effects of ground and non-ground point clouds. (a) Ground separation algorithm based on morphological filter; (b) ground slope separation algorithm
3.2 非地面点障碍物检测
由于激光雷达在远处点云较稀疏的情况下,容易造成单个障碍物点分散较远的情况,因此需要对点云数据进行聚类检测。采用基于
聚类过程中需要根据距离对数据点进行大量的临近点搜索,此时采用遍历方法效率太低,而
1) 根据所有点云在
2) 引入点云空间
3) 从类空间
4) 重复循环2)、3),根据设定的聚类点云最小数量阈值
5) 计算障碍物类
6) 引入点云数据空间
聚类完成后,对各障碍物类
式中:
3.3 道路可通行区域检测
本文提出一种相邻点云间距算法,通过点云之间的距离对地面点云进行处理,可实现道路可通行区域快速检测提取。确定激光雷达安装高度为
图 5. 障碍物检测对比图。(a)欧氏聚类算法障碍物检测;(b)改进欧氏聚类算法障碍物检测
Fig. 5. Obstacle detection comparison chart. (a) Euclidean clustering algorithm for obstacle detection; (b) improved Euclidean clustering algorithm for obstacle detection
图 6. 激光束距离示意图。(a)激光束距离侧视图;(b)激光束距离俯视图
Fig. 6. Diagram of laser beam distance. (a) Side view of laser beam distance; (b) top view of laser beam distance
相邻点云间距算法基本原理:由于三维激光雷达垂直角分辨率和水平角分辨率固定不变,当安装高度固定时,在没有障碍物遮挡的情况下,不同激光发射器对应扫描到地面上的激光束距离
1) 根据激光雷达地面激光束数量设置激光束点云容器
2) 引入单一
与激光束对应的相邻点云间距Δ
3) 引入2)筛选后的
计算出所有点云之间角度差的总和,再除以
4) 通过1)~3),检测提取出平整的路面区域。通过设置合适的聚类距离阈值
基于
图 7. 可通行区域检测结果。(a)图3 场景地面点云;(b)地面点可通行区域检测
Fig. 7. Detection results of passable areas. (a) Ground point cloud in Fig. 3 ; (b) detection of ground point passable area
结合障碍物和可通行区域的检测结果,可实现对可通行区域通过性的合并检测,可提取出障碍物类
4 实验结果及分析
实验平台为课题组搭建的智能车,如
表 2. 各激光束对应距离
Table 2. Distance corresponding to each laser beam
|
图 10. 上坡路况检测结果。(a)上坡场景;(b)激光雷达原始点云;(c)非地面障碍物检测结果;(d)地面可通行区域检测结果;(e)合并检测结果(1:车,2:人,长方体框:单一障碍物)
Fig. 10. Detection results of uphill road condition. (a) Uphill scene; (b) lidar original point cloud; (c) detection result of non-ground obstacle; (d) detection result of ground passable area; (e) combined detection results (1: car, 2: person, cuboid frame: single obstacle)
图 11. 下坡路况检测结果。(a)下坡场景;(b)激光雷达原始点云;(c)非地面障碍物检测结果;(d)地面可通行区域检测结果;(e)合并检测结果(1:车,2、3:人,长方体框:单一障碍物)
Fig. 11. Detection results of downhill road condition. (a) Downhill scene; (b) lidar original point cloud; (c) detection result of non-ground obstacle; (d) detection result of ground passable area; (e) combined detection result (1: car, 2,3: person, cuboid frame: single obstacle)
为了检验本文算法对道路可通行区域及障碍物检测的有效性,以及多路况环境的通用性,在半开放校园多路况环境下,针对平地路况、上坡路况、下坡路况3种路况进行大量测试实验,并对结果展开分析。平地路况检测结果在前几节算法实现结果中已体现,
如
如
检测准确率
式中:
表 3. 不同路况的算法平均准确率
Table 3. Average accuracy of algorithm for different road conditions%
|
算法检测每帧所耗的时间如
5 结论
针对交通环境中障碍物及可通行区域检测问题,改进欧氏聚类算法,实现了对非地面点的障碍物的准确聚类。通过长方体框对障碍物进行标记区分,相比于原欧氏聚类算法,改进的欧氏聚类算法对相邻障碍物分离聚类效果更好。提出一种相邻点云间距检测算法,该算法将每个激光束单独分离,再对单个激光束内所有点云间距进行对比检测,结合相邻点角度差和点云聚类,实现了道路可通行区域的实时提取。该算法也适用于道路边界被车辆遮挡的行驶环境。融合障碍物检测和可通行区域提取结果,对可通行区域的通过性进行二次验证,提高了检测结果的可靠性。通过实验表明,本文算法既实现了较高的检测准确率(94.13%),又保证了较短的处理时间(69 ms),可以满足智能车实际自动行驶时对实时性的需求。但VLP-16激光雷达地面激光束数量较少,地面检测范围受限,所以本研究主要在半开放的校园环境内进行实验。在后续研究中,将通过多个激光雷达与双目摄像头进行融合检测,以适用于高速复杂路况,并提高检测的范围和精度。
[1] Chen TT, DaiB, Liu DX, et al. LIDAR-based long range road intersection detection[C]∥2011 Sixth International Conference on Image and Graphics, August 12-15, 2011, Hefei, Anhui, China. New York: IEEE, 2011: 754- 759.
[2] DouillardB, UnderwoodJ, MelkumyanN, et al. Hybrid elevation maps: 3D surface models for segmentation[C]∥2010 IEEE/RSJ International Conference on Intelligent Robots and Systems, October 18-22, 2010, Taipei, Taiwan. New York: IEEE, 2010: 1532- 1538.
[3] 谢德胜, 徐友春, 王任栋, 等. 基于三维激光雷达的无人车障碍物检测与跟踪[J]. 汽车工程, 2018, 40(8): 952-959.
[4] 辛煜, 梁华为, 梅涛, 等. 基于激光传感器的无人驾驶汽车动态障碍物检测及表示方法[J]. 机器人, 2014, 36(6): 654-661.
[5] 程子阳, 任国全, 张银. 基于马尔可夫随机场的植被环境中的障碍物识别[J]. 激光与光电子学进展, 2019, 56(3): 031010.
[6] BehleyJ, SteinhageV, Cremers AB. Efficient radius neighbor search in three-dimensional point clouds[C]∥2015 IEEE International Conference on Robotics and Automation (ICRA), May 26-30, 2015, Seattle, WA, USA. New York: IEEE, 2015: 3625- 3630.
[7] 范小辉, 许国良, 李万林, 等. 基于深度图的三维激光雷达点云目标分割方法[J]. 中国激光, 2019, 46(7): 0710002.
[8] 袁夏, 赵春霞. 一种应用于机器人导航的激光点云聚类算法[J]. 机器人, 2011, 33(1): 90-96.
[10] Kumar P. McElhinney C P, Lewis P, et al. An automated algorithm for extracting road edges from terrestrial mobile LiDAR data[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2013, 85: 44-55.
[11] 孙朋朋, 赵祥模, 徐志刚, 等. 基于3D激光雷达城市道路边界鲁棒检测算法[J]. 浙江大学学报(工学版), 2018, 52(3): 504-514.
[13] 周智, 蔡自兴, 余伶俐. 基于直线特征提取的自主车辆可通行区域检测[J]. 华中科技大学学报(自然科学版), 2011, 39(S2): 188-191.
[14] 王晓辉, 吴禄慎, 陈华伟, 等. 基于区域聚类分割的点云特征线提取[J]. 光学学报, 2018, 38(11): 1110001.
[15] 李仁忠, 刘阳阳, 杨曼, 等. 基于改进的区域生长三维点云分割[J]. 激光与光电子学进展, 2018, 55(5): 051502.
[16] 惠振阳, 程朋根, 官云兰, 等. 机载LiDAR点云滤波综述[J]. 激光与光电子学进展, 2018, 55(6): 060001.
[17] HimmelsbachM, Hundelshausen FV, Wuensche HJ. Fast segmentation of 3D point clouds for ground vehicles[C]∥2010 IEEE Intelligent Vehicles Symposium, June 21-24, 2010, La Jolla, CA, USA. New York: IEEE, 2010: 560- 565.
[18] Zhang K Q, Chen S C, Whitman D, et al. A progressive morphological filter for removing nonground measurements from airborne LIDAR data[J]. IEEE Transactions on Geoscience and Remote Sensing, 2003, 41(4): 872-882.
Article Outline
蒋剑飞, 李其仲, 黄妙华, 龚杰. 基于三维激光雷达的障碍物及可通行区域实时检测[J]. 激光与光电子学进展, 2019, 56(24): 242801. Jianfei Jiang, Qizhong Li, Miaohua Huang, Jie Gong. Real-Time Detection of Obstacles and Passable Areas Based on Three-Dimensional Lidar[J]. Laser & Optoelectronics Progress, 2019, 56(24): 242801.