点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

文章导读

点云滤波通常是点云预处理的第一步,只有将噪声点、离群点、孔洞、数据压缩等做相关处理后,才能更好地进行特征提取、配准、曲面重建、可视化等高阶应用,本文针对点云的几种滤波器进行分析和对比。

目录

  • 点云滤波的介绍

  • 几种常用滤波器

  • 对比与总结

点云滤波的介绍

在获取点云数据时,由于设备精度、操作者经验、环境因素等带来的影响,点云数据中将不可避免地出现一些噪声点。而滤波的作用就是利用数据的低频特性剔除离群数据,并进行数据平滑或者提取特定频段特征。

什么时候需要做点云滤波?

  1. 点云数据密度不规则需要平滑

  2. 因为遮挡等问题造成离群点需要去除

  3. 大量数据需要进行下采样

  4. 噪音数据需要去除

几种常用滤波器

常用的点云滤波器包括以下几种:

  • 直通滤波器

  • 条件滤波器

  • 高斯滤波器

  • 双边滤波器

  • 体素滤波器

  • 统计滤波器

  • 半径滤波器

  • 频率滤波器

从功能层面可以分为三类使用,直通和条件滤波用于预处理的最前端提取出感兴趣区域;体素滤波用于对密集点云进行下采样减少数据量;其他滤波器用于平滑点云同时去除离散点。

1. 直通滤波器

原理:在点云的指定维度上设置一个阈值范围,将这个维度上的数据分为在阈值范围内与不在阈值范围内,从而选择过滤与否。能够快速过滤掉用户自定义区间范围内的点云。

在实际应用中,由于激光扫描采集的距离较远,但是根据功能需求的不同可能只关心一定区域内的数据,比如低速物流车的运营场景,可能在X方向只关心前后60米,Y方向只关心左右20米的范围。此时就可以利用直通滤波器提取出感兴趣区域,可较快剔除部分点云,达到第一步粗处理的目的。

特点:根据人工设定的先验范围约束或者借助外部约束,直观的缩小关注的空间范围,减少后续计算量。

2. 条件滤波器

原理:通过设定滤波条件进行滤波,类似于分段函数,判断点云是否在规则的范围则中,如果不在则舍弃。上述的直通滤波器就是一种较简单的条件滤波器。

如下图所示:采用直通滤波器或者条件滤波器均能够完成提取感兴趣区域的功能。

3. 高斯滤波器

原理:采用加权平均方式的一种非线性滤波器,在指定域内的权重是根据欧式距离的高斯分布,通过权重加权平均的方式得到当前点的滤波后的点。

特点:利用标准差去噪,适用于呈正态分布的数据平滑效果较好,但是边缘角点也会被较大的平滑。

4. 双边滤波器

原理:通过取邻近采样点的加权平均来修正当前采样点的位置,在高斯滤波器只考虑空间域点的位置基础上,增加了维度上的权重。一定程度上弥补了高斯滤波的缺点。

特点:既有效地对空间三维模型表面进行降噪,又可以保持点云数据中的几何特征信息,避免三维点云数据被过渡光滑。但是只适用于有序点云。

5. 体素滤波器

原理:通过对输入的点云数据创建一个三维体素栅格,然后在每个体素内,用体素中所有点的重心来近似显示体素中的其他点,这样该体素内所有点就用一个重心点最终表示。

也有另外一种相似的表达形式:利用每一个体素立方体的中心来近似该体素立方体内的所有点,相比上一种方法计算速度较快,但是损失了原始点云局部形态的精细度。

特点:可以达到向下采样同时不破坏点云本身几何结构的功能。点云几何结构不仅是宏观的几何外形,也包括其微观的排列方式,比如横向相似的尺寸,纵向相同的距离。随机下采样虽然效率比体素网格滤波器高,但会破坏点云微观结构。

如下图所示:经过体素网格下采样后的行人,点云会变得更稀疏。主要是针对线束比较高的激光雷达或者多个雷达数据叠加时,平滑点云间隔的情况使用。

在将统计滤波器和半径滤波器之前,提到一个离散群点的概念,那么什么是离散群点?

