Structured Regularization of Functional Map Computations

This is an example code for the paper "Structured Regularization of Functional Map Computations" by Jing Ren, Mikhail Panine, Peter Wonka and Maks Ovsjanikov.

In this paper, we propose a new regularizer, the complex resolvent Laplacian commutativity, for functional map pipeline. This term is theoretically justified and can improve the quality of the computed functional maps and the corresponding recovered point-wise maps before and after refinement.

Main Function

[C12, Mask] = compute_fMap_complRes(S1,S2,B1,B2,Ev1,Ev2,fct1,fct2,mask_type)

% Input:
%   S1: the source mesh with the new basis B1, and the corresponding eigenvalues Ev1 (k1 Eigen-functions)
%   S2: the target mesh with the new basis B2, and the corresponding eigenvalues Ev2 (k2 Eigen-functions)
%   fct1: the descriptors of shape S1
%   fct2: the descriptors of shape S2
%   mask_type: 'standard', 'slant', or 'complRes' 
% Output:
%   C12: a functional map from S1 -> S2 (k2-by-k1 matrix)
%   Mask: the penalty mask used to regularize C12
  • Compute a functional map with different penalty mask term:
    • "standard": the standard Laplacian commutativity term (formulated as a mask)
    • "slant": a heuristic slanted diagonal penalty mask proposed in "Partial Functinal Correspondences"
    • "complRes": our proposed complex resolvent Laplacian mask

Comments

  • The script example.m shows how to use the above function (to reproduce the Fig.2 in our paper).
  • You can find our paper here
  • The dataset used in the paper can be found here
  • Please let us know (jing.ren@kaust.edu.sa) if you have any question regarding the algorithms/paper ฅ^•ﻌ•^ฅ or you find any bugs in the code _(°ω°」∠)_

License: CC BY-NC 4.0

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License