許晨煬,彭武杰,劉帆,2,毛志紅
(1.五邑大學 智能制造學部,廣東 江門 529000;2.廣東奧普特科技股份有限公司,廣東 東莞 523846)
隨著科技的不斷發展,數字掃描儀的使用越來越普遍,人們通過數字掃描儀來獲取三維物體表面的數據也越來越容易,根據獲取數據樣本密度的不同,表面數據一般主要分為點云和網格數據,點云數據有著高的采樣密度,接近于原始模型,其缺點在于拓撲關系的不明確以及龐大的待處理點數據;相反,網格數據有著明確拓撲關系以及稀疏的點數據。盡管其低密度的采樣可能存在不能完整地描述模型的缺點,但這些缺點可以通過后期交互式3D模型重建及處理技術進行彌補。然而,無論是點云數據還是網格數據,在獲取3D數據時,不可避免地會出現噪聲,噪聲的出現會嚴重影響模型的正確表示以及后續的重建過程,因此降噪就成為數字幾何處理的關鍵步驟。
如前所述,網格數據作為一種基本的數據對象,其明確的拓撲關系降低了三維重建的數據結構的復雜度,有關網格數據三維重建中的降噪方法,前人已經做出了許多的研究工作。就目前所做的文獻調研情況,針對網格數據中不同降噪方法的理論基礎,大致可以分為3類。
第一類是基于微分幾何的方法,這類方法不同于統計學方法,往往有著較高的復雜度。比如Zhao Huanxi[1]的高斯曲率流方法,通過計算點的高斯曲率值并設置判別條件來對不同區域進行降噪和特征保持,這種方法在一些具有尖銳特征的模型上有著比較好的處理效果,但算法所涉及的法向量的重定向以及高斯曲率的計算會使得算法的處理效率降低;微分幾何的方法也應用于法向量的降噪和模型重構[2],這類方法的主要特點就是使用曲面的微分方程作為理論基礎進行曲面擬合和相關法向量的計算。
第二類是基于圖像信號處理中的濾波,這類算法理論豐富且利于推廣和延伸,是三維重建中相當重要的一部分內容。比如Fleishman[3]的雙邊濾波算法,通過空間距離權值和角度權值來進行權值平均,算法的復雜度低,有著比較好的降噪和特征保持效果,尤其在具有尖銳模型特征上表現明顯(如CAD模型);Lee Kai-Wah[4]的法向量重定向的雙邊濾波,通過對法向量進行雙邊濾波來重定向點的法向量,最后通過所求得的法向量來設計迭代公式,以此反求要更新的頂點位置;毛志紅[5]在雙邊濾波上做出了一些改進,提出了一種基于Susan鄰域的雙邊濾波算法,算法基于一個定義的Susan鄰域進行雙邊濾波,在降噪和特征保持上有比較良好的效果;Yoshizawa[6]的NL-means算法,通過定義相似權來進行降噪處理,算法效果良好,但是全局算法本身的計算量龐大,處理的時間也隨之劇增;夏鋒[7]提出了一種基于相似區域塊的估計方法,通過計算曲率、形狀指數和形狀直徑函數構建高階張量矩陣進行相似度的甄別,以此尋找相似塊,從而重建點的法向量,最后通過2-鄰域的最小二乘擬合平面,以此更新頂點位置,但文中僅僅進行了法向量的重定向,更新的步長僅由點到最小二乘法平面的距離求得,導致該方法魯棒性不高。從圖像中拓展的Lp范數濾波應用于三角網格也是近幾年研究的熱點內容[8-9,11],范數濾波是一種優化求解器,求解器的關鍵在于范數對象的構建。
第三類是以特征提取為核心的濾波算法,這類濾波方法的主體還是圖像濾波算法的應用推廣,為了讓濾波器具有更高的魯棒性,這類算法在網格模型特征提取上做出了相當多的工作,但也大量增加算法的時間開銷。如Fan Hanqi[10]的基于子鄰域一致性的特征保持網格濾波算法,算法以點法向量的關系進行點聚類,進而將得到類的邊界標記為特征,最后進行雙邊濾波;Lu Xuanquan[11]的魯棒性的特征保持網格降噪算法的一大重要內容就是對特征點的識別、連接及重建,最后通過更新頂點位置完成濾波。
雖然模型降噪的方法還有很多,比如曲面逼近、曲面擬合、基于深度學習的法向濾波等[12-16],但是效果良好的算法往往復雜度過高,時間開銷大;而較低復雜度的算法對特征保持的效果往往不理想。基于對圖像處理中的幾何均值濾波的研究,本文提出了一種新穎的基于幾何均值濾波的簡單高效網格濾波算法,以第二類圖像信號處理中濾波方法為基礎進行延伸,應用高斯核函數及同態濾波思想提升濾波器的魯棒性,在有效保持特征的同時,高效地去除噪聲。

圖1 原始網格模型和含噪聲模型
三維測量儀器在掃描的過程中由于外界的因素及掃描儀或相機本身的原因不可避免地會產生噪聲,在本文實驗中,算法利用網格平均邊長L來產生加性的高斯噪聲,根據可能產生的隨機噪聲大小程度,將噪聲按Noise∈(0,1)中的值來分級,定義Noise=(0~0.2)L時為輕度噪聲,Noise=(0.2~0.5)L時為 中 度 噪 聲,Noise=(0.5 ~1.0)L為重度噪聲。
三角網格模型可以用三元組來表示,M=(VM,KM,PM),VM是所有頂點的集合;KM代表拓撲關系,包含頂點索引值、連接邊和三角面片信息;PM表示頂點的屬性信息,比如點空間位置、點法向量等[5]。網格數據中比較重要且明確的就是易獲取的鄰域信息(如圖2),在KM中點p的1-鄰域可以表示為N(p,1),2-鄰域可以表示為N(p,2),以此類推,p的n-鄰域可以表示為N(p,n)。

圖2 網格點N-鄰域索引示意圖
幾何均值濾波是圖像處理中一種常見的濾波方法,幾何均值濾波器對一副圖像的復原表達式由下式給出[17]:

式中:g(s,t)為像素灰度值;f^(x,y)為復原后的中心像素灰度值;Sxy為空間模板;mn為模板大小。
高斯函數由于其低通特性在濾波器中應用廣泛,經過變換后也可變為高通濾波器,尤其是在雙邊濾波器和頻率域濾波上,經常可以看到高斯濾波器的使用。低通的高斯濾波器用于對圖像的平滑,而高通高斯濾波器用于銳化圖像,本文研究高斯高通濾波器所具有的特性。頻率域濾波中,理想的高通濾波器應具有如下特點[18]:

理想的高通濾波器理論上是可以實現的,但實際上本文使用的是特性相似的濾波函數來逼近理想的高通濾波,比如布特沃斯濾波器和高斯高通濾波器就在圖像銳化中得到廣泛應用,高斯高通濾波器可由下式來表達[18]:

圖3所示的是形式變化后的高斯高通函數圖像,常數c控制函數邊坡的銳利度,函數值在γL和γH之間過渡。

圖3 近似的高斯高通濾波函數特性
基于張量分解的三維網格降噪方法[7]主要通過模型幾何屬性獲取子模型塊相似塊,對子模型塊及其相似塊的法向量進行張量處理。基于張量的網格降噪過程中,現有方法主要通過修正法向方向進行降噪,法向偏移沒有進行優化處理。該方法的缺點是不能合理設置法向偏移量。
自適應雙邊濾波器網絡濾波方 法[22],結 合 三維網格模型的局部特征強度,自適應地優化濾波參數,實現局部雙邊濾波器中數值濾波器和空域濾波器的合理搭配。該濾波器能夠更好地保持三維網格模型的細節特征。不過,自適應雙邊濾波器檢測特征強度的復雜度較高。因此實現效率較低。
加權的M-估計器方法中[21],雖然有效地保持模型的特征,但是該方法需要人為干預去調節參數,需要用戶的經驗值。
幾何均值濾波器的操作對象是圖像灰度值,即圖像像素點具有的一個顏色屬性。在網格數據中,能夠表征網格點屬性的量有很多,可以從PM中選取構造,設VM中的任意點可以表示為v=(vx,vy,vz),本文選取點空間位置作為網格濾波的基礎,可以將幾何均值濾波推廣至三維空間,有下式:

式中:vi=(vix,viy,viz)是中心點;vj=(vjx,vjy,vjz)是vi的1-鄰域點;N=N(vi,1)是鄰域點個數;v^i=(v^ix,v^iy,v^iz)是迭代的新點位置。類似于灰度值零點的處理,在處理三維點空間位置時,也需要將網格點平移到第一卦限,保持v=(vx,vy,vz)的坐標值恒正,在濾波完成后再進行平移還原。
有關于特征區域的判別也是幾何處理中的有趣的研究內容,噪聲與網格的幾何特征都屬于高頻信息,現在依然沒有一個有效的數學定義將二者區分開,在網格的尺度很大的情況下,甚至連人眼都難以區分,所以目前在區分特征與噪聲的研究上往往是擬合一個度量函數來迭代求解,或者是依據能量函數進行全局的優化迭代求解。在網格濾波算法發展的歷程中,幾乎所有方法的求解優化和函數擬合都有一個特征顯著性或者相似性的度量函數[19]。目前在特征顯著性度量上,可以用急劇變化的方向曲率及高斯曲率等作為度量閾值;也可以使用網格點法向量夾角、網格邊夾角及三角片面夾角等,本文中則使用法向量夾角和空間距離來識別網格模型的顯著特征,最后擬合一個函數進行新頂點位置的求解。
3.2.1 同態濾波思想應用
為了避免特征區域受到不同流型面的影響而被鈍化,本濾波算法設計的基本思路是濾波器要具有能夠將噪聲點拉向原始曲面,以滿足降噪要求,同時保持特征不被鈍化的特點,參考1.3節介紹的同態濾波思想,綜上所述,推廣的新點迭代公式可以按如下重寫為

式中:K(t,r)∈(0,1),是本算法的顯著(相似)性度量函數;t、r變量均為表征特征的參數變量,參考式(2),濾波器關注于感興趣的特征區域,特征的判別屬于閾值控制,所以理想的顯著性度量高斯權函數K(t,r)應該具有式(2)的特點,公式的中括號內容是同態濾波器的應用形式,用于保持(銳化)特征,整個點空間位置的迭代公式屬于全局點空間位置的幾何均值濾波函數,用于去除噪聲(紋理特征)。
3.2.2 高斯核函數的應用
與算術均值中的加權雙邊濾波相似,點的法向量夾角γ和點的空間距離S作為本文顯著性度量函數的基礎,即t=γ,r=S,本文使用幾何均值來計算兩個特征顯著性值,K(t,r)表達式為

式中:θv為法向量夾角的閾值;θs為空間距離的閾值;θv和θs都是自適應的,可以由模型網格點中的平均法向量夾角和平均邊長計算得到;μ0、μ1為相關系數,即閾值控制系數,它控制著高斯權函數的邊坡銳利度,控制系數是本文算法特征保持性能的關鍵,通常需要進行參數調整來確定最優的值,實施過程中依據經驗選取,如對一些只包含平面和不連續特征的機械零件模型可以將μ0、μ1選取得小一點,以使濾波函數擁有更好的特征保持性。
表1給出了本文算法的偽代碼。通過設置迭代次數,使得算法達到最好的降噪效果,同時保持關鍵特征,一般而言,iterations=3時本文算法能夠在保持特征的同時進行噪聲的去除,迭代過多就可能會模糊特征,針對不同模型進行試驗選取合適的迭代次數可以得到更適合模型的效果。

表1 算法的偽代碼
本實驗實施了章節2.3所講述的算法,加性噪聲水平為0.15,μ0、μ1分別設置為0.12和0.30,實驗中對比了經典的最小平方濾波算法[20]、Susan結構保持濾波算法[5]、加權的M-估計器濾波算法[21]、特征保持的雙邊濾波算法及本文算法。
如圖4所示,使用機械零件模型來驗證本文的算法效果,從圖中標記區域可以看出本文算法在特征保持上有著相當良好的效果,雖然特征保持的雙邊濾波算法也有著良好的特征保持效果,但是算法降噪后存在噪聲點,降噪效果并不理想。如圖5所示,本文使用Bunnies-iH模型來對比不同算法得到的效果,從灰色框標示的區域可以看出,非魯棒性的最小平方濾波算法嚴重模糊了特征,同樣的M-估計器和特征保持的雙邊濾波算法在眼睛和文字特征的保持上沒有本文提出算法的效果好。

圖4 Frandisk模型的不同算法降噪效果對比

圖5 Bunnies-iH模型不同算法降噪效果對比
如圖6所示,灰色框標示的區域中,特征保持的雙邊濾波算法在眼皮上仍然有未去除的噪聲存在,本文算法、Susan降噪與加權的M-估計器均有著良好的降噪和特征保持效果;如圖7所示,最小平方濾波雖然降噪效果很好,但是特征也被嚴重模糊,在左邊灰色框標示的3D人像中,有3個比較大的噪聲點存在,右邊的灰色框標示區域中所標記的是頭發特征,經過本文算法降噪只剩下2個噪聲點,同時頭發特征被很好地保留下來。

圖6 Man-head模型不同算法降噪效果對比

圖7 lenaH模型不同算法降噪效果對比
為了進一步證明本文算法在不同模型上良好濾波的性能,表2定量統計了4種算法與本文算法濾波完成后網格模型相較于原始無噪聲網格模型的最大絕對誤差Dmax、平均誤差Dmean、誤差方差δ及均方誤差(MSE),加粗部分為最優結果。從表2可以看出,本文算法的誤差統計值與均方誤差(MSE)上都能取得最低值,這說明采用本文的方法能夠最大程度地去除噪聲、恢復原始模型并有效保持特征。圖8對比了濾波的4種算法與本文算法在4種模型上的均方誤差值,從均方誤差(MSE)可以看出,與其他算法相比,本文算法在不同模型上的表現更穩定,誤差也更小。

表2 濾波后相比原始模型的誤差統計以及均方誤差

圖8 本文算法與其他算法在不同模型上均方誤差的對比
本文在幾何均值濾波基礎上,綜合了同態濾波和雙邊濾波等的思想,并延伸至3D 網格濾波降噪中,實驗表明該算法在特征保持和降噪上都有著良好的效果。算法的處理的核心是基于點空間位置的魯棒統計,并應用類似于雙邊濾波中的權值的處理,算法中選取了法向量夾角值與空間距離作為權值,并構造了模型特征局部相似性高斯度量權函數。最后基于同態濾波的理論來設計迭代公式對頂點位置進行更新迭代。算法魯棒性關鍵在于模型特征局部相似性權重函數的使用,即如果濾波的中心點在特征區域,迭代公式受到相似權函數的影響會執行銳化的操作,類似于圖像銳化處理的高通濾波;如果中心點在非特征區域,迭代公式受到相似權函數的影響會執行平滑的操作,類似于圖像降噪處理的低通濾波。算法的對比實驗效果及定量的誤差分析數據表明了本算法對具有不同特征尺度模型的降噪處理具有一定的效果。本文的不足在于:本文的算法只有針對非CAD模型具有好的降噪效果,但是針對CAD零件模型尖銳處沒有達到很好的效果,并不能體現出本文算法的優勢。在未來的工作中希望對該算法加以改進,使算法具有普適性。