














摘 要:三維點云語義分割是目前人工智能領域中研究的重點問題,在自動駕駛、環境感知機器人和工業自動化等領域中廣泛應用。針對激光雷達掃描數據的特點,本文根據經典的二次導向濾波方法并針對激光雷達掃描數據的特點提出三維導向濾波算法,其作用是改進三維點云數據,能夠有效濾除無用噪聲并保留點云中的局部輪廓信息。以公開的SemanticKITTI數據集為基礎,分析濾波效果,證明本文方法的有效性。
關鍵詞:三維點云;語義分割;激光雷達;三維導向濾波
中圖分類號:TM 732" " " " " 文獻標志碼:A
激光雷達可在光線不足、紋理特征少的場景中探測物體的三維信息,其優點是測距范圍大。目前,基于激光雷達的三維場景重建在工業界、自動駕駛領域得到了廣泛關注。采用激光雷達雷達測得的點云數據具有稀疏、無序等特點,與二維圖像相比,處理難度更大,有效提升點云數據質量可為后續研究提供基礎。
該領域已有一系列研究成果。例如,JENKE P等[1]將統計學與點云濾波算法相結合。KALOGERAKIS E等[2]提出一種穩健的統計模型框架。張芳菲等[3]采用構造KD樹的方法使點云數據有序化,并削弱噪聲。戴士杰等[4]提出三維散亂點云平滑去噪算法,針對散亂點云去除噪聲。AVRON H等[5]提出采用L1正則化來恢復點的法線場。CHEN H等[6]設計了一個帶有圖形約束的低秩矩陣恢復模型,以保留各種幾何特征。上述研究適用于受小噪聲影響的點云,但是在高噪聲情況下可能產生過度平滑或銳化現象。RAKOTOSAONA M J[7]提出基于卷積架構的濾波方法,其在圖像去噪方面具有優勢,但是在局部法線估計階段效果不佳。
1 點云數據濾波
1.1 三維空間中的導向濾波
經典的導向濾波是一種具有特征保持能力的高效平衡算子,其具有兼顧抑噪性能和保留局部紋理信息的能力。在二維平面中,導向濾波算法的處理過程為對引導圖像進行線性變換后,輸出窗口圖像。針對二維圖像與三維點云數據在空間位置信息上的表達差異,借鑒二維圖像導向濾波思路,可以設計三維點云空間的導向濾波處理,將其稱為導向點云濾波。本文主要研究了三維點云數據的處理方法,所以以導向點云濾波方法為基礎進行改進。與其他基于三維點云強度信息濾波的算法不同,三維導向濾波是根據三維點云數據的位置信息進行濾波的,能夠有效防止局部細節丟失與噪聲干擾,具有濾波效果好、算法運行時間短等優點。
三維點云導向濾波基于點云數據的局部鄰域計算,因此,需要確定點云中的每個點的鄰域。設3D點云,多個點云數據pi如公式(1)所示。
P={pi∈R3} " " "(1)
式中:P為點云集合;i為點云序號;R3為3D空間。
構造一個KD樹結構來表示點云和鄰域N(pi),KD樹又稱為K維空間搜索樹,它是在二叉樹的基礎上的一種數據結構,外表與二叉搜索樹相近。利用KD樹可以進行多維空間數據的鄰域搜索并存儲關鍵數據,其鄰域如公式(2)所示。
N(pi)={Pi,j∈P} " "(2)
式中:Pi,j為點Pi領域里的第j個鄰域點。
對每一點Pi均進行K鄰域搜索。給定1個KD樹和1個節點,在不同的搜索路徑中查找有最小歐式距離節點的路徑,從而確定該搜索路徑為當前路徑,重復以上過程直至在該路徑中不存在距離更近的數據點為止。
在點云導向濾波中,每組鄰域數據集都可以計算1個該鄰域質心點,如公式(3)所示。
(3)
式中:Pi,j為點Pi鄰域里的第j個鄰域點;為Pi鄰域中的質心;|N(Pi)|為N(Pi)的基數。如果計算Pi所有的鄰域點,濾波后的輸出點云就可以通過局部線性模型擬合鄰域中的導引點云N(Pi)。在N(Pi)中對Pi,j進行線性變換,可以產生相應的輸出點,如公式(4)所示。
=aiPi,j+bi (4)
式中:為去噪后得到的點云數據,ai和bi為第i組線性模型調節因子,可最小化公式(5)中的代價函數J(ai,bi)來確定。對N(pi)代價函數取最小值來求解調節因子,計算過程如公式(5)所示。
(5)
式中:ε為控制濾波效果的1個因子,公式(4)和公式(5)結合可以消去bi,然后展開累加項,如公式(6)所示。
(6)
可進一步推導bi的表達式,如公式(7)所示。
bi=-ai (7)
對所有點云的每個鄰域中的每個點進行線性變換,并求取線性模型。
1.2 二次導向濾波算法
經過導向濾波處理后,雖然點云數據中的噪聲得到明顯抑制,但是還有殘留。為了進一步增強噪聲去除效果,本文提出二次導向濾波算法,流程如圖1所示。首先,對原始帶噪聲的點云數據構造KD樹。其次,進行K鄰域搜索,將所有點云數據的噪聲點分成多個不同的鄰域。求取每個鄰域的質心,并以鄰域質心為引導數據,計算該鄰域的線性調節因子,對該鄰域的點云數據進行初次導向濾波。處理后的點云數據中仍存在噪聲。最后,將其作為二次導向濾波處理的引導數據。分別對原始數據與引導數據進行K鄰域搜索,計算相應的線性調節因子,完成對原始點云的二次導向濾波。第一次和第二次導向濾波的差別是搜索半徑參數。為了獲取點云數據中的結構信息,當進行第一次導向濾波時設置的搜索半徑較大;為了獲得點云數據中的細節信息,當進行第二次導向濾波時設置的搜索半徑較小。
從圖1可知,在第一次導向濾波的基礎上,將第一次導向濾波的輸出作為第二次導向濾波的引導點云數據,N()為該點集。輸入的原始點云數據仍然為Pi,j,二次導向濾波輸出的點云數據為 qi,j。可以進一步推導,如公式(8)~公式(10)所示。
(8)
(9)
qi,j=ai'Pi,j+bi' (10)
式中:ai'、bi'為二次導向濾波的第i組線性模型調節因子;為N()的質心,ξ為<1的正數。
本文提出的方法能夠保持點云數據的去噪效果并保留輪廓信息,為了評價方法的性能,選擇信噪比(SNR)作為評價指標,其定義如公式(11)所示。
(11)
式中:S1、S2分別為處理后的點云數據與處理前的點云數據;pi、qi分別為相應數據集中點的坐標。
在數學統計中,均方誤差(Mean Square Error, MSE)體現了估計量與被估計量的差異程度,由于該定義簡潔實用,因此通常利用MSE來評價二維或三維空間數據處理前后的效果,如公式(12)所示。
(12)
式中:N為原始點云的總數。
2 試驗與分析
2.1 激光雷達點云數據與試驗環境
激光雷達測量具有距離長、受光線影響小的特點,其可以重建煤礦井下三維場景,為煤炭安全開采提供保障。為了分析實際場景中遮擋點、誤差點、測量隨機誤差點等噪聲點對點云數據處理的進一步影響,本文對點云數據的濾波方法進行研究。從煤礦井下采集數據難度較大,因此,本文以公開激光雷達點云數據集的數據為基礎,驗證所提出點云濾波方法的有效性和可靠性。本文所使用的公開數據集為SemanticKITTI。2019年,德國波恩大學的研究小組開發了該數據集,其是在 KITTI Vision數據集的基礎上推出的1個基于汽車激光雷達的大型戶外場景數據集顯示了內城交通、住宅區以及德國卡爾斯魯厄市
周圍的高速公路場景和鄉村道路。該數據集包括22個序列(每次掃描有105個點),將序列00~10定為訓練集,將11~21定為測試集,分別提供了23 201個用于訓練的完整3D掃描數據和20 351個用于測試的掃描數據,這使其成為公開可用的最大數據集。該數據集包括28個類別,其中6個類別為移動或非移動屬性。具體來說,數據集中不區分騎車人和車輛,而是將車輛和人標記為騎自行車的人或騎摩托車的人,因此最后綜合定義為22類。
本文使用的是實驗室自主搭建的服務器,使用GPU加速,在PyTorch的框架下,基于上文CARLA平臺中虛擬環境點云采集的數據進行試驗。實驗室自主搭建服務器具體配置為Ubuntu18.04、Anaconda3、Python3.7、Intel i7-6700K和NVIDIA GeForce GTX 2080 Ti,試驗環境見表1。
2.2 三維導向濾波處理效果評價
算法改進前后的濾波效果對比如圖2所示。從圖2可以明顯看出,利用三維導向濾波算法處理噪聲后,能夠保留原始點云模型的輪廓特征與局部紋理信息。由于在單次濾波過程中,所有鄰域點對中心點的影響程度相同,因此在邊緣區域仍然存在噪聲,如圖2(a)所示。經過本文提出的改進算法處理后的噪聲點云模型整體細節完整,同時有效剔除了邊緣區域的噪聲數據。
利用經過本文改進的三維導向濾波算法,處理基于上文CARLA平臺中的虛擬環境點云采集的數據,濾波前效果如圖3(a)所示,經過二次點云導向濾波后效果如圖3(b)所示。由于數據是在虛擬環境中采集的,避免了在現實環境中的大氣雜質等,因此激光雷達掃描采集的數據噪聲較少。三維導向濾波后效果沒有明顯變化,從圖3(b)可以看出處理了建筑物和道路周圍的雜亂點,有效防止局部細節丟失與噪聲干擾,為后續點云語義分割打下了堅實基礎。
為了進一步分析本文算法的點云濾波效果,本文將使用SNR和MSR 2個參數信息來驗證本文改進后的算法優于其他經典濾波算法。SNR越大,濾波后的點云模型邊緣效果越好;MSR越小,濾波后的點云模型邊緣效果越好。大場景點云濾波結果客觀評價參數見表2,與單次導向濾波相比,二次導向濾波信噪比顯著提升,均方誤差顯著下降,說明經過二次濾波后,點云模型采樣效果較好。
3 結論
本文針對激光雷達點云數據帶有噪聲的特點,提出了改進的二次導向濾波算法。在試驗過程中,以公開的SemanticKITTI數據集數據為基礎,分析濾波效果,從定性和定量2個角度證明,與使用經典導向濾波的方法相比,二次導向濾波方法處理點云數據的效果明顯提升。綜上所述,在對激光雷達點云數據進行預處理方面,本文提出的改進的二次導向濾波方法效果更好。
參考文獻
[1]JENKE P,WAND M,BOKELOH M, et al.Bayesian point cloud"reconstruction[J].Computer Graphics Forum, 2006,25(3):379-388.
[2]KALOGERAKIS E, NOWROUZEZAHRAI D, SIMARI P,"et al. Extracting lines of curvature from noisy point clouds[J].Computer-Aided Design,2009, 41(4):282-292.
[3]張芳菲,梁玉斌,王佳.基于近鄰搜索的激光點云數據孤立噪點濾波研究[J]. 測繪工程,2018,27(11):32-36.
[4]戴士杰,任永潮,張慧博.各向異性擴散濾波的三維散亂點云平滑去噪算法[J].計算機輔助設計與圖形學學報,2018,30(10):7.
[5]AVRON H, SHARF A, CHEN G, et al.1-Sparse reconstruction"of sharp point set surfaces[J].ACM Transactions on Graphics,2020,26(11):3255-3270.
[6]CHEN H,WEI M,SUN Y,et al.Multi-Patch collaborative point"cloud denoising via Low-Rank recovery with graph constraint[J].IEEE Transactions on Visualization and Computer Graphics,2020,26(11):3255-3270.
[7]RAKOTOSAONA M J,LA BARBERA V,GUERRERO P,et al. PointCleanNet: learning to denoise and remove outliers from dense
point clouds[J].Computer Graphics Forum,2020,39(1):185-203.