閆 冬,盧曉東
(1.中國電建集團(tuán)湖北工程有限公司,湖北 武漢 430040;2.華中科技大學(xué) 生命科學(xué)與技術(shù)學(xué)院,湖北 武漢430074)
點模型是實物模型轉(zhuǎn)化為數(shù)據(jù)模型的最早表現(xiàn)形式,可表示任意平面曲線或三維曲面。由于原始的超聲數(shù)據(jù)信號存在噪音,因此濾波是三維數(shù)據(jù)建模的必要步驟。濾波的目的就是使數(shù)據(jù)更加光滑,空間曲線和曲面連續(xù)性更好,所以濾波要剔除夾雜在數(shù)據(jù)點云中的各種噪聲,在使模型變得光滑的同時保持模型固有的幾何特征,且要防止體積收縮和模型變形[1-3]。另外,還要兼顧修改后的曲線(面)同修改前的曲線(面)的“偏離”,以保證各項性能指標(biāo)不受影響。作為一個經(jīng)典問題,點模型濾波有大量算法。在地學(xué)測量領(lǐng)域,基于TIN和聚類的算法多用于LiDAR點云的濾波[4-5];醫(yī)學(xué)圖像濾波采用非局部利用圖像中的相似區(qū)域抑制噪聲的方法[6]。這些方法的基本思想為若某個點的值是其鄰域內(nèi)點的平均值,則認(rèn)為點模型是光滑的,即不停地將某個點向其鄰域的均值移動,其原理就是Mean Shift[7]。其中,由Taubin G提出的高斯濾波算法是一種非常有效的方法。該算法不停地對模型進(jìn)行縮放,讓每個點向其鄰域重心移動,從而達(dá)到濾波的目的,但濾波后的結(jié)果可能會偏離原來的模型或發(fā)生變形,因此本文提出了一種改進(jìn)的算法,能在光滑數(shù)據(jù)的同時,有效控制偏移。
高斯濾波算法原理為:設(shè)原始點集合為{xi},i=1,2,…,n,對于其中的某個點xi,搜索到其鄰域點集表示為{xj},j∈i;再根據(jù)這些鄰近點計算當(dāng)前點的估計值xi*,并比較xi和xi*的差距,將xi向xi*位置做一定移動;然后重復(fù)上述操作[8]。
1)計算當(dāng)前點的鄰域重心:式中,j為i鄰域內(nèi)點的編號。
2)計算當(dāng)前點濾波后的位置:
滿足λ>0、μ<0,它們的絕對值小于1,且μ的絕對值比λ的絕對值大的條件。因為當(dāng)?shù)螖?shù)為奇數(shù)時,各點向其鄰域重心移動,即光滑的同時,點云模型相對于實際模型是縮小了;于是當(dāng)?shù)螖?shù)為偶數(shù)時,相當(dāng)于在一個縮小的模型上放大,只有在大于原始縮小倍數(shù)的情況下,才有可能放大到原來模型的大小,所以μ的絕對值應(yīng)比λ的絕對值大。該算法思想簡單,容易理解,但在實際應(yīng)用中如何確定λ、μ值,往往存在一定難度,且迭代次數(shù)一般為偶數(shù)。
鑒于此,本文提出了一種改進(jìn)算法。改進(jìn)算法的前兩步與高斯濾波算法一致,僅將步驟2)進(jìn)行多次交替操作,即當(dāng)操作次數(shù)m為奇數(shù)時,按式(2)計算;當(dāng)m為偶數(shù)時,按式(3)計算,然后不斷迭代。
顯然,改進(jìn)算法與高斯濾波算法本質(zhì)上是一致的,都是通過不斷縮放模型,剔除噪聲點。其關(guān)鍵差異在于,通過縮放的交替操作,減小了縮放比例(光滑系數(shù))差異引起的濾波后數(shù)據(jù)偏離原始模型的可能性,且結(jié)果對參數(shù)的進(jìn)一步依賴性減弱。濾波的結(jié)果。圖2a為利用高斯濾波方法處理的結(jié)果,頂部有一定的凹陷,濾波后數(shù)據(jù)存在一定變形;圖2b為改進(jìn)算法處理20次的結(jié)果,相對于傳統(tǒng)方法,其光
圖1 為噪聲模型經(jīng)過高斯濾波方法與改進(jìn)算法濾波后的結(jié)果,可以看出,兩種算法的光滑效果相當(dāng),但圖1b發(fā)生了明顯的位移(圓上半部分),而圖1c位置信息保存完整,基本沒有發(fā)生位移。因此,改進(jìn)算法較好地保持了原始位置和輪廓大小,且消除了噪聲。
圖1 兩種濾波方法的濾波結(jié)果
圖2 兩種算法三維球面濾波結(jié)果
圖2為對具有一定高斯噪聲的標(biāo)準(zhǔn)三維球面進(jìn)行滑性較差(可通過多次迭代解決),但數(shù)據(jù)沒有顯著形變,仍然是一個完整的球面。比較圖1、2可知,高斯濾波方法濾波后,圖1的形變較大而圖2則相對較小,主要原因為原始數(shù)據(jù)中加入的噪聲量不同,較大的噪聲將導(dǎo)致相對大的偏移。
圖3a中的藍(lán)色曲線是一個接近高斯分布的曲線,曲線上存在一定噪聲,利用改進(jìn)算法濾波后的結(jié)果為紅色曲線,顯然噪聲得到了剔除,且有效保持了原始數(shù)據(jù)的特征信息。圖3b中黑色曲線為傳統(tǒng)高斯濾波后的結(jié)果。比較而言,改進(jìn)算法對特征的保護(hù)(峰值)是非常好的,而高斯濾波后,峰值被丟棄了。
圖3 兩種算法的濾波結(jié)果比較
本文在傳統(tǒng)高斯濾波算法的基礎(chǔ)上,提出了一種改進(jìn)算法,通過交替迭代縮放操作,克服了確定縮放系數(shù)的難點,從而較好地解決了傳統(tǒng)方法中在光滑數(shù)據(jù)的同時易造成數(shù)據(jù)偏離或偏移原始模型的問題。算法非常簡單,實現(xiàn)過程容易。
[1] 胡國飛.三維數(shù)字表面去噪光順技術(shù)研究[D].杭州:浙江大學(xué),2005:41-47
[2] 趙靜.三維激光掃描數(shù)據(jù)處理[D].揚州:揚州大學(xué),2009:20-29
[3] 徐波,唐杰,武港山.基于CUDA的點云去噪算法[J].計算機工程,2011,37(2):224-226
[4] 于雙,楊英寶,李成仁.基于模糊 C 均值聚類的機載 LiDAR點云濾波[J].測繪與空間地理信息,2015,38(2):141-143
[5] 邢旭東,王星晨,呂現(xiàn)福.基于高程突變 TIN 的改進(jìn)機載 LiDAR 點云濾波算法[J].測繪與空間地理信息,2015,38(12):105-107
[6] Buades A, Coll B, Morel J M. A Non-local Algorithm for Image Denoising[J]. IEEE Computer on Visual Pattern Recognition,2005(2):60-65
[7] CHENG Y Z. Mean Shift, Mode Seeking, and Clustering [J].IEEE Transactions on PAMI,1995,17(8):790-799
[8] Taubin G. A Signal Processing Approach to Fair Surface Design[C]. Conference on Computer Graphics and Interactive Techniques. ACM Press, New York,1999:351-358