Shape Analysis课程笔记12-The Laplacian Operator

这个系列是MIT 6.838: Shape Analysis的同步课程笔记。本课程会介绍几何方法在图形学、机器学习、计算机视觉、医疗图像以及建筑设计等相关领域的原理和应用。本节主要介绍Laplace算子的相关概念。

Laplace算子(Laplacian operator)在数学和物理等相关领域中有着大量的应用。在几何处理中,我们可以利用Laplace算子将几何形状变换到频域然后从频谱的角度进行分析,这样的方法称为spectral geometry

在本节课中我们会从简单的情况入手逐渐揭示Laplace算子在不同几何对象上的意义和应用。

不过在具体介绍Laplace算子之前我们先回忆一下线性算子的概念。当算子满足分配律和数乘时就称其是一个线性算子,比如说矩阵就是一个典型的线性算子。

使用线性算子的一个优势在于我们可以不再受限于空间的维度,线性算子可以自然地推广到无穷维的空间上。

同时矩阵的谱定理对于线性算子也有相应的推广。

Line Segments

1D Spring Network

首先考虑一维的情况。假设有一维质点弹簧系统,其中每个质点的质量为m,质点数为n+1,弹簧刚度为k。我们固定两端质点使其无法移动,

根据牛顿运动定律,每个质点的运动方程可以表示为:

F=ma=md2uidt2=k(ui+1ui)+k(ui1ui)=k(ui+1+ui12ui)

整理之后可以得到线性系统:

U(t)=kL U(t) L=[2112112112]

对于微分项我们使用差分来进行近似:

d2udx2ui+1uihuiui1hh=ui+1+ui12uih2

这样线性算子L可以理解为求二阶导数:

Ld2dx2

此时求解运动方程相当于求解偏微分方程(PDE)

2Ut2=c2 d2Udx2

上式即为一维波动方程(wave equation),它描述了质点弹簧系统的振动。

波动方程更常见的形式为:

2ut22ux2=0

Minus Second Derivative Operator

我们定义算子L[]:u2ux2,可以证明它是一个(半)正定算子。

对于离散的情况,L即为上面定义的矩阵L。对于任意向量u有:

uTLu=iui(Lu)i=iui(ui1+2uiui+1)=2iui22iuiui1=iui2+iui122iuiui1=i(uiui1)20

而对于连续的情况则有:

u,L[u]=abu(x)(2ux2) dx=[uxu]ab+abuxux dx=ab(ux)2 dx0

Eigenfuctions of Second Derivative Operator

除了半正定外,在连续情况下算子L还有类似于矩阵特征向量的概念,称为特征函数(eigenfunction)。容易验证L的特征函数和对应特征值为:

ϕk(x)=2lsin(πkxl) λk=(πkl)2

而且不同特征函数之间是相互正交的:

ϕk,ϕm=δkm

利用特征向量(函数)的正交性,我们可以对位移向量(函数)进行分解。对于离散情况,根据谱定理有:

U(t)=iUi(t)ϕi

其中Ui(t)为随时间变化的系数。带入微分方程可以得到:

i(Ui)(t) ϕi=kL iUi(t) ϕi=k iUi(t) λiϕi

进一步有:

(Ui)(t)=k Ui(t) λi

因此我们只需要求解n常微分方程(ODE)就可以得到波动方程的解。具体地,每个常微分方程的解为:

Ui(t)=aisin(kλit)+bicos(kλit)

这表示我们可以通过L矩阵的特征值与特征向量来计算波动方程的闭式解,而对于连续的情况也有类似的结论。

Regions in Rn

Typical Notation

在二维平面上同样存在波动方程,它描述了平面上的振动。其中算子Δ即为二维平面上的Laplace算子。

2ut2=Δu

Laplace算子有很多种定义方式,其中最经典的是使用梯度的散度来定义它。

Intrinsic Operator

Laplace算子的一个重要性质是它与坐标变换无关。记坐标变换前的函数为f(x),变换后的函数为g(x)=f(Rx+t),我们可以证明刚体变换后Laplace算子的效果是一样的:

