自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)

点云PCL免费知识星球,点云论文速读。

文章:Real-Time LIDAR-Based Urban Road and Sidewalk Detection for Autonomous Vehicles

作者:Ern˝o Horváth  , Claudiu Pozna ,and Miklós Unger

编译:点云PCL

代码:

https://github.com/jkk-research/urban_road_filter

欢迎各位加入免费知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。未经博主同意请勿擅自转载。

论文阅读模块将分享点云处理,SLAM,三维视觉,高精地图相关的文章。公众号致力于理解三维视觉领域相关内容的干货分享,欢迎各位加入我,我们一起每天一篇文章阅读,开启分享之旅,有兴趣的可联系微信[email protected]

摘要

在自动驾驶领域,城市场景中的道路和人行道检测是一项具有挑战性的任务,传统的可行驶空间和地面滤波算法对较小的高度差不够敏感,基于摄像头或传感器融合的解决方案被广泛用于将可行驶道路与人行道或路面区检测区分出来,激光雷达传感器包含可以进行特征提取的所有必要信息,因此,本文主要研究基于激光雷达的特征提取,对于道路和人行道检测,本文提出了一种实时(20Hz+)解决方案,此解决方案也可用于局部路径规划,人行道边缘检测是三种并行算法的结合,为了验证结果,我们使用了事实上的标准基准数据集KITTI和我们的自采数据集,并将代码在GitHub中开源:

https://github.com/jkk-research/urban_road_filter。

主要内容

本文的解决方案使用三种不同的方法查找人行道,值得一提的是,输出不仅包括道路和分隔区的点云,还包括易于处理的简化向量,此输出对于其他算法比如路径规划是非常有用的,因为它是道路的更简洁表达。作为城市道路和人行道环境的模型,可以想象一个扭曲的平坦地图和一个略微不平的人行道(见图1),从鸟瞰的角度来看,道路和人行道可以有多种形式,上述特性和简化的数据如图1所示,假设激光雷达传感器位于路面上方,城市道路和人行道环境的模型如图1所示,道路是绿色的,人行道是红色的。

自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)_第1张图片

图1,该图显示了问题所在,道路是绿色的,人行道是红色的,两个通道测量值显示为虚线,此外,还显示了一些人工制品,如下水道和其他不平整性

提出的的解决方案是已经公布了源代码,称为urban_road_filter,(期待做自动驾驶领域的小伙伴与我交流)该解决方案的输入是一个普通的激光雷达数据流,没有摄像头或任何额外的传感器数据,输出是道路和人行道的三维体素点云以及道路的二维多边形描述,该解决方案包括三种人行道检测方法(星形搜索方法、X-zero和Y-zero方法)、道路检测方法和基于二维多边形的道路提取。

人行道检测

人行道边缘的检测方法是星形搜索、X-zero和Z-zero方法的组合,所有方法都有相同的目的,但它们的工作原理不同,最终的结果是这些方法输出的逻辑结果,值得注意的是,上述方法以并行方式运行,假阳性路沿点可能出现在实际路缘后面,路沿点是路缘和道路之间的边界体素,假阳性路沿点在路沿后面创建,例如,由于来自各种瑕疵的体素的类似3D特征,例如,工件可以是一个公共长凳,它从人行道上突出,就像路沿从道路上突出一样,这会导致错误识别,最终多边形是在道路和第一个路沿点之间创建的,这意味着以后的路沿点不会影响最终结果,这种现象不会对方法产生负面影响,因为假阳性体素永远不会出现在路面上。

星形搜索法

该方法将点云划分为矩形段,这些形状的组合像一颗星;这就是名字的来源,从每个路段提取可能的人行道起点,其中创建的算法对基于Z坐标的高度变化不敏感,这意味着在实践中,即使当激光雷达相对于路面平面倾斜时,该算法也会表现良好,在柱坐标系中处理点云(参见图2)

自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)_第2张图片

图2,星形搜索方法,圆形布局的长矩形(框)表示从原始激光雷达点云中切出的部分,在放大图像的右侧,红色圆点是人行道的起点。

图3 表示扫描点云的剪切框(长方体),长方体的顶点由8个点P1,2,3表示;2,4 它的方向和位置随着增量旋转和平移而迭代变化,更准确地说,对于每个bk和k=1,nk旋转时,长方体沿D方向平移ni个连续增量。为了更容易理解所提出的算法,图3展示了图4中使用的对称平面π,图4显示了切割盒的侧视图。

自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)_第3张图片

图3,从扫描点云上切下的单个矩形示意图

自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)_第4张图片

图4,图中关于点云分离过程和框框选择点参数的侧视图

star-shaped 搜索方法算法示意图(具体步骤可查看原文https://t.zsxq.com/QjUbq3B)

自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)_第5张图片

X-Zero方法

X-zero和Z-zero方法可以找到避开测量的X和Z分量的人行道,X-zero和Z-zero方法都考虑了体素的通道数,因此激光雷达必须与路面平面不平行,这是上述两种算法以及整个城市道路滤波方法的已知局限性。X-zero方法去除了X方向的值,使用柱坐标代替,见图6,该方法通过环(通道)使用迭代,并在体素上定义三角形。

自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)_第6张图片

图6,X-zero法,圆柱坐标系,单通道(环)

自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)_第7张图片

图7,X-zero方法,体素三角形可视化

Z-Zero方法

Z-Zero方法的主要区别在于基于滑动窗口的方法(默认情况下为5+5体素)将角度计算为矢量方向。具体步骤不再这里展开了。

基于二维多边形的道路表示

随着人行道的检测,我们的算法还提供了一个多边形,即检测到的道路的矢量输出,这将在道路体素和路沿体素之间创建,该输出可直接用于路径规划,该算法区分了两类道路边界:人行道,包括障碍物包围的边界(图8上用红色条纹标记)

自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)_第8张图片

图8展示二维多边形道路的示例场景,算法中没有涉及左侧图像,它只是帮助更好地理解场景的前半部分

参数设置

有几个参数可用于微调解决方案,尽管即使是默认值也会产生足够的结果,下面介绍表1中列出的参数。一个重要参数是激光雷达主题及其帧名称,重要的是要知道,该算法同时适用于多种方法,可以使用多个参数设置检查区域的大小,感兴趣区域(ROI)可以通过x_方向参数以及最小和最大x、y和z参数进行设置。x_方向参数可能有三个不同的值:负值、正值和两者,指示感兴趣区域是在x轴上激光雷达的后面、前面还是双向相关。

自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)_第9张图片

实验

为了评估所提出的方法,进行了广泛的实时数据的分析和实验。在图9中,显示了三幅图像,以更直观地解释我们的结果,第一幅图像显示具有绿色体素的道路和具有红色体素的人行道,尽管假阳性人行道点云是可见的,但它们不会影响整体性能,在20 Hz和30 km/h速度下收集结果,此外,精确的RTK GPS位置与激光雷达数据相关联,以获得更易于理解的结果,图9中的第二幅图像显示了无人机图像和我们的结果的叠加,而第三幅图像仅显示了从上方看的试验场。

自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)_第10张图片

图9,左侧图为实验结果:道路(绿色)和人行道(红色)。中间图显示测量和无人机图像的混合,右侧,只有无人机图像可视化结果

自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)_第11张图片

图10,该方法的车内试验,在(左侧)显示摄像头信息,在(右侧),在突出显示道路(绿色)和人行道(红色)的位置可以看到激光雷达3D数据。体素比例基于激光雷达强度

总结

本文介绍了一种新的道路和人行道检测方法,人行道路沿检测是3D体素中引入的星形搜索、X-zero和Z-zero方法的组合方法,此外,该方法还提供了多边形输出,可直接用于局部轨迹规划,通过广泛的实时现场测试和先前测量和公共数据集的离线分析对该方法进行了评估,我们将我们的解决方案的结果与以前的结果进行了比较,这个解决方案有局限性,X-zero和Z-zero算法都要求激光雷达相对于路面处于平行位置,虽然这是一种常见的传感器设置,并且我们的车辆是以这种方式配备的,但在一些值得注特殊的情况下,建议以不同的方式进行设置。并且我们的解决方案不适用于此固态传感器配置,这种被称为固态技术的新型激光雷达正在科学界引起更高的兴趣,尽管这些传感器尚未完全商业化,但它们具有更高的使用寿命和低功耗,它们生成结构化的三维信息,但组织方式不同,作为进一步的限制了算法的发挥,故所提出的方法不支持来自固态技术的3D数据。

资源

三维点云论文及相关应用分享

【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法

3D目标检测:MV3D-Net

三维点云分割综述(上)

3D-MiniNet: 从点云中学习2D表示以实现快速有效的3D LIDAR语义分割(2020)

win下使用QT添加VTK插件实现点云可视化GUI

JSNet:3D点云的联合实例和语义分割

大场景三维点云的语义分割综述

PCL中outofcore模块---基于核外八叉树的大规模点云的显示

基于局部凹凸性进行目标分割

基于三维卷积神经网络的点云标记

点云的超体素(SuperVoxel)

基于超点图的大规模点云分割

更多文章可查看:点云学习历史文章大汇总

SLAM及AR相关分享

【开源方案共享】ORB-SLAM3开源啦!

【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM

【点云论文速读】StructSLAM:结构化线特征SLAM

SLAM和AR综述

常用的3D深度相机

AR设备单目视觉惯导SLAM算法综述与评价

SLAM综述(4)激光与视觉融合SLAM

Kimera实时重建的语义SLAM系统

SLAM综述(3)-视觉与惯导,视觉与深度学习SLAM

易扩展的SLAM框架-OpenVSLAM

高翔:非结构化道路激光SLAM中的挑战

SLAM综述之Lidar SLAM

基于鱼眼相机的SLAM方法介绍

扫描下方微信视频号二维码可查看最新研究成果及相关开源方案的演示:

如果你对本文感兴趣,请点击“原文阅读”获取知识星球二维码,务必按照“姓名+学校/公司+研究方向”备注加入免费知识星球,免费下载pdf文档,和更多热爱分享的小伙伴一起交流吧!

以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除

扫描二维码

                   关注我们

让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入免费星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。

分享及合作:群主微信“920177957”(需要按要求备注) 联系邮箱:[email protected],欢迎企业来联系公众号展开合作。

点一下“在看”你会更好看耶

自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)_第12张图片

你可能感兴趣的:(算法,python,计算机视觉,机器学习,人工智能)