一种点云去噪平滑方法

文档序号:9376800阅读:1194来源:国知局
一种点云去噪平滑方法
【技术领域】
[0001] 本发明属于计算机图形学技术领域,涉及一种点云去噪平滑方法。
【背景技术】
[0002] 随着模型多边形复杂度的剧增,点云模型的优势越来越明显,以点云为研究对象 的图形学越来越受到关注。随着数据测量技术的飞速发展,三维扫描仪的测量精度不断提 高,采集到的点云越来越密集,而且包含了丰富的实物信息。但是由于扫描仪自身的适应 性、人为因素、环境因素和测量方法等的影响,采集的数据总包含噪声,不能精确地表现被 测农作物的表面信息。噪声点的存在会影响后续特征点提取的精度和重建三维模型的质 量,导致重构曲线、曲面不光滑,降低重构模型的精度。
[0003] 传统的点云去噪方法多采用三角网格模型和点云数据的去噪方法,在用拉普拉斯 算子对三角片法矢进行调整时,由于该方法是各向同性的,存在重要特征模糊现象;各向异 性网格光顺算法虽然能保持几何特征,但通常采用高阶几何流,算法复杂度较高,有些情况 下还会造成网格模型的变形和扭曲;在分步处理中,用于大尺度噪声去除的模糊C均值方 法对噪声敏感,可能会降低噪声质量。上述方法虽然能够达到一定的效果,但是总存在特征 模糊、模型的变形和扭曲和对噪声敏感的问题,影响后续特征提取的精度和重建模型的质 量。

【发明内容】

