Repository for Kinematic Structure Learning (KSL) methods of articulated rigid objects. For more information and more open-source software please visit the Personal Robotic Lab's website: https://www.imperial.ac.uk/personal-robotics/software/.
Offline 3DKSL performs motion segmentation of articulated rigid bodies from a batch of RGB-D data sequence. If you use this code in a scientific publication, please cite the following paper:
@inproceedings{nunes18motionseg,
author = {Urbano Miguel Nunes and Yiannis Demiris},
booktitle = {Proceedings of the British Machine Vision Conference ({BMVC})},
title = {3D Motion Segmentation of Articulated Rigid Bodies based on RGB-D Data},
year = {2018}
}
Online 3DKSL performs motion segmentation of articulated rigid bodies from RGB-D data in a frame-by-frame basis. If you use this code in a scientific publication, please cite the following paper:
@inproceedings{nunes19online3Dksl,
author = {Nunes, Urbano Miguel and Demiris, Yiannis},
booktitle = {The IEEE International Conference on Computer Vision (ICCV)},
month = {October},
title = {Online Unsupervised Learning of the 3D Kinematic Structure of Arbitrary Rigid Bodies},
year = {2019}
}
- Dependencies
- PCL library: http://pointclouds.org/downloads/linux.html
- OpenCV: https://docs.opencv.org/trunk/d7/d9f/tutorial_linux_install.html
- Cuda: http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
- Eigen: http://eigen.tuxfamily.org/index.php?title=Main_Page#Download
- libigl: https://github.com/libigl/libigl
- Spectra: https://spectralib.org
- igraph: https://igraph.org/c/
- General
On a terminal:
- git clone https://github.com/ImperialCollegeLondon/3DKSL.git
- cd 3DKSL
- mkdir build && cd build
- cmake .. -DCMAKE_BUILD_TYPE=Release && make
An executable is provided as an example, which will be located in the bin directory. A path to the directory containing the RGB data sequence must be provided, as well as a path to the directory containing the corresponding Depth data sequence. A last parameter must be provided which corresponds to how many points must be initially sub-sampled from the point cloud (e.g. 1000-1500).
- Example
./example_offline_sf_ksl path-to-RGB-dir path-toDepth-dir number-sub-samples
An executable is provided as an example, which will be located in the bin directory. A path to the directory containing the RGB data sequence must be provided, as well as a path to the directory containing the corresponding Depth data sequence. Optional parameters may be passed, please check test/main_online_sf_ksl.cpp.
- Example
./example_online_sf_ksl path-to-RGB-dir path-toDepth-dir
This project is licensed under the MIT License - see the LICENSE file for details.