李瑞雪 鄒紀(jì)偉
【摘要】點(diǎn)云濾波處理作為點(diǎn)云數(shù)據(jù)處理的初始步驟,其去噪效果直接影響到后續(xù)點(diǎn)云分割、地物分類、三維模型重建等操作結(jié)果。不同濾波算法由于其原理不同,運(yùn)行效率及適用性也存在很大差異,通過(guò)選取直通濾波、體素濾波、統(tǒng)計(jì)濾波、條件濾波、半徑濾波這五種經(jīng)典濾波算法,對(duì)其原理作詳細(xì)描述。在PCL庫(kù)的基礎(chǔ)上,設(shè)置不同的閾值對(duì)每種算法進(jìn)行了大量的實(shí)驗(yàn)及分析,驗(yàn)證參數(shù)設(shè)定對(duì)每種算法的運(yùn)行效率,適用范圍及濾波結(jié)果質(zhì)量的影響。
【關(guān)鍵詞】點(diǎn)云數(shù)據(jù);預(yù)處理;濾波算法;閾值;PCL庫(kù)
中圖分類號(hào):TN94? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A? ? ? ? ? ? ? ?文章編號(hào):1673-0348(2020)013-083-03
Research on point cloud filtering algorithm based
on PCL library
Li Ruixue? Zou Jiwei
(1.Shanghai Jieshi Information Technology Co., Ltd. ; 2. Jiangxi University of Science and Technology)
Abstract As the initial step of point cloud data processing, and the denoising effect directly affects the quality of subsequent operation results such as segmentation and classification of point cloud, reconstruction of independent feature extraction 3d model, and other operation results. different filtering algorithms due to its principle, operation efficiency and applicability is also very big difference, By selecting five classical filtering algorithms, namely pass-through filtering, voxel filtering, filtering, conditional filtering and radius filtering, the principle of these algorithms is described in detail. Cloud Library, a lot of experiments and analyses were carried out for each algorithm by setting different thresholds to verify the influence of parameter setting on the operation efficiency, application scope and filter result quality of each algorithm.
Key words Point cloud data; Pretreatment; Filtering algorithm; The threshold value; Point Cloud Library
點(diǎn)云濾波處理作為點(diǎn)云處理的第一步,對(duì)后續(xù)數(shù)據(jù)的處理尤為重要。受設(shè)備、人員操作、天氣、被測(cè)物體表面材質(zhì)等多種因素影響,采集所獲的點(diǎn)云數(shù)據(jù)不可避免的出現(xiàn)離群點(diǎn)、噪聲點(diǎn),則點(diǎn)云濾波是點(diǎn)云分割、地物分類、三維構(gòu)建等后續(xù)處理的關(guān)鍵。
一般點(diǎn)云數(shù)據(jù)去噪分為網(wǎng)格化噪聲去除和無(wú)網(wǎng)格點(diǎn)云模型去噪兩種方法,網(wǎng)格去噪典型的代表有Taubin使用拉普拉斯濾波算法對(duì)網(wǎng)格模型進(jìn)行去噪,F(xiàn)leishman和Jones等使用具有各向同性的雙邊濾波進(jìn)行網(wǎng)格模型的去噪。無(wú)網(wǎng)格點(diǎn)云模型去噪的有趙乾、劉英等人運(yùn)用小波濾波方法對(duì)實(shí)木板材的點(diǎn)云數(shù)據(jù)進(jìn)行預(yù)處理,張芳菲等使用近鄰搜索的算法對(duì)孤立噪聲點(diǎn)進(jìn)行了有效濾除。
本文介紹直通濾波、體素濾波、統(tǒng)計(jì)濾波、條件濾波、半徑濾波五種點(diǎn)云濾波方法,對(duì)相應(yīng)技術(shù)理論和算法流程進(jìn)行了描述,通過(guò)實(shí)驗(yàn)探究各類算法的不同參數(shù)設(shè)定下點(diǎn)云濾波去噪效果及運(yùn)行效率。
1. 點(diǎn)云濾波算法
PCL點(diǎn)云庫(kù)是跨平臺(tái)的C++點(diǎn)云庫(kù),并且能夠編譯和運(yùn)行在Linux,Windows等操作系統(tǒng)。點(diǎn)云濾波是對(duì)特定點(diǎn)云數(shù)據(jù)調(diào)用不同濾波器設(shè)置參數(shù)準(zhǔn)確地將數(shù)據(jù)中噪聲點(diǎn)移除,保證準(zhǔn)確率的同時(shí)兼顧運(yùn)行效率。
1.1 直通濾波算法(Pass Through)
通過(guò)設(shè)置閾值參數(shù),指定參數(shù)范圍之內(nèi)的點(diǎn)通過(guò),將參數(shù)范圍之外的點(diǎn)過(guò)濾掉,實(shí)現(xiàn)對(duì)點(diǎn)云數(shù)據(jù)的基本過(guò)濾。步驟如下:
第一,導(dǎo)入特定點(diǎn)云數(shù)據(jù);
第二,對(duì)Z方向設(shè)定不同點(diǎn)云閾值;
第三,篩選離散點(diǎn),保存去噪后的點(diǎn)云數(shù)據(jù),選擇最佳去噪閾值。
1.2 體素化算法(Voxelization)
體素化算法通過(guò)體素化網(wǎng)格進(jìn)行下采樣數(shù)據(jù),減少數(shù)據(jù)點(diǎn),有利于下一步的點(diǎn)云分割,地物分類等。將網(wǎng)格重心點(diǎn)替代體素網(wǎng)格內(nèi)所有點(diǎn),保留過(guò)濾后的點(diǎn)云數(shù)據(jù)。步驟如下:
第一,將點(diǎn)云數(shù)據(jù)輸入體素濾波器;
第二,設(shè)定0.5*0.5、1.0*1.0、1.5*1.5、2.0*2.0多種不同規(guī)格的體素柵格閾值;
第三,重心點(diǎn)替代其他點(diǎn),重采樣點(diǎn)云數(shù)據(jù);
第四,保存體素柵格替代后的點(diǎn)云數(shù)據(jù),比較不同規(guī)格體素柵格閾值的篩選效果,確定最佳去噪閾值。
1.3 統(tǒng)計(jì)濾波算法(Statistical Outlier Removal)
統(tǒng)計(jì)濾波算法統(tǒng)計(jì)每個(gè)點(diǎn)到它鄰域點(diǎn)的平均距離,去除超出設(shè)定距離閾值范圍的點(diǎn)。假設(shè)原始點(diǎn)云數(shù)據(jù)集X=(xi,i=1,2····,n),濾除后的點(diǎn)云數(shù)據(jù)集X=(xi,i=1,2···,m),令K為其均值,N為其標(biāo)準(zhǔn)差,Si表示其到鄰域中點(diǎn)到的平均距離,設(shè)定處于(K-std*N, K+ std*N)范圍之外的點(diǎn)為離散點(diǎn),從點(diǎn)云數(shù)據(jù)集中去除掉。步驟如下:
第一,導(dǎo)入點(diǎn)云數(shù)據(jù)至統(tǒng)計(jì)濾波器;
第二,設(shè)定不同鄰域搜索點(diǎn)云閾值k,計(jì)算查詢點(diǎn)到鄰域點(diǎn)的平均距離;
第三,設(shè)定標(biāo)準(zhǔn)差n的倍數(shù),運(yùn)行濾波器;
第四,可視化分析不同閾值的篩選效果,確定最佳去噪閾值。
1.4 條件濾波算法 (Conditional Removal)
條件濾波算法可為多個(gè)方向指定閾值,達(dá)到點(diǎn)云去噪的效果。步驟如下:
第一,為條件濾波器導(dǎo)入點(diǎn)云數(shù)據(jù);
第二,設(shè)定多個(gè)不同方向的條件閾值;
第三,篩選離散點(diǎn),保存去噪后的點(diǎn)云數(shù)據(jù),確定最佳去噪閾值。
1.5 半徑濾波算法(Radius Outlier Removal)
半徑濾波算法原理是設(shè)定圓的半徑,也可設(shè)定落在以某點(diǎn)為中心點(diǎn)的圓中點(diǎn)的數(shù)量。剔除不在圓內(nèi)的點(diǎn)或剔除小于設(shè)定值數(shù)量的點(diǎn),二者共同影響濾波結(jié)果。步驟如下:
第一,輸入點(diǎn)云數(shù)據(jù);
第二,設(shè)定圓內(nèi)點(diǎn)的數(shù)量閾值;
第三,對(duì)查詢點(diǎn)的搜索半徑Radius設(shè)定不同鄰域搜索閾值;
第四,篩選離散點(diǎn),可視化,觀察比較不同閾值的篩選效果,確定最佳去噪閾值。
2. 實(shí)驗(yàn)與分析
本文實(shí)驗(yàn)數(shù)據(jù)是由RIEGL VZ-1000掃描獲取的學(xué)校圖書(shū)館、行政樓及周邊地物點(diǎn)云,如圖1所示,共有566991個(gè)點(diǎn),復(fù)雜的場(chǎng)景能有效檢驗(yàn)濾波算法的魯棒性。
2.1 直通濾波
本文主要對(duì)Z方向進(jìn)行操作,通過(guò)設(shè)置100 通過(guò)表1可以看出,若Z值設(shè)置得過(guò)小,則會(huì)對(duì)地物進(jìn)行拆分,當(dāng)Z值設(shè)置合理時(shí),將僅保留地面以上,建筑物以下的點(diǎn),從而去除其它干擾點(diǎn)。閾值設(shè)定以及位于Z方向的點(diǎn)云個(gè)數(shù)決定了濾波效果,范圍設(shè)置大,點(diǎn)云個(gè)數(shù)多則被去除的點(diǎn)云更多,而濾波時(shí)間受閾值的影響較小。 2.2 體素濾波 體素濾波算法設(shè)置體素網(wǎng)格,設(shè)置不同大小的體素柵格,網(wǎng)格設(shè)置得越大,過(guò)濾掉的點(diǎn)云越多,部分結(jié)果如表2所示。 通過(guò)表2可以看出,當(dāng)格網(wǎng)設(shè)置得越大時(shí),點(diǎn)云越稀疏,運(yùn)行時(shí)間越短,且體素濾波并不能真正的去除噪點(diǎn),僅是在保留原始點(diǎn)形狀的前提下,減少數(shù)據(jù)量。 2.3 條件濾波 條件濾波與直通濾波類似,不同點(diǎn)在于可以同時(shí)給多個(gè)方向指定閾值,移除無(wú)關(guān)點(diǎn),部分結(jié)果如表3所示。 通過(guò)表3可以得出,條件濾波耗時(shí)較短,在Z值設(shè)置在100-102時(shí),將提取出地面點(diǎn)云,而當(dāng)X大于0時(shí),僅提取行政樓點(diǎn)云,而圖書(shū)館周邊被濾掉,該算法所過(guò)濾掉的點(diǎn)數(shù)跟設(shè)置的閾值有關(guān),不能對(duì)整體中的稀疏離散噪點(diǎn)進(jìn)行去除。 2.4 統(tǒng)計(jì)濾波 統(tǒng)計(jì)濾波的作用主要是剔除離群點(diǎn),本文設(shè)置四個(gè)不同的近鄰搜索點(diǎn)個(gè)數(shù)k及標(biāo)準(zhǔn)差倍數(shù)n,部分結(jié)果如表4所示。 從表4可以看出,原始數(shù)據(jù)中的許多離群點(diǎn)被移除,獨(dú)立地物更加清晰。不同閾值移除的點(diǎn)云數(shù)據(jù)量不同,其運(yùn)行時(shí)間差異較大,當(dāng)標(biāo)準(zhǔn)差倍數(shù)相同時(shí),去噪效果較為接近,但當(dāng)k越大時(shí),運(yùn)行時(shí)間較長(zhǎng)。 2.5 半徑濾波 半徑濾波可設(shè)定圓的半徑閾值,以及落在該圓內(nèi)的點(diǎn)個(gè)數(shù)的閾值,小于設(shè)定閾值則將該點(diǎn)移除。本文設(shè)置了4個(gè)不同的閾值,部分結(jié)果如表5所示。 如表5得出,與濾波前作對(duì)比,圖中的大多離散點(diǎn)被移除,建筑物及地物的輪廓也更加清晰。當(dāng)濾波半徑不變,設(shè)置的點(diǎn)數(shù)越大時(shí),移除的噪點(diǎn)數(shù)也越多,運(yùn)行的時(shí)間也將成倍增加,當(dāng)設(shè)置的點(diǎn)數(shù)不變,濾波半徑減少時(shí),濾波時(shí)間則較接近,但去噪比例將明顯提升。 3. 結(jié)語(yǔ) 本文分別對(duì)PCL中幾種常用的濾波算法原理作詳細(xì)描述,通過(guò)大量實(shí)驗(yàn)探究每種算法在設(shè)置不同的閾值后的濾波效果及運(yùn)行效率,得出如下結(jié)論: 首先,在對(duì)整體點(diǎn)云中的離群點(diǎn)濾波處理時(shí),直通濾波與條件濾波濾波效果不佳,但對(duì)篩選指定方向范圍內(nèi)的點(diǎn)云,其執(zhí)行效率較高,適用于數(shù)據(jù)量大的點(diǎn)云數(shù)據(jù)集。 其次,統(tǒng)計(jì)濾波和半徑濾波都能對(duì)離群點(diǎn)進(jìn)行有效移除,二者的去噪效果較為接近,且設(shè)置閾值較為簡(jiǎn)單,但若點(diǎn)云數(shù)據(jù)量增大時(shí),其運(yùn)行時(shí)間都將成倍增加,因此可根據(jù)實(shí)際情況,對(duì)數(shù)據(jù)進(jìn)行降采樣(如體素濾波),來(lái)提升運(yùn)行效率。 參考文獻(xiàn): [1]田旭東,王艋.基于B樣條小波分析的點(diǎn)云數(shù)據(jù)濾波處理技術(shù)[J].現(xiàn)代測(cè)繪,2019,42(03). [2]Taubin.G.A.Signal.Processing,Appoach,to,F(xiàn)air,Surface,Design[C]//(SIGGRAPH95).New? York: ACM Press, 1995:351-358. [3]Fleishman S, Drori I, Cohen-Or D. Bilateral Mesh Denoising[J]. ACM Transactions on Graphics, 2003,22(3):950-953. [4]趙乾,劉英,楊雨圖,胡忠康,周曉林.實(shí)木板材無(wú)損檢測(cè)中三維點(diǎn)云數(shù)據(jù)的預(yù)處理[J].林業(yè)工程學(xué)報(bào),2018,3(05):46-51. [5]張芳菲,梁玉斌,王佳.基于近鄰搜索的激光點(diǎn)云數(shù)據(jù)孤立噪點(diǎn)濾波研究[J].測(cè)繪工程,2018,27(11):29-33.