速度可达120Hz!一种基于图像表示的快速精确的LiDAR地面分割算法
bigegpt 2025-06-10 13:10 12 浏览
作者:小柠檬 | 来源:3DCV
在公众号「3DCV」后台,回复「原论文」可获取论文pdf
添加v:dddvision,备注:3D点云,拉你入群。文末附行业细分群
论文链接:https://ieeexplore.ieee.org/abstract/document/10359455
代码:https://github.com/EEPT-LAB/DipG-Seg
1、导读
3D点云上的地面分割是许多应用的基础,例如SLAM和对象分割。由于它通常是这些应用的预处理模块,因此高效率和准确性是保证整个系统性能的基本要求。为此,我们避免在3D点云上进行地面拟合和区域划分。我们提出了一种名为DipG-Seg的基于像素图像的方法,它将3D点云投影到两个圆柱图像、水平范围图像和z图像上,然后基于它们进行分段。为了实现快速准确的地面分割,我们首先引入基于图像特征的创新设计。具体来说,我们结合激光雷达模型改进了坡度特征,并提出结合不同大小感受野的特征,以更好地识别地面。然后,基于这些特征,我们设计了一种用于像素级分类的预分割模式。对于精细分割,我们设计了一个集成非线性滤波器和基于多数投票内核的卷积的分层细化框架,事实证明,该框架在预分割的基础上将精度提高了7%以上。在真实世界平台、SemanticKITTI和nuScenes数据集上进行了全面的实验。结果表明,我们的方法可以在64线LiDAR上实现94.41%的精度和127Hz的速度,优于最先进的方法并保证竞争稳健性。
2、贡献
完全基于图像表征的地面分割框架。仅利用基于图像表示的多种“不同尺寸”的特征即可完成高效快速的分割。
准确且超快。DipG-Seg可以在Intel NUC(i7 1165G7)上以超过120Hz的速度运行(图像表示的分辨率为64×870),在SemanticKITTI数据集上实现超过94%的精度。进一步减小图片分辨率可将速度提升至150Hz,且对结果影响小。
对LIDAR模型和多样性场景表现出较好的鲁棒性。论文所给参数能够使得DipG-Seg在64、32和16线LiDAR下得到满意的结果,同时,算法在nuScenes和SemanticKITTI的数据集上的综合表现优秀。
3、方法
所提出的工作DipG-Seg的流程如图所示。首先,3D点云被投影到两个图像上,水平范围图像(下面的d图像)和z图像。然后,包括坡度、HSV 和 STDZ 在内的三个特征图像被传递到预分割模块,以使用我们设计的预分割模式生成高置信度(HC)可能性图像。接下来,将HC可能性图像输入到精细分割模块中。在这个模块中,结合非线性滤波器和基于MVK的卷积,我们提出了一个细化框架,可以显着提高分割精度。最后,通过采用基于广度优先搜索(BFS)的地面标记器,连接的地面像素被分割出来,然后可以在需要时重新投影到点云。
DipG-Seg的流程
3.1、图像生成
LiDAR的3D点云是测量环境的原始表示。点云包含了丰富的环境结构信息,是一种无序的数据结构,给查询和聚类带来了困难。然而,基于图像的表示提供了一种高度有序的数据结构,促进了基于图像的高效数据处理。因此,我们的方法是基于图像的。我们首先将点云投影到两幅图像上。点的z轴值和x平面范围将分别存储在z-image和d-image中。请注意,为投影选择合适的图像分辨率是至关重要的。较小的分辨率意味着将多个点投影到同一像素上,这会导致信息丢失,对地面分割精度产生不利影响。但加工效率将得到提高。在我们的方法中,我们选择与相同的分辨率。
3.2、基于Slope, HSV和STDZ的预分割
为了生成HC可能性图像,预分割采用斜率和平面度特征对每个像素进行评估,其中平面度特征包括HSV和STDZ。
第1~3行图像分别为语义边缘图像、原始边缘图像和二值边缘图像坡度计算图:(a)补偿图;(b)未补偿的坡度图像;(c)补偿斜率图像。粉红色的方框标记了兴趣对比区域(roi),即人行道区域。(a)HSV图;(b)HSV图像及其语义图像。α1、α2、α3为三个连续水平扫描角对应的斜率角。绿色多边形标记的roi为不平坦的草地地形区域(a)激光束击中物体时的STDZ图;(b)激光束撞击地面时的STDZ图;(c) STDZ图像。绿色的点在地面上,橙色的点在物体上。
3.3、分层精细分割
尽管获得了HC可能性图像,但HC地面和非地面像素不能直接视为真正(TP)像素和真负(TN)像素。事实上,根据上述特征,有些像素是无法区分的。此外,不可能完全消除上述处理步骤留下的噪声像素。因此,在HC可能性图像中存在许多假阳性(FP)地面像素块。因此,有必要基于HC可能性图像对地面分割进行细化。我们充分利用图像处理技术,设计了一种分层的精细分割框架,如图所示。
精细分割框架。橙色、粉色和绿色方框分别表示闭合滤波器、基于MVK的卷积和打开滤波器的层;OR和and的上标数字表示逻辑运算的优先级。
3.4、地面标签
到目前为止,每个像素都被分类为地面或非地面。不幸的是,由于投影误差和噪声,这个结果不能直接以像素方式重新投影到点云,尽管我们在整个过程中都在努力解决它们。但请注意,大多数噪声和FP像素已被正确分类的周围像素包围。地面贴标机被描述为Alg。该算法实现了最坏情况下的时间复杂度为O(N),其中N表示总像素数。事实上,最坏的情况不太可能发生,因为该算法仅通过连接的地面像素。为了标记连接的地面,我们采用了一种启发式方法,即可行驶的地平面从近处区域连续延伸到远处。
4、实验结果
为了证明所提出的地面分割方法的性能,在大规模基于激光雷达的分割数据集和现实世界的移动平台上进行了全面的实验。数据集上的所有实验均在 Intel NUC(CPU i7-1165G7 和 16GB RAM)上执行。
精密度、召回率、f1分数和准确度随参数而变化图像质量和平面特征的消融研究精细分割的消融研究两级细化的消融研究不同场景的真实实验。蓝色和红色点分别表示FN和FP点;绿轴代表移动平台的方向SEMANTICKITTI 数据集上与 SOTA 方法的性能定量比较SemanticKITTI 数据集上的总体性能比较NUSCENES 验证集上与 SOTA 方法的性能定量比较运行时间与 SOTA 方法的比较我们的方法在序列 07 上的运行时
5、总结
本文提出了一种快速、准确的基于图像的地面分割方法,称为 DipG-Seg。该方法采用与主流方法不同的范式——图像来表示点云,因此避免了地面拟合。然后,引入了改进的坡度特征和平坦度特征(HSV和STDZ),并提出了一种预分割模式来组合这些特征,这对于我们基于图像的方法来说是有效的。随后,我们提出了一个分层细化框架,充分利用图像处理技术并大大提高了准确性。最后,在SemanticKITTI和nuScenes数据集以及我们的真实世界平台上进行了全面的实验,这些实验提供了多种场景和多个LiDAR模型来验证我们的方法。
3D视觉精品课程:
3DGS、NeRF、结构光、相位偏折术、机械臂抓取、点云实战、Open3D、缺陷检测、BEV感知、Occupancy、Transformer、模型部署、3D目标检测、深度估计、多传感器标定、规划与控制、无人机仿真、三维视觉C++、三维视觉python、dToF、相机标定、ROS2、机器人控制规划、LeGo-LAOM、多模态融合SLAM、LOAM-SLAM、室内室外SLAM、VINS-Fusion、ORB-SLAM3、MVSNet三维重建、colmap、线面结构光、硬件结构光扫描仪。
相关推荐
- 了解Linux目录,那你就了解了一半的Linux系统
-
大到公司或者社群再小到个人要利用Linux来开发产品的人实在是多如牛毛,每个人都用自己的标准来配置文件或者设置目录,那么未来的Linux则就是一团乱麻,也对管理造成许多麻烦。后来,就有所谓的FHS(F...
- Linux命令,这些操作要注意!(linux命令?)
-
刚玩Linux的人总觉得自己在演黑客电影,直到手滑输错命令把公司服务器删库,这才发现命令行根本不是随便乱用的,而是“生死簿”。今天直接上干货,告诉你哪些命令用好了封神!喜欢的一键三连,谢谢观众老爷!!...
- Linux 命令速查手册:这 30 个高频指令,拯救 90% 的运维小白!
-
在Linux系统的世界里,命令行是强大的武器。对于运维小白而言,掌握一些高频使用的Linux命令,能极大提升工作效率,轻松应对各种系统管理任务。今天,就为大家奉上精心整理的30个Linu...
- linux必学的60个命令(linux必学的20个命令)
-
以下是Linux必学的20个基础命令:1.cd:切换目录2.ls:列出文件和目录3.mkdir:创建目录4.rm:删除文件或目录5.cp:复制文件或目录6.mv:移动/重命名文件或目录7....
- 提高工作效率的--Linux常用命令,能够决解95%以上的问题
-
点击上方关注,第一时间接受干货转发,点赞,收藏,不如一次关注评论区第一条注意查看回复:Linux命令获取linux常用命令大全pdf+Linux命令行大全pdf为什么要学习Linux命令?1、因为Li...
- 15 个实用 Linux 命令(linux命令用法及举例)
-
Linux命令行是系统管理员、开发者和技术爱好者的强大工具。掌握实用命令不仅能提高效率,还能解锁Linux系统的无限潜力,本文将深入介绍15个实用Linux命令。ls-列出目录内容l...
- Linux 常用命令集合(linux常用命令全集)
-
系统信息arch显示机器的处理器架构(1)uname-m显示机器的处理器架构(2)uname-r显示正在使用的内核版本dmidecode-q显示硬件系统部件-(SMBIOS/DM...
- Linux的常用命令就是记不住,怎么办?
-
1.帮助命令1.1help命令#语法格式:命令--help#作用:查看某个命令的帮助信息#示例:#ls--help查看ls命令的帮助信息#netst...
- Linux常用文件操作命令(linux常用文件操作命令有哪些)
-
ls命令在Linux维护工作中,经常使用ls这个命令,这是最基本的命令,来写几条常用的ls命令。先来查看一下使用的ls版本#ls--versionls(GNUcoreutils)8.4...
- Linux 常用命令(linux常用命令)
-
日志排查类操作命令查看日志cat/var/log/messages、tail-fxxx.log搜索关键词grep"error"xxx.log多条件过滤`grep-E...
- 简单粗暴收藏版:Linux常用命令大汇总
-
号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部下午好,我的网工朋友在Linux系统中,命令行界面(CLI)是管理员和开发人员最常用的工具之一。通过命令行,用户可...
- 「Linux」linux常用基本命令(linux常用基本命令和用法)
-
Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们。总结送免费学习资料(包含视频、技术学习路线图谱、文档等)1、显示日期的指令:d...
- Linux的常用命令就是记不住,怎么办?于是推出了这套教程
-
1.帮助命令1.1help命令#语法格式:命令--help#作用:查看某个命令的帮助信息#示例:#ls--help查看ls命令的帮助信息#netst...
- Linux的30个常用命令汇总,运维大神必掌握技能!
-
以下是Linux系统中最常用的30个命令,精简版覆盖日常操作核心需求,适合快速掌握:一、文件/目录操作1.`ls`-列出目录内容`ls-l`(详细信息)|`ls-a`(显示隐藏文件)...
- Linux/Unix 系统中非常常用的命令
-
Linux/Unix系统中非常常用的命令,它们是进行文件操作、文本处理、权限管理等任务的基础。下面是对这些命令的简要说明:**文件操作类:*****`ls`(list):**列出目录内容,显...
- 一周热门
- 最近发表
- 标签列表
-
- mybatiscollection (79)
- mqtt服务器 (88)
- keyerror (78)
- c#map (65)
- resize函数 (64)
- xftp6 (83)
- bt搜索 (75)
- c#var (76)
- mybatis大于等于 (64)
- xcode-select (66)
- mysql授权 (74)
- 下载测试 (70)
- linuxlink (65)
- pythonwget (67)
- androidinclude (65)
- logstashinput (65)
- hadoop端口 (65)
- vue阻止冒泡 (67)
- oracle时间戳转换日期 (64)
- jquery跨域 (68)
- php写入文件 (73)
- kafkatools (66)
- mysql导出数据库 (66)
- jquery鼠标移入移出 (71)
- 取小数点后两位的函数 (73)