<<Polygon Mesh Processing>>阅读笔记(4) 曲面的平滑/滤波(Smoothing)

一般有两种曲面平滑的方式:

  • Denoising:一般是去掉凸出曲面的部分(高频部分),而保留和曲面相当的部分(低频部分)。即需要一个在离散三角形网格曲面上的低通滤波器(low-pass filters),并且需要建立频率的相关概念。

  • Fairing:在平均(个人认为翻译成抹平更形象一些)的过程中,所做的不仅仅只是去除高频的部分。抹平的过程相当于是对曲面做了一个变换,使其从各个角度(曲率、高阶导数)上看尽可能的光滑。

傅里叶变换

傅里叶变换表示一种映射f,它将函数从空间域(spatial domain)f(x)变换到频域(frequency domain)F(ω)

上式中的指数部分通过欧拉公式可以展开成如下的复数形式:

这是一个包含有正弦和余弦函数的,以ω为自变量的(可以看作是频率)函数,可以将这个函数看做向量空间上的一组正交基,即频域(frequency domain)

可以将f(x)(可积的复数函数)看作向量空间中的一个元素,然后对它做下面的内积运算:

那么,傅里叶变换在这里表示了一种基的变换。通过将向量f投影到不同频率的基向量上,然后对其进行累加操作,这样就完成了从空间域(spatial domain)频域(frequency domain)的转换。

如果我们要除去频率比较高的部分,保留

只需要将上面的累加式改写为如下的形式


对于离散的三角形网格,需要将连续的函数f(x)用如下逐顶点的矩阵形式来表示

同样的如果要将拉普拉斯一贝尔特拉米算子(Laplace-Beltrami operator)应用到函数上同样也需要将变成逐顶点的矩阵形式,这样算子就变成了相应的拉普拉斯一贝尔特拉米矩阵L

根据之前的知识,可以知道,对于上面式子的每一行是按下面的方法进行运算的:

权重wij取值的时候要保证矩阵L是对称的。前面提到过两种取值的方法:

  1. Uniform形式
  1. Cotangent形式

可以发现,对函数eω是拉普拉斯算子的特征函数,因为:

这样1维傅里叶变换中的基就是拉普拉斯一贝尔特拉米算子的特征矩阵,很自然的可以想到,对于2维流型曲面其同样成立。

在处理离散形式的时候,eω就变成了矩阵L的特征向量e1...en,对于ei,用如下逐顶点的矩阵来表示

ei的特征值代表了点vi所处频域的频率,ei(vk)表示顶点的振幅。

对矩阵L的所有特征向量进行累加可以得到和前面相似的式子:

如果要滤掉高频部分,那么只需要对前m个特征向量进行累加即可:

通过下图可以看到,随着m的逐渐减小,即滤掉的频率越来低,模型的凸出部分(细节信息)在逐渐的消失。

为了得到特征向量需要对拉普拉斯矩阵进行特征分解,而当模型的顶点比较多的时候,代价是时分昂贵的。

而下面的Diffusion Flow方法则相对来说更容易实现,效率也更高一些。

Diffusion Flow

诸如热扩散和布朗运动之类的物理过程可以使用下面的扩散方程来表示

从形式上来看,这是一个二阶线性偏微分方程,通常f(x, t)表示某点x在时刻的温度,这个方程描述了无体内热运动的规律。

要将其运用到曲面网格上,首先是将连续形式的拉普拉斯一贝尔特拉米算子替换为离散形式,然后将函数f改写为逐顶点形式

为了简介,可以使用矩阵的形式来表示

等式左边的偏导数可以改写成微商的形式

化简得到

为了保证在h比较大的情况下的准确性,通常会将上式改写成如下形式:

然后将自变量相同的移到一边,写成如下矩阵方程:

最后要做的就是用上面的方程去更新网格的每一个定点

由于定点的拉普拉斯一贝尔特拉米算子等于其平均曲率法向量

所以上面的方式实际上是让每一个定点沿着其法向量的方向移动,移动距离由这一点的平均曲率H决定。

一个很重要的一点是,只有在算子的权重系数wij的取法是cotangent方法,定点才会向上面说的那样更新。当系数的取法是uniform时,每个顶点会向着重心的方向移动。

(左)原模型,(中)Uniform,(右)Cotangent

Diffusion Flow方法比之前使用傅里叶变换来说计算量更低,但是其主要的思想仍然是移除高频噪音(模型上不平滑的地方)而保留低频部分。

Fairing

Fairing这种方法的思想则与前两种不同,其目标是通过计算使得网格尽可能的光滑。判定光滑程度的方法各不相同,但是总的原则就是要尽可能的光滑,避免不必要的细节或者毛刺。

总的思路是:

  1. 定义一个量来衡量曲面的不平滑程度
  2. 更新曲面以最小化曲面的不平滑程度

一个比较常用的描述不平滑程度的函数是使用曲面的面积

在限定了曲面边界的情况下,不平滑的曲面相对的面积应该更大。当其取最小值的时候,外形应该像没有鼓起来的被夹紧的肥皂泡一样。

不过这个函数是高度非线性的,包含了第一基本型行列式的平方根,另外其计算的效率也不会太高。其改进形式如下(参考:Dirichlet energy):

为了求最小值,简化上面的模型至一维的情况

在一维的情况下,限制条件就从边界变成了区间。假设当函数E的自变量函数取f时E取到最小值,并且限制条件的区间为[a, b],那么对于任意函数u,并且u(a) = u(b) = 0,都有E(f) < E(fu),那么当λ = 0时,E取最小值,其对于λ的偏导数的值也为0

用分部积分公式展开上面的积分

因为u(a) = u(b) = 0所以最终

由于上式对于任意满足u(a) = u(b) = 0的函数u都成立,所以

上式推广到二维情况同样试用,所以对于改进后的函数同样可以用这个方法

为了把上面的方法应用到三角形网格的曲面上,只需要和前面一样将算子和函数改为离散形式即可


除了用面积来衡量不光滑度之外,还可以使用曲面的主曲率:

或者主曲率相对切向量的变化率:

当k = 1时,以面积为度量的不平滑度取最小值;k = 2时以主曲率为度量的不平滑度取最小值;k = 3时以主曲率相对切向量的变化率为度量的不平滑度取最小值

下图中紫色的区域就是通过上面的方法平滑得到

(左)k = 1,(中)k = 2,(右)k = 3

算子中权重取法的不同也会产生不同的结果,使用Uniform的取法会导致一些区域的顶点密度过高,使用Cotangent则能够达到期望的平滑效果

(左)原模型,(中)Uniform,(右)Cotangent
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,470评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,393评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,577评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,176评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,189评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,155评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,041评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,903评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,319评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,539评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,703评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,417评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,013评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,664评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,818评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,711评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,601评论 2 353

推荐阅读更多精彩内容