In this project, we present an algorithm called guaranteed outlier removal (GORE) to safely and efficiently remove outliers. GORE is presented in the context of rotation search and point cloud registration. Source code of GORE is available for both problems.
GORE for Rotation Search
Rotation search has become a core routine for solving many computer vision problems. The aim is to rotationally align two input point sets with correspondences. Recently, there is significant interest in developing globally optimal rotation search algorithms. A notable weakness of global algorithms, however, is their relatively high computational cost, especially on large problem sizes and data with a high proportion of outliers. In this paper, we propose a novel outlier removal technique for rotation search. Our method guarantees that any correspondence it discards as an outlier does not exist in the inlier set of the globally optimal rotation for the original data. Based on simple geometric operations, our algorithm is deterministic and fast. Used as a preprocessor to prune a large portion of the outliers from the input data, our method enables substantial speed-up of rotation search algorithms without compromising global optimality. We demonstrate the efficacy of our method in various synthetic and real data experiments.
Example of GORE for 3D point correspondences
Green lines represent inliers and red ones are outliers. GORE was able to remove almost all outliers.
Example of GORE for image stitching
SIFT keypoint matches (green = true inliers, red = true outliers)
Matches that remain after preprocessing with GORE
Source code
The C++ code of GORE for 3D rotation search is publicly available. The zip file also includes mex binaries for Windows, Linux and OS X. For usage, refer to the readme file and to the MATLAB demo included within the zip file. Please contact me for help or comments.
The source code, binaries and demo are distributed for academic use only. For any other use, including any commercial use, please contact me.
GORE for Point Cloud Registration
Source code
The C++ code of GORE for point cloud registration is publicly available. The zip file also includes mex binaries for Windows, Linux and OS X. For usage, refer to the readme file and to the MATLAB demo included within the zip file. Please contact me for help or comments.
download
The source code, binaries and demo are distributed for academic use only. For any other use, including any commercial use, please contact me.