A reference implementation for the paper:
Wei Gao and Russ Tedrake, "FilterReg: Robust and Efficient Probabilistic Point-Set Registration using Gaussian Filter and Twist Parameterization", CVPR 2019 (Best Paper Finalist) [Project] [Paper] [Supplemental]
In addition to FilterReg, this repo (which I call it "poser") contains the infrastructure and implementation of various geometric processing algorithms. This repo aims at real-time tracking and geometric processing for robotic manipulation, visual odometry and SLAM (3D Reconstrution).
Video Demo [Link]
The code is developed on Ubuntu 16.04 with CUDA-9
and CUDA-10
. The tested compilers are gcc-5.4
, gcc-6.0
and gcc-6.5
. For the installation of CUDA, please follow the official guide.
This repo depends on pcl
and opencv
. The default versions of both Ubuntu 16.04 and ros-kinetic
have been tested. For Ubuntu 16.04, you can run the following command to install them
sudo apt-get install libpcl-dev libopencv-dev
This repo also depends on glog
which can be installed by
sudo apt-get install libgoogle-glog-dev
Now you are ready to build
git clone https://gaowei19951004@bitbucket.org/gaowei19951004/poser.git
cd ${project_root}
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make
The apps/rigid_pt2pt
would be a good starting point. The test data is also included in that subdirectory. Other execultables in apps
subfolder have a very similiar code structure.
The code is re-factored from a pretty messy version which is the backbone of all the experiments in our paper. Not all the code has been adapted into this repository and the author is working on it. Here is a list of TODOs:
- The GPU implementation of various algorithms.
- Revive the articulated kinematic model using the new MultiBodyTree in drake.
- The deformable kinematic model is currently in another repo (SurfelWarp).
-
How to switch the compiler to
gcc-6
incmake
?Run
source use_gcc6
before anycmake
command. You might need to remove theCMakeCache.txt
in your build directory.
If you have any question or suggestion regarding this work, please send an email to weigao@mit.edu