All Projects → uoip → rgbd_ptam

uoip / rgbd_ptam

Licence: GPL-3.0 license
Python implementation of RGBD-PTAM algorithm

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to rgbd ptam

ndt map
SLAM package using NDT registration library of Autoware with loop-closure detection (odometry based) referenced from lego_loam.
Stars: ✭ 115 (+76.92%)
Mutual labels:  slam, loop-closure
RGB-D-SLAM
Work in Progress. A SLAM implementation based on plane and superquadric tracking.
Stars: ✭ 23 (-64.62%)
Mutual labels:  slam, rgbd
ba demo ceres
Bundle adjustment demo using Ceres Solver, with customized cost function and local parameterization on SE(3)
Stars: ✭ 150 (+130.77%)
Mutual labels:  slam, bundle-adjustment
Maskfusion
MaskFusion: Real-Time Recognition, Tracking and Reconstruction of Multiple Moving Objects
Stars: ✭ 404 (+521.54%)
Mutual labels:  slam, rgbd
staticfusion
StaticFusion
Stars: ✭ 107 (+64.62%)
Mutual labels:  slam, rgbd
mp2p icp
Multi primitive-to-primitive (MP2P) ICP algorithms in C++
Stars: ✭ 84 (+29.23%)
Mutual labels:  slam, point-clouds
dvo python
Coding dense visual odometry in a little more than a night (yikes)!
Stars: ✭ 40 (-38.46%)
Mutual labels:  slam, rgbd
SALSA-Semantic-Assisted-SLAM
SALSA: Semantic Assisted Life-Long SLAM for Indoor Environments (16-833 SLAM Project at CMU)
Stars: ✭ 52 (-20%)
Mutual labels:  slam, loop-closure
Co Fusion
Co-Fusion: Real-time Segmentation, Tracking and Fusion of Multiple Objects
Stars: ✭ 400 (+515.38%)
Mutual labels:  slam, rgbd
li slam ros2
ROS2 package of tightly-coupled lidar inertial ndt/gicp slam
Stars: ✭ 160 (+146.15%)
Mutual labels:  slam, loop-closure
Deep Learning Interview Book
深度学习面试宝典(含数学、机器学习、深度学习、计算机视觉、自然语言处理和SLAM等方向)
Stars: ✭ 3,677 (+5556.92%)
Mutual labels:  slam
so dso place recognition
A Fast and Robust Place Recognition Approach for Stereo Visual Odometry using LiDAR Descriptors
Stars: ✭ 52 (-20%)
Mutual labels:  slam
awesome-mobile-robotics
Useful links of different content related to AI, Computer Vision, and Robotics.
Stars: ✭ 243 (+273.85%)
Mutual labels:  slam
DSP-SLAM
[3DV 2021] DSP-SLAM: Object Oriented SLAM with Deep Shape Priors
Stars: ✭ 377 (+480%)
Mutual labels:  slam
Iros2020 Paper List
IROS2020 paperlist by paopaorobot
Stars: ✭ 247 (+280%)
Mutual labels:  slam
RGBD-semantic-segmentation
A paper list of RGBD semantic segmentation (processing)
Stars: ✭ 264 (+306.15%)
Mutual labels:  rgbd
Minisam
A general and flexible factor graph non-linear least square optimization framework
Stars: ✭ 246 (+278.46%)
Mutual labels:  slam
Iscloam
Intensity Scan Context based full SLAM implementation for autonomous driving. ICRA 2020
Stars: ✭ 232 (+256.92%)
Mutual labels:  slam
Awesome Slam
A curated list of SLAM resources
Stars: ✭ 224 (+244.62%)
Mutual labels:  slam
RGBD-SOD-datasets
All those partitioned RGB-D Saliency Datasets we collected are shared in ready-to-use manner.
Stars: ✭ 46 (-29.23%)
Mutual labels:  rgbd

rgbd_ptam

This is a python implementation of RGBD-PTAM, the code is modified from stereo_ptam, which is based on C++ project lrse/sptam and paper "S-PTAM: Stereo Parallel Tracking and Mapping" Taihu Pire et al. RAS17.

RGBD-PTAM is a RGBD SLAM system able to compute the camera trajectory in real-time. It heavily exploits the parallel nature of the SLAM problem, separating the time-constrained pose estimation from less pressing matters such as map building and refinement tasks. On the other hand, the RGBD setting allows to reconstruct a metric 3D map for each frame, improving the accuracy of the mapping process with respect to monocular SLAM and avoiding the well-known bootstrapping problem. Also, the real scale of the environment is an essential feature for robots which have to interact with their surrounding workspace.

RGB-D system has direct depth measurements, by setting a pasudo stereo baseline, disparity can be computed from depth, then stereo measurements can be synthetized. Now the problem is converted to stereo SLAM, we can directly reuse S-PTAM's solution and stereo_ptam's code. Below is S-PTAM's system overview (from S-PTAM paper page 11):

Because one RGB-D frame has only one image, the computation burden is smaller than stereo setting, actually this project is faster than stereo_ptam, reach 30~50ms per frame (depending on keyframes adding frequency).

Features

  • Multithreads Tracking, Mapping, and Loop Closing
  • Covisibility Graph
  • Local Bundle Adjustment
  • Pose Graph Optimization
  • Motion Model
  • Visualization
  • Data loader for datasets TUM RGB-D and ICL-NUIM RGB-D
  • Relocalization (tracking failure recovery)
  • Dense point clouds visualization
  • Exhaustive evaluation

Requirements

  • Python 3.6+
  • numpy
  • cv2
  • g2o (python binding of C++ library g2o) for optimization
  • pangolin (python binding of C++ library Pangolin) for visualization

Usage

python ptam.py --dataset tum --path path/to/your/TUM_RGBD_dataset/rgbd_dataset_freiburg1_room
or
python ptam.py --dataset icl --path path/to/your/ICL-NUIM_RGBD_dataset/living_room_traj3_frei_png

Results

Visual results on TUM-RGBD dataset sequence "rgbd_dataset_freiburg1_room":

  • graph:
  • point cloud (sparse):

License

Following stereo_ptam, this project is released under GPLv3 License.

Contact

If you have problems related to the base S-PTAM algorithm, you can contact original authors lrse ([email protected]), or refer to the paper:
[1] Taihú Pire,Thomas Fischer, Gastón Castro, Pablo De Cristóforis, Javier Civera and Julio Jacobo Berlles. S-PTAM: Stereo Parallel Tracking and Mapping Robotics and Autonomous Systems, 2017.

If you have interest in this python implementation, email me (Hang Qi, [email protected]);

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].