xi=jyjxiyj=jRji yj x=RTy

因此,

Δx=xT x=yR RTy=Δy

Dirichlet Energy

Laplace算子可以描述函数的光滑性。我们定义函数的Dirichlet能量(Dirichlet energy)为梯度的大小(范数)在区域Ω上的积分:

E[u]=12Ωu(x)22 dA(x)

直观来看,Dirichlet能量越小表示函数在区域中的变化越平缓,函数也就越光滑。能够证明在给定边界条件下最小化Dirichlet能量等价于求解Laplace方程:

minuE[u]Δu=0

这里我们简单证明一下:

E[u]=12Ωu(x)22 dA(x)=12Ωuu dA(x)=12Ω dl12Ωu(x)u(x) dA(x)=12Ωu(x)Δu(x) dA(x)+boundary term=12u,Δu+boundary term

接下来利用variational calculus来处理内积项的极值问题。假设函数u即为所求,我们在u上添加扰动w得到新的Dirichlet能量E[u+hw],其中h为步长且扰动w满足边界条件wΩ=0。由于u为最优函数,扰动后的Dirichlet能量需要满足:

ddhE[u+hw]|h=0=ddh[12Ω(u+hw) Δ(u+hw) dA]=0

对Dirichlet能量进行展开可以得到:

ddhE[u+hw]|h=0=ddh[12Ω(u+hw) Δ(u+hw) dA]=12Ω[w Δu+u Δw] dA=Ωw Δu dA

这表示对于任意扰动wΔu需要恒为0。即在Ω内部u需要满足Laplace方程:

Δu0

实际上满足Laplace方程的函数也称为调和函数(harmonic function),它们有很多优雅的几何性质。

Positivity, Self-Adjointness

Laplace算子还满足正定性和自伴随性质,因此可以看成正定矩阵以及自伴随矩阵在函数空间中的推广:

f,Δf=Ωf(x) f(x) dA=Ωf(x)22 dA0 f,Δg=Ωf(x) g(x) dA=Ωf(x)g(x) dA=Δf,g

Laplacian Eigenfunctions

Laplace算子的特征方程与Dirichlet能量也有一定的联系,实际上小特征值对应的特征函数具有比较小的Dirichlet能量。

有时我们需要固定Ω内的一些点然后求解Laplace方程,这种情况下可能会导致一些病态的问题。

Graphs

Basic Setup

在图这种拓扑结构上同样可以定义Laplace算子。首先我们定义图上的函数是将顶点到实数的映射。

这样图上的Dirichlet能量可以定义为相邻顶点上函数值之差的平方和。

Graph Laplacian

要形式化Dirichlet能量需要在图上定义差分算子D

在此基础上就可以将图上的Dirichlet能量表示为差分的范数。

对于无向图,我们可以把差分算子D进行展开从而得到Laplace算子L=DTD。可以证明这样定义的Laplace算子是对称且半正定的。

Properties

图上Laplace算子的第二小特征值称为Fiedler向量(Fiedler vector),它描述了图的连通性和聚类性质。

满足Lx=0的节点表示该位置上的函数值等于相邻节点上值的平均。

使用Laplace算子来研究图性质的方法称为spectral graph theory

不过需要注意我们可能无法使用Laplace算子来对图进行区分,一些图有着不同的拓扑形式但是相同的特征向量。

Submanifold Laplacians

Gradient Vector Field

在几何处理中我们希望可以利用Laplace算子来研究曲面或者说是流形的性质。我们定义曲面上的标量函数f是点到实数的映射,而f的微分df是切平面上的线性算子,它将切平面上的向量v映射为f在该方向上的导数。

这样就可以定义曲面上的梯度场f(p),它满足任意切平面上的向量v有:

dfp(v)=vf(p)

这里我们证明一下梯度场的存在性。首先在p点的切平面上TpM取一组基{b1,...,bm},而它们在dfp作用下可以得到:

ai=dfp(bi)

同时定义一个矩阵g,它的每个元素为基bibj的内积:

gij=bibj

而它的逆阵g1中的每个元素记为gij

接下来我们引入一个量x,它满足:

x=ijai gij bj

这样对于切平面上的向量vTpM可以使用基向量进行分解:

v=ivi bi

vx进行内积可以得到:

vx=(vi bi)(ak gkl bl)=vi ak gkl gil=vi ak (g1g)ik=vi ak δki=vi ai=vi dfp(bi)=dfp(v)

注意这里我们使用了Einstein记号来化简推导过程。上式说明我们定义的量x实际上就是f的梯度场x=f(p),而且可以证明这样定义的梯度场是唯一的。

Dirichlet Energy

有了梯度场后就可以定义曲面上的Dirichlet能量。和前面介绍过的定义一样,Dirichlet能量是梯度范数的积分。

Laplace–Beltrami Operator

除了使用Dirichlet能量来推导Laplace算子外,我们也可以使用内积来推导Laplace算子的定义。这样得到的Laplace算子也称为Laplace–Beltrami算子(Laplace–Beltrami operator)

Divergence

或者我们也可以使用梯度的散度来推导Laplace算子。

Other Definitions

实际上还有一些其它的方法来推导Laplace算子,需要注意这些Laplace算子之间是存在一定差异的。

Applications

有了曲面上的Laplace算子就可以使用前面介绍过的特征函数等工具来分析曲面的各种性质。

另外Laplace算子在物理上有大量的应用,各种常见的PDE都与Laplace算子密切相关。

在球面上满足Laplace方程的函数称为球面谐波函数(spherical harmonics),它在分子物理中有着重要的意义。

回忆前面介绍过的平均曲率法向,不难发现它实际上就是Laplace算子在曲面上作用的结果。

Divergence

本节课的extra content讨论了流形上散度的定义。在很多资料中都使用了梯度的散度来定义Laplace算子:

Δ=

这样的定义在Rn上没有什么大的问题,但在曲面或者说是流形上则是不严谨的,这主要是因为我们没有严格地定义过流形上的散度。

对于n维空间中的m维流形MRn,记它的向量场为v:MRn。我们对欧式空间中散度的定义进行推广,散度可以定义为流形到实数域的映射:

v:MR

通过引入pM处的局部参数化ϕ:RmRn我们就可以定义流形上的散度。记Rnp点处切平面normal space中的基向量为n¯m+1,,n¯n,我们定义ϕ¯:RnRn如下:

ϕ¯(x1,,xn)=ϕ(x1,,xm)+k=m+1nxkn¯k

即在前m维上与参数化ϕ相同,而在后nm维上取normal space中基向量的线性组合。显然如果我们令后nm维上的坐标为0,ϕ¯即为参数化ϕ

实际上这样定义的ϕ¯在局部是一个单射(injective),在足够小的邻域内甚至是双射(bijective)。因此p点附近的任意点xRn都可以通过ϕ¯1映射回切平面上。

更重要的是我们可以利用ϕ¯对向量场v进行推广:

v¯(x)=v(ϕ¯1(x))

上面定义的v¯(x)Rn上的向量场,这样我们就可以把欧式空间中散度的定义推广到流形上:

v¯=k=1mekdv¯(ek)+k=m+1nn¯kdv¯(n¯k)=k=1mekdv¯(ek)=k=1mekdv(ek)=v

其中,e1,,emTpM为流形上的基。

回忆Rn上的散度定理(divergence theorem)

Cv¯ dvol=Cv¯nC dA

p点附近的邻域上,等式左边可以近似为:

Cv¯ dvolv(p)Area(C0)εnm

而等式右边则有:

Cv¯nC dA=C0vnC dA+C1v¯nC dA+Bv¯nC dABv¯nC dAεnmC0vnC dl

这样p点的散度可以近似为:

v(p)=k=1mekdv(ek)=limr01Area C0(r)C0(r)vnC dl

而流形上的散度定理则可以表示为:

Mv dA=MvnM dl

Reference