点云数据分类及滤波方法

news2024/7/7 16:35:19

如何获取点云数据

传统的点云获取技术包括非接触式测量和接触式测量两种,它们的主要区别在于,在测量过程中测头是否与工件的表面相接触。

非接触式测量是利用光学原理的方法采集数据,例如结构光法、测距法以及干涉法等。该方法的优点在于测量速度较快、测量精度高,并且能够获得高密度点云数据,但其测量精度易受外界因素干扰,而且测量物体表面的反射光与环境光对测量精度也有一定影响。

相反,接触式测量是通过将测头上的测量传感器与被测物体的外表面相接触,然后通过移动测头来读取物体表面点的三维坐标值。该方法的优点在于测头的结构相对固定,并且其测量结果不受被测物体表面的材料与表面特性等因素的影响。这种方法的不足在于,由于测头长期与被测物体表面相接触,易产生磨损,并且这种测量方式的测量速度较慢,不适合测量几何结构较复杂的物体。

点云的应用场景

逆向工程

游戏人物重建

文物保护

数字博物馆

医疗辅助

三维城市建模

点云种类

散乱点云

散乱点云是指所有数据点在空间中以散乱状态分布,任意两点之间没有建立拓扑连接关系。一般而言,激光点测量系统获得的点云数据以及坐标测量机在随机扫描状态下获得的点云数据都为散乱点云数据。

扫描线点云

测量设备所获得的三维点云数据是由多条直线或曲线构成,点与点之间有一定的拓扑连接关系。一般而言,这种点云数据类型常见于扫描式点云数据中。

网格化点云

网格化点云是指点云数据中任意一点,均对应于其参数域所对应的一个均匀网格的顶点。当对空间散乱点云进行网格化插值时,所获得的点云数据即为网格化点云数据。

多边形点云

多边形点云是指分布在一组平面内的点云数据,该组平面内的平面两两互相平行,并且一个平面内距离最近的点连接起来可以形成平面多边形。这种点云数据常见于等高线测量、CT 测量等获得的点云数据中。

点云滤波

主要包括双边滤波、高斯滤波、条件滤波、直通滤波、随机采样一致滤波、VoxelGrid滤波等三角网格去噪算法。

有序点云去噪

孤立点排异法、曲线拟合法、弦高差法、全局能量法和滤波法.

孤立点排异法是通过观察点云数据,然后将与扫描线偏离较大的点剔除掉,从而达到去噪的目的。这类方法简单,可除去比较明显的噪声点,但缺点是只能对点云做初步的去噪处理,并不能滤除与真实点云数据混合在一起的噪声数据点。曲线拟合法是根据给定数据点的首末点,然后通过最小二乘等方法拟合一条曲线,通常为3到4 阶,最后计算中间的点到该曲线的距离,如果该距离大于给定阈值,则该点为噪声点,予以删 除,相反,如果该距离小于给定阈值,则该点为正常点,应该保留。弦高差法通过连接给定点集的首末点形成弦,然后求取中间每个点到该弦的距离,如果该距离小于给定阈值,则该点为正常点,予以保留,相反,若大于给定阈值,则该点为噪声点,予以删除。全局能量法通常用于网格式点云去噪,它通过建立整个曲面的能量方程,并求该方程在约束情况下的能量值的最小值。可以看出,这是一个全局最优化问题,因为网格数量比较大,因此会消耗大量的计算机资源与计算时间,而且由于约束方程是建立在整体网格的基础上,所以对于局部形状的去噪效果并不是很好。滤波法也是一种常用的有序点云去噪方法,它通过运用信号处理中的相关方法,使用合适的滤波函数对点云数据进行去噪处理,常用的滤波方法主要包括高斯滤波、均值滤波以及中值滤波法等。

无序点云去噪&空间散乱点云去噪算法

目前,针对空间散乱点云数据去噪方法,主要分为两类方法,即基于网格模型的去噪方法和直接对空间点云数据进行去噪的方法。其中,基于网格模型的去噪方法需要首先建立点云的三角网格模型,然后计算所有三角面片的纵横比和顶点方向的曲率值,并将该值与相应的阈值进行比较,若小于阈值,则为正常点,予以保留,相反,则为噪声点,予以删除。由于该方法需要对空间点云数据进行三角网格剖分,所以,往往比较复杂,并需要大量计算。

点云简化的一般方法

采用三维激光扫描仪获得的点云数据往往十分密集,点云数据中点的数量往往高达千万级甚至数亿级,即使对点云数据进行了去噪处理,点云数据中点的数量还是很多,所以往往不会直接使用这些原始点云数据进行曲面重建等工作,因为这会使后续处理过程变得耗时并且消耗过多的计算机资源,而且重构的曲面,其精度也不一定高,甚至出现更大的误差。所以,在进行空间点云曲面重建之前,往往需要对高密度的点云数据进行点云精简操作。点云精简的目的是在保持原始点云的形状特征以及几何特征信息的前提下,尽量删除多余的数据点。

目前,空间散乱点云数据的精简方法主要分为两大类:基于三角网格模型的空间点云精简方法与直接基于数据点的空间点云精简方法。

其中,基于三角网格模型的空间点云精简方法需要先对点云数据进行三角剖分处理,建立其相应的三角网格拓扑结构,然后再对该三角网格进行处理,并将区域内那些形状变化较小的三角形进行合并,最后删除相关的三角网格顶点,从而达到点云数据精简的目的。这种方法需要对点云数据建立其相应的三角网格,该过程比较复杂,且因为需要存储网格数据,故需要消耗大量的计算机系统资源,并且该方法的抗噪能力较弱,对含有噪声的点云数据,构造的三角网格可能会出现变形等情况,因此精简后的点云数据经过曲面重建后的

模型与原始点云经过曲面重建后的模型可能大不相同。因此,目前关于直接基于点云数据的精简方法成为点云精简方法的主流。这种方法依据点云数据点之间的空间位置关系来建立点云的拓扑连接关系,并根据建立的拓扑连接关系计算点云数据中每个数据点的几何特征信息,最后根据这些特征信息来对点云数据进行点云精简处理。相比基于三角网格的空间点云精简方法,由于直接基于点云数据点的精简方法无需计算和存储复杂的三角网格结构,使得其精简的效率相对较高。

其中基于空间点云精简方法主要有:空间包围盒法、基于聚类的方法、法向偏差法、曲率精简法、平局点距法以及均匀栅格划分法。

 

知乎咨询:哥廷根数学学派

擅长现代信号处理(改进小波分析系列,改进变分模态分解,改进经验小波变换,改进辛几何模态分解等等),改进机器学习,改进深度学习,机械故障诊断,改进时间序列分析(金融信号,心电信号,振动信号等)

算法代码地址,浏览器打开:mbd.pub/o/GeBENHAGEN

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/718386.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue项目中的vue.config.js配置文件中的proxy代理post一直在预检

记录一个比较有意思的bug,帮别人调试遇到的,一个哥们一直在群里问了好几次同一个问题了,他配置了代理,请求一直在发送,postman测试没问题,可以成功接收到,但是在项目前端请求,确实一点响应没有&…

黑芝麻智能科技、上海紫先面试(部分)(未完全解析)

黑芝麻智能科技 Hystrix可以限流吗?客户端限流,是限制对下游(被调用方)的访问,不是对本服务限流。从HystrixCommand的.withExecutionIsolationStrategy(ExecutionIsolationStrategy.SEMAPHORE)也可以看出来&#xff0c…

C++ -- 异常

文章目录 1. C语言传统处理2. C异常概念3. 异常的使用3.1 异常抛出并没有被捕获3.2 正确使用3.3 捕获异常采用类型匹配就近原则3.4 catch(...)可以捕获任意类型异常3.5 抛出派生类对象使用基类捕获3.6 异常重新抛出3.7 匹配规则3.8 异常规范3.9 异常安全 4. 自定义异常体系5. 异…

05.动态协议OSPF基础

文章目录 **OSPF简介****OSPF和RIP的区别****RIPV2和OSPFV2相同点****不同点** OSPF基础概念OSPF区域OSPF路由类型区域划分的要求**OSPF多区域****Router ID****Router ID选取规则****度量值** OSPF数据包OSPF状态机条件匹配 OSPF的工作过程OSPF基本配置**OSPF的拓展配置** OSP…

番外12:获取晶体管漏极电流源平面的仿真波形

番外12:获取晶体管漏极电流源平面的仿真波形 老是有同学反应,仿真中无法获取漏极电流源平面的仿真波形,在此给出解释与解决办法。 1、ADS能够访问到部分器件的电流源平面波形 对于某些器件,比如说CGH40010F,可以在仿…

硬核了解一下内核链表

一,内核链表定义 言以蔽之,内核链表就是个带头结点的循环双链表。 普通的链表是将next指针定义成为与该结构体一样的类型,这样做通用性不好。与普通的链表的定义和使用方式不一样,内核的链表定义成为了一种通用的结构&#xff1a…

vue打包到生产环境

1.进入到项目根目录执行 npm run build此时会自动打包在dist目录下 2.安装服务 npm install -g serve3.启动 serve dist以上是生产环境打包的过程。 npm run dev 是开发环境, npm run build 是生产环境

Springboot 错用list.stream , 遭遇list浅拷贝偷袭,实战图解

前言 相信很多看客都听闻过深拷贝、浅拷贝 , 但是在日常使用的过程中,是否真的有关心过或者遭遇过呢? 不啰嗦,一起来看看。 正文 接下来我通过示例,来复现一下 list.stream浅拷贝 这个事 : 首先是一个对象…

Nacos服务注册成功,RestTemplate调用服务提供者时空指针异常(已解决)

发现问题并进行记录 目录 项目场景:问题描述原因分析解决 项目场景: RestTemplate也可以做服务调用(进行测试) 目的:解决该问题,不考虑其他远程调用方式(Fegin,Dubbo) 项目Pom文件 Spring Boot ----2.6.3 Spring Cloud------2021.0.1 Spring Cloud Al…

Elasticsearch介绍和安装

ELK简介 Elastic Stack核心产品包括Elasticsearch、Logstash、Kibana(也称为ELK)和Beats等等。能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视化 Kibana是一个免费且开放的用户界面,能…

Apikit 自学日记:可以对 API 发评论

该功能仅供API研发管理企业版 您可以直接在API文档上发布评论,所有的沟通内容都会跟随API文档保留下来并且按照版本分类好,而不是零散地存在各种聊天工具中。 发表评论 在API详情页,点击 评论 按钮,在弹窗中可以输入评论信息并点…

FPGA实验一:层次法设计组合电路(加法器)

目录 一、实验目的 二、实验要求 三、实验代码 四、实验结果及分析 1、引脚锁定 2、仿真波形及分析 3、下载测试结果及分析 五、实验心得 一、实验目的 (1)掌握基本组合逻辑电路的 FPGA实现; (2)学习 Verilo…

使用安装器安装windows gcc— MinGW及让windows像Linux一样的MSYS

这里使用installer进行安装GCC,主要是installer安装其它依赖,如MSYS,autoconf,automake,libtool,vim,perl,mingw-developer-toolkit等,mingw下载地址,如图download链接的mingw-get-setup.exe文件…

高级端口扫描工具

高级端口扫描程序可查看哪些服务在哪个端口上运行、开放端口数量、连接的交换机,并帮助保护网络免受未经授权的访问。作为网络管理员,扫描网络中的开放端口、这些端口已连接到的交换机以及在其上运行的服务,并将已知服务与已识别的服务与高级…

迁移学习入门,新手该如何下手?

推荐迁移学习技术的实用入门图书:《自然语言处理迁移学习实战》 [加纳] 保罗阿祖雷(Paul Azunre) 著,李想,朱仲书,张世武 译 一本书带你读懂ChatGPT背后的技术,自然语言处理迁移学习,解锁机器学…

Xcode Build System

Xcode Build System iOS开发者都使用Xcode来开发、编译程序,但是我们真正了解xcode是怎样编译我们的程序到手机上的么,下面我们主要看看xcode的编译系统内容 一、Preprocessor 预处理:在此步骤中xcode会处理代码中的宏,将其展开…

19k字图文讲解Vision科研常用的系统环境配置和工具(附详细命令行)

猛码Memmat | 转载请注明来源 最近作者有了新设备,趁更新系统写一篇博客为小白讲解这一入门过程 目录 ArchLinux 安装指南(新手向)前言准备工作检查网络通过 SSH 远程连接(可选)硬盘分区格式化并挂载分区设置中国镜像源(推荐)安装系统系统初始化设置进阶设置设置交换空…

VScode中的插件

开启VScode中最简单的内部浏览器 - 可以访问外网 - Browser Preview 插件安装: 插件使用:由下角 - 状态栏 - VS Browser按钮 live sass compiler-vscode插件将scss编译为css live sass compiler是VSCode扩展,可以实时地将SASS / SCSS文件…

基于Spring Boot的智慧社区系统设计与实现(Java+spring boot+MySQL)

获取源码或者论文请私信博主 演示视频: https://www.bilibili.com/video/BV1kF411R7Tp/?vd_sourced8d0eebf6c94c5aa49fe3f992c8887b0使用技术: 前端:html css javascript jQuery ajax thymeleaf 后端:Java springboot框架 myba…

Django搭建图书管理系统01

Django框架 Django是一个使用Python编写的开源Web应用程序框架。它采用了MVC(Model-View-Controller)的软件设计模式,旨在简化开发复杂的Web应用程序。 以下是Django框架的一些主要特点: 强大的开发工具:Django提供了…