在获取点云数据时,由于受到外界干扰如视线遮挡,障碍物等因素的影响,点云数据中存在着一些距离主题点云较远的离散点,即离散群点。

如下图所示:由于设备采集或者障碍物遮挡等问题或导致在三维空间中出现零星的点集。

离散群点有什么影响?

离散群点会破坏点云的表达准确性。使得局部点云特征(例如表面法线或曲率变化)的估计变得非常复杂,这往往导致错误的估计结果,从而可能导致点云配准失败。

6. 统计滤波器

原理:对每个点的邻域进行一个统计分析,并修剪掉那些不符合一定标准的点。我们的稀疏离群点移除方法基于在输入数据中对点到临近点的距离分布的计算。

具体方法如下:

计算每个点到其最近的k个点平均距离,(假设得到的结果是一个高斯分布,其形状是由均值和标准差决定),那么平均距离在标准范围之外的点,可以被定义为离群点并从数据中去除。

特点:主要是根据密度去除离群点,对密度差异较大的离群点去除效果较好。

7. 半径滤波器

原理:与统计滤波器类似,只是操作更加暴力直观,根据空间点半径范围临近点数量来滤波。

具体方法如下:

在点云数据中以某点为中心画一个圆计算落在该圆中点的数量,当数量大于给定值时,则保留该点,数量小于给定值则剔除该点。此算法运行速度快,依序迭代留下的点一定是最密集的,但是圆的半径和圆内点的数目都需要人工指定。

特点:用于去除离群点,在一定程度上可以用来筛选边缘点。

如下图所示:采用上述两种滤波器可以提出掉零星的点集。

8. 频率滤波器

原理:在点云处理中,点云法线向量差为点云所表达的信号。用点云的曲率来表示频率信息,如果某处点云曲率大,则点云表达的是一个变化高频的信号。如果点云曲率小,则点云表达的是一个不变低频的信号。例如:地面曲率小,它表达的信息量也小;障碍物处曲率大,频率就会更高。

以DoN算法为例,目的是在去除点云低频滤波,低频信息(例如建筑物墙面,地面)往往会对分割产生干扰,高频信息(例如建筑物窗框,路面障碍锥)往往尺度上很小,直接采用基于临近信息的滤波器会将此类信息合并至墙面或路面中。所以DoN算法利用了多尺度空间的思想。

具体如下:

  1. 在小尺度上计算点云法线1

  2. 在大尺度上计算点云法线2

  3. 法线1-法线2

  4. 滤去3中值较小的点

  5. 根据第三步得到的法线差,进行欧式分割

特点:在小尺度上是可以对高频信息进行检测的,可以很好的小尺度高频信息。其在大规模点云中优势尤其明显。

对比与总结

滤波器主要是通过局部计算的方式,获得一个响应值,然后根据响应值调整点云,比如位置调整,保留或删除某点。

当一种滤波无法完整达到预处理要求时,可以通过组装多个滤波器达到更复杂的功能。比如小编在实际应用中借助于车辆运动轨迹和路沿检测作为感兴趣区域的先验知识进行直通滤波;接着根据激光雷达的线束多少调整统计滤波参数过滤离群点;由于使用了两颗激光雷达做数据拼接,最后通过体素降采样平滑点的间隔。

好消息!

小白学视觉知识星球

开始面向外开放啦

