上文 介绍了网格去噪的问题本质,并利用傅里叶变换分析其形式化表示。本文中,我们一起来看看另一类扩散流方法。
Diffusion Flow
Diffusion Flow (扩散流),描绘了对信号函数
进行随时间变化的平滑处理过程,在物理学中比较常见,可以通过如下的扩散方程来定义:
注意在广义的扩散方程中,扩散系数
可以是关于
的函数
,也可以是常量。当
为对称正定矩阵时,方程描绘的是各向异性的扩散。在特殊情况下,
退化为标量系数,此时方程描绘了各项同性匀速的扩散。
各向同性
在此,我们只讨论
为标量系数的情况。当考虑定义在网格上的扩散流时,我们首先需要对上述连续表达离散化。该式是时变偏微分方程,所以我们需要在时间、空间上均作离散化。
- 空间上,可以将连续的函数
离散化为,其中是网格顶点。Laplace函数可以选择离散Laplace-Beltrami算子:
- 时间上,使用前向差分离散微分,可得:
此时该式又叫显式欧拉积分。
此时要注意,为保证积分的数值稳定性,需要选取充分小的时间步长,这就会导致需要的迭代步数大大上升,慢啊。大佬Desbrun提出,使用隐式积分法可以保证在大步长情况下,系统的无条件稳定。其核心就是用下一时刻的Laplace代替当前时刻的Laplace:
为啥无条件稳定呢?一句话点破:想象最简单的case,
为单变量复函数
时,
。由此
不发散(详细证明过程可见参考7)。
要求解
则需要解上述线性系统了,数值稳定性固然提升,同时求解的复杂程度也上升了,果然鱼和熊掌不可兼得。
Laplacian光顺就是将上式中的
定义为顶点
的顶点坐标
。又因为Laplace算子与平均曲率
及法向
之间的关系,
上述扩散方程又被称为平均曲率流(mean curvature flow)。这揭示了一个蕴含的几何现象,
Laplacian光顺的每个迭代中,顶点都是沿着法向挪动,挪动的长度正比于该点处的平均曲率。注意,这种沿法向移动的解释并不对所有Laplacian算子都成立,只对cotangent Laplacian有效。如用顶点入度生成的均匀Laplacian就不成立,因为它并非Laplace-Beltrami算子的正确离散化表示。
请再读一遍前句,顶点入度的Laplacian并非不能被使用,只是说它并非Laplace-Beltrami算子的正确离散化形式。事实上,顶点入度的Laplacian会驱使顶点移动到一环领域的重心处,会让网格趋于各向同性分布,这在许多应用里也恰能满足其需求(见下图)。
上述形式,又可以看成
阶Laplacian flow的特殊形式(
):
其中高阶Laplacian算子可以递归地定义成:
。选用高阶Laplacian算子能带来更接近低通滤波的效果,但是由于高阶Laplacian矩阵变得越来越稠密,带来的计算量也急剧上升。权衡起见,2阶Laplacian(又叫bi-Laplacian)在计算效率和平滑质量之间取得较好的折中。Bi-Laplacian平滑方法能得到
连续的网格,但在边界处仅能达到
。下图即是使用隐式Bi-Laplacian平滑方法获得的效果。
各向异性
上述diffusion flow的方法是各向同性的,它能在各个方向上去除高频噪声,但同时也抹去了几何特征。如前文讲到,我们需要的是能保持住feature的平滑方法,这就要求flow能各向异性地扩散。近年来的相关研究业主要集中在各项异性的算法,比如著名的双边滤波,基于多尺度特征增强的各向异性滤波器等方法(下篇再展开介绍)。
在Diffusion flow的方法框架中,主要是引入各向异性的扩散张量
:
比如各项异性的平均曲率流方法就将面积
引入进来:
其中
是对角矩阵,
是定义在点
处的Voronoi Cell的面积。
这类需要介绍的文章并不多,还是早点跳到下一篇 各种Filtering 吧。
参考
- Anisotropic Geometric Diffusion in Surface Processing
- Review on 3D Mesh Model Analysis Based on the Discrete Differential Geometry
- Discrete Laplace operators: No free lunch
- Anisotropic Filtering of Non-Linear Surface Features
- Anisotropic Geometric Diffusion in Surface Processing
- Geometric Fairing of Irregular Meshes for Free-Form Surface Design
- Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow