[工具]toolbox_graph_laplacian

Laplacian:经常用在提取局部特征。例如在论文A survey on partial retrieval of 3D shapes中,Laplace-Beltrami算子被用来提取局部特征。具体做法为:

对于采样顶点,首先定义其局部区域,然后通过对Laplace-Beltrami算子分解,得到的最大值作为局部特征进行统计。

wiki:http://en.wikipedia.org/wiki/Laplacian_matrix

在toolbox_graph中,提供了下列函数来求得来计算Laplace矩阵

function W = compute_mesh_weight(vertex,face,type,options)

  参数说明:vertex

    face

    type——提供不同的计算模式,当下列参数时,计算公式分别为:

        combinatorial:如果顶点i与顶点j相连,则W(i,j)=1

        distance: W(i,j) = 1/d_ij^2

        conformal:W(i,j) = cot(alpha_ij)+cot(beta_ij)。其中alpha_ij和beta_ij分别为到边ij的角度

function L = compute_mesh_laplacian(vertex,face,type,options)

  参数说明:vertex、face、type——同上。

    options——参数symmetrize和normalize的设定可以可以参考维基百科上与之相关的部分。

      

    If options.symmetrize=1 and options.normalize=0 then
      L = D-W
    If options.symmetrize=1 and options.normalize=1 then
      L = eye(n)-D^{-1/2}*W*D^{-1/2}
    If options.symmetrize=0 and options.normalize=1 then
      L = eye(n)-D^{-1}*W.

    eye(n)即为单位矩阵。

function G = compute_mesh_gradient(vertex,face,type,options)

计算梯度,G‘*G即为上述求得的Laplacian矩阵。

原文地址:https://www.cnblogs.com/sipin/p/4366063.html