一文看懂激光点云滤波处理相关推荐

  1. 一文看懂倚天云实例|科普漫画

    2022 云栖大会上,阿里巴巴宣布自研 CPU 倚天 710 已大规模应用. 编解码场景实现了 80% 的性价比提升,数据库场景.AI 推理场景.大数据场景也都分别有着 30%.70%.50% 的有效 ...

  2. 一文看懂卷积神经网络CNN的核心

    在之前,我总结了关于计算机神经网络与梯度下降的核心,详见下文链接 : 一文看懂计算机神经网络与梯度下降 本文主要会对图像相关的机器学习中最为重要的网络,卷积神经网络作个人的理解分析. 1. 为什么要使 ...

  3. 无处 不在的无线智能——6g 的关键驱动与研究挑战_一文看懂什么是 6G

    原标题:一文看懂什么是 6G 2020年行将结束,随着5G网络的建设推进,以及3GPP R16版本的冻结,越来越多的人将关注焦点转移到6G身上. 7月14日,韩国三星电子发布了白皮书<下一代超连 ...

  4. 一文看懂智慧城市,解码25万亿大市场的机遇与格局

    一文看懂智慧城市,解码25万亿大市场的机遇与格局 原创京东科技2020-09-16 20:13:55 撰文 / Jarvis 编辑 / 郭佳 今年初,随着国家发展改革委员会首度圈定"新基建& ...

  5. 一文看懂开源许可证丨开源知识科普

    一文看懂开源许可证丨开源知识科普 1. 一文看懂开源许可证丨开源知识科普 1.1. 什么是开源许可证? ("Open Source License") 1.2. 常见开源许可证 1 ...

  6. 一文看懂RPA的技术原理、产品形态、设计与构建

    一文看懂RPA的技术原理.产品形态.设计与构建 过去的一年,RPA机器人流程自动化行业迎来了一个快速发展的机遇.RPA创业者得到了国内投资人的认可,一些RPA公司也接连拿到千万美金级别的融资,这在当下 ...

  7. 一文看懂通信新基建:5G、车联网、工业互联网……

    2018年12月,中央经济工作会议首次提出"新基建",即新型基础设施建设,主要包括5G.人工智能.工业互联网.物联网等. 2020年以来,高层再次频繁发声,对"新基建&q ...

  8. 一文看懂-ElasticSearch全文搜索引擎

    一文看懂-ElasticSearch全文搜索引擎 一.ElasticSearch简介 1.1 什么是ElasticSearch ElasticSearch简称ES,其中Elastic 从名字里我们可以 ...

  9. 一文看懂:芯片IC的封装/测试流程

    一文看懂:芯片IC的封装/测试流程 流程 IC Package (IC的封装形式)指芯片(Die)和不同类型的框架(L/F)和塑封料(EMC)形成的不同外形的封装体. IC Package种类很多,可 ...

最新文章

  1. cisco 路由器监控路由连通性_Cisco-路由器配置DHCP小实验
  2. php-fpm通过request_slowlog_timeout检查哪个脚本执行时间长
  3. 2016年第七届蓝桥杯 - 省赛 - C/C++大学A组 - H. 四平方和
  4. Java多线程(五)之BlockingQueue深入分析
  5. 循环往数组中添加对象
  6. 帮写python代码_10个工具,帮你写出更好的Python代码
  7. C++提高部分_C++类模板与函数模板的区别---C++语言工作笔记088
  8. 探索软件模式设计(一)
  9. GSM模块(SIM800L)收发短信 串口调试
  10. 云服务器网站logo,云服务器 logo
  11. 预测科技未来发展趋势的10个定律
  12. WMS 常用中英文对照
  13. 用云服务器架设好服务器显示无法连接
  14. hdfs高可用与高拓展机制分析
  15. free看了《猎场》,自制力沦丧啊,写点国产剧猎场的台词感想吧
  16. Unity 之 Ping类简析尝试使用
  17. 下载并安装 Node
  18. DT_MACHINE_START 板级信息初始化匹配调用机制实现
  19. qq密码自动测试软件,QQ2004测试版密码获取演示
  20. 车辆重识别综述(2021年非专业总结)

热门文章

  1. 计算机知识不如别人,一个计算机从业人员的心声——有时候“授人以渔不如授之以鱼”...
  2. Mac PPPOE命令行连接
  3. Qt实现窗口四周阴影
  4. /phpmyadmin/index.php,phpMyAdmin/index.php on line 8
  5. mockjs语法详解
  6. JS的类型转换,强制转换和隐式转换
  7. 第八章 ALDS1_7_C:Tree Walk 树的遍历
  8. MariaDB10.0.4 绿色版下载安装
  9. ffmpeg编译gb28181_国标GB28181对接视频流
  10. 如何跟踪客户?我自己的经验(转载)