点云滤波简介

 点云滤波是点云处理的基本步骤,也是进行 high level 三维图像处理之前必须要进行的预处理。其作用类似于信号处理中的滤波,但实现手段却和信号处理不一样。我认为原因有以下几个方面:

  1. 点云不是函数,对于复杂三维外形其x,y,z之间并非以某种规律或某种数值关系定义。所以点云无法建立横纵坐标之间的联系。
  2. 点云在空间中是离散的。和图像,信号不一样,并不定义在某个区域上,无法以某种模板的形式对其进行滤波。换言之,点云没有图像与信号那么明显的定义域。
  3. 点云在空间中分布很广泛。历整个点云中的每个点,并建立点与点之间相互位置关系成了最大难点。不像图像与信号,可以有迹可循。
  4. 点云滤波依赖于几何信息,而不是数值关系。

  综上所述,点云滤波只在抽象意义上与信号,图像滤波类似。因为滤波的功能都是突出需要的信息。

点云滤波的方法

  PCL常规滤波手段均进行了很好的封装。对点云的滤波通过调用各个滤波器对象来完成。主要的滤波器有直通滤波器,体素格滤波器,统计滤波器,半径滤波器 等。不同特性的滤波器构成了较为完整的点云前处理族,并组合使用完成任务。实际上,滤波手段的选择和采集方式是密不可分的。

  1. 如果使用线结构光扫描的方式采集点云,必然物体沿z向分布较广,但x,y向的分布处于有限范围内。此时可使用直通滤波器,确定点云在x或y方向上的范围,可较快剪除离群点,达到第一步粗处理的目的。
  2. 如果使用高分辨率相机等设备对点云进行采集,往往点云会较为密集。过多的点云数量会对后续分割工作带来困难。体素格滤波器可以达到向下采样同时不破坏点云本身几何结构的功能。点云几何结构不仅是宏观的几何外形,也包括其微观的排列方式,比如横向相似的尺寸,纵向相同的距离。随机下采样虽然效率比体素滤波器高,但会破坏点云微观结构。
  3. 统计滤波器用于去除明显离群点(离群点往往由测量噪声引入)。其特征是在空间中分布稀疏,可以理解为:每个点都表达一定信息量,某个区域点越密集则可能信息量越大。噪声信息属于无用信息,信息量较小。所以离群点表达的信息可以忽略不计。考虑到离群点的特征,则可以定义某处点云小于某个密度,既点云无效。计算每个点到其最近的k个点平均距离。则点云中所有点的距离应构成高斯分布。给定均值与方差,可剔除3∑之外的点。
  4. 半径滤波器与统计滤波器相比更加简单粗暴。以某点为中心画一个圆计算落在该圆中点的数量,当数量大于给定值时,则保留该点,数量小于给定值则剔除该点。此算法运行速度快,依序迭代留下的点一定是最密集的,但是圆的半径和圆内点的数目都需要人工指定。

  实际上点云滤波的手段和传统的信号滤波与图像滤波在自动化程度,滤波效果上还有很大的差距。学者大多关注图像识别与配准算法在点云处理方面的移植,而对滤波算法关注较少。其实点云前处理对测量精度与识别速度都有很大影响。

点云库对滤波算法的实现

  点云库中已经包含了上述所有滤波算法。PCL滤波算法的实现是通过滤波器类来完成的,需要实现滤波功能时则新建一个滤波器对象并设置参数。从而保证可以针对不同的滤波任务,使用不同参数的滤波器对点云进行处理。

  直通滤波器:

// Create the filtering object
pcl::PassThrough<pcl::PointXYZ> pass;
pass.setInputCloud (cloud);
pass.setFilterFieldName ("z");
pass.setFilterLimits (0.0, 1.0);
//pass.setFilterLimitsNegative (true);
pass.filter (*cloud_filtered);

  体素滤波器:

  // Create the filtering object
  pcl::VoxelGrid<pcl::PCLPointCloud2> sor;
  sor.setInputCloud (cloud);
  sor.setLeafSize (0.01f, 0.01f, 0.01f);
  sor.filter (*cloud_filtered);

  统计滤波器:

  // Create the filtering object
  pcl::StatisticalOutlierRemoval<pcl::PointXYZ> sor;
  sor.setInputCloud (cloud);
  sor.setMeanK (50);
  sor.setStddevMulThresh (1.0);
  sor.filter (*cloud_filtered);

  半径滤波器:

RadiusOutlierRemoval背景知识

如图1所示,有助于形象化理解RadiusOutlierRemoval的作用,在点云数据中,用户指定每个的点一定范围内周围至少要有足够多的近邻。例如,如果指定至少要有1个邻居,只有黄色的点会被删除,如果指定至少要有2个邻居,黄色和绿色的点都将被删除。

图1

// build the filter
    pcl::RadiusOutlierRemoval<pcl::PointXYZ> outrem;
    outrem.setInputCloud(cloud);
    outrem.setRadiusSearch(0.8);
    outrem.setMinNeighborsInRadius (2);
    // apply filter
    outrem.filter (*cloud_filtered); 

  显然,不同的滤波器在滤波过程中,总是先创建一个对象,再设置对象参数,最后调用滤波函数对点云进行处理(点云为智能指针指向的一块区域)

http://www.cnblogs.com/ironstark/p/4991232.html

http://www.pclcn.org/study/shownews.php?lang=cn&id=73