[0004] 针对上述现有技术中存在的问题和缺陷,本发明的目的在于,提供一种点云去噪 平滑方法。
[0005] 为了实现上述目的,本发明采用如下技术方案:
[0006] 一种点云去噪平滑方法,具体包括以下步骤:
[0007] 步骤1 :对三维点云模型进行自适应密度聚类分析,得到去噪后的点云模型,其具 体实现方法如下:
[0008] 步骤I. 1 :将三维点云模型导入以x、y、z为坐标轴的三维坐标系,计算自适应参数 初始半径e和最小邻域数目MinPts,并为类号ClusterID赋初值1 ;
[0009] 步骤1. 2 :将三维点云模型中的所有点作为一个集合D,从D中读出一个未访问过 的对象P,并查找D中关于e和MinPts的从P密度可达的所有对象;
[0010] 步骤1. 3 :若P是核心对象,即点P的e邻域内的样本点数大于等于MinPts,则对 象P的类号赋值为ClusterID ;如果P不是核心对象,即为边界对象,则对象P的类号赋值 为0,表示对象P为孤立的噪声点;
[0011] 步骤1. 4 :从步骤1. 2得到的对象P密度可达的对象开始继续搜索,直至无对象为 止,将所有密度可达的对象赋值为ClusterlD,ClusterID自加1,并转步骤1. 2,直到待分类 集合D中所有对象都被访问过;
[0012] 步骤2 :对步骤1得到的去除噪声之后的点云进行双边滤波,得到平滑后的点云模 型;
[0013] 步骤3 :针对步骤2得到的点云模型,应用Delaunay三角剖分方法生成重建后的 三维模型。
[0014] 具体地,所述步骤I. 1中:
[0015] 所述自适应参数初始半径e的计算方法如下:
[0016] 根据公式1计算三维点云模型中任意两点?1和p ,之间的欧式距离dist(i,j):
[0017]
式 1
[0018] 其中,(Xi, y;,Zi)和Uj, y.j, Z.)分别表示点pjP p』的坐标;
[0019] 根据公式2和公式3计算dist(i, j)的最大值maxdist和最小值mindist,根据 公式4求得距离间隔di strange ;
[0020] max dist = Max {dist (i, j) | 0 i < η, 0 j < n} 式 2
[0021] min dist = Min {dist (i, j) | 0 i < η, 0 j < n} 式 3
[0022] di strange = max dist-min dist 式 4
[0023] 其中,n表示三维点云模型中点的数目;
[0024] 将距离间隔distrange等距分为十段,各分段的端点值从小到大分别用 d。,山,...,(I1。表示,统计dist (i, j)在每段范围内的次数p k,0彡k < 10,其中,下标k表示 上述各分段的段号,记次数Pk中的最大值为P ",〇彡m < 10,则根据公式5求得自适应参数 初始半径e :
[0025]
式 5
[0026] 所述最小邻域数目MinPts的计算方法如下:
[0027] 自适应参数初始半径e确定之后,设置MinPts的初始值为1 ;根据公式6统计点 云模型中的任意点Pi的邻域点数目PNumi, 0彡i〈n根据公式7统计点云模型中所有点的邻 域点数目大于MinPts的点的个数,即为pNum ;
[0028] pNum;= count {dist (i, j) < e | 0 j < η} 式 6
[0029] pNum = count (PNumi^ MinPts I 0 < i < η} 式 7
[0030] 逐步增大最小邻域数目MinPts,每次递增1,随着最小邻域数目MinPts的增加, pNum会逐渐减少并趋于稳定,每次计算pNum之后与前一次计算的结果相比较,选择pNum不 再变化时的最小邻域数目作为MinPts。
[0031 ] 具体地,所述步骤2的具体实现方法如下:
[0032] 步骤2. 1 :对于步骤1得到的去除噪声之后的点云的每一个数据点qi,求出它的m 个邻近点kg,j = 1,2, · · ·,m,m个近邻点的计算如下:
[0033] 根据公式1计算数据点Q1和点云中其他所有点的距离,然后将上述距离按从小到 大排序,截取前m个点作为m个近邻点。
[0034] 步骤2. 2 :对于每个邻近点求出平滑滤波函数的参数X = I I I I和特征保持权 重函数的参数y.=<?,其中X为点到邻近点k ^的距离,y为点q ;与邻近点的距 离向量Qrklj与该点法向^的内积;
[0035] 步骤2. 3 :按照公式8和公式9计算出平滑滤波函数Wjx)和特征保持权重函数 Ws(y);
[0036] 沙:(X)二(,' -y 式 8
[0037] ^V( V)=C '' 2<τ: 式 9
[0038] 其中:σ c-空间域权重;σ s -特征域权重;
[0039] 步骤2. 4 :将Wc(X)和Ws (y)代入公式10,计算出双边滤波因子α ;
[0040]
式 10
[0041] 其中:NQ1)为数据点邻域。
[0042] 步骤2. 5 :根据公式11计算经过滤波后的新数据点;
[0043] H洳 +滅式 11
[0044] 其中:q_为滤波后的数据点;为步骤1得到的去噪后的数据点;α为双边滤 波加权因子;i ,为数据点Qcild的单位法矢。
[0045] 与现有技术相比,本发明具有以下技术效果:
[0046] 1、本发明采用自适应密度聚类分析方法对点云进行去噪,采用双边滤波算法对去 噪后的模型进行平滑,并对平滑后得到的点云模型进行重建,得到重建后的三维模型,充分 利用密度聚类算法对噪声不敏感,能发现任意形状、大小类簇的特点和双边滤波保持点云 特征的特点,实现了在原始数据中进行去噪平滑同时保留点云数据更多的特征,通过对比 实验发现,上述方法具有较好的去噪平滑效果。
[0047] 2、通过计算确定自适应密度聚类分析方法中的初始半径和最小邻域数目的值,避 免了原始聚类方法根据聚类结果不断调整参数的缺陷,从而提高了处理速度;同时使得三 维点云的去噪平滑效果更好。
[0048] 3、在进行双边滤波平滑时,考虑了邻域点对当前点的影响,避免了过光滑现象的 发生。
【附图说明】
[0049] 图1是规则物体的三维点云模型效果图;图I (a)是原始点云模型;图I (b)是采用 本发明的方法得到的去噪光滑效果图;图1(c)是原始点云重建效果;图1(d)是采用本发 明方法得到的重建效果图。
[0050] 图2是不规则物体的三维点云模型效果图;图2(a)是原始点云模型;图2(b)是对 比实验得到的效果图;图2(c)是本发明方法得到的去噪光滑效果;图2(d)是原始点云重 建效果图;图2(e)是对比实验得到的重建效果图;图2(f)是采用本发明方法得到的重建 效果。
[0051] 图3是本发明的方法流程图。
[0052] 下面结合附图和【具体实施方式】对本发明的方案进一步详细地解释和说明。
【具体实施方式】
[0053] 遵从上述技术方案,参见图3,本发明的点云去噪平滑方法,具体包括以下步骤:
[0054] 步骤1 :对三维点云模型进行自适应密度聚类分析,得到去噪后的点云模型。其具 体实现方法如下:
[0055] 步骤I. 1 :将徕卡scanstation2三维激光扫描仪获取的三维点云模型导入以X、 y、z为坐标轴的三维坐标系,计算自适应参数初始半径e和最小邻域数目MinPts,并为类号 ClusterID赋初值1。其中,自适应参数初始半径e的计算方法如下:
[0056] 根据公式(1)计算三维点云模型中任意两点间的欧式距离dist(i,j):
[0057]

[0058] 其中,(Xi, Yi, Zi)和Uj, Zj)分别表示点pjP p」的坐标。
[0059] 根据公式(2)和(3)计算dist (i, j)的最大值maxdist和最小值mindist,
[0060] 根据公式(4)求得距离间隔distrange。
[0061] max dist = Max {dist (i, j) | 0 i < η, 0 j < η} (2)
[0062] min dist = Min {dist (i,j) I 0 < i < η, 0 < j < η} (3)
[0063] di strange = max dist-min dist (4)
[0064] 其中,n表示三维点云模型中点的数目。
[0065] 将距离间隔distrange等距分为十段,各分段的端点值从小到大分别用 d。,山,…,(I1。表示,统计dist (i, j)在每段范围内出现的次数p k(0彡k < 10),其中,下标 k表示上述各分段的段号,记次数pk中的最大值为Ρηι(0彡m< 10),则根据公式(5)求得自 适应参数初始半径e :
[0066]
(5)
[0067] 最小邻域数目MinPts的计算方法如下:
[0068] 自适应参数初始半径e确定之后,设置MinPts的初始值为1 ;根据公式(6)统计 点云模型中的任意点Pi的邻域点数目PNumi, (0彡i < η
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1