当前位置: 首页 > news >正文

论文Review 地面分割 GroundGrid

基本信息

题目:GroundGrid: LiDAR Point Cloud Ground  Segmentation and Terrain Estimation

来源:IEEE ROBOTICS AND AUTOMATION LETTERS 2024

机构:Dahlem Center for Machine Learning and Robotics (DCMLR), Department of Mathematics and Computer Science, Freie Universit ̈at Berlin, Germany

作者:Nicolai Steinke, Daniel Goehring and Ra ́ul Rojas

开源:​​​GitHub - dcmlr/groundgrid: Source code for the article "GroundGrid: LiDAR Point Cloud Ground Segmentation and Terrain Estimation"

背景

        LiDAR传感器在自动驾驶汽车领域应用广泛。LiDAR传感器在该领域的许多应用都需要去除地面点。这特别适用于目标检测和分类算法,其中地面分割通常是先于高级感知功能的第一个处理步骤,例如,目标检测和分类。

        审稿人非要加上这篇文章进行对比,也不知道这个文章好在哪。要比就比吧!

GROUND SEGMENTATION AND TERRAIN ESTIMATION

 GroundGrid 是一种基于栅格的地面分割与地形估计算法,其核心思想是通过动态更新高程图(Elevation Map)实现鲁棒的地面分割。算法流程如下:

  1. 异常值过滤:剔除传感器视线被遮挡的噪声点。

  2. 点云栅格化:将点云转换为网格地图,并计算统计特征。

  3. 地面单元分类:基于方差和邻域信息识别地面单元。

  4. 地面高程计算:加权融合历史与当前观测,更新高程估计。

  5. 地形插值:对无数据区域进行置信度加权插值。

  6. 点云分割:根据高程图分离地面与非地面点。

A. Outlier Filtering

        去除地面以下的地面反射点。基于传感器视线检测。若某点与传感器连线和当前高程图存在遮挡,则该点为异常值。通过射线与高程图的几何相交检测,判断是否存在遮挡(类似光线追踪)

B. Point Cloud Rasterization

        将点云转换为网格地图,计算每个单元的统计特征,计算每个栅格的高程最大值、最小值、平均值、点数、方差(采用Welford算法递推计算)。

C. Classification of Ground Cells

        假设地面平坦,地面栅格的方差低于障碍物存在的栅格。方差的差距根据阈值判断,此阈值会随着距离缩放。

        每个栅格内点数必须达到要求才能作为地面栅格,预期点数 n 通过传感器几何估算,实际点数需超过 0.25n。

D. Ground Elevation Calculation

        首先根据每个cell的最小高度,根据数量加权平均得到cell内部的地面高度。(这部分论文里解释的不清楚,得看代码)。我理解是,根据点的数量多少加权平均得到地面数量。如果大部分点为地面点,少部分点为障碍物,也可以得到贴近地面的最低高度点,也避免了地面区域有坑的情况。一般处理。

         点数占比决定当前观测的可信度,为了计算全局地面点时采用。

       加权更新高程和置信度。地面栅格高度是不停更新的,这一点挺巧妙的。 设计意图:降低单次高点数观测的权重,强调多次检测的一致性。

 E. Terrain Interpolation

        对于没有地面点的cell,采用地面高程差值的做法。从传感器原点向外扩展,优先处理近邻区域。

F. Point Cloud Segmentation

双阈值分割策略

地面阈值 hg​:允许较大高度差(适应斜坡)。

障碍阈值 ho​:更严格(ho<hg​),确保障碍物完整分割。

分割逻辑:若点高度与对应单元高程的差值超过阈值,则分类为障碍物。

实验

实验表现上看,结果还是挺好的。

 

http://www.xdnf.cn/news/612199.html

相关文章:

  • 方案精读:92页银行数据管控体系设计方案【附全文阅读】
  • Nginx中root与alias的区别及用法
  • TCP 三次握手,第一次握手报文丢失会发生什么?
  • 中国经济的结构性困境与制度性瓶颈:关键卡点深度解析
  • 信号与系统06-系统建模与AI融合
  • JVM—Java对象
  • PLC 数据采集网关 (三格电子)
  • 如何选择服务器机房托管服务?
  • 主类网络和无类网络,什么是主类网络边界
  • bi软件是什么?bi软件是做什么用的?
  • 【PINN】DeepXDE学习训练营(32)——pinn_forward-fractional_diffusion_1d.py
  • YOLOv11改进 | Conv/卷积篇 | 2024 ECCV最新大感受野的小波卷积WTConv助力YOLOv11有效涨点
  • docker镜像操作
  • 《深度揭秘:解锁智能体大模型自我知识盲区探测》
  • 若依 Plus 自定义字典的使用
  • 自动生成md文件以及config.mjs文件-vitepress
  • Flink基于Yarn多种启动方式详解
  • C++之fmt库介绍和使用(3)
  • CARIS HIPS and SIPS 12.1是专业的多波束水深数据和声呐图像处理软件
  • Graph RAG应用实战
  • socc 19 echash论文部分解读
  • 深度学习优化器相关问题
  • yolov5 安卓运行
  • Docker部署Zookeeper集群
  • C++学习之打车软件—JNI终端编程业务④https协议session开发
  • Open CASCADE学习|非线性方程组求解技术详解
  • 公司内网本地的SVN没有公网IP地址,在家外网也能远程访问SVN服务!
  • postgresql 的优劣势比较
  • 多模态理解大模型高性能优化丨前沿多模态模型开发与应用实战第七期
  • WPF性能优化之延迟加载(解决页面卡顿问题)