时间: 2024-09-29 05:25:46

点云滤波简介的相关文章

Uncode移动后端云--MBaaS简介

MBaaS简介 MBaaS(移动后端即服务:Mobile Backend as a Service)是一种新兴移动中间服务,已经成为当今技术市场中最热门的趋势之一.与 SaaS(软件即服务:Software as a Service). IaaS(基础设施即服务:Infrastructure as a Service)和 PaaS(平台即服务:Platform as a Service)相比,MBaaS属于 SaaS的一个子集,伴随移动化潮流的涌动以及企业mobile first的战略,MBaa

阿里云产品简介

前言 安全管家简介: 阿里云安全管家服务是阿里云安全专家基于阿里云多年安全最佳实践经验为云上用户提供的全方位安全技术和咨询服务,为云上用户建立和持续优化云安全防御体系,保障用户业务安全. 金融.电商.o2o.互联网+.游戏.政府.保险.政府等各行业拥有丰富的最佳安全实践. 如果您遇到了以下情况之一: 需要从产品到服务的完整安全解决方案. 缺少熟悉云安全的专业技术人员. 希望通过外包服务降低安全运营成本. 网关Api简介: 总结:山不厌高,海不厌深.

梦网云平台&lt;简介&gt;

梦网云通讯-为企业和开发者提供短信三网合一,API一步接入,5s到达,上万通道服务,客户独享专有通道,充值低门槛,低至0.03+分,异地部署双机热备-负载均衡,多层A级安全机,7*24小时服务时时监控,产品包括短信验证码,短信通知,语音验证码,语音通知,国际短信,国际短信验证码等服务. 梦网云是梦网汇聚十五年行业经验打造的具备国际技术水准的通讯平台,是中国最大的移动互联网运营支撑服务商-主板上市公司梦网荣信(股票代码:002123)旗下品牌,互联网top200公司市场占有率97%,为企业客户实时

各项异性滤波简介Anisotropic Filtering(AF)

本文主要整理简绍来自互联网的各项异性滤波的知识. 原文链接:http://www.linuxgraphics.cn/graphics/using_anisotropic_texture_filtering_in_opengl.html 基本的纹理过滤 纹理是数据的简单矩阵排列--例如,颜色数据.亮度数据或者颜色和alpha(透明度)数据.纹理数组中的每一个独立的数值通常称为一个纹理单元.纹理映射是一种将纹理图像应用于物体表面的技术(就是把图像贴到构成物体表面的多边形上去),就像该图像是一种贴画纸

spring cloud微服务分布式云架构简介

Spring Cloud将目前比较成熟.经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装,屏蔽掉了复杂的配置和实现原理,最终整合出一套简单易懂.易部署和易维护的分布式系统架构平台. Spring Cloud的子项目,大致可分成两类:一类是对现有成熟框架Spring Boot的封装和抽象,也是数量最多的项目:第二类是开发了一部分分布式系统的基础设施的实现,如Spring Cloud Stream就是kafka, ActiveMQ这样的角色.开发人员进行微服务的实践,第一类

点云的滤波

激光扫描通常会产生密度不均匀的点云数据集.另外,测量中的误差会产生稀疏的离群点,使效果更糟.估计局部点云特征(例如采样点处法向量或曲率变化率)的运算很复杂,这会导致错误的数值,反过来有可能导致点云的配准等后期处理失败. 以下方法可以解决其中部分问题:对每个点的邻域进行一个统计分析,并修剪掉那些不符合一定标准的点.我们的稀疏离群点移除方法基于在输入数据中对点到临近点的距离分布的计算.对每个点,我们计算它到它的所有临近点的平均距离.假设得到的结果是一个高斯分布,其形状由均值和标准差决定,平均距离在标

图像滤波之高斯滤波介绍

1 高斯滤波简介 了解高斯滤波之前,我们首先熟悉一下高斯噪声.高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声.如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声.高斯白噪声的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性,高斯白噪声包括热噪声和散粒噪声. 高斯滤波器是一类根据高斯函数的形状来选择权值的线性平滑滤波器.高斯平滑滤波器对于抑制服从正态分布的噪声非常有效.一维零均值高斯函数为: g(x)=exp( -x^2/(2 si

点云处理软件开发进度

一.点云显示模块 根据PCL中国官方论坛上田博士的四篇文章http://www.pclcn.org/bbs/forum.php?mod=viewthread&tid=223&page=1&extra=#pid750,在MFC环境中搭建了基本的点云显示模块.这是后续所有操作的基础. 1.需要解决的问题有: ( 1)由于田博士在帖子里说,PCL-1.6.0-AllInOne-msvc2010-win32中提供的VTK5.8缺少关键文件vtkMFCWindow.h和vktMFC.lib,

点云数据处理学习笔记

三维计算视觉研究内容包括: 三维匹配 多视图三维重建 SLAM 目标识别 形状检测与分类 语义分类 立体视觉与立体匹配 ZNCC SFM 1.点云滤波方法(数据预处理): 双边滤波.高斯滤波.条件滤波.直通滤波.随机采样一致性滤波. VoxelGrid 2.关键点 ISS3D.Harris3D.NARF SIFT3D. 3.特征和特征描述 法线和曲率计算  NormalEstimation .特征值分析Eigen-Analysis.EGI PFH.FPFH.3D Shape Context.Sp