All Projects → UZ-SLAMLab → Defslam

UZ-SLAMLab / Defslam

Licence: gpl-3.0
DefSLAM: Tracking and Mapping of Deforming Scenes from Monocular Sequences. J.Lamarca, S. Parashar, A. Bartoli & J.M.M. Montiel

Labels

Projects that are alternatives of or similar to Defslam

Cartographer
Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations.
Stars: ✭ 5,754 (+15883.33%)
Mutual labels:  slam
Open vins
An open source platform for visual-inertial navigation research.
Stars: ✭ 805 (+2136.11%)
Mutual labels:  slam
Visma Tracker
semantic mapping module of vision lab slam system
Stars: ✭ 21 (-41.67%)
Mutual labels:  slam
Turtlebot3
ROS packages for Turtlebot3
Stars: ✭ 673 (+1769.44%)
Mutual labels:  slam
Kimera Vio
Visual Inertial Odometry with SLAM capabilities and 3D Mesh generation.
Stars: ✭ 741 (+1958.33%)
Mutual labels:  slam
Gradslam
gradslam is an open source differentiable dense SLAM library for PyTorch
Stars: ✭ 833 (+2213.89%)
Mutual labels:  slam
Robotics Toolbox Matlab
Robotics Toolbox for MATLAB
Stars: ✭ 601 (+1569.44%)
Mutual labels:  slam
Lio Sam
LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping
Stars: ✭ 953 (+2547.22%)
Mutual labels:  slam
Gms Feature Matcher
GMS: Grid-based Motion Statistics for Fast, Ultra-robust Feature Correspondence (CVPR 17 & IJCV 20)
Stars: ✭ 797 (+2113.89%)
Mutual labels:  slam
A Loam
Advanced implementation of LOAM
Stars: ✭ 869 (+2313.89%)
Mutual labels:  slam
Visual slam related research
视觉(语义) SLAM 相关研究跟踪
Stars: ✭ 708 (+1866.67%)
Mutual labels:  slam
Kintinuous
Real-time large scale dense visual SLAM system
Stars: ✭ 740 (+1955.56%)
Mutual labels:  slam
Hdpslam
The implementation of HDP SLAM
Stars: ✭ 16 (-55.56%)
Mutual labels:  slam
Mvision
机器人视觉 移动机器人 VS-SLAM ORB-SLAM2 深度学习目标检测 yolov3 行为检测 opencv PCL 机器学习 无人驾驶
Stars: ✭ 6,140 (+16955.56%)
Mutual labels:  slam
Hdl graph slam
3D LIDAR-based Graph SLAM
Stars: ✭ 945 (+2525%)
Mutual labels:  slam
Teaser Plusplus
A fast and robust point cloud registration library
Stars: ✭ 607 (+1586.11%)
Mutual labels:  slam
Kimera
Index repo for Kimera code
Stars: ✭ 802 (+2127.78%)
Mutual labels:  slam
Ucoslam Cv3
Updated UcoSLAM to compile for OpenCV 3
Stars: ✭ 31 (-13.89%)
Mutual labels:  slam
Pepper Robot Programming
Pepper Programs : Object Detection Real Time without ROS
Stars: ✭ 29 (-19.44%)
Mutual labels:  slam
Kitti groundtruth
Ground Truth of KITTI dataset (odometry benchmark) for loop closure detection or visual place recognition
Stars: ✭ 23 (-36.11%)
Mutual labels:  slam

1. DefSLAM

Authors: Jose Lamarca, Shaifali Parashar, Adrien Bartoli and J. M. M. Montiel

DefSLAM is a real-time deformable SLAM library for Monocular cameras that computes the camera trajectory and a sparse 3D reconstruction in a deformable environment.

Find more videos of experiments here: https://www.youtube.com/playlist?list=PLKBuKNhAV30SlKGJ9eaMlAExdWRypUy-K

Related Publications:

Lamarca, Jose, et al. "DefSLAM: Tracking and Mapping of Deforming Scenes from Monocular Sequences." arXiv preprint arXiv:1908.08918 (2019).

@article{lamarca2019defslam,
  title={DefSLAM: Tracking and Mapping of Deforming Scenes from Monocular Sequences},
  author={Lamarca, Jose and Parashar, Shaifali and Bartoli, Adrien and Montiel, JMM},
  journal={arXiv preprint arXiv:1908.08918},
  year={2019}
}

Lamarca J., Montiel J.M.M. (2019) Camera Tracking for SLAM in Deformable Maps. In: Leal-Taixé L., Roth S. (eds) Computer Vision – ECCV 2018 Workshops. ECCV 2018. Lecture Notes in Computer Science, vol 11129. Springer, Cham

@inproceedings{lamarca2018camera,
  title={Camera tracking for SLAM in deformable maps},
  author={Lamarca, Jose and Montiel, JMM},
  booktitle={Proceedings of the European Conference on Computer Vision (ECCV)},
  year={2018}
}

2. Prerequisites

We have tested the library in 16.04 and 18.04, but it should be easy to compile in other platforms. A powerful computer (e.g. i7) will ensure real-time performance and provide more stable and accurate results.

Pangolin

We use Pangolin for visualization and user interface. Dowload and install instructions can be found at: https://github.com/stevenlovegrove/Pangolin.

OpenCV

We use OpenCV to manipulate images and features. Dowload and install instructions can be found at: http://opencv.org. Required 4.0.0.

Eigen3

Required by g2o (see below). Download and install instructions can be found at: http://eigen.tuxfamily.org. Required at least 3.1.0.

Ceres library:

We use Ceres to optimize warp and to run the NRSfM.

PCL

It is used just for ground truths. It is not critic for the program. We use PCL mainly for groundtruths.

DBoW2 and g2o and ORBSLAM(Included in Thirdparty folder)

We use modified versions of the DBoW2 library to perform place recognition and g2o library to perform non-linear optimizations. Both modified libraries (which are BSD) are included in the Thirdparty folder. Likewise we include a modified version of ORBSLAM. BOW is only used for ORBSLAM_2.

3. License

DefSLAM is released under a GPLv3 license. For a list of all code/library dependencies (and associated licenses), please see Dependencies.md.

4. Building DefSLAM library and examples

Clone the repository:

git clone https://github.com/JoseLamarca/DefSLAM.git

We provide a script build.sh to build the DefSLAM including. Please make sure you have installed all required dependencies (see section 2). Execute:

cd DefSLAM
chmod +x build.sh
./build.sh

This will create libDefSLAM.so at lib folder and the executables simplestereo simpleCT and simple in Apps folder.

5. Datasets

Mandala dataset

Download the sequences with the link: Mandala Dataset

It contains the five sequences presented in the paper. The mandala deformation becomes more challenging with the number of dataset.

The dataset is organized as follows:

-- yalm file
-- Mandala(i)
   -- images
   -- times

Hamlyn dataset

  1. Download the dataset from the webpage Hamlyn.

  2. To downloaded in the format run in our paper Hamlyn not official

Run Example

Examples of scripts in Apps/rungt.sh

  1. Process a sequence.
./DefSLAM <ORBfile> <yaml.file> <ORBfile> <image folder>

If you run it without . It takes the camera in 0.

  1. Sequences with depth image for ground truth. (Used for CT phantom dataset)
./DefSLAMCTGT <ORBfile> <yaml.file> <video.avi> <folder with pattern>
  1. Sequences with stereo for ground truth.
./DefSLAMGT <ORBfile> <yaml.file> <left_image folder> <right_image folder> <timestamps file>

Script to generate this folders with this format avaiable. Ask me through [email protected]

Code Organization

-- Root folder
  -- Apps. Folder with executables.

  -- Vocabulary. Folder that contains the vocabulary for the BoW.

  -- ThirdParty
    -- BBS. Bspline library adapted for C++ with eigen.
    -- DBoW2. Bag Of word library only used for ORBSLAM_2. Loop closin and relocalization.
    -- g2o. Optimization library for deformation tracking and pose estimation.
    -- ORBSLAM_2. Base clases of the rigid SLAM library modified to work in deforming 
		  environments.

  -- Modules. DefSLAM modules, it includes all the modules needed for the library.
    -- Common. It includes the keyframes, map, map points and Systems.
    -- Mapping.
    -- GroundTruth
    -- Matching
    -- Settings. Check advance settings.
    -- Template. Template tools
    -- ToolsPCL. Tools from PCL library used mainly for the ground truth.
    -- Tracking. 
    -- Viewer.

Advance settings for and ORBSLAM:

To repeat the experiments and save the results you can activate the flag Viewer.SaveResults in the yalm file. The system is running by default in parallel. To change it, you must change the file set_MAC.h and comment the line #define PARALLEL.

To run ORBSLAM, you can uncomment the line 5 in set_MAC.h.

The file CC_MAC.h contain the parameters for the cross correlation matching used in the grundtruth. It is adapted for a better performance in the Mandala dataset, but it should be adapted for each dataset.

To set the number of nodes of the mesh (Initially 10x10), change line 63 and 64 of Template/TriangularMesh.cc

To set the number of nodes for the BBSpline Thirdparty/BBS/bbs_MAC.h

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].