3D点云的快速分割:自动驾驶汽车应用的LiDAR处理实例
Posted Being_young
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3D点云的快速分割:自动驾驶汽车应用的LiDAR处理实例相关的知识,希望对你有一定的参考价值。
点云PCL免费知识星球,点云论文速读。
文章:Fast Segmentation of 3D Point Clouds: A Paradigm on LiDAR Data for Autonomous Vehicle Applications
作者:Dimitris Zermas , Izzat Izzat and Nikolaos Papanikolopoulos
编辑:点云PCL
代码:https://github.com/HuangCongQing/plane_fit_ground_filter.git
欢迎各位加入免费知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。未经博主同意请勿擅自转载。
公众号致力于点云处理,SLAM,三维视觉,高精地图等领域相关内容的干货分享,欢迎各位加入,有兴趣的可联系dianyunpcl@163.com。未经作者允许请勿转载,欢迎各位同学积极分享和交流。
摘要
LiDAR传感器能够提供车辆周围环境的详细信息,使其在大量自动驾驶场景中非常有用,对激光雷达传感器提供的3D点云进行分割,是至关重要的模块,该模块提供了地面和车辆路径中障碍物的精确分割,并实时处理每帧点云数据。所提出的方法旨在以快速且低复杂度的方式解决从LiDAR接收的数据的3D点云分割问题,该方法以现实世界应用为目标。两步算法首先使用确定分配的种子点以迭代方式提取地面,然后利用LiDAR点云的结构对剩余的非地面点进行聚类。我们提出的算法在运行时间上优于类似的方法,同时产生了类似的结果,是十分有效的分割方案。
主要贡献
本文所提出的方法依赖于点云360信息,并利用智能索引来执行有效的分割。与同一领域的先前工作类似,我们的方法提出了分两步结束的分割过程;
(i) 提取属于地面的点
(ii)将剩余点聚类为有意义的集合。
这两个步骤都提出了解决这个问题的原始方法,这些方法集中在真实世界的应用程序上,并在公开的KITTI数据集上进行了广泛的测试,并开源了代码。
主要内容
整体结构
在这项工作中,我们专注于三维数据点的分割方法,并强调与自动驾驶汽车相关的应用。这种特定应用的一种常见做法是将分割过程分成两个步骤;首先提取地面点,然后将剩余的点聚类为汽车需要注意的对象。以下内容详细描述了360度覆盖范围的激光雷达传感器接收的点云分割的完整方法。首先,我们提出了一种确定性迭代多平面拟合技术,我们称之为“地面拟合”(GPF),用于快速提取地面点,然后是一种名为“扫描线运行”(SLR)的点云聚类方法,该方法受二进制图像中连接模块标记算法的启发。
A、 地平面拟合
属于地面的点云构成了点云的大部分,它们的移除显著减少了进行计算所涉及的点的数量。由于两个主要原因,识别和提取接地点非常适合这种应用;(i) 它们很容易识别,因为它们属于平面,平面是具有简单数学模型的原始几何对象,并且(ii)可以接受的是,假设具有最低高度值的点云的点最可能属于地面。该先验知识用于规定算法启动的一组点,并且消除了在典型的平面拟合技术(如random SAmple Consensus(RANSAC))中看到的随机选择,从而导致更快的收敛。通常,单个平面模型不足以表示真实地面,因为地面点不形成完美的平面,并且激光雷达测量对远距离测量引入了显著的噪声。我们观察到,在大多数情况下,地面呈现出需要检测的坡度变化。所提出的地面拟合技术通过将点云沿x轴(车辆行驶方向)均匀地划分为多个分段N segs,并在这些分段中的每个分段中应用地面拟合算法,将其适用性扩展到地面的此类实例。如Alg1。
B、 扫描线分割
不属于地面的剩余点云需要形成簇以用于更高级别的后处理方案,我们的目标是为每个点云获取一个表示其集群身份的标签,同时使用简单的机制来确保过程的快速运行时间和低复杂性,在360度LiDAR传感器数据的情况下,3D点云的多层结构与2D图像的逐行结构非常相似,主要区别在于每个层中的元素数量不均匀及其圆形。所提出的解决方案将3D点视为图像的像素,并采用二进制图像中的两连通标记技术,以产生实时3D聚类算法。我们将同一个激光雷达环产生的一层点称为扫描线,在每一条扫描线内,其元素以称为运行的连续点的向量组织,运行中的元素共享相同的标签。
图1所示的以下示例涵盖了所提出算法的主要实例,白色和彩色圆圈分别表示地面和非地面点,蓝色圆圈是尚未接地点云。
图1:四个阶段示例了SLR聚类算法的过程,圆圈表示点,三角形表示簇标签
智能索引的两个视觉示例见图4。在a)中,尽管两条扫描线中的点的数量非常不同,但在外扫描线中具有局部索引8、16、26和32的随机选择的点被指示为在内扫描线中分别具有局部索引5、9、15和18的点的最近邻居。此外,在b)中,点的分布高度不均匀,但智能索引仍然能够成功地指示适当的邻居。这些情况对于最初的几条扫描线来说很常见,因为它们的一些激光束由于吸收或距离太远而永远不会返回。在极少数情况下,如果连续扫描线之间的点的数量相差很大,或者扫描线的大部分缺失,则智能索引很可能会失败。在这些情况下,将整个扫描线视为潜在的最近邻点云仍然会产生良好的结果。
图4:智能索引示例,(a) 以及(b)当两条扫描线中的点由于传感器的噪声和物理限制而丢失时
实验
为了测试所提出的方法,我们在KITTI数据集上进行了地面点提取和聚类实验,我们提供了与类似场景中使用的指示性算法的性能比较,显示了最终结果,并强调了我们提出的解决方案中的速度差异。
GPF与在类似场景中使用的RANSAC平面拟合实现相比较,3D点标记结果相似,我们的方法执行速度更快(图5a)。
图5:随着点数的增加,GPF与RANSAC(a)和SLR与欧几里德聚类提取算法(b)的平均运行时间性能。RANSAC由于其随机性而没有稳定的运行时间
图6显示了拟合单个平面与拟合多个平面的GPF结果之间的比较,通过将初始点云分割为多个线段,并将一个平面拟合到每个线段,可以纠正地面点的错误标记。
图6:顶部:将单个平面拟合到整个点云的GPF输出, 底部:用于将平面拟合到每个线段的GPF输出,红色框表示在单平面拟合的情况下标签错误的区域,而在多平面拟合中标签正确的区域,在两幅图像中,蓝色点属于地面,绿色点属于非地面
在图7中可以看到黄色边界框内产生的簇,SLR算法利用了点云的结构,并且比以不规则方式遍历点云的算法执行得更快。图5b所示的图表显示,随着点数的增加,时间呈线性增加。相比之下,欧几里德聚类提取(ECE)算法随着点数的增加呈指数级变慢,需要在整个数据集中搜索邻居的聚类算法,其性能基于点云数量,另一方面,SLR的搜索受到其运行大小的限制,并且只考虑一条扫描线上的邻居,以获得更好的性能。
图7:顶部:GPF和SLR方法的输出。底部:用于比较的GPF和欧几里德聚类提取方法的输出。KITTI数据集点云在y轴两侧裁剪,以减少点云数量,蓝色点属于地面,其余颜色表示非地面集群
如图8所示,点云中点密度的降低影响SLR分割,8b中给出了过度分割的情况,当相邻车辆被正确分割时,该算法对于传感器附近的物体表现令人满意。
图8:该算法成功地处理了稀疏点的情况
SLR和ECE之间的更多比较结果如图9所示,其中注意到了两种算法的相似行为,由于阈值参数和3D点访问顺序的差异,存在较小的变化。
图9:来自KITTI数据集的两个LiDAR点云的结果,每行都描绘了相同的点云;左:SLR 分割。右:ECE分割
总结
我们已经研究了用于自动驾驶车辆应用的点云数据分割问题,并提出了一种方法,该方法最初提取地面点,然后根据其距离将剩余点云分组为类,所提出的解决方案是围绕特定应用定制的,其执行速度明显快于通用分割方法,这使其非常适合对LiDAR传感器收集的数据进行实时操作。该算法已在公开可用的KITTI数据集的几个序列中成功测试,其性能已在过多的不同场景和点数下得到验证。另一个步骤是验证方法在遇到崎岖不平的地形和快速坡度变化时的表现,为此,我们计划收集我们自己的数据,这些数据将捕捉角点情况,并允许我们验证算法的鲁棒性,分割是自主场景理解的第一步,一旦捕获到车辆周围环境中的障碍物的检测,下一个处理步骤是将障碍物识别为静态或动态障碍物,并对动态障碍物进行跟踪。
更多详细内容请加入知识星球查看原文。
资源
自动驾驶及定位相关分享
【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法
自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)
更多文章可查看:点云学习历史文章大汇总
SLAM及AR相关分享
结构化PLP-SLAM:单目、RGB-D和双目相机使用点线面的高效稀疏建图与定位方案
如果你对本文感兴趣,请后台发送“知识星球”获取二维码,务必按照“姓名+学校/公司+研究方向”备注加入免费知识星球,免费下载pdf文档,和更多热爱分享的小伙伴一起交流吧!
以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除
扫描二维码
关注我们
让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入免费星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。
分享及合作方式:微信“920177957”(需要按要求备注) 联系邮箱:dianyunpcl@163.com,欢迎企业来联系公众号展开合作。
点一下“在看”你会更好看耶
以上是关于3D点云的快速分割:自动驾驶汽车应用的LiDAR处理实例的主要内容,如果未能解决你的问题,请参考以下文章
自动驾驶 11-2: 激光雷达传感器模型和点云 LIDAR Sensor Models and Point Clouds
lidar3D目标检测PointPillars:论文解读代码解读部署实现
lidar3D目标检测PointPillars:论文解读代码解读部署实现
自动驾驶感知算法实战12——BEV 基于图像/Lidar/多模态数据的3D检测与分割任务