cugwhp / FeatureBasedAlignment

Registration for point clouds

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Feature Based Alignment

Some programs to roughly align two point clouds representing the same underlying geometry.
The goal is to accurately register two point clouds created from different image spectrums 
(e.g. visual to infrared), in different coordinate systems of different scales.  

This depends on:
- PCL (http://pointclouds.org/)
- CMake and some c++ compiler
Also used the pcl visualization library, which depends on some toolkit (I use QT4).

Current approach is:
- Take two point clouds 
- Estimate normals for each point
- Find FPFH Features for each point
- Find likely correspondences between two models (based on FPFH)
- Use top features to estimate scale, 
- Run RANSAC to estimate transformation, and eliminate correspondences
- Use remaining correspondences to run ICP for finer alignment


Usage Example:
#estimate correspondences - saves a corrs.txt file
./corrs cloudA.ply cloudB.ply AtoBCorrs.txt

#run rough alignment using corrs
./align cloudA.ply cloudB.ply AtoBCorrs.txt

#saves files:
irRough.pcd - cloud A after RANSAC alignment
eoRough.pcd - cloud B after RANSAC alignment
irFinal.pcd - cloud A after ICP alignment
eoFinal.pcd - cloud B after ICP alignment


other tools include bbox and circular cropping
./bbox cloud.pcd

./crop cloud.pcd centerX centerY centerZ radius out.pcd

About

Registration for point clouds


Languages

Language:C++ 97.4%Language:CMake 2.6%