改进的核密度点云去噪算法的研究与实现
2020-10-13
来源:易榕旅网
2015年5月 第36卷第5期 计算机工程与设计 COMPUTER ENGINEERING AND DESIGN May 2015 Vo1.36 No.5 改进的核密度点云去噪算法的研究与实现 梁士超,韩永国+,吴亚东 (西南科技大学计算机科学与技术学院,四川绵阳621OOO) 摘要:针对目前基于核密度估计的去噪算法在核函数参数的选取上未能充分体现散乱点云数据的表面特征,提出一种改 进的去噪算法。以当前点法向量与其邻域内点的法向量构造的差向量作为核函数的参数,引入面积权重进行光顺,通过构 造空间单元格的最大连通域剔除离群点,结合K_近邻搜索建立点云之间的拓扑关系,以改进的高斯函数作为核函数计算当 前点的影响值。实验结果表明,该算法在有效去除表面噪声和离群点的同时,能够较好保留模型的细节特征。 关键词:点云去噪;高斯核函数;空间单元格;K一近邻;协方差分析 中图法分类号:TP391.72 文献标识号:A 文章编号:1000-7024(2015)05—1285—05 d0i:10.16208/j.issnl000—7024.2015.05.033 Research and implementation of improved kernel—density de—noising algorithm based on point cloud LIANG Shi—chao,HAN Yong-guo+。WU Ya-dong (College of Computer Science and Technology,Southwest University of Science and Technology,Mianyang 621000,China) Abstract:An improved de-noising algorithm was proposed considering that the current algorithms based on kernel density esti— mation fail to fully reflect the scattered point cloud on the selection of kernel function parameters.Difference vectors constructed with normal vectors of the point and that of its neighborhood were used as the kernel function parameters while introducing area weight to smooth.Maximally connected domain of the space grid was obtained to eliminate outliers,and K-nearest neighborhood search was combined tO establish the topological relations,and the improved Gaussian function was taken as kernel function tO calculate influence of the point.The experimental results indicate that the algorithm can effectively remove surface noise and out— liers and preserve detail features of mode1. Key words:point cloud de-noising;Gaussian kernel function;space grid;KNN;analysis of covariance O引 言 近年来,众多学者提出了多种点云模型去噪算法。常 用的去噪技术主要是通过滤波实现的,如高斯滤波、Wie— ner滤波、Laplace滤波和双边滤波等 ]。其它还有基于投 计函数的最大值点,从而达到提高点云数据质量的目的。 本文在文献[5,8]的基础上,结合统计分析学中的 协方差分析法和数据挖掘中的聚类算法,提出了一种基于 K_近邻的去噪算法。基于K一近邻的协方差分析可得当前点 在局部空间上的主成分分布,其最小特征值对应的特征向 影、聚类以及局部几何信息拟合的去噪方法。依据参数设 定的不同及迭代次数的增加,Laplace滤波和Wiener滤波 会使模型产生不同程度的收缩或扩张,导致模型变形l5]。 Huang等_6 提出了一种原始点云增强的方法,采用加权局部 最优投影来消除噪声、删除外点;孙正林等 利用改进的 量可作为当前点的法向量。当前点法向量与其邻域内其它 点的法向量差别越大,当前点所在区域的表面特征越丰富, 在去噪过程中就愈要加以保留;而法向量的差别越大,由 法向量构造的差向量的模就越大。本文算法正是以当前点 法向量与其邻域点的法向量构造的差向量作为高斯核函数 Mean Shift算法将散乱点云沿矢量方向快速移动到核密度估 收稿日期:2014—07—26;修订日期:2014—09—28 参数,同时引入面积权重因子加以光顺,从而计算点云中 基金项目:l ̄Jll省教育厅基金项目(13ZB0184);核废物与环境安全国防重点学科实验室开放基金项目(13ZXNK07) 作者简介:梁士超(1989一),男,河南周口人,硕士研究生,研究方向为计算机辅助设计;+通讯作者:韩永国(1963一),男,四川遂宁 人,博士,教授,CCF高级会员,研究方向为虚拟现实、仿真;吴亚东(1979一),男,河南漯河人,博士,教授,CCF会员,研究方向为 可视化与可视分析。E-mail:hansir@swust.edu.cn ・1286・ 计算机工程与设计 2015正 邻域点对当前点的影响值,进而判断该点是否为噪声点。 量cub—connected;创建动态队列变量cub—queue存储当前 改进后的算法充分考虑点云的局部空间特征,能够在有效 连通域中未被遍历的小立方体;将cub—vector中第一个小 去除噪声的同时,保持模型的尖锐及平滑特征。 1 空间单元格划分及离群点滤除 散乱点云离群点识别和滤除是重建高质量曲面的前提, 也是散乱点云预处理的重要步骤E9]。本文基于点云模型的 空间单元格划分,通过构造单元格的最大连通域,可在完 全去除距离较远离群点的同时,有效去除模型表面的部分 噪声点。 1.1单元格划分 本文使用文献E8]中用到的空间单元格划分法,详细 的划分过程可参见文献[8],假定输入点云模型为M,模型 数据为P一{Pi)i∈J,P。E 。本文主要工作是建立基于 结构体的数据结构,并为小立方体创建基于该类型的动态存 储器变量cub—vector。遍历点云数组,计算各点所在小立方 体,并将点的下标和小立方体的索引添加到对应的变量中。 设X、y、Z为3个方向上数据点的最小坐标为: c“ ,c曲~y,cM6mm;最大坐标为:c 6…一 , cubnm ,c“6r~;小立方体的长度为:cub—size;当前点 的坐标为:pc—z,pc—Y,pc一2,则小立方体在3个坐标 轴方向上的个数仇、 、z分别为 fm一(int)(c 一 一 6~一 )/cub—size 一(int)(c ~一 ~)/cub—size (1) l f一(int)( 6 一 一 6~一 )/ 一size 当前点所在小立方体的坐标索引分别是 f 一流 盯一z—int((pc—z一 b ̄in x)/ 6一size) nidexY—int((pc—Y—cuban)/cub—size) (2) l pc—index— —int((pc— ~ 6一一 )/cub—size) z(y,X) cub cub mm 2 0 x(2,Y) 图1 空间小立方体 1.2最大连通域 本文改进文献[1o]中所用区域增长法,构造基于小 立方体的最大连通域。其主要思想是:循环遍历cub—vec— tot,将所有相邻立方体归并到同一连通域,最后求出包含 立方体数目最多的连通域,即为最大连通域。 具体算法流程如下: (1)创建保存连通域的结构体及相应的动态存储器变 立方体存入cub—queue; (2)取cub—queue队首元素,在cub—vector中遍历其 上、下、左、右、前、后共26个相邻立方体,若相邻立方 体有效,则将相应立方体存人cub—queue;弹出cub—queue 的队首元素,标记已遍历并存入cub—connected; (3)重复步骤(2),直至队列为空;若cub—vector中 所有小立方体均已遍历则转入步骤(4),否则遍历cub— vector找到第一个未被遍历的小立方体,存入cub—queue, 并转入步骤(2); (4)计算cub—connected中各个连通域包含的小立方 体数目,保留最大的连通域,将其它连通域中的小立方体 及相应数据点标记无效。 图2为含噪Y模型基于空间单元格最大连通域滤除离 群点的效果。 ( )含噪原始模型 ( )基于最大连通域的去噪效果 图2含噪Y模型基于单元格最大连通域滤除离群点效果 注:图中圆点为模型参考基准点 2 K_近邻搜索和邻域协方差分析 2.1 K-近邻搜索 对于点云模型M中的数据P={P.}i∈I,P。∈R。, 距离点P 最近的k个点称为P,的K-近邻,记作Nb (声)En]。目前空间单元格法、八叉树法和K—d树法_】 常用 于计算K_近邻,而前两种适用基于包围盒的方法实现。这 些算法虽然简单直观、易于实现,但是如果点云数量达到 十万级以上,则会耗费相当的时间,本文采用改进的空间 单元格法可有效缩短计算时间,具体实验数据见“实验结 果与分析”部分。 为缩减计算时间,本文创建基于K一近邻的结构体类型 变量vert—knn,用于存储当前点索弓l、邻域点索引、邻域 点距离、邻域特征值和特征向量等相关信息。在K一近邻搜 索过程中,首先记录小立方体的相邻立方体在cub—vector 中的索引。然后遍历存储数据点的一维数组,计算当前点 第36卷第5期 粱士超,韩永国,吴亚东:改进的核密度点云去噪算法的研究与实现 ・1287・ 与所在立方体及相邻立方体内其它点的距离,将距离最小 的k个数据点索引及距离存入当前点的vert—knn变量中。 最后,检查当前点的邻域点个数,若已达到k个,则继续 有点在三维空间中z、Y方向上投影值,若某一点与另一点 在迭代过程中的轨迹点重合或者差值小于给定的阈值,则 停止迭代,并标记二者的收敛点相同。该算法能有一定程 下一个点,否则再次遍历相邻立方体的相邻立方体,直至 达到k个。 2.2协方差分析 基于点的表示中一个必不可少的属性是法向量信息[1]。 不仅高质量的基于点的绘制方法依赖于法向量,许多表面 重建算法 也需要在拥有精确的法向量信息的条件下得到 精确的重建效果。目前点的法向量估计算法主要是基于点 的局部协方差分析的方法m]。给定任意一点P ∈P,可以 构造如下3X3的半正定协方差矩阵C C—l r ]i lJ li lA]J ,Pi ∈Np (3) 式中:N ——2.1节所述点P 的邻域点集,P ——邻域点 集N 的质心。协方差分析如图3所示。 o o (a)K一近邻选取 (b)局部协方差分析 图3 点云局部K_近邻选取和协方差分析二维图 由图3可知,点云在局部空间上的主成分方向由协方 差矩阵c的特征向量表示,而各主成分方向上的变化量则 由相应的特征值衡量。最小特征值对应的特征向量可以作 为点云局部空间法向量的近似估计。协方差分析作为一种 统计方法本身有一定的抗噪作用_1 。但是当点云中存在距 离模型较远的离群点时,该方法通常不能得到较为精确的 结果,而本文上述基于最大连通域的去噪操作可以去除较 大的噪声,同时部分距离模型主体稍远的噪点也能被去除, 有效地提高了协方差分析算法计算点云局部特征信息时的 精确度。 3参数改进的加权核密度估计 基于核密度估计的点云去噪算法主要存在容易丢失尖 锐特征、去除稀疏分布数据等问题,而这些问题都和核函 数及其参数以及核密度阈值 的选取有直接的关系。如果 没有恰当选择核函数及其参数,则计算出的核密度值无法 有效体现点云的表面特征;至于核密度阈值 ,若取值过 小,则只有很少一部分点被视为噪声点,若 取值过大, 模型中均匀分布的稀疏点云会被视为噪声点。 针对上述问题,许多学者将聚类算法引入去噪技术 中ll 。文献E7]利用改进的Mean Shift算法迭代计算所 度的平滑噪声,但是核函数的窗口宽度及阈值的选取需要 多次实验才能获得相对较好的效果。文献E83选取高斯核 函数估计点云中每个点对邻域点的影响,并在此基础上对 窗口宽度参数的选取进行了改进。该算法以邻域点的欧式 距离为核函数参数,而欧式距离并不包含方向信息,即欧 式距离相等时法向量可以有很大差别,甚至完全相反,这 在模型尖锐特征处及均匀分布的稀疏区域尤其明显。因此 该算法并不能有效保留模型的细节特征。 3.1参数改进的核密度函数 基于以上表述,为了充分体现点云的局部空间特征, 本文提出了一种改进方法,即将法向量的差向量引入高斯 核函数。差向量越大则当前点与邻域点的差别越大,局部 特征信息越丰富;反之,差向量越小,则特征越不明显。 算法主要思想是:基于2.2节中的协方差分析,计算所有 点的特征值和特征向量,存入对应的vert—knn变量;遍历 vert—knn,计算并存储当前点与邻域点法向量的差向量; 以每个点的差向量的模的均值作为核函数窗口的自适应带 宽,计算各数据点的核密度值。则核密度函数如式(4)所 示,算法原理二维如图4所示 1 II .I 1Dp(P )一T3->: — 一 (4) j—=—l 式中:拖——点P 的法向量, ,—— 邻域内点的法向量, 国——核函数的自适应窗口宽度。与聚类方法相同,本算 法也是基于局部密度函数来逼近全局密度函数。最后,设 定阈值℃,通过与阈值的比较过滤噪声点[1 。 图4基于邻域法向量之差的核密度估计二维图 3.2加权因子 虽然利用本文改进的核函数可以有效检测点云尖锐特 征,但是到目前为止并没有考虑均匀分布的稀疏点云。为 了能充分保持模型特征,本文加入了面积权重因子__5]。如 2.2节所述,点云局部空间上相应的特征值衡量了各主成 分方向上的变化量,因此可以利用上文所求的最大特征值 与次特征值的乘积来近似代替面积,以达到保留模型中稀 疏分布点云数据的目的,有效提高算法的特征保持精度。 第36卷第5期 梁士超,韩永国,吴亚东:改进的核密度点云去噪算法的研究与实现 ・1289・ (in Chinese).[李宝.三维点云法向量估计综述[J].计算机 sifieation EJ].Journal of Computer-Aided Design&Computer 工程与应用,2010,46(23):1—7.] Graphics,2011,23(9):1526—1532(in Chinese).[聂建辉. E2]ZHANG Fan.On geometry pressing of point cloud data[D]. 散乱点云离群点的分类识别算法[J].计算机辅助设计与图形 Xi’an:Northwest University,2013(in Chinese).[张帆.点 学学报,2011,23(9):1526—1532.] 云数据几何处理方法研究[D_.西安:西北大学,2013.] [1O]HAN Li.Discrete curvature constrained triangle mesh model [3]LIU Bin.Denoising of point model based on orthogonal projec— segmenting technique[J].Journal of Computer-Aided Design tion constraint[J].Computer Engineering,2012,38(20): &Computer Graphics,2009,21(6):831—835(in Chi— 264—267(in Chinese).[刘彬.基于正交投影约束的点模型去 nese).[韩丽.离散曲率约束的三角网格模型拓扑分割算法 噪[J].计算机工程,2012,38(2O):264—267.] [J].计算机辅助设计与图形学学报,2009,21(6): E4]LI Jinjina&Point cloud denoisigu algorithm based on swarm intelli— 831—835.] gent[J].Computer Integrated Manufacturing Systems,2011,17 [11]ZHANG Yi.Density-based detection for outliers and noises (5):935—945(in Chinese).[李晋江.群体智能点云光顺去噪算 EJ].Journal of Computer Applicatioins,2010,30(3):802— 法口].计算机集成制造系统,2011,17(5):935—945.] 805(in Chinese).[张毅.基于密度的离群噪声点监测[J]. 1-53 xu 13o.CUDA-based point cloud denoising algorithm[J]. 计算机应用,2010,30(3):802—805.] oCmputer Engineering,2011,37(2):224—226(in Chinese). [12]Ztireli AC,Guennebaud G,Gross M.Feature preserving [徐波.基于CUDA的点云去噪算法[J].计算机工程, point set surfaces based on non-linear kernel regression EJ]. 2011,37(2):224-226.] Compute Graph Forum,2009,28(2):493—501. E6]Huang H,Li D,Zhang H,et a1.Consolidation of unorga- [13]SU Zhixun.Denoising of point-sampled model based on normal nized point clouds for surface reconstruction[J].ACM Trans mollification and median filtering[J].Journal of Computer- Graph,2009,28(5):176:1-176:7. Aided Design&Computer Graphics,2010,22(11):1892— [7]SUN Zhenglin.An improved Mean Shift algorithm used for 1898(in Chinese).[苏志勋.基于法向修正及中值滤波的点 point cloud data filtering[J].Engineering of Surveying and 云平滑[J].计算机辅助设计与图形学学报,2010,22 Mapping,2011,20(5):57—59(in Chinese). [孙正林.一 (11):1892—1898.] 种改进的Mean Shift点云数据滤波口].测绘工程,2011,20 [14]Weber C,Hahmann S,Hagen H.Sharp feature detection in (5):57—59.] point clouds Ec]//Shape Modeling International Conference, 78]ZHANG Yi.Research and improvement of denoising method 2010:175—186. based on K—neighbors EJ].Journal of Computer Applications, [16]WANG Xiaochao.Feature detection on point cloud via local 2009,29(4):1011—1014(in Chinese).[张毅.基于 近邻 reconstruction[J].Journal of Compute-rAided Design& 点云去噪算法的研究与改进[J].计算机应用,2009,29 oCmputer Graphics,2013,25(5):659-665(in Chinese). (4):1011—1014.] [王小超.基于局部重建的点云特征点提取[J].计算机辅助 [9]NIE Jianhui.Outlier detection of scattered point cloud by clas— 设计与图形学学报,2013,25(5):659—665.] (上接第1268页) [6]Marin D,Aquino A,Gegundez-Arias ME,et a1.Supervised rJ].Physica A:Statistical Mechanics and its Applications, method for blood vessel segmentation in retinal images by using 2014,406(15):1-11. gray-level and moment invariants—based features[J].IEEE 1-9]Sun Lin,Xu Jiucheng Information entropy and mutual ifnorma— Transactions on Medical Imaging,2011,30(1):146—158. tion-based uncertainty measures in rough set theory[J].Applide [7]Jose S Canovas,Maria Munoz Guillermo.Computing topologi— Mathematics&Information Sciences,2014,8(4):1973—1985. cal entropy for periodic sequences of unimodal maps[J].COm— [1O]Dai Jianhua,Tian Haowei.Entropy measures and granularity mun Nonlinear Sei Numer Simulat,2014,19(9):3119—3127. measures for set-valued information systems口].Information [8]Umberto Lucia.Entropy generation approach to cell systems Scienees,2013,240(10):72—82.