综述
扫描数据中存在大量冗余数据(不同角度多次拍摄),为后续曲面重建、模型编辑等带来很大不便,因此需要点云数据简化。
- 模型的特征区域:进行检测和提取
- 非特征区域:简化处理
特征
用于表达模型的正确外观
包括尖锐边、光滑边、脊或谷、尖头等
两类方法:
- 基于多边形网格模型的特征检测
- 基于点云模型的特征检测
基于多边形网格模型的特征检测
文献74
使用局部多项式拟合来估计曲率张量信息
然后将曲率信息用于密集三角形网格的特征线检测
文献75
对多边形数据进行隐函数重建,从隐函数中计算曲率信息来检测模型特征
文献76
可以用双边滤波来检测和重建特征,缺点是用滤波方法检测时,尖锐边缘区域的顶点坐标会发生漂移和拥挤。因此在重建特征边缘的时候,需要优化给定模型的网格连通性,网络拓扑关系也会发生改变
点云模型的特征检测
文献77
使用PCA来计算邻域点的主曲率,利用曲率信息进行特征检测,邻域点个数可以根据数据密度不同改变
文献78
将数据点三角网格化,然后估算各测点的法向量和曲率,把曲率极值点作为边界特征点
但是这些模型都是对原散乱点的逼近表示,其过程复杂,形状逼近精度不能很好保证
文献79
使用法向量计算来获得点云数据的分割,然后在分割区域中检测数据的尖锐特征,这是一种针对点云数据的基于距离算法的隐函数特征检测算法
该算法不是直接决定一个点是否属于三维点云的特征,而是计算点集的距离函数,这个函数给出了点到最近特征的距离
但是该算法只对均匀分布的数据比较有效
本章
提出一种新的三维点云模型的特征检测算法,对比较复杂的模型数据,密集数据和稀疏数据,以及不均匀分布的散乱数据模型都能得到比较好的特征检测结果
基于曲率和密度的特征检测算法(CDFD)
目标:从三维扫描仪获取的三维散乱点云数据中检测出模型的特征点
思路:综合考虑数据点到邻域点的平均距离、点的法向与邻域点法向夹角以及数据点曲率,定义一个特征参数,由数据点密度和模型到中心点的最大距离确定一个阈值,特征参数大于此阈值的点就判定为特征点
特征参数
邻域点距离参数
- 欧式距离,适用规则采样表面
- k邻域,线性复杂度,如果数据点满足一定采样规则,比如与局部特征尺度相匹配,则可靠
若点与周围邻域点的距离比较小,一般是特征区域
定义邻域点的平均距离为邻域点的距离参数:保证模型细节部分信息
点云模型的法向和曲率
大部分数据只有三维坐标,没有记录法向量和拓扑关系
计算法向量
建立与点云数据对应的三角网络模型,在三角网格中通过计算与某顶点邻接的所有面片法向量的平均值来获取这个顶点的法向量
- 基于Voronoi/Delaunay的方法
仅适用于无噪声点的点云模型
为点云构建Voronoi图,并对它进行Delaunay划分,对于数据点g,如果g处于凸壳上,将与g邻接的凸壳面片的平均法向量方向上位于凸壳外侧无限远处点的连线作为g的法向量;如果g处于整个点云的凸壳内,则将g与所在Voronoi中离g最远顶点的连线作为g的法向量
沃罗诺伊图(Voronoi Diagram,也称作Dirichlet tessellation,狄利克雷镶嵌 )是怎样的? - 傅渥成的回答 - 知乎
简单的说,当看到空间中的一系列给定的点,例如x, y1, y2, y3,...,我们希望为每个点,例如点x,划定一个包围这个点的区域,例如区域Cx,这一包含了点x的区域 Cx 我们称为Voronoi Cell。对于任意一个位于区域 Cx 内的点,例如 Px,我们总希望它距离点x的距离小于离其他所有的给定的点,例如 y1, y2, y3,... 的距离。
在实践上,我们可以连接每个点和它近邻的一些点,用一条又一条的线段连接它们,对于这条线段,我们可以做它的垂直平分线(如果是三维情况,则是垂直平分面),这些垂直平分线(垂直平分面)将包围起一块区域,这样的一个区域即为一个一个才Voronoi Cell。当然这一概念还可以进行一些推广,如果我们定义的距离不是欧式距离,那么相应的Voronoi Cell也有各种形态上的变化。
Delaunay三角剖分算法
定义:Delaunay边-空圆特性
优异特性: - 基于鲁棒统计的方法
表面重建时计算开销很大,不适应用到大规模点云中
目标是如何有效地处理点云中的噪声点和尖锐特征
移动的最小二乘法(RMLS)来重建具有尖锐特征的表面,是目前比较精确的法向量估算方法
将数据点的邻域点分为多个光滑区域,然后在各个区域中进行MLS投影,在重建出模型的分片光滑表面同时,也可以获得数据点的法向量 - 基于局部表面拟合的方法
假设点云的采样平面是光滑的,那么所有采样点的局部邻域都可以用平面来进行拟合,因此对于点云数据中的任意点g,求k个近邻点,然后为这些点计算一个最小二乘上的局部平面E
这个问题等价于对顶点的相关矩阵进行主元分析
曲率
曲率大小反映模型表名的凹凸程度,无拓扑关系的三维点云,曲率只能近似估算
广泛用于点云数据的特征提取、分割、简化和重建等处理中
文献89
采用局部坐标系的二次参数曲面逼近点云,利用曲率的微分性估算点云数据的曲率值
文献90
在三角网格模型的基础上进行曲率估算
以上方法都是用其他模型来代替原三维点云模型来估算曲率,缺点是
- 建立对应模型的过程比较复杂
- 在建模之前要对原始点云进行简化,之后要调整和优化模型,拓扑关系不能得到保证
文献91
以点云模型为研究对象,假定点云为规则点云,曲率估算用局部曲面拟合的估计方法
本章
利用法向量估计的PCA方法,在法向量估算的基础上进行数据点的曲率估算,基本思想是使用曲面变分来近似曲率信息