激光扫描可以生成很多点云的数据集。并且,测量误差会导致一些稀疏的异常值使得结果更差。这使得局部点云特征估计变得更加的复杂,产生一些错误的值,使得点云的识别失败。有些不规则的数据可以通过数理统计的方法来消除。我们稀疏异样消除是以计算输入集的点的近邻分布来进行的。我们假设分布是标准正太分布,所有在分布区间外的点都被当成异常点。下面的图展示了稀疏异常分析与消除,原来的数据集在左边,结果在右边。下面的图显示了在滤波之前的K个最近邻的平均距离。

下面是代码

#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/filters/statistical_outlier_removal.h>int
main (int argc, char** argv)
{pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_filtered (new pcl::PointCloud<pcl::PointXYZ>);// Fill in the cloud datapcl::PCDReader reader;// Replace the path below with the path where you saved your filereader.read<pcl::PointXYZ> ("table_scene_lms400.pcd", *cloud);std::cerr << "Cloud before filtering: " << std::endl;std::cerr << *cloud << std::endl;// Create the filtering objectpcl::StatisticalOutlierRemoval<pcl::PointXYZ> sor;sor.setInputCloud (cloud);sor.setMeanK (50);sor.setStddevMulThresh (1.0);sor.filter (*cloud_filtered);std::cerr << "Cloud after filtering: " << std::endl;std::cerr << *cloud_filtered << std::endl;pcl::PCDWriter writer;writer.write<pcl::PointXYZ> ("table_scene_lms400_inliers.pcd", *cloud_filtered, false);sor.setNegative (true);sor.filter (*cloud_filtered);writer.write<pcl::PointXYZ> ("table_scene_lms400_outliers.pcd", *cloud_filtered, false);return (0);
}

我们创建了一个pcl::StatisticalOutlierRemoval这个滤波器。每个点的近邻分析的数量被设置为50,标准差是1.这意味着,只要有一个点的距离大于1个标准差的平均距离,这个点就会被当成异样点并被去除。

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

并把正常的点存储到磁盘里面

  pcl::PCDWriter writer;writer.write<pcl::PointXYZ> ("table_scene_lms400_inliers.pcd", *cloud_filtered, false);

对负的值进行过滤

 sor.setNegative (true);sor.filter (*cloud_filtered);

添加到相同的文件里面

writer.write<pcl::PointXYZ> ("table_scene_lms400_outliers.pcd", *cloud_filtered, false);


使用统计异常消除滤波器来消除异常相关推荐

  1. 【阅读论文】基于统计特征的无监督时间序列异常检测方法

    文章目录 摘要 1.介绍 2.相关工作 3.问题描述 4.方法 4.1 统计特征 4.2提取特征总结 4.3 学习阶段算法 4.4测试阶段算法 5.结果 5.1 YOB评价:单变量 5.3对合成数据集 ...

  2. oracle tabe unlock_Oracle数据库之统计信息锁住导致收集统计信息失败引起sql执行异常...

    本文主要向大家介绍了Oracle数据库之统计信息锁住导致收集统计信息失败引起sql执行异常,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. 这个是老生产谈的事情,统计信息不准确导 ...

  3. 异常检测 | 监控视频的异常检测与建模

    关于<监控视频的异常检测与建模综述>学习 视频异常检测算法以无监督算法为主 . 主要挑战:                      1)异常事件定义与特定场景的依赖性: 2)异常事件的稀 ...

  4. 金蝶显示服务器异常,金蝶提示云服务器异常

    金蝶提示云服务器异常 内容精选 换一换 生命周期是指弹性云服务器从创建到删除(或释放)历经的各种状态. 当云服务器网络异常.防火墙未放行本地远程桌面端口.云服务器CPU负载过高等场景均可能导致云服务器 ...

  5. 神经网络异常检测方法和机器学习异常检测方法对于入侵检测的应用?

    神经网络异常检测方法和机器学习异常检测方法对于入侵检测的应用? 神经网络异常检测方法神经网络入侵检测方法是通过训练神经网络连续的信息单元来进行异常检测,信息单元指的是命令爱发猫 www.aifamao ...

  6. 服务器提示系统异常是什么意思,服务器异常提醒

    服务器异常提醒 内容精选 换一换 弹性云服务器是作为一种可随时获取.弹性可扩展的计算服务器.在各业务中,弹性云服务器作核心基础,细微的性能变化,运行异常及自动恢复,都可能会引起云服务上的业务受到大幅震 ...

  7. 山西民生云登录显示服务器异常,山西民生云服务器异常

    山西民生云服务器异常 内容精选 换一换 您可以通过"应用管理"页面的应用列表,快速查看应用状态,及相关异常信息,如图1所示.包括:应用状态:即图1中的①应用异常信息:即图1中的②云 ...

  8. java异常类中属于非检测异常的是_下列java语言的常用异常类中,属于检测异常的是()_学小易找答案...

    [单选题]在Word 2010的编辑状态,对当前文档中的文字进行"字数统计"操作,应当使用的菜单是( ) [单选题]客运员领带统一,领带夹夹在衬衣的( )钮扣之间. [单选题]文件 ...

  9. oracle异常抛出,ORACLE 存储过程异常捕获并抛出

    for tab_name in tables loop execute immediate 'drop table '||tab_name; --此处可能会报错 end loop; 当前情况是,循环表 ...

最新文章

  1. jQuery EasyUI 表单插件 - Datebox 日期框
  2. php 判断3个数谁最小,Python编程学习之如何判断3个数的大小
  3. bootstrapt 表格自适应_一起聊B端设计 - 如何设计表格?
  4. c语言程序设计课件数组,数组(C语言程序设计)课件
  5. 禁止迅雷:迅雷服务器地址大全+ISA计算机集(xml)
  6. PHP实现今天是星期几的几种写法
  7. 【Linux/CentOS】上手常见问题笔记
  8. C语言libiconv编程,libIconv.lib编码库的生成和使用
  9. php充值奖励部分,BLUE引擎充值角本多充多送脚本累计充值奖励教程
  10. Myscript 转换
  11. python智能推荐系统教程_最新Python黑马头条推荐系统项目视频教程(精讲)
  12. 西电人总结各it公司待遇
  13. BestMPRBaseVtk-009-设置默认窗宽窗位
  14. 盘点百度、阿里、腾讯、华为自动驾驶战略
  15. 计算机如何用vb文本加密,怎么样用VB编写一个文件加密程序
  16. K8S-5--云原生基础/k8s基础及组件/二进制部署k8s集群
  17. SAP F1 无法显示该网页 完美解决方案(不用重装SAP)
  18. CodeForces 1253C
  19. python批量剪辑音频pydub
  20. Debian 8.0桌面系统root用户登录和root用户自动登录

热门文章

  1. php sql desc,PHP SQL 查询封装
  2. 前端给后端传递数据的时候,有些后端自己可以获取到的值应该由前端传递吗?
  3. Java实现XSS防御
  4. Java Web访问.action_java设置web首页访问action
  5. 浅谈python使用多态跟不用多态的区别_python 多态和 super 用法
  6. 如何用计算机计算胸围,文胸尺码计算器
  7. mysql8.0与mysql7.0_MySQL 5.7 vs 8.0,哪个性能更牛?
  8. Java 写时复制容器 —— CopyOnWriteArrayList
  9. MySQL 优化 —— SQL优化概述(优化专题开篇词)
  10. 存储ic载板_延伸IC领域 崇达技术拟将持有普诺威55%股权