Tools for keypoint detection, feature computation and correspondance matching in point clouds, with the focus on bathymetric data.
- PCL http://pointclouds.org/
- EIGEN http://eigen.tuxfamily.org/
- Auvlib https://github.com/nilsbore/auvlib
- ymal-cpp https://github.com/jbeder/yaml-cpp
Clone this repository and create a build
folder under the root, then execute
cd build
cmake ..
make -j4
Avalible under the bin
folder:
Registration of a pointcloud against itself after a random transformation
./submap_registration ../meshes/submap_1.pcd ../config.yaml
And hit 'q' on the window to go through the registration steps:
- Keypoints extraction
- Correspondance matching between the keypoints features
- Initial alingment based on the correspondances
- GICP registration
- Exit
Constructs submaps from a bathymetry survey with 'submap_size' pings per submap and saves them as 'pcd' files in the output folder
./submaps_construction --submap_size 200 --overlap 0.6 --mbes_cereal /path/to/file.cereal --output_folder /path/to/output/folder
Util for visualizing the output submaps within the range [first_submap,last_submap] from the previous app one by one
./visualize_submaps --input_folder /path/to/folder/with/pcd --first_submap 200 --last_submap 250
There are some important parameters to tune, they are written in config.yaml
. So that you do not need to build every time you change the parameters during tuning.