GROR:A New Outlier Removal Strategy Based on Reliability of Correspondence Graph for Fast Point Cloud Registration
(a): correspondences generated by correspondence matching strategy (green and red lines represent the inlier and outlier correspondences according to the ground truth respectively). (b) remaining correspondences after using our Outlier Removal Strategy (c) registration result by GROR.
GROR can solve the 6-dof registration problem between two point clouds in 3D. It performs well (fast and robust) even if the input correspondences have an extremely large number of outliers. For more information, please refer to our papers:
Our program is lightweight and can be included in any project that adds the PCL library. We've tested it on Windows (VS2015) and Ubuntu (vscode)
Building GROR requires the following libraries installed
- A compiler that supports OpenMP.
- CMake >= 3.5
- PCL >= 1.8.1
You can easily compile it using CMake.
mkdir build cd build cmake .. make ./ GrorReg "source path" "target path" resolution K(Such as "arch/s1.ply" "arch/s2.ply" 0.1 800)
- GROR needs to get the correspondences before running, we adopt the strategy of (downsampling) + (key point extraction) + (FPFH descriptor) + (correspondences matching). All parameters can be kept as default except for the key point extraction stage for Data Office and Railway where iss_non_max_radius_is set to 2 and 9 to get a better registration result.
- There are two parameters of GROR：downsampling resolution and K. Usually K is kept around 800. The resolution is generally set to 0.1m, but some adjustments need to be made according to the size of the scene and the larger the resolution setting, the faster the algorithm efficiency.
You can test on the online available point cloud data and registration dataset such as WHU TLS Registration Dataset, ETH PRS TLS Registration Dataset, ETH ASL Robotics Registration Dataset, 3D Match, Robotic 3D Scan Repository, etc.
You may apply the format transform tool to get the data ready for registration.