Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Python implementation of RGBD-PTAM algorithm

License

NotificationsYou must be signed in to change notification settings

uoip/rgbd_ptam

Repository files navigation

This is a python implementation of RGBD-PTAM, the code is modified fromstereo_ptam, which is based on C++ projectlrse/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 andstereo_ptam's code. Below is S-PTAM's system overview (fromS-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 thanstereo_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 datasetsTUM RGB-D andICL-NUIM RGB-D
  • Relocalization (tracking failure recovery)
  • Dense point clouds visualization
  • Exhaustive evaluation

Requirements

  • Python 3.6+
  • numpy
  • cv2
  • g2o(python binding of C++ libraryg2o) for optimization
  • pangolin(python binding of C++ libraryPangolin) 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

Followingstereo_ptam, this project is released under GPLv3 License.

Contact

If you have problems related to the base S-PTAM algorithm, you can contact original authorslrse (robotica@dc.uba.ar), 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 MappingRobotics and Autonomous Systems, 2017.

If you have interest in this python implementation, email me (Hang Qi,qihang@outlook.com);

Releases

No releases published

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp