Mesh (surface) Denoising
Meshes obtained from real world objects are often noisy.
• Mesh denoising
• Mesh smoothing
• Mesh filtering
• Mesh improvement
• Surface fairing (*)
这几个词都是去噪的不同表达。
在连续几何中, fairing 代表光顺,与 smoothing 不同。
在离散几何中, fairing 与 smoothing 通用。
噪声的特点
No Precise Mathematical Definition! 以下是经验上的描述:
• High‐frequent tiny parts
• Small bumps on the surface
• High curvature parts
• High fairing energy parts
• …
👆 实际上,满足以上特点的不一定是噪声,也有可能是特征。
去噪的难点
去噪的难点在于,噪声和特征都是未知的。因此去噪需要识别噪声和特征,要Eliminate high frequency并Preserve global features
Mesh去噪方法论 - Mesh Smoothing Model
假定:网格顶点的数据及连接关系不变
问题转化为:顶点进行适当的扰动或偏移,得到顶点的新位置,使得“噪声”减少!关键是顶点如何偏移?
定义\(M\)为含噪声的网格曲面,\(M^0\)为无噪声的网格曲面,for all \(v\in M\),认为:
$$ v=v^0+\varepsilon n $$
即顶点偏移的方向为n,大小为\(\varepsilon\)
好的算法不追求绝对的真实,而是合理的假设与必要的简化
偏移的方向n
n可以是\(𝒗^0\)点的法向,或\(𝒗\)点的法向。
如果取前者,仍然是ill‐posed问题。
因此在这里用后者,即v点的法向。
\(v是带噪声曲面上的点,v_0\)是无噪声曲面上的点。
假设:
① \(v是v_0\)沿几方向上做了一点偏移。
② \(n是v_0\)的法方向。
③ 当\(v接近v_0\)时, \(v 的法线方向接近 n\)
因此随着逐步迭代,后者会趋进前者。
偏移的大小\(\varepsilon\)
经验值,不展开
Filtering
连续形式:
$$ (x*h)(t)=\int_{-\infty }^{\infty } x(\tau )h(t-\tau )d\tau $$
离散形式:
$$ (x*h)(t)= {\textstyle \sum_{𝜏=-\infty }^{\infty }} x(𝜏 )h(t-𝜏 ) $$
几何意义:
将函数\(ℎ(𝑡)\)作为权来对\(𝑥(𝑡)\)进行加权平均(滤波)
将\(𝑥(𝑡)\)的局部信息进行混合平均
Gaussian Filtering
通常使用Gauss函数作为权函数
$$ {I}' (u)=\sum _{p\in N(u)}e^{\frac{||u-P||^2}{2\sigma ^2} }I(P) $$
Gauss 函数的好处:
① 概率密度函数,积分和为1.
② 具有对称性
③ 与距离相关
Mesh Vertex Filtering
Laplacian operator / Umbrella Operator:link
滤波对象
- Vertex
- Normal
- Curvature
- Color
- Other physical properties (texture, albedo, … )
Challenges:
• Iteration number
• Shrinkage
本文出自CaterpillarStudyGroup,转载请注明出处。 https://caterpillarstudygroup.github.io/GAMES102_mdbook/