一种结合高斯统计的点云引导滤波算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一种结合高斯统计的点云引导滤波算法
A guided point cloud filtering algorithm combined with gaussian statistics
李广金1,2,杨 涛1,2
LI Guang-jin 1,2, YANG Tao 1,2
(1.西南科技大学 信息工程学院,绵阳 621010;2.特殊环境机器人技术四川省重点实验室,绵阳 621010)摘 要:针对三维信息采集设备得到的点云中含有噪声点会影响观测和重建的问题,提出一种结合高斯
统计的引导滤波方法用于点云去噪和平滑处理。首先通过计算点云中各点与邻域点的欧式距离及其均值和标准差设置高斯分布阈值去除离群点,然后采用引导滤波算法平滑模型表面噪声点。仿真实验展示了不同参数下高斯统计方法去除离群点的效果,将点云引导滤波分别与均值滤波、双边滤波进行对比,结果表明点云引导滤波具有良好的几何特征保持性能和算法耗时低的优点。
关键词:点云;噪声处理;高斯统计;引导滤波中图分类号:TP391.7 文献标识码:A
文章编号:1009-0134(2019)04-0080-04
收稿日期:2018-07-27
基金项目:国家自然科学基金资助项目(61571376);特殊环境机器人技术四川省重点实验室开放资助项目(13zxtk06)作者简介:李广金(1994 -),男,四川宜宾人,硕士研究生,研究方向为信号处理和三维建模。0 引言
随着逆向工程和三维建模在制造行业的广泛应用,实物模型的三维点云成了主要操作对象[1~3]。由于三维信息采集设备固有的硬件误差和人为、环境等因素的干扰,测得的模型点云中不可避免含有部分噪声点,影响后续模型的重建精度和成像质量。因此,对采集到的模型点云进行去燥和平滑处理至关重要。
近年来,三维点云数据在噪声处理方面得到很大的发展。Digne [4]
提出一种基于局部相似度的点云滤波去噪算法,通过平均曲率流将点云分解成低频和高频部分分别进行处理,但该方法依赖于局部点云的密度,不能很好的分辨成团的离群点和局部噪声点。Sergio 等[5]
提出一种基于增长神经气(Growing Neural Gas ,GNG )网络的点云去噪和精简算法,对Kinect 采集到的数据进行处理,能有效去除离群点,但对于点云模型缺少平滑处理。吴晓庆等[6]利用移动最小二乘法对点云进行平滑、重采样处理,虽然能有效平滑噪声点,但也会损失模型尖锐处几何特征。双边滤波算法由于具有良好的边缘保持特性,被大量用于点云噪声处理[7~9],但其只能平滑局部噪声点,且算法耗时较长。
针对以上问题,本文提出一种结合高斯统计的点云引导滤波算法。在对点云数据进行KD-tree
[10,11]
拓扑连接
后,首先采用高斯统计法去除点云离群点,然后通过点云引导滤波对剩余点云进行平滑处理。仿真实验展示了不同参数下高斯统计方法对离群点的去除效果,将点云
引导滤波分别与均值滤波、双边滤波进行对比,验证了引导滤波算法的优越性。
1 离群点的去除
离群点是指那些偏离主体点云一定的距离、数量也比主体点云少很多的噪声点[12]。高斯统计去除离群点的算法思想如下:
设
为三维点云数据,对
其建立KD-tree 搜索树后,KNN(p)是p 点的k 邻域点集,
为点p i 的邻域点,其中j =1,
2,…,k 。
定义d i 为某一已知点p i 到其k 个邻域点的平均距离,i d 为d i 的均值,σ为d i 的标准差。
(1)
(2)
(3)现假设d i 服从高斯分布,即d i ~
据高斯函数曲线的特点,我们可以设定阈值:对于原始
点云中某一点,当d i
群点从点云数据中去除,其中ε为人为设定的去噪参
数。当1ε==1
时,根据高斯函数特点,理论上可滤除的点数量为原始点云的31.73%。
2 局部噪声点平滑
当距离主体点云一定距离的离群点被去除后,在局部点云表面仍有一些幅度比较小的噪声点不能被高斯统计的方法去除。这些噪声点会造成点云局部高低起伏,影响后续点云模型的重建精度,故需要对剩余点云进行平滑处理[13]。
2.1 点云引导滤波算法
引导滤波最初由何凯等[14]提出用于图像滤波,采用一张引导图计算线性模型系数,对输入图像进行滤波,使输出图像大体上与输入图像相同,纹理上却与引导图相似,具有良好的边缘保持特性和时间复杂度低的优势。根据三维点云的特点,可将引导滤波改进后应用到点云噪声平滑处理上[15]
。
假设点云中某邻域平滑处理前后满足以下线性关系:
(4)
其中,p'ij 为滤波平滑后的点,a i 和b i 为线性模型的待求参数,可通过求解式(5)在该邻域的极小值解出:
(5)
式中λ为控制平滑效果的人为设置参数。J (a i ,b i )取极小值时,对a i 和b i 的偏导数为零。解得:
(6)
i ij i ij b p a p =−
(7)
1
k
ij
j ij p
p k
==
∑ (8)
由于点云中任一点p i 的邻域点集不完全相同,对应的a i 和b i 也不会相同,对点云中每一点重复以上计算,解出的a i 和b i 用于对该点作平滑处理:
(9)
从以上推导看出,通过将处理点的邻域点集作为引导窗口,使得平滑处理后模型能保持其邻域的几何特征。由式(6)、式(7)、式(9)可以看出,参数λ==0时,a i =1,b i =(0,0,0),输出点坐标等于输入点,点云
局部噪声并未得到平滑;随着λ取值不断增大,a i 相应减小,输出点越来越接近其邻域几何中心。实际应用中通常取λ<1。2.2 均值滤波算法
在图像处理领域,均值滤波是一种线性平均滤波器。在点云处理方面,均值滤波算法即为引导滤波参数
λ趋于无穷大后的特殊情况。此时,平滑处理过程即为
通过式(9)得到的邻域几何中心来代替处理点。2.3 双边滤波算法
双边滤波平滑点云的表达式为:
(10)
为平滑后的点,i µ
为此处的双边滤波因子:
(11)
此处W c 与W s 为高斯核函数:
22()exp[/(2)]W x x σ=−
(12)
W c 为平滑函数,以该点到邻域点的距离为自变量。
为平滑因子,其值越大,平滑效果越好,通常取为W c 自变量的最大值;W s 为几何特征保持函数,以此邻域法向量与该点到邻域点距离向量的內积作为自变量。
为特征保持因子,其值越小,几何特征保持性能
越好,通常取
为W s 自变量的标准差。
双边滤波涉及点云法向量的相关计算,通常采用主元分析法[16](Principal Component Analysis ,PCA )对某局部点云法向量进行估计:
设n i 为某邻域点法向量,则它与邻域点集满足关系:
(13)
定义矩阵C i :
(14)
解出其最小特征值对应的特征向量即可作为n i 的 估计。
3 实验对比分析
采用3ds Max 软件对汽车建模后,通过MeshLab 软件对导出文件处理得到txt 格式的三维数据点云,通过matlab R2016a 软件对点云数据加入随机噪声点,依次采用前文介绍的算法编程进行处理。计算机硬件条件为: