范 晨,金 永,劉靜靜,孫煜雅
(中北大學(xué)信息與通信工程學(xué)院,山西 太原 030051)
法蘭裝配面點(diǎn)云數(shù)據(jù)是通過激光掃描設(shè)備獲取的,但是由于掃描設(shè)備的精度、實(shí)驗(yàn)環(huán)境的光照以及激光入射角度等因素的干擾產(chǎn)生了不同類型的噪聲。這些噪聲點(diǎn)的存在往往會嚴(yán)重影響重建后的表面精度。裝配面上又含有臺階面等特征,則對噪聲去除的同時(shí)需要保持并增強(qiáng)特征點(diǎn)云,這對精確測量裝配面的尺寸信息具有重要意義。因此,法蘭裝配面點(diǎn)云數(shù)據(jù)的去噪處理是必要的。目的是去除噪聲、獲得裝配面曲面更高平滑度的同時(shí),盡可能保持它的幾何特征,防止產(chǎn)生過度光順的現(xiàn)象。
目前,國內(nèi)外學(xué)者對點(diǎn)云去噪提出了多種不同的算法。其中,F(xiàn)leishman[1]和Jones[2]最早在論文中提出了網(wǎng)格的雙邊濾波去噪法;Wang等[3]最先在三維空間中運(yùn)用了移動最小二乘法(moving lest squares,MLS)去噪法;劉靜靜[4]提出的改進(jìn)雙邊濾波法;Lu等[5]改進(jìn)了網(wǎng)格去噪法;郭東兵[6]將傳統(tǒng)的三步網(wǎng)格去噪法改進(jìn)為了四步;袁華等[7]提出一種基于噪聲分類的雙邊濾波點(diǎn)云去噪算法。雖然網(wǎng)格法和雙邊濾波法都可以實(shí)現(xiàn)濾波去噪的效果,但是網(wǎng)格法處理結(jié)果易出現(xiàn)形狀畸形或表面收縮的現(xiàn)象,且在對數(shù)據(jù)網(wǎng)格化時(shí)有可能會將誤差引入,因此,本文選擇使用了雙邊濾波法對裝配面點(diǎn)云數(shù)據(jù)進(jìn)行處理。
本文以法蘭裝配面作為研究對象,針對法蘭裝配面上含有的特有噪聲點(diǎn)和特征點(diǎn),將噪聲點(diǎn)進(jìn)行了分類,利用空間柵格劃分將點(diǎn)云數(shù)據(jù)柵格化,使用K領(lǐng)域搜索的方法篩選出第1類噪聲點(diǎn),運(yùn)用采樣點(diǎn)鄰域點(diǎn)數(shù)統(tǒng)計(jì)法刪除第1類噪聲點(diǎn);采用提出的改進(jìn)雙邊濾波法對第2類噪聲點(diǎn)進(jìn)行去噪。最后通過與各類算法進(jìn)行對比分析,檢驗(yàn)算法在法蘭裝配面點(diǎn)云數(shù)據(jù)上的去噪效果以及特征的保持度。
三維點(diǎn)云數(shù)據(jù)一般分為有序點(diǎn)云數(shù)據(jù)和散亂點(diǎn)云數(shù)據(jù)[8-12]。對于有序點(diǎn)云數(shù)據(jù)的去噪來說,常用的算法包括中值濾波算法、高斯濾波算法、隨機(jī)濾波法和最小二乘濾波等。對于散亂點(diǎn)云數(shù)據(jù)的去噪來說,也有2種常用的方法,分別是:
a.直接對含噪聲的散亂點(diǎn)云進(jìn)行濾波去噪處理。
b.將含噪聲的散亂點(diǎn)云數(shù)據(jù)網(wǎng)格化后進(jìn)行濾波去噪處理。點(diǎn)云數(shù)據(jù)去噪是為了有效且快速地去除噪聲點(diǎn),與此同時(shí)保持點(diǎn)云的細(xì)節(jié)特征。
裝配面點(diǎn)云數(shù)據(jù)的噪聲組成分為2類,第1類是由于光照環(huán)境或材料本身的異常反射,數(shù)據(jù)中產(chǎn)生一些游離于主體曲面之外呈獨(dú)立分布的噪聲點(diǎn),稱外點(diǎn);第2類是與主體曲面點(diǎn)云混合的呈散亂、隨機(jī)分布的噪聲點(diǎn),稱離散點(diǎn)[13]。如圖1和圖2所示。
圖1 原始法蘭裝配面點(diǎn)云數(shù)據(jù)
圖2 點(diǎn)云數(shù)據(jù)孔洞處噪聲放大
本文對裝配面點(diǎn)云數(shù)據(jù)去噪的整體步驟為:
a.對裝配面點(diǎn)云數(shù)據(jù)中的噪聲點(diǎn)進(jìn)行分類。
b.根據(jù)空間柵格劃分的方法將點(diǎn)云數(shù)據(jù)柵格化。
c.使用K領(lǐng)域搜索的方法,確定法蘭裝配面點(diǎn)云的空間位置,判斷每片點(diǎn)云的柵格數(shù)量是否最多。
d.如果不是最多那就是第1類噪聲點(diǎn),利用采樣點(diǎn)鄰域點(diǎn)數(shù)統(tǒng)計(jì)的方法刪除第1類噪聲點(diǎn)。
f.接下來就是比較Ti與閾值T0的大小。當(dāng)判斷Ti>T0為是時(shí),就認(rèn)定為特征點(diǎn)云,利用K鄰域來計(jì)算α(雙邊濾波因子);當(dāng)判斷Ti>T0為否時(shí),就認(rèn)定為非特征點(diǎn),利用柵格內(nèi)的點(diǎn)云來進(jìn)行計(jì)算。
g.利用改進(jìn)的雙邊濾邊法對第2類噪聲點(diǎn)進(jìn)行去噪。
具體的去噪流程如圖3所示。
圖3 裝配面點(diǎn)云去噪流程
確定法蘭裝配面的空間位置時(shí)使用了空間柵格劃分的方法,將法蘭裝配面點(diǎn)云數(shù)據(jù)按x,y,z劃分成A,B,C這3個(gè)部分。裝配面點(diǎn)云空間柵格化的目的在于求出每個(gè)點(diǎn)所在的柵格位置以及確定每個(gè)柵格中點(diǎn)云的個(gè)數(shù)。具體步驟為:
a.讀入點(diǎn)云數(shù)據(jù)。
b.將法蘭裝配面點(diǎn)云的坐標(biāo)點(diǎn)存入一維數(shù)組中,得到其x,y,z坐標(biāo)的最大值、最小值。
c.在包圍所有的數(shù)據(jù)點(diǎn)的長方體包圍盒中,根據(jù)法蘭裝配面點(diǎn)云數(shù)據(jù)點(diǎn)的密度將長方體包圍盒劃分成一個(gè)個(gè)小立方體柵格。
設(shè)xmax、xmin為包圍盒x軸上的最大、最小坐標(biāo);ymax、ymin為包圍盒y軸上的最大、最小坐標(biāo);zmax、zmin為包圍盒z軸上的最大、最小坐標(biāo);L為包圍盒中柵格的長度。那么,3個(gè)不同方向上小立方體柵格的個(gè)數(shù)分別為:
(1)
(2)
(3)
設(shè)Qx、Qy、Qz分別為某個(gè)點(diǎn)的三維坐標(biāo)值,那么就有:
(4)
(5)
(6)
E、F、G分別為某點(diǎn)所在3個(gè)方向上立方體柵格的索引號。文中使用了存儲數(shù)組來記錄每個(gè)柵格中全部數(shù)據(jù)點(diǎn)的序號,A×B×C為數(shù)組中元素的個(gè)數(shù)。
法蘭裝配面點(diǎn)云數(shù)據(jù)中的第1類噪聲點(diǎn)(外點(diǎn)),與傳統(tǒng)的噪聲干擾有明顯的不同,它具有明顯獨(dú)立分布的特性,并且游離于主體曲面點(diǎn)云之外。第1類噪聲點(diǎn)(外點(diǎn))會嚴(yán)重影響法向量、點(diǎn)云密度以及曲率的求取。因此,對于第1類噪聲點(diǎn)的去除也是必要的。
具體步驟為:
a.首先將法蘭裝配面點(diǎn)云數(shù)據(jù)設(shè)為Q={Qi,i=1,2,…,N,Qi∈R3}。
b.對點(diǎn)云中每個(gè)Qi提取其K鄰域NB(Qi,K)={Qi1,Qi2,Qi3,…,QiK}。
(7)
(8)
(9)
圖4 未去除第1類噪聲點(diǎn)
圖5 去除第1類噪聲點(diǎn)
法蘭裝配面點(diǎn)云數(shù)據(jù)在去除第1類噪聲點(diǎn)后,還會存在一些離散的噪聲點(diǎn),稱其為第2類噪聲點(diǎn)(離散點(diǎn))這類噪聲與真實(shí)主體曲面點(diǎn)云混合在一塊。第2類噪聲點(diǎn)會嚴(yán)重干擾曲面重建的光順度,并且還會使點(diǎn)云表面發(fā)生起伏進(jìn)而產(chǎn)生失真現(xiàn)象。因此,對第2類噪聲點(diǎn)的去除也是必要的。
提出了一種改進(jìn)的雙邊濾波點(diǎn)云去噪算法。將Q′=Q-αn定義為改進(jìn)的雙邊濾波算法。其中,Q為原始點(diǎn);Q′為去噪點(diǎn);n為法矢方向;α為雙邊濾波因子,即
α=
(10)
為了驗(yàn)證算法的去噪效果,本文算法與多種點(diǎn)云去噪算法進(jìn)行了對比分析。去噪效果如圖6~圖10所示,圖中數(shù)值單位為mm,各算法在處理裝配面點(diǎn)云數(shù)據(jù)時(shí),本文算法的去噪效果是最好的。
圖6 文獻(xiàn)[6]去噪效果
圖7 文獻(xiàn)[7]去噪效果
圖8 文獻(xiàn)[8]去噪效果
圖9 文獻(xiàn)[9]去噪效果
圖10 本文算法去噪效果
用MSAE值[14]進(jìn)行對比分析, 它是原點(diǎn)云的法向量與去噪后點(diǎn)云法向量差異的最小絕對誤差和,用來衡量去噪結(jié)果的保真程度。由表1可知,本文算法對數(shù)據(jù)的保真度要高于其他算法。
表1 MSAE值對比表
本文的法蘭裝配面點(diǎn)云數(shù)是932 260。表2是各算法處理法蘭裝配面點(diǎn)云數(shù)據(jù)噪聲時(shí)的耗時(shí),從表2可以看出,處理相同的裝配面點(diǎn)云數(shù)據(jù),本文算法所消耗的時(shí)間更短。
表2 耗時(shí)對比
由實(shí)驗(yàn)結(jié)果對比可見,不論是從算法耗時(shí)、算法的處理效果,還是點(diǎn)云數(shù)據(jù)的保真效果方面,本文算法取得了較好的去噪效果,同時(shí)也保持了點(diǎn)云數(shù)據(jù)的細(xì)節(jié)特征。
本文提出了一種改進(jìn)的雙邊濾波去噪算法,主要針對了第2類噪聲點(diǎn)的去除,通過鄰域點(diǎn)判斷是否屬于特征點(diǎn),再使用改進(jìn)的算法對其進(jìn)行去噪。通過與各類算法進(jìn)行對比分析,本文的去噪算法在達(dá)到預(yù)期去噪效果的同時(shí)還可以增加裝配面特征的保持度,且避免了傳統(tǒng)雙邊濾波在去噪后產(chǎn)生光順過度的現(xiàn)象。
本文算法也存在一定的局限性:
a.本文算法中的閾值,來源于多次試驗(yàn)結(jié)果的設(shè)定,下一步工作應(yīng)研究閾值的自適應(yīng)選取。
b.當(dāng)遇到海量的點(diǎn)云數(shù)據(jù)時(shí),本文算法的計(jì)算耗時(shí)會更長,下一步要對算法的計(jì)算效率進(jìn)行優(yōu)化。