Automatically registers (aligns) and visualizes point clouds, or processes a whole bunch at once
- Coarse-to-fine registration (correspondence-based followed by ICP refinement)
- PLY/OBJ input support
- GUI
- Batch processing
- Parallelized
- Outputs to disk:
- Registered cloud with residual colormap
- Transformation matrix
- F-score
- Histogram of residuals (in GUI mode)
Each point is colored proportional to its distance to the closest point on the target cloud.
Color range of the residual colormap: RED = 0cm, BLUE = maximum residual threshold (default: 10cm)
Up/down arrow keys adjust the: maximum residual threshold.
If you already have ROS installed:
sudo apt-get install libpcl-1.7-all-dev
Else:
sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
sudo apt-get update
sudo apt-get install libpcl-all
sudo apt-get update
sudo apt-get install libpcl-dev
brew install pcl
More info at: Install PCL on MacOS via Homebrew
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
In MacOS, you may need to use a different compiler than the one shipped with Xcode to build with openMP,
to compile without openMP parallelization add: -DWITH_OPENMP=OFF
The source cloud is the one we want to register to the target cloud
./point_cloud_registration_tool --verbose --gui source_cloud.ply target_cloud.ply
- --verbose, print information along the way
- --gui, show the GUI
- --batch_file, path to a text file containing paths to point cloud pairs
source_cloud_1.ply,target_cloud_1.ply
source_cloud_2.obj,target_cloud_2.obj
source_cloud_3.ply,target_cloud_3.obj
you can adjust many parameters of the registration routine, just ask --help
- Ubuntu (PCL 1.7)
- MacOS (PCL 1.8)