Skip to content

Demo code for the paper "Discrete Optimization for Shape Matching"

Notifications You must be signed in to change notification settings

llorz/SGP21_discreteOptimization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Discrete Optimization for Shape Matching

This is an example code for the paper "Discrete Optimization for Shape Matching" by Jing Ren, Simone Melzi, Peter Wonka, and Maks Ovsjanikov.

In this paper we propose a discrete solver that can be used to optimize different functional map based energies. Specifically, for a given functional map based energy E(C), our solver can minimize the input energy with the hard constraint that the functional map C is proper, i.e., corresponding to a pointwise map.

Example 01: Minimize the area-preserving and the angle-preserving energy

  • In this example we use our solver to minimize the area-preserving energy E1 (othogonality) and angle-preserving energy E2 (conformality)
  • We test on two shape pairs (S1, S2) and (S1, S3), where S2 has the same surface area as S1, and S3 is conformal to S1.
  • We compare our discrete solver (D) to the standard continuous solver (C).
  • We can see that, using our discrete solver on minimizing the area-preserving energy on shape pair (S1, S2), and minimizing the angle-preserving energy on shape pair (S1, S3) leads to more desirable pointwise maps than the other setting.
  • The script eg1_box.m reproduce this result.

Example 02: Minimize descriptor-preserving energy

  • In this example, we use our solver to minimize the descriptor-preserving energy
  • We show three examples. For each example, we minimize the functional map energy that enforce the correspondences between f and g.
  • We can see that final pointwise maps (last column) are consistent with the input corresponding descriptors.
  • The script eg2_sphere.m reproduce this result.

Example 03: Alternative to the multiplicative operator

  • In this example, we compare two settings:
    • (1) [NO17]: use a standard continuous solver to minimize the functional map energy that consists of the descriptor-preserving energy, Laplacian commutativity energy, and the multiplicative operator commutativity energy that are induced from the input descriptors and are proposed to make functional maps more proper (i.e., have an underlying pointwise map)
    • (2) Our setting: we used our discrete solver to minimize the same energy with the same parameters as (1) without the multiplicative term.
  • In this case, we can compare our discrete solver to the multiplicative term proposed in [NO17].
  • The script eg3_faust.m reproduce this result.

Example 04: Minimize the Laplacian Commutativity

  • In this example, we test our discrete solver on a set of SMAL animal shape pairs on minimizing the Laplacian Commutativity energy from random initialization.
  • We compare to the standard continuous solver.
  • The script eg4_smal.m reproduce this result.

Comments

About

Demo code for the paper "Discrete Optimization for Shape Matching"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published