Point Registration via Efficient Convex Relaxation

SIGGRAPH 2016


Reviews

Information

  • Paper topic: Geometry
  • Software type: Code
  • Able to run a replicability test: True
  • Replicability score: 5
  • Software language: Matlab / Mathematica / ..
  • License: unspecified
  • Build mechanism: Not applicable (python, Matlab..)
  • Dependencies: matlab
  • Documentation score {0,1,2}: 2
  • Reviewer: Nicolas Bonneel <nicolas.bonneel@liris.cnrs.fr>
  • Time spent for the test (build->first run, timeout at 100min): 60min

Source code information

Comments

A few steps to make the program run on Windows+Matlab R2018a:
- in all test files, replace
addpath(genpath('~/mosek'))
addpath(genpath('~/yalmip'))
by the actual paths, e.g., 
addpath(genpath('C:\Program Files\Mosek\9.1\toolbox\R2015a'))
addpath(genpath('C:\libs\YALMIP-master'))

and similarly for the toolbox_graph (downloadable at https://fr.mathworks.com/matlabcentral/fileexchange/5355-toolbox-graph ) or the FAUST data (e.g., addpath('C:\ICCV_2015_source_code\training\watertight_5000') )

- in interleaving.m, line 82, replace
 X_proj = reshape( intlinprog(fObj,intcon,[],[],A_ds,b_ds,lb,ub,options ), n, n );
 by
  X_proj = reshape( intlinprog(fObj,intcon,[],[],A_ds,b_ds,lb,ub,struct(options) ), n, n );

 - in interleaving.m, line 97, replace 
 X_proj = reshape( intlinprog(fObj,intcon,[],[],A_ds,b_ds,lb,ub,options ), n, n );
 by
 X_proj = reshape( intlinprog(fObj,intcon,[],[],A_ds,b_ds,lb,ub,struct(options) ), n, n );

While this produces a warning, this prevents an error in Mosek's intlinprog at line 135
  options          = mskoptimset(defaultopt,options)
  
- Make sure you have about 10GB of free RAM, otherwise Mosek crashes.
- If you installed Mosek after having installed Yalmip and already run the code unsuccessfully, make sure to "clear CACHED_SOLVERS" otherwise Mosek won't be found by Yalmip as the available solvers are cached.
 
The Faust dataset is at http://faust.is.tue.mpg.de/ (though I don't think the original dataset is needed) and the iccv code has moved from web.stanford.edu/~cqf/convex to   https://cqf.io/convex/

The different tests for 'synthetic', 'faust' and 'scape' run smoothly and produce the expected matchings. I did not test the last script, testPMSDP_scapeRawScans, since it requires manually preprocessing the SCAPE dataset with the ICCV code.

Another run on Linux produced similar results.