Based on our evaluation, the best global registration results we are aware of are obtained by our variant of Rusu et al., which achieves 59.2% recall and 19.6% precision on our benchmark dataset. This page shows how to set up and run our variant of Rusu et al.

Code

The code is hosted on github: https://github.com/qianyizh/ElasticReconstruction/tree/master/GlobalRegistration

See this page for compilation instructions.

Tutorial

To run the program, you do not need to compile the code. You can use our executable by following the steps below.

  1. Go to this page to download the package and set up the environment.
  2. Download a PCD package from the geometric evaluation page and extract it into a folder.
  3. Execute the following command:
    > GlobalRegistration.exe <pcd_directory>
  4. The program will create a "result.txt" file once it finishes. It is a log file containing detected loop closures.
  5. Download the corresponding evaluation package from the geometric evaluation page.
  6. Run the following matlab code:
    gt = mrLoadLog( 'gt.log' );         % file from the evaluation package
    gt_info = mrLoadInfo( 'gt.info' );  % file from the evaluation package
    result = mrLoadLog( 'result.txt' ); % file created by GlobalRegistration.exe
    [ recall, precision ] = mrEvaluateRegistration( result, gt, gt_info );