曹 爽 岳建平 馬 文,2
(1河海大學地球科學與工程學院,南京 210098)(2南京信息工程大學遙感學院,南京 210044)(3江西省數(shù)字國土重點實驗室,撫州 344000)
基于特征選擇的雙邊濾波點云去噪算法
曹 爽1,2,3岳建平1馬 文1,2
(1河海大學地球科學與工程學院,南京 210098)
(2南京信息工程大學遙感學院,南京 210044)
(3江西省數(shù)字國土重點實驗室,撫州 344000)
摘 要:為了去除與真實點混合在一起的噪聲并更好地保留特征,將點云噪聲分為3類,將其中與真實點混合在一起的數(shù)據(jù)點稱為第3類噪聲點,利用改進的雙邊濾波算法去除該類噪聲點.首先,利用鄰域點判斷該點屬于特征點還是非特征點;然后,根據(jù)不同范圍的點云來計算特征點和非特征點的雙邊濾波因子,實現(xiàn)基于特征選擇的雙邊濾波點云去噪.利用該算法對手持三維激光掃描儀獲得的盒子及工業(yè)構件的激光點云數(shù)據(jù)進行平滑去噪處理.結果表明,所提算法在去除噪聲的同時可以有效保持被掃描物體的特征,避免出現(xiàn)因雙邊濾波不能兼顧鄰域點特征而產生的過度光順現(xiàn)象.
關鍵詞:點云去噪;雙邊濾波;特征選擇;曲率
一些工業(yè)構件構型復雜,在掃描過程中容易受到被測對象構型、表面的粗糙度、缺陷、紋理等因素的影響,因此需要在獲取點云數(shù)據(jù)后的數(shù)據(jù)預處理階段進行點云去噪處理.其目的是在去除噪聲數(shù)據(jù)、獲得曲面更高階平滑性的同時,盡可能保持目標物體的幾何特征,防止其產生收縮變形或過光順.
三維點云數(shù)據(jù)分為有序點云、部分有序點云以及無序無組織點云數(shù)據(jù).對于不同類型的點云數(shù)據(jù)有著相對應合適的去噪方法.對于有序或者部分有序的點云數(shù)據(jù),可以采用的去噪算法包括最小二乘濾波、卡爾曼濾波和平滑濾波等.針對于無序無結構的散亂點云數(shù)據(jù),許多相關學者也進行了深入研究,提出了拉普拉斯算子、平均曲率流、移動最小二次曲面等方法[1-5].
實際上,噪聲往往無規(guī)律地分布在目標物體周圍,難以用統(tǒng)一數(shù)學模型區(qū)分.散亂點云的噪聲分3類:①偏離點云且懸浮在點云上方的稀疏點,這類點與點云主體關聯(lián)性小,基本可認為是錯誤點;②距離大片點云中心較遠、小而密集的點云,即第2類噪聲點;③ 與真實點混合在一起的點,即第3類噪聲點.因此,3類噪聲應該區(qū)別對待,不能用一種方法完全去除.
本文提出了一種基于特征選擇的雙邊濾波去噪算法.將噪聲點分為3類,將點云進行格網化,通過判斷散格里的點云個數(shù)來去除第1類與第2類噪聲點,利用本文算法去除第3類噪聲點.針對特征點云和非特征點云,采用不同范圍的點云計算雙邊濾波因子,再利用雙邊濾波點云去噪,可以防止出現(xiàn)因雙邊濾波不能兼顧鄰域點特征而產生的過度光順現(xiàn)象.實驗結果表明,利用本文算法去除噪聲的同時可以有效保持被掃描物體的特征.
通過三維散亂點云的空間劃分確定散亂點云的空間位置,將點云數(shù)據(jù)按 x,y,z劃分成 M,N,T個部分.散亂點云空間柵格化,不但可以求出每個點所在的柵格位置,也可確定每個柵格中點云的個數(shù).
首先,讀入點云數(shù)據(jù),將三維坐標點存入一個一維數(shù)組中,同時得到其x,y,z坐標的最小值和最大值,形成一個與坐標軸平行的長方體包圍盒(包圍所有的數(shù)據(jù)點),并根據(jù)數(shù)據(jù)點的密度將長方體包圍盒劃分成小立方體柵格.
設空間長方體包圍盒的最小坐標為 xmin,ymin,zmin,長方體包圍盒的最大坐標為 xmax,ymax,zmax,立方體柵格的長度為L,則小立方體柵格在x,y,z三個方向的個數(shù)分別為
設某確定點的三維坐標值為 Px,Py,Pz,則其所在小立方體柵格的哈希函數(shù)為
式中,I,J,K 分別為該點所在立方體的 x,y,z軸 3個方向立方體柵格的索引號.由一個一維存貯指針的數(shù)組來記錄每一個柵格中所有數(shù)據(jù)點的序號,數(shù)組中元素個數(shù)則為M×N×T.
當前柵格搜索點P的最近k鄰點按距離增序排列.如果當前柵格內候選點的k鄰點已找到,并且距離都小于點P到柵格6個面的最短距離,則候選點的k個最近鄰域搜索結束;否則柵格向外擴張一圈,繼續(xù)按此規(guī)則搜索,k取10~20為宜.
第1類噪聲點是偏離點云且懸浮在點云上方的稀疏點,第2類噪聲點是距離大片點云中心較遠、小而密集的點云.散亂點云網格化后,首先判斷每個小立體柵格中的數(shù)據(jù)點點數(shù),如果數(shù)目小于2,則刪除該柵格中所有數(shù)據(jù)點.這樣做的目的是找到并且可以刪除掉三維空間中懸浮在點云上空的、散亂稀疏的數(shù)據(jù)點,即第1類噪聲點.
柵格中的點云數(shù)大于閾值,則以此柵格為中心利用區(qū)域增長思想,在劃分空間柵格的基礎上,順序查看三維空間中小立方體柵格有無數(shù)據(jù)點,如果某個柵格中有數(shù)據(jù)點,則以該柵格為中心,查看其周圍柵格中是否有數(shù)據(jù)點.繼續(xù)依次把周圍有點柵格作為中心,查看其周圍柵格,直到查看完所有柵格.將與該柵格屬同一片點云的相鄰柵格尋找出來,通過判斷每一片點云中有點柵格的柵格數(shù)目,可知哪一片點云含有的有點柵格的數(shù)量最多.當點云所屬片的點云個數(shù)不是最多時,即為第2類噪聲,需將其刪除掉.
3 類噪聲中最難處理的是和真實點混合在一起的噪聲,許多學者對這類點云去噪方法進行了深入研究.Fleishman等[6-7]將圖像處理中雙邊濾波器的思想推廣到三維網格模型,設計了基于雙邊濾波的各向異性光順去噪算法,這種方法簡單快速,但它不能處理大尺度噪聲,且容易產生特征被過度光順的問題[8-10].針對第3類點云噪聲,本文提出了一種基于特征選擇的雙邊濾波點云去噪算法.雙邊濾波方法定義為p'=p-αn,其中p為原點云點,p'為去噪后的點,n為法矢的方向,α為雙邊濾波因子,且
下面對式(1)進行改進.首先,計算柵格的點云的平均歐氏距離和某點云k鄰域內平均歐氏距離,其中M 為柵格中點云個數(shù).設定閾值T0,當T>T0時認為該點是特征點云,否則為非特征點云.當T>T0時,計算雙邊濾波因子α僅采用k鄰域范圍內的點云;當T<T0時則采用整個柵格內的點云.針對特征點云和非特征點云,采用不同范圍的點云計算雙邊濾波因子.利用基于特征選擇的雙邊濾波方法進行點云去噪時,由于考慮到點鄰域的特征,可以防止出現(xiàn)雙邊濾波不能兼顧鄰域點特征而產生的過度光順現(xiàn)象.
點云去噪流程如圖1所示.
對一盒子的三維激光點云數(shù)據(jù)進行去噪處理,原始數(shù)據(jù)如圖2(a)所示.在盒子邊緣存在著第3類噪聲,利用本文算法進行處理,結果見圖2(b).由圖可見,盒子邊緣處的噪聲已經去除,特征也得到保持.對手持三維激光掃描儀獲得工業(yè)構件激光點云數(shù)據(jù)進行平滑去噪,三維掃描儀的分辨率為0.4 mm ×0.5 mm ×0.4 mm,獲得約15 ×105個點的高密度點云數(shù)據(jù).圖3(a)為含有第2類噪聲(右上角圓圈所示)與第3類噪聲(箭頭所示)的工業(yè)構件三維激光點云圖.利用本文算法將第2,3類噪聲點去除后的結果見圖3(b).由圖可知,利用本文算法可以實現(xiàn)點云第2,3類噪聲點的去除,同時很好了保持了構件的特征.
圖1 點云去噪算法流程圖
圖2 含噪聲盒子點云數(shù)據(jù)
圖3 有噪聲點的工業(yè)構件點云圖
本文提出了一種基于特征選擇的雙邊濾波去噪算法.該算法主要針對第3類噪聲點,通過鄰域點判斷該點屬于特征點還是非特征點,采用不同范圍的點云計算特征點和非特征點的雙邊濾波因子,再進行雙邊濾波去噪,完成第3類噪聲的去除.利用該算法進行點云去噪,可以防止出現(xiàn)因雙邊濾波不能兼顧鄰域點特征而產生的過度光順現(xiàn)象.實驗結果表明,利用該算法去除噪聲的同時有效地保持了被掃描物體的特征.
[1]趙燦,董剛,程俊廷.利用噪聲特點與曲面擬合的點云去噪及光順算法研究[J].現(xiàn)代制造工程,2008(6):90-93.
Zhao Can,Dong Gang,Cheng Junting.Research on denoising and smoothing of points cloud based on features of noise and surface fitting[J].Modern Manufacturing Engineering,2008(6):90-93.(in Chinese)
[2]張麗艷,周儒榮,蔡煒斌.海量測量數(shù)據(jù)簡化技術研究[J].計算機輔助設計與圖形學學報,2001,13(11):1019-1023.
Zhang Liyan,Zhou Rurong,Cai Weibin.Research on cloud data simplification[J].Journal of Computer Aided Design and Graphics,2001,13(11):1019-1023.(in Chinese)
[3]Lange C,Polthier K.Anisotropic smoothing of point sets[J].Geometric Modelling and Differential Geometry,2005,22(7):680-692.
[4]Sun X,Rosin L,Martin R,et al.Fast and effective feature-preserving mesh denoising[J].IEEE Transactions on Visualization and Computer Graphics,2007,13(5):925-938.
[5]賀美芳,周來水,神會存.散亂點云數(shù)據(jù)的曲率估算及應用[J].南京航空航天大學學報,2005,37(4):515-519.
He Meifang,Zhou Laishui,Shen Huicun.Curvature estimation of scattered-point cloud data and its application[J].Journal of Nanjing University of Aeronautics &Astronautics,2005,37(4):515-519.(in Chinese)
[6]Fleishman S,Drori I,Cohen-Or D.Bilateral mesh denoising[J].ACM Transactions on Graphics,2003,22(3):950-953.
[7]Jones T R,Durand F,Desbrun M.Non-iterative featurepreserving mesh smoothing[J].ACM Transactions on Graphics,2003,22(3):943-949.
[8]Piegl L A,Tiller W.Algorithm for finding all k-nearest neighbors[J].Computer-Aided Design,2002,34(2):167-172.
[9]聶建輝,胡英,馬孜.散亂點云離群點的分類識別算法[J].計算機輔助設計與圖形學學報,2011,23(9):1526-1532.
Nie Jianhui,Hu Ying,Ma Zi.Outlier detection of scattered point cloud by classification[J].Journal of Computer-Aided Design & Computer Graphics,2011,23(9):1526-1532.(in Chinese)
[10]Xiao Chunxia,Li Hui,Miao Yongwei.A non-local signal processing approach for filtering point set surface[J].Journal of Software,2006,22(12):110-119.
Bilateral filtering denoise algorithm for point cloud based on feature selection
Cao Shuang1,2,3Yue Jianping1Ma Wen1,2
(1School of Earth Sciences and Engineering,Hohai University,Nanjing 210098,China)
(2School of Remote Sensing,Nanjing University of Information Science and Technology,Nanjing 210044,China)
(3Jiangxi Province Key Laboratory for Digital Land,F(xiàn)uzhou 344000,China)
Abstract:In order to remove the noise mixed with the real points and retain characteristics,the noise points are divided into three categories,among which the ones mixed with the real points are called as the third category noise points.By using the improved bilateral filtering algorithm,this kind of points can be removed.First,the points are judged to be feature points or non-feature points according to adjacent points.Then,the bilateral filtering factors of the feature points and non-feature points are calculated according to the point cloud in different scale.Finally,bilateral filtering denoise for point cloud based on feature selection is realized.This algorithm is used to remove the noise in the point cloud data of a box and an industrial component obtained by a handheld three-dimensional laser scanner.The results show that this algorithm can effectively remove noise and reserve the characteristics of scanned objects.It can also prevent the excessive smoothing phenomenon caused by the reason that bilateral filtering does not take the characteristics of adjacent points into account.
Key words:point cloud denoise;bilateral filtering;feature selection;curvature
中圖分類號:P208
A
1001-0505(2013)S2-0351-04
doi:10.3969/j.issn.1001 -0505.2013.S2.029
收稿日期:2013-08-20.
曹爽(1977—),女,博士生,講師;岳建平(聯(lián)系人),男,博士,教授,博士生導師,jpyue@163.com.
基金項目:江西省數(shù)字國土重點實驗室開放基金資助項目(DLLJ201315).
引文格式:曹爽,岳建平,馬文.基于特征選擇的雙邊濾波點云去噪算法[J].東南大學學報:自然科學版,2013,43(S2):351-354.[doi:10.3969/j.issn.1001 -0505.2013.S2.029]