/EVPA

An voxel-based multiview point clouds refinement via factor graph optimization

EVPA

A voxel-based multiview point cloud refinement method via factor graph optimization

Our proposed framework incorporates two innovative designs, namely the multi-scale voxel-grid optimization strategy and the quaternion-based factor graph optimization that employs a hybrid of point-to-plane and point-to-point factors.

  • The multi-scale voxel-grid optimization strategy is mainly designed to address the problem that registration is highly non-convex and prone to getting stuck into local minima.
  • The quaternion-based factor graph optimization refines the pose parameters in the tangent space by two factors, a robust constraint in structured environments provided by point-to-plane factors and a complementary constraint from non-structured surroundings provided by point-to-point factors.

overview

Code

The code is currently being refactoring, and will be released as soon as possible.

Demo

fig1 fig2 fig3

How to use

The code was tested on Ubuntu 18.04.

1. Pre-requisite

  • ROS melodic
  • PCL version 1.11.0 (other versions may also work)
  • ceres version 2.10 or above
  • Eigen 3.3x or above

2. Compile

Clone this repository

git clone https://github.com/WuHao-WHU/EVPA.git
cd EVPA
catkin_make

3. run

source ./devel/setup.bash
roslaunch evpa point_cloud_refinement.launch

4. parameter configuration

All parameter setting can be modified in .launch file, you can change the default setting regarding different scenarios.

5. Data preparation

You can test on the open-source TLS dataset: WHU-TLS, Robotic 3D Scan datasets, ETH Dataset.

The framework supports *.ply, *.pcd formats of point cloud data. You may need to transform other formats to the supported formats.

Contributor

Hao Wu (吴豪)

Contact

Email: haowu2021@whu.edu.cn

Do not hesitate to contact the authors if you have any question or find any bugs.