Patchwork++/Patchwork:基于点云的快速稳健地面分割算法

作者|Ghosn P 编辑|汽车人

原文链接:https://zhuanlan.zhihu.com/p/644297447

点击下方卡片,关注“自动驾驶Daily”公众号

ADAS巨卷干货,即可获取

>>点击进入→

本文只做学术分享,如有侵权,联系删文

Patchwork++ (IROS 2022) Patchwork++: Fast and robust ground segmentation solving partial under-segmentation using 3D point cloud

论文发表在2022IROS,是Patchwork的改进版本。算法通过数学方法进行快速而鲁棒性很强的地面分割,在智能机器人上的可操作性非常强。通过微调算法,可以应用于16-beams等多种规格的激光雷达。由于激光雷达点云数据标注的难度非常大,生产中自制数据集的成本很高,我做了一些对比实验,和RandLA-Net, Cylinder3D, GndNet, PVKD等机器学习模型进行比较,在分割地面这一任务上,用自制数据集测试,Patchwork++的表现远好于其他。

本文对 Patchwork 和 Patchwork++ 两篇论文作分析和介绍,简单讲述论文作者的思路和数学原理,最后展示根据需求修改后的算法表现效果——在不同设备上表现依然迅速稳健。

传统数学方法,采用求反射梯度与地面对比的思路,对于高度有差别的平面难以识别(如低矮路沿),分割出的地面不是很合适。论文提出一种鲁棒性很强的分割方法,基于 Patchwork 的思路进行改进,自适应地调整参数,效果提升明显,运行速度极快。

Patchwork++ 的基本理论思路和 Patchwork 类似,下面将结合两篇论文,对方法中的每个步骤进行说明和讲解。

图 3-1:Patchwork++理论架构对比

3.1 Problem Definition 问题定义

3.2 RNR: Reflected Noise Removal 反射噪声去除

思路:取出距离传感器较近的、高度小于某阈值,强度小于某阈值的数据点,这些点被认为是噪声点。实际情况下,由于激光雷达穿透效应,在地面以下偶尔也会产生噪声点,将其称为虚拟噪声,用一个自动更新的高度阈值,认为该阈值以下的点都为噪声,将其去除。

图 3.2-1:地面以下的虚拟噪声点的产生

实现:维护两个阈值,高度阈值 和强度阈值 ,高度阈值在 A-GLE 环节自动更新。 需要自动更新,其原因在于如果采用固定值 ,在向下陡坡的场景中,就会去除真实的地面点,造成数据缺失。如下图所示,(a) 表示GT,红色点表示为高度较低的地面;(b) 表示用定值Z基于直接高度去除了真值(Patchwork方法);(c) 表示在 Patchwork 算法下造成了比较严重的欠分割情况;(d) 表示 Patchwork++ 算法维护一个自动更新的 ,成功识别到了高度较低/下降坡度的地面。

图 3.2-2 RNR实现效果

3.3 CZM: Concentric Zone Model 同心区域模型

思路:用设计的扇区分割路面,用扇区拟合路面几何形态。基于路面非平坦假设,不应直接估计地面,而是通过假设非平坦地面有多个小块bin,在小块之内地面是平坦的。以往的方法用统一的极坐标系表示扇区S,再将扇区S划分为规则间隔的bin。范用性不强,有以下两个缺陷:

  • 稀疏问题:随距离增长,点云越发稀疏,难以找到正确的平面。
  • 代表性问题:靠近原点的bin太小,难以表示扇区的空间特征,有时会导致扇区内地面法向量估计失败。
图 3.3-1 两种不同的扇区分割方式

3.4 R-VPF: Region-wise Vertical Plane Fitting 区域垂直平面拟合

思路:由于路面可能存在一些高低差,在拟合时认为高程差不多的平面为同一个路面。拟合平面前,找到每个bin中的垂直点子集,将bin内的垂直平面找到并作过滤掉,拟合出更准确的平面。由于 PCA(点云主成分析)对于异常点敏感,经过这一步骤处理后可适用范围更广。

图 3.4-1 可视化描述区域垂直平面拟合

以如下操作对bin进行k次迭代,挑选出足够的种子点集。

  1. 预选种子点集
  1. 潜在垂直平面点集
  1. 二值化验证点集

3.5 R-GPF: Region-wise Ground Plane Fitting 区域地面拟合

思路:估计局部地面,将局部地面合并。对 R-VPF 处理后的各个bin进行PCA,取第三个特征代表高度特征。采用 PCA 在速度上至少比 RANSAC 快两倍,进行预处理后,效果类似。通俗来讲,设置一个阈值,每次迭代更新阈值,3次迭代后挑选出合适的地面种子点。

实现:对以上操作得到的bin进行计算,数学模型如下:

3.6 A-GLE: Adaptive Ground Likelihood Estimation 自适应地面似然估计

实现:从Patchwork 的 GLE 步骤讲起,如下设计函数用于评估bin为是否为平面:

图 3.5-1 U、H、C表示城市、高速公路和乡村,不同场景下e, f 的分布具有,明显差异

为解决该问题,Patchwork++论文基于 GLE 提出 A-GLE,一种自适应的参数调整方法,同时更新 RNR 步骤的高度阈值 。

3.7 TGR: Temporal Ground Revert 临时地面还原

思路:对 A-GLE 处理后估计的地面进行纠正,恢复一些被误检的bin。一个bin内可能存在部分异常点使得地面拟合失效(例如崎岖的草地),计算值很可能超过阈值而导致错误估计。这是因为 A-GLE 是随时间推移依据所有的bin更新阈值,在当前时间更新的值会在下次被利用,但当前时间下的估计就会发生偏差;且采用均值加权更新,显然对于一些估计值偏大的bin会出现误检。

图 3.7-1 A-GLE 和 TGR 的可视化描述。 A-GLE存储估计的地平面的变量,即en和fn,并根据先前的估计结果更新其参数。 TGR 根据时间 t 时估计的地平面的变量来双重检查未分割的地面。

4.1. 论文数据

图 4.2-1: Performance comparison between our proposed method and otherground segmentation methods. Metrics are expressed as (mean)±(stdev). 图 4.2-2: Speed comparison of ground segmentation methods on Se-quence 05 of the SemanticKITTI dataset, using Intel(R) Core(TM) i7-7700K CPU (unit: Hz).

4.2. 自测表现

运行环境:

  • OS: Ubuntu 20.04.6 LTS
  • CPU: 12th Gen Intel Core i7-12700H × 20
  • GPU: NVIDIA GeForce RTX 3060 Laptop GPU
  • Python: 3.6.13
  • Open3D: 0.17.0

运行效果:

  • 数据:Velodyne-Puck(VLP-16)在园区内采集。
  • 速度:1.8ms-5.1ms,平均在2.6ms。
  • 表现:粗略统计,在自制数据集上测试,80%以上的场景在20m半径内正确分割路面,95%以上的场景在10m半径内正确分割路面。
图 4.2-3:算法运行效果对比:微调后算法在真实数据上测试(左上),原始算法在真实数据上测试(右上),微调后算法在SemanticKITTI上测试(左下),RandLA-Net模型在真实数据上测试(右下)

[1] Lee, Seungjae et al. “Patchwork++: Fast and Robust Ground Segmentation Solving Partial Under-Segmentation Using 3D Point Cloud.” 2022 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (2022): 13276-13283. [2] Lim, Hyungtae et al. “Patchwork: Concentric Zone-Based Region-Wise Ground Segmentation With Ground Likelihood Estimation Using a 3D LiDAR Sensor.” IEEE Robotics and Automation Letters 6 (2021): 6458-6465.

投稿作者为特邀嘉宾,欢迎加入交流!

① 全网独家视频课程

BEV感知、毫米波雷达视觉融合多传感器标定多传感器融合多模态3D目标检测车道线检测轨迹预测在线高精地图世界模型点云3D目标检测目标跟踪Occupancy、cuda与TensorRT模型部署大模型与自动驾驶Nerf语义分割自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习

视频官网:www.zdjszx.com

② 国内首个自动驾驶学习社区

近2700人的交流社区,涉及30+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(2D检测、分割、2D/3D车道线、BEV感知、3D目标检测、Occupancy、多传感器融合、多传感器标定、目标跟踪、光流估计)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

③【自动驾驶Daily】技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、车道线、目标跟踪、3D目标检测、BEV感知、多模态感知、Occupancy、多传感器融合、transformer、大模型、在线地图、点云处理、端到端自动驾驶、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向。扫码添加自动驾驶之心小助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

④科研论文辅导来啦

来源专业技术网站

收藏: