
前文1 前文2 所說的方法都是通過調整頂點坐标來實作去噪效果。從信号處理的角度來了解,顯式diffusion flow可以被視作有限沖激響應(FIR)濾波器,而Desbrun提出的隐式法可以被視作無限沖激動響應(IIR)濾波器。
為什麼我要生拉硬拽地把上文扯到信号處理領域呢?哈哈 ,隻是為了引出網格去噪中的另一大類處理方法:濾波法。濾波方法是個非常寬廣的範疇,我無法面面俱到。是以本文隻會聚焦在其比較窄的一個子集中---各項異性濾波(anisotropic filtering)。
各項異性濾波法
前文提到,各項同性的擴散流無法保持特征,因而需要引入各項異性濾波法來差別對待。濾波的對象有頂點坐标,頂點法向等。本文主要想聊聊法向濾波與頂點更新的兩步法。兩步法是将法向濾波和頂點更新分成兩個階段來疊代處理。不同的方法主要圍繞在這兩個步驟的處理效率、對特征的保持程度有差別。
為什麼這類先對法向濾波的方法能取得成功?我想,一個主要原因是法向能提供幾何特征更友善直覺的描述。試想,特征邊往往是相鄰法向的差異來定義的。是以直接對法向濾波會比對頂點坐标濾波帶來更有效的影響。
法向濾波
此類方法将法向和頂點坐标看做定義在網格上的兩個信号,首先利用不同的濾波方法處理法向,然後更新頂點坐标來逼近濾波後的法向場。其濾波基本形式為:
雙邊濾波法是其中最著名的一類方法,Zheng[6]提出的實作政策如下:
Lee[7] 提出了不同的政策,其不同點在于相鄰點法向的差異衡量:
。
兩個權重函數都是單調函數,随空間距離或信号差異的增大而單調下降。
Zhang[8] 在雙邊濾波的基礎上提出了一個拓展架構。他指出傳統的法向雙邊濾波過程在考慮信号權重
時直接使用帶噪聲的原始法向場,會帶來結果的不穩定,應該換成結構更清晰的引導向量場:
注意上式中
,前者代表原始信号,後者代表引導信号。具體的引導向量場實際上通過法向的聚類劃分成多個patch,并對每個patch求取面積權重平均的法向來實作。
其他還有層出不窮的濾波方法,如更改法向差異度量的範數L1、L0 Zhao[10],更改引導向量場的疊代階數 Wang[9],混合使用靜态/動态更新的引導向量場 Zhang[11]等等,不計其數。
頂點更新
當得到了更新後的法向後,該如何更新頂點坐标呢?Taubin[2] 提出利用面法向
正交于三條邊向量的性質:
上述等式無法同時在所有面片上成立(因為該向量場未必可積),因而隻能取最小二乘意義上的最小值:
注意上式是齊次形式,我們真正想要的是非平凡解(non-trivial)。因而将前式改寫成矩陣形式後,該問題可被視作尋找最小特征值對應的特征向量,即等價于優化如下能量:
Taubin[2] 等人提出可以通過梯度下降法來疊代求解:
同樣的
取值也很關鍵,步長小耗時長,步長大則不穩定。Sun[1] 提出了一個計算簡潔,效果不錯的疊代政策:
這個方法本質上是明确了
的選取政策,
是頂點的鄰接面片個數。對于規則三角網格,可以簡單取為6,也就是在Taubin方法中取
。
結果
這個架構下的方法數不勝數,沒有哪一個方法是包打天下,沒有最好,隻有最适合,運用之妙,存乎一心。還是先欣賞幾個結果吧。
參考
- Fast and Effective Feature-Preserving Mesh Denoising
- Linear Anisotropic Mesh Filtering
- Efficient Linear System Solvers for Mesh Processing
- Fuzzy Vector Median-Based Surface Smoothing
- Mesh Smoothing by Adaptive and Anisotropic Gaussian Filter Applied to Mesh Normals
- Bilateral Normal Filtering for Mesh Denoising
- Feature-Preserving Mesh Denoising via Bilateral Normal Filtering
- Guided Mesh Normal Filtering
- Rolling Guidance Normal Filter for Geometric Processing
- Robust and effective mesh denoising using L0 sparse regularization
- Static/Dynamic Filtering for Mesh Geometry