├── .gitignore
├── LICENSE.txt
├── ORB_SLAM2
├── .gitignore
├── CMakeLists.txt
├── Dependencies.md
├── Examples
│ ├── Monocular
│ │ ├── EuRoC.yaml
│ │ ├── EuRoC_TimeStamps
│ │ │ ├── MH01.txt
│ │ │ ├── MH02.txt
│ │ │ ├── MH03.txt
│ │ │ ├── MH04.txt
│ │ │ ├── MH05.txt
│ │ │ ├── V101.txt
│ │ │ ├── V102.txt
│ │ │ ├── V103.txt
│ │ │ ├── V201.txt
│ │ │ ├── V202.txt
│ │ │ └── V203.txt
│ │ ├── KITTI00-02.yaml
│ │ ├── KITTI03.yaml
│ │ ├── KITTI04-12.yaml
│ │ ├── TUM1.yaml
│ │ ├── TUM2.yaml
│ │ ├── TUM3.yaml
│ │ ├── mono_euroc.cc
│ │ ├── mono_kitti.cc
│ │ └── mono_tum.cc
│ ├── RGB-D
│ │ ├── TUM1.yaml
│ │ ├── TUM2.yaml
│ │ ├── TUM3.yaml
│ │ ├── associations
│ │ │ ├── fr1_desk.txt
│ │ │ ├── fr1_desk2.txt
│ │ │ ├── fr1_room.txt
│ │ │ ├── fr1_xyz.txt
│ │ │ ├── fr2_desk.txt
│ │ │ ├── fr2_xyz.txt
│ │ │ ├── fr3_nstr_tex_near.txt
│ │ │ ├── fr3_office.txt
│ │ │ ├── fr3_office_val.txt
│ │ │ ├── fr3_str_tex_far.txt
│ │ │ └── fr3_str_tex_near.txt
│ │ └── rgbd_tum.cc
│ ├── ROS
│ │ └── ORB_SLAM2
│ │ │ ├── Asus.yaml
│ │ │ ├── CMakeLists.txt
│ │ │ ├── launch
│ │ │ └── reconstruction.launch
│ │ │ ├── package.xml
│ │ │ └── src
│ │ │ ├── AR
│ │ │ ├── ViewerAR.cc
│ │ │ ├── ViewerAR.h
│ │ │ └── ros_mono_ar.cc
│ │ │ ├── ros_mono.cc
│ │ │ ├── ros_rgbd.cc
│ │ │ └── ros_stereo.cc
│ └── Stereo
│ │ ├── EuRoC.yaml
│ │ ├── EuRoC_TimeStamps
│ │ ├── MH01.txt
│ │ ├── MH02.txt
│ │ ├── MH03.txt
│ │ ├── MH04.txt
│ │ ├── MH05.txt
│ │ ├── V101.txt
│ │ ├── V102.txt
│ │ ├── V103.txt
│ │ ├── V201.txt
│ │ ├── V202.txt
│ │ └── V203.txt
│ │ ├── KITTI00-02.yaml
│ │ ├── KITTI03.yaml
│ │ ├── KITTI04-12.yaml
│ │ ├── stereo_euroc.cc
│ │ └── stereo_kitti.cc
├── LICENSE.txt
├── License-gpl.txt
├── README.md
├── Thirdparty
│ ├── DBoW2
│ │ ├── CMakeLists.txt
│ │ ├── DBoW2
│ │ │ ├── BowVector.cpp
│ │ │ ├── BowVector.h
│ │ │ ├── FClass.h
│ │ │ ├── FORB.cpp
│ │ │ ├── FORB.h
│ │ │ ├── FeatureVector.cpp
│ │ │ ├── FeatureVector.h
│ │ │ ├── ScoringObject.cpp
│ │ │ ├── ScoringObject.h
│ │ │ └── TemplatedVocabulary.h
│ │ ├── DUtils
│ │ │ ├── Random.cpp
│ │ │ ├── Random.h
│ │ │ ├── Timestamp.cpp
│ │ │ └── Timestamp.h
│ │ ├── LICENSE.txt
│ │ └── README.txt
│ └── g2o
│ │ ├── CMakeLists.txt
│ │ ├── README.txt
│ │ ├── cmake_modules
│ │ ├── FindBLAS.cmake
│ │ ├── FindEigen3.cmake
│ │ └── FindLAPACK.cmake
│ │ ├── config.h.in
│ │ ├── g2o
│ │ ├── core
│ │ │ ├── base_binary_edge.h
│ │ │ ├── base_binary_edge.hpp
│ │ │ ├── base_edge.h
│ │ │ ├── base_multi_edge.h
│ │ │ ├── base_multi_edge.hpp
│ │ │ ├── base_unary_edge.h
│ │ │ ├── base_unary_edge.hpp
│ │ │ ├── base_vertex.h
│ │ │ ├── base_vertex.hpp
│ │ │ ├── batch_stats.cpp
│ │ │ ├── batch_stats.h
│ │ │ ├── block_solver.h
│ │ │ ├── block_solver.hpp
│ │ │ ├── cache.cpp
│ │ │ ├── cache.h
│ │ │ ├── creators.h
│ │ │ ├── eigen_types.h
│ │ │ ├── estimate_propagator.cpp
│ │ │ ├── estimate_propagator.h
│ │ │ ├── factory.cpp
│ │ │ ├── factory.h
│ │ │ ├── hyper_dijkstra.cpp
│ │ │ ├── hyper_dijkstra.h
│ │ │ ├── hyper_graph.cpp
│ │ │ ├── hyper_graph.h
│ │ │ ├── hyper_graph_action.cpp
│ │ │ ├── hyper_graph_action.h
│ │ │ ├── jacobian_workspace.cpp
│ │ │ ├── jacobian_workspace.h
│ │ │ ├── linear_solver.h
│ │ │ ├── marginal_covariance_cholesky.cpp
│ │ │ ├── marginal_covariance_cholesky.h
│ │ │ ├── matrix_operations.h
│ │ │ ├── matrix_structure.cpp
│ │ │ ├── matrix_structure.h
│ │ │ ├── openmp_mutex.h
│ │ │ ├── optimizable_graph.cpp
│ │ │ ├── optimizable_graph.h
│ │ │ ├── optimization_algorithm.cpp
│ │ │ ├── optimization_algorithm.h
│ │ │ ├── optimization_algorithm_dogleg.cpp
│ │ │ ├── optimization_algorithm_dogleg.h
│ │ │ ├── optimization_algorithm_factory.cpp
│ │ │ ├── optimization_algorithm_factory.h
│ │ │ ├── optimization_algorithm_gauss_newton.cpp
│ │ │ ├── optimization_algorithm_gauss_newton.h
│ │ │ ├── optimization_algorithm_levenberg.cpp
│ │ │ ├── optimization_algorithm_levenberg.h
│ │ │ ├── optimization_algorithm_property.h
│ │ │ ├── optimization_algorithm_with_hessian.cpp
│ │ │ ├── optimization_algorithm_with_hessian.h
│ │ │ ├── parameter.cpp
│ │ │ ├── parameter.h
│ │ │ ├── parameter_container.cpp
│ │ │ ├── parameter_container.h
│ │ │ ├── robust_kernel.cpp
│ │ │ ├── robust_kernel.h
│ │ │ ├── robust_kernel_factory.cpp
│ │ │ ├── robust_kernel_factory.h
│ │ │ ├── robust_kernel_impl.cpp
│ │ │ ├── robust_kernel_impl.h
│ │ │ ├── solver.cpp
│ │ │ ├── solver.h
│ │ │ ├── sparse_block_matrix.h
│ │ │ ├── sparse_block_matrix.hpp
│ │ │ ├── sparse_block_matrix_ccs.h
│ │ │ ├── sparse_block_matrix_diagonal.h
│ │ │ ├── sparse_block_matrix_test.cpp
│ │ │ ├── sparse_optimizer.cpp
│ │ │ └── sparse_optimizer.h
│ │ ├── solvers
│ │ │ ├── linear_solver_dense.h
│ │ │ └── linear_solver_eigen.h
│ │ ├── stuff
│ │ │ ├── color_macros.h
│ │ │ ├── macros.h
│ │ │ ├── misc.h
│ │ │ ├── os_specific.c
│ │ │ ├── os_specific.h
│ │ │ ├── property.cpp
│ │ │ ├── property.h
│ │ │ ├── string_tools.cpp
│ │ │ ├── string_tools.h
│ │ │ ├── timeutil.cpp
│ │ │ └── timeutil.h
│ │ └── types
│ │ │ ├── se3_ops.h
│ │ │ ├── se3_ops.hpp
│ │ │ ├── se3quat.h
│ │ │ ├── sim3.h
│ │ │ ├── types_sba.cpp
│ │ │ ├── types_sba.h
│ │ │ ├── types_seven_dof_expmap.cpp
│ │ │ ├── types_seven_dof_expmap.h
│ │ │ ├── types_six_dof_expmap.cpp
│ │ │ └── types_six_dof_expmap.h
│ │ └── license-bsd.txt
├── Vocabulary
│ └── ORBvoc.txt.tar.gz
├── build.sh
├── cmake_modules
│ └── FindEigen3.cmake
├── include
│ ├── Converter.h
│ ├── Frame.h
│ ├── FrameDrawer.h
│ ├── Initializer.h
│ ├── KeyFrame.h
│ ├── KeyFrameDatabase.h
│ ├── LocalMapping.h
│ ├── LoopClosing.h
│ ├── Map.h
│ ├── MapDrawer.h
│ ├── MapPoint.h
│ ├── ORBVocabulary.h
│ ├── ORBextractor.h
│ ├── ORBmatcher.h
│ ├── Optimizer.h
│ ├── PnPsolver.h
│ ├── Sim3Solver.h
│ ├── System.h
│ ├── Tracking.h
│ └── Viewer.h
└── src
│ ├── Converter.cc
│ ├── Frame.cc
│ ├── FrameDrawer.cc
│ ├── Initializer.cc
│ ├── KeyFrame.cc
│ ├── KeyFrameDatabase.cc
│ ├── LocalMapping.cc
│ ├── LoopClosing.cc
│ ├── Map.cc
│ ├── MapDrawer.cc
│ ├── MapPoint.cc
│ ├── ORBextractor.cc
│ ├── ORBmatcher.cc
│ ├── Optimizer.cc
│ ├── PnPsolver.cc
│ ├── Sim3Solver.cc
│ ├── System.cc
│ ├── Tracking.cc
│ └── Viewer.cc
├── README.md
├── docs
├── Doxyfile
└── images
│ ├── max.png
│ ├── overview.jpeg
│ └── rgb.png
├── octomap_generator
├── CMakeLists.txt
├── include
│ ├── octomap_generator
│ │ ├── octomap_generator.h
│ │ ├── octomap_generator_base.h
│ │ └── octomap_generator_ros.h
│ ├── semantics_octree
│ │ ├── semantics_bayesian.h
│ │ ├── semantics_max.h
│ │ ├── semantics_octree.h
│ │ ├── semantics_octree.hxx
│ │ └── semantics_octree_node.h
│ └── semantics_point_type
│ │ └── semantics_point_type.h
├── package.xml
└── src
│ ├── octomap_generator
│ ├── octomap_generator.cpp
│ └── octomap_generator_ros.cpp
│ └── semantic_octree
│ ├── semantics_bayesian.cpp
│ └── semantics_max.cpp
├── semantic_cloud
├── CMakeLists.txt
├── include
│ ├── color_pcl_generator
│ │ ├── __init__.py
│ │ └── color_pcl_generator.py
│ └── ptsemseg
│ │ ├── __init__.py
│ │ ├── augmentations.py
│ │ ├── caffe.proto
│ │ ├── caffe_pb2.py
│ │ ├── loader
│ │ ├── __init__.py
│ │ ├── ade20k_loader.py
│ │ ├── camvid_loader.py
│ │ ├── cityscapes_loader.py
│ │ ├── mit_sceneparsing_benchmark_loader.py
│ │ ├── nyuv2_loader.py
│ │ ├── pascal_voc_loader.py
│ │ └── sunrgbd_loader.py
│ │ ├── loss.py
│ │ ├── metrics.py
│ │ ├── models
│ │ ├── __init__.py
│ │ ├── fcn.py
│ │ ├── frrn.py
│ │ ├── icnet.py
│ │ ├── linknet.py
│ │ ├── models.py
│ │ ├── pspnet.py
│ │ ├── refinenet.py
│ │ ├── segnet.py
│ │ ├── unet.py
│ │ └── utils.py
│ │ └── utils.py
├── misc
│ ├── ade20k_labels.png
│ ├── eval_train.py
│ ├── pascalVOC_lables.png
│ ├── semantic_label.py
│ ├── split_train_test.py
│ ├── sunrgbd_labels.png
│ └── test_freeze.py
├── package.xml
├── pcl_test
│ ├── color_image.png
│ ├── depth_image.png
│ ├── depth_image.tiff
│ ├── octomap_color_data.txt
│ ├── ros_pcl_test.py
│ ├── semantic_fusion_test.py
│ └── semantic_fusion_test.rviz
├── setup.py
├── src
│ └── semantic_cloud.py
└── train_cnn
│ ├── config.json
│ ├── test.py
│ ├── train.py
│ └── train.sh
└── semantic_slam
├── CMakeLists.txt
├── launch
├── camera.launch
├── octomap_generator.launch
├── semantic_cloud.launch
├── semantic_mapping.launch
└── slam.launch
├── package.xml
├── params
├── octomap_generator.yaml
├── semantic_cloud.yaml
└── xtion.yaml
└── semantic_mapping.rviz
/.gitignore:
--------------------------------------------------------------------------------
1 | *.pyc
2 | *.pth
3 | *.pkl
4 | .DS_Store
5 |
--------------------------------------------------------------------------------
/ORB_SLAM2/.gitignore:
--------------------------------------------------------------------------------
1 | CMakeLists.txt.user
2 | Examples/Monocular/mono_euroc
3 | Examples/Monocular/mono_kitti
4 | Examples/Monocular/mono_tum
5 | Examples/RGB-D/rgbd_tum
6 | Examples/ROS/ORB_SLAM2/CMakeLists.txt.user
7 | Examples/ROS/ORB_SLAM2/Mono
8 | Examples/ROS/ORB_SLAM2/MonoAR
9 | Examples/ROS/ORB_SLAM2/RGBD
10 | Examples/ROS/ORB_SLAM2/Stereo
11 | Examples/ROS/ORB_SLAM2/build/
12 | Examples/Stereo/stereo_euroc
13 | Examples/Stereo/stereo_kitti
14 | KeyFrameTrajectory.txt
15 | Thirdparty/DBoW2/build/
16 | Thirdparty/DBoW2/lib/
17 | Thirdparty/g2o/build/
18 | Thirdparty/g2o/config.h
19 | Thirdparty/g2o/lib/
20 | Vocabulary/ORBvoc.txt
21 | build/
22 | *~
23 | lib/
24 |
25 |
--------------------------------------------------------------------------------
/ORB_SLAM2/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8)
2 | project(ORB_SLAM2)
3 |
4 | IF(NOT CMAKE_BUILD_TYPE)
5 | SET(CMAKE_BUILD_TYPE Release)
6 | ENDIF()
7 |
8 | MESSAGE("Build type: " ${CMAKE_BUILD_TYPE})
9 |
10 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O3 -march=native ")
11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3 -march=native")
12 |
13 | # Check C++11 or C++0x support
14 | include(CheckCXXCompilerFlag)
15 | CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
16 | CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
17 | if(COMPILER_SUPPORTS_CXX11)
18 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
19 | add_definitions(-DCOMPILEDWITHC11)
20 | message(STATUS "Using flag -std=c++11.")
21 | elseif(COMPILER_SUPPORTS_CXX0X)
22 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
23 | add_definitions(-DCOMPILEDWITHC0X)
24 | message(STATUS "Using flag -std=c++0x.")
25 | else()
26 | message(FATAL_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
27 | endif()
28 |
29 | LIST(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake_modules)
30 |
31 | find_package(OpenCV 3.0 QUIET)
32 | if(NOT OpenCV_FOUND)
33 | find_package(OpenCV 2.4.3 QUIET)
34 | if(NOT OpenCV_FOUND)
35 | message(FATAL_ERROR "OpenCV > 2.4.3 not found.")
36 | endif()
37 | endif()
38 |
39 | find_package(Eigen3 3.1.0 REQUIRED)
40 | find_package(Pangolin REQUIRED)
41 |
42 | include_directories(
43 | ${PROJECT_SOURCE_DIR}
44 | ${PROJECT_SOURCE_DIR}/include
45 | ${EIGEN3_INCLUDE_DIR}
46 | ${Pangolin_INCLUDE_DIRS}
47 | )
48 |
49 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/lib)
50 |
51 | add_library(${PROJECT_NAME} SHARED
52 | src/System.cc
53 | src/Tracking.cc
54 | src/LocalMapping.cc
55 | src/LoopClosing.cc
56 | src/ORBextractor.cc
57 | src/ORBmatcher.cc
58 | src/FrameDrawer.cc
59 | src/Converter.cc
60 | src/MapPoint.cc
61 | src/KeyFrame.cc
62 | src/Map.cc
63 | src/MapDrawer.cc
64 | src/Optimizer.cc
65 | src/PnPsolver.cc
66 | src/Frame.cc
67 | src/KeyFrameDatabase.cc
68 | src/Sim3Solver.cc
69 | src/Initializer.cc
70 | src/Viewer.cc
71 | )
72 |
73 | target_link_libraries(${PROJECT_NAME}
74 | ${OpenCV_LIBS}
75 | ${EIGEN3_LIBS}
76 | ${Pangolin_LIBRARIES}
77 | ${PROJECT_SOURCE_DIR}/Thirdparty/DBoW2/lib/libDBoW2.so
78 | ${PROJECT_SOURCE_DIR}/Thirdparty/g2o/lib/libg2o.so
79 | )
80 |
81 | # Build examples
82 |
83 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/Examples/RGB-D)
84 |
85 | add_executable(rgbd_tum
86 | Examples/RGB-D/rgbd_tum.cc)
87 | target_link_libraries(rgbd_tum ${PROJECT_NAME})
88 |
89 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/Examples/Stereo)
90 |
91 | add_executable(stereo_kitti
92 | Examples/Stereo/stereo_kitti.cc)
93 | target_link_libraries(stereo_kitti ${PROJECT_NAME})
94 |
95 | add_executable(stereo_euroc
96 | Examples/Stereo/stereo_euroc.cc)
97 | target_link_libraries(stereo_euroc ${PROJECT_NAME})
98 |
99 |
100 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/Examples/Monocular)
101 |
102 | add_executable(mono_tum
103 | Examples/Monocular/mono_tum.cc)
104 | target_link_libraries(mono_tum ${PROJECT_NAME})
105 |
106 | add_executable(mono_kitti
107 | Examples/Monocular/mono_kitti.cc)
108 | target_link_libraries(mono_kitti ${PROJECT_NAME})
109 |
110 | add_executable(mono_euroc
111 | Examples/Monocular/mono_euroc.cc)
112 | target_link_libraries(mono_euroc ${PROJECT_NAME})
113 |
114 |
--------------------------------------------------------------------------------
/ORB_SLAM2/Dependencies.md:
--------------------------------------------------------------------------------
1 | ##List of Known Dependencies
2 | ###ORB-SLAM2 version 1.0
3 |
4 | In this document we list all the pieces of code included by ORB-SLAM2 and linked libraries which are not property of the authors of ORB-SLAM2.
5 |
6 |
7 | #####Code in **src** and **include** folders
8 |
9 | * *ORBextractor.cc*.
10 | This is a modified version of orb.cpp of OpenCV library. The original code is BSD licensed.
11 |
12 | * *PnPsolver.h, PnPsolver.cc*.
13 | This is a modified version of the epnp.h and epnp.cc of Vincent Lepetit.
14 | This code can be found in popular BSD licensed computer vision libraries as [OpenCV](https://github.com/Itseez/opencv/blob/master/modules/calib3d/src/epnp.cpp) and [OpenGV](https://github.com/laurentkneip/opengv/blob/master/src/absolute_pose/modules/Epnp.cpp). The original code is FreeBSD.
15 |
16 | * Function *ORBmatcher::DescriptorDistance* in *ORBmatcher.cc*.
17 | The code is from: http://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetParallel.
18 | The code is in the public domain.
19 |
20 | #####Code in Thirdparty folder
21 |
22 | * All code in **DBoW2** folder.
23 | This is a modified version of [DBoW2](https://github.com/dorian3d/DBoW2) and [DLib](https://github.com/dorian3d/DLib) library. All files included are BSD licensed.
24 |
25 | * All code in **g2o** folder.
26 | This is a modified version of [g2o](https://github.com/RainerKuemmerle/g2o). All files included are BSD licensed.
27 |
28 | #####Library dependencies
29 |
30 | * **Pangolin (visualization and user interface)**.
31 | [MIT license](https://en.wikipedia.org/wiki/MIT_License).
32 |
33 | * **OpenCV**.
34 | BSD license.
35 |
36 | * **Eigen3**.
37 | For versions greater than 3.1.1 is MPL2, earlier versions are LGPLv3.
38 |
39 | * **ROS (Optional, only if you build Examples/ROS)**.
40 | BSD license. In the manifest.xml the only declared package dependencies are roscpp, tf, sensor_msgs, image_transport, cv_bridge, which are all BSD licensed.
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/ORB_SLAM2/Examples/Monocular/EuRoC.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 |
3 | #--------------------------------------------------------------------------------------------
4 | # Camera Parameters. Adjust them!
5 | #--------------------------------------------------------------------------------------------
6 |
7 | # Camera calibration and distortion parameters (OpenCV)
8 | Camera.fx: 458.654
9 | Camera.fy: 457.296
10 | Camera.cx: 367.215
11 | Camera.cy: 248.375
12 |
13 | Camera.k1: -0.28340811
14 | Camera.k2: 0.07395907
15 | Camera.p1: 0.00019359
16 | Camera.p2: 1.76187114e-05
17 |
18 | # Camera frames per second
19 | Camera.fps: 20.0
20 |
21 | # Color order of the images (0: BGR, 1: RGB. It is ignored if images are grayscale)
22 | Camera.RGB: 1
23 |
24 | #--------------------------------------------------------------------------------------------
25 | # ORB Parameters
26 | #--------------------------------------------------------------------------------------------
27 |
28 | # ORB Extractor: Number of features per image
29 | ORBextractor.nFeatures: 1000
30 |
31 | # ORB Extractor: Scale factor between levels in the scale pyramid
32 | ORBextractor.scaleFactor: 1.2
33 |
34 | # ORB Extractor: Number of levels in the scale pyramid
35 | ORBextractor.nLevels: 8
36 |
37 | # ORB Extractor: Fast threshold
38 | # Image is divided in a grid. At each cell FAST are extracted imposing a minimum response.
39 | # Firstly we impose iniThFAST. If no corners are detected we impose a lower value minThFAST
40 | # You can lower these values if your images have low contrast
41 | ORBextractor.iniThFAST: 20
42 | ORBextractor.minThFAST: 7
43 |
44 | #--------------------------------------------------------------------------------------------
45 | # Viewer Parameters
46 | #---------------------------------------------------------------------------------------------
47 | Viewer.KeyFrameSize: 0.05
48 | Viewer.KeyFrameLineWidth: 1
49 | Viewer.GraphLineWidth: 0.9
50 | Viewer.PointSize:2
51 | Viewer.CameraSize: 0.08
52 | Viewer.CameraLineWidth: 3
53 | Viewer.ViewpointX: 0
54 | Viewer.ViewpointY: -0.7
55 | Viewer.ViewpointZ: -1.8
56 | Viewer.ViewpointF: 500
57 |
58 |
--------------------------------------------------------------------------------
/ORB_SLAM2/Examples/Monocular/KITTI00-02.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 |
3 | #--------------------------------------------------------------------------------------------
4 | # Camera Parameters. Adjust them!
5 | #--------------------------------------------------------------------------------------------
6 |
7 | # Camera calibration and distortion parameters (OpenCV)
8 | Camera.fx: 718.856
9 | Camera.fy: 718.856
10 | Camera.cx: 607.1928
11 | Camera.cy: 185.2157
12 |
13 | Camera.k1: 0.0
14 | Camera.k2: 0.0
15 | Camera.p1: 0.0
16 | Camera.p2: 0.0
17 |
18 | # Camera frames per second
19 | Camera.fps: 10.0
20 |
21 | # Color order of the images (0: BGR, 1: RGB. It is ignored if images are grayscale)
22 | Camera.RGB: 1
23 |
24 | #--------------------------------------------------------------------------------------------
25 | # ORB Parameters
26 | #--------------------------------------------------------------------------------------------
27 |
28 | # ORB Extractor: Number of features per image
29 | ORBextractor.nFeatures: 2000
30 |
31 | # ORB Extractor: Scale factor between levels in the scale pyramid
32 | ORBextractor.scaleFactor: 1.2
33 |
34 | # ORB Extractor: Number of levels in the scale pyramid
35 | ORBextractor.nLevels: 8
36 |
37 | # ORB Extractor: Fast threshold
38 | # Image is divided in a grid. At each cell FAST are extracted imposing a minimum response.
39 | # Firstly we impose iniThFAST. If no corners are detected we impose a lower value minThFAST
40 | # You can lower these values if your images have low contrast
41 | ORBextractor.iniThFAST: 20
42 | ORBextractor.minThFAST: 7
43 |
44 | #--------------------------------------------------------------------------------------------
45 | # Viewer Parameters
46 | #--------------------------------------------------------------------------------------------
47 | Viewer.KeyFrameSize: 0.1
48 | Viewer.KeyFrameLineWidth: 1
49 | Viewer.GraphLineWidth: 1
50 | Viewer.PointSize:2
51 | Viewer.CameraSize: 0.15
52 | Viewer.CameraLineWidth: 2
53 | Viewer.ViewpointX: 0
54 | Viewer.ViewpointY: -10
55 | Viewer.ViewpointZ: -0.1
56 | Viewer.ViewpointF: 2000
57 |
58 |
--------------------------------------------------------------------------------
/ORB_SLAM2/Examples/Monocular/KITTI03.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 |
3 | #--------------------------------------------------------------------------------------------
4 | # Camera Parameters. Adjust them!
5 | #--------------------------------------------------------------------------------------------
6 |
7 | # Camera calibration and distortion parameters (OpenCV)
8 | Camera.fx: 721.5377
9 | Camera.fy: 721.5377
10 | Camera.cx: 609.5593
11 | Camera.cy: 172.854
12 |
13 | Camera.k1: 0.0
14 | Camera.k2: 0.0
15 | Camera.p1: 0.0
16 | Camera.p2: 0.0
17 |
18 | # Camera frames per second
19 | Camera.fps: 10.0
20 |
21 | # Color order of the images (0: BGR, 1: RGB. It is ignored if images are grayscale)
22 | Camera.RGB: 1
23 |
24 | #--------------------------------------------------------------------------------------------
25 | # ORB Parameters
26 | #--------------------------------------------------------------------------------------------
27 |
28 | # ORB Extractor: Number of features per image
29 | ORBextractor.nFeatures: 2000
30 |
31 | # ORB Extractor: Scale factor between levels in the scale pyramid
32 | ORBextractor.scaleFactor: 1.2
33 |
34 | # ORB Extractor: Number of levels in the scale pyramid
35 | ORBextractor.nLevels: 8
36 |
37 | # ORB Extractor: Fast threshold
38 | # Image is divided in a grid. At each cell FAST are extracted imposing a minimum response.
39 | # Firstly we impose iniThFAST. If no corners are detected we impose a lower value minThFAST
40 | # You can lower these values if your images have low contrast
41 | ORBextractor.iniThFAST: 20
42 | ORBextractor.minThFAST: 7
43 |
44 | #--------------------------------------------------------------------------------------------
45 | # Viewer Parameters
46 | #--------------------------------------------------------------------------------------------
47 | Viewer.KeyFrameSize: 0.1
48 | Viewer.KeyFrameLineWidth: 1
49 | Viewer.GraphLineWidth: 1
50 | Viewer.PointSize:2
51 | Viewer.CameraSize: 0.15
52 | Viewer.CameraLineWidth: 2
53 | Viewer.ViewpointX: 0
54 | Viewer.ViewpointY: -10
55 | Viewer.ViewpointZ: -0.1
56 | Viewer.ViewpointF: 2000
57 |
58 |
--------------------------------------------------------------------------------
/ORB_SLAM2/Examples/Monocular/KITTI04-12.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 |
3 | #--------------------------------------------------------------------------------------------
4 | # Camera Parameters. Adjust them!
5 | #--------------------------------------------------------------------------------------------
6 |
7 | # Camera calibration and distortion parameters (OpenCV)
8 | Camera.fx: 707.0912
9 | Camera.fy: 707.0912
10 | Camera.cx: 601.8873
11 | Camera.cy: 183.1104
12 |
13 | Camera.k1: 0.0
14 | Camera.k2: 0.0
15 | Camera.p1: 0.0
16 | Camera.p2: 0.0
17 |
18 | # Camera frames per second
19 | Camera.fps: 10.0
20 |
21 | # Color order of the images (0: BGR, 1: RGB. It is ignored if images are grayscale)
22 | Camera.RGB: 1
23 |
24 | #--------------------------------------------------------------------------------------------
25 | # ORB Parameters
26 | #--------------------------------------------------------------------------------------------
27 |
28 | # ORB Extractor: Number of features per image
29 | ORBextractor.nFeatures: 2000
30 |
31 | # ORB Extractor: Scale factor between levels in the scale pyramid
32 | ORBextractor.scaleFactor: 1.2
33 |
34 | # ORB Extractor: Number of levels in the scale pyramid
35 | ORBextractor.nLevels: 8
36 |
37 | # ORB Extractor: Fast threshold
38 | # Image is divided in a grid. At each cell FAST are extracted imposing a minimum response.
39 | # Firstly we impose iniThFAST. If no corners are detected we impose a lower value minThFAST
40 | # You can lower these values if your images have low contrast
41 | ORBextractor.iniThFAST: 20
42 | ORBextractor.minThFAST: 7
43 |
44 | #--------------------------------------------------------------------------------------------
45 | # Viewer Parameters
46 | #--------------------------------------------------------------------------------------------
47 | Viewer.KeyFrameSize: 0.1
48 | Viewer.KeyFrameLineWidth: 1
49 | Viewer.GraphLineWidth: 1
50 | Viewer.PointSize:2
51 | Viewer.CameraSize: 0.15
52 | Viewer.CameraLineWidth: 2
53 | Viewer.ViewpointX: 0
54 | Viewer.ViewpointY: -10
55 | Viewer.ViewpointZ: -0.1
56 | Viewer.ViewpointF: 2000
57 |
58 |
--------------------------------------------------------------------------------
/ORB_SLAM2/Examples/Monocular/TUM1.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 |
3 | #--------------------------------------------------------------------------------------------
4 | # Camera Parameters. Adjust them!
5 | #--------------------------------------------------------------------------------------------
6 |
7 | # Camera calibration and distortion parameters (OpenCV)
8 | Camera.fx: 517.306408
9 | Camera.fy: 516.469215
10 | Camera.cx: 318.643040
11 | Camera.cy: 255.313989
12 |
13 | Camera.k1: 0.262383
14 | Camera.k2: -0.953104
15 | Camera.p1: -0.005358
16 | Camera.p2: 0.002628
17 | Camera.k3: 1.163314
18 |
19 | # Camera frames per second
20 | Camera.fps: 30.0
21 |
22 | # Color order of the images (0: BGR, 1: RGB. It is ignored if images are grayscale)
23 | Camera.RGB: 1
24 |
25 | #--------------------------------------------------------------------------------------------
26 | # ORB Parameters
27 | #--------------------------------------------------------------------------------------------
28 |
29 | # ORB Extractor: Number of features per image
30 | ORBextractor.nFeatures: 1000
31 |
32 | # ORB Extractor: Scale factor between levels in the scale pyramid
33 | ORBextractor.scaleFactor: 1.2
34 |
35 | # ORB Extractor: Number of levels in the scale pyramid
36 | ORBextractor.nLevels: 8
37 |
38 | # ORB Extractor: Fast threshold
39 | # Image is divided in a grid. At each cell FAST are extracted imposing a minimum response.
40 | # Firstly we impose iniThFAST. If no corners are detected we impose a lower value minThFAST
41 | # You can lower these values if your images have low contrast
42 | ORBextractor.iniThFAST: 20
43 | ORBextractor.minThFAST: 7
44 |
45 | #--------------------------------------------------------------------------------------------
46 | # Viewer Parameters
47 | #--------------------------------------------------------------------------------------------
48 | Viewer.KeyFrameSize: 0.05
49 | Viewer.KeyFrameLineWidth: 1
50 | Viewer.GraphLineWidth: 0.9
51 | Viewer.PointSize:2
52 | Viewer.CameraSize: 0.08
53 | Viewer.CameraLineWidth: 3
54 | Viewer.ViewpointX: 0
55 | Viewer.ViewpointY: -0.7
56 | Viewer.ViewpointZ: -1.8
57 | Viewer.ViewpointF: 500
58 |
59 |
--------------------------------------------------------------------------------
/ORB_SLAM2/Examples/Monocular/TUM2.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 |
3 | #--------------------------------------------------------------------------------------------
4 | # Camera Parameters. Adjust them!
5 | #--------------------------------------------------------------------------------------------
6 |
7 | # Camera calibration and distortion parameters (OpenCV)
8 | Camera.fx: 520.908620
9 | Camera.fy: 521.007327
10 | Camera.cx: 325.141442
11 | Camera.cy: 249.701764
12 |
13 | Camera.k1: 0.231222
14 | Camera.k2: -0.784899
15 | Camera.p1: -0.003257
16 | Camera.p2: -0.000105
17 | Camera.k3: 0.917205
18 |
19 | # Camera frames per second
20 | Camera.fps: 30.0
21 |
22 | # Color order of the images (0: BGR, 1: RGB. It is ignored if images are grayscale)
23 | Camera.RGB: 1
24 |
25 | #--------------------------------------------------------------------------------------------
26 | # ORB Parameters
27 | #--------------------------------------------------------------------------------------------
28 |
29 | # ORB Extractor: Number of features per image
30 | ORBextractor.nFeatures: 1000
31 |
32 | # ORB Extractor: Scale factor between levels in the scale pyramid
33 | ORBextractor.scaleFactor: 1.2
34 |
35 | # ORB Extractor: Number of levels in the scale pyramid
36 | ORBextractor.nLevels: 8
37 |
38 | # ORB Extractor: Fast threshold
39 | # Image is divided in a grid. At each cell FAST are extracted imposing a minimum response.
40 | # Firstly we impose iniThFAST. If no corners are detected we impose a lower value minThFAST
41 | # You can lower these values if your images have low contrast
42 | ORBextractor.iniThFAST: 20
43 | ORBextractor.minThFAST: 7
44 |
45 | #--------------------------------------------------------------------------------------------
46 | # Viewer Parameters
47 | #--------------------------------------------------------------------------------------------
48 | Viewer.KeyFrameSize: 0.05
49 | Viewer.KeyFrameLineWidth: 1
50 | Viewer.GraphLineWidth: 0.9
51 | Viewer.PointSize:2
52 | Viewer.CameraSize: 0.08
53 | Viewer.CameraLineWidth: 3
54 | Viewer.ViewpointX: 0
55 | Viewer.ViewpointY: -0.7
56 | Viewer.ViewpointZ: -1.8
57 | Viewer.ViewpointF: 500
58 |
59 |
--------------------------------------------------------------------------------
/ORB_SLAM2/Examples/Monocular/TUM3.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 |
3 | #--------------------------------------------------------------------------------------------
4 | # Camera Parameters. Adjust them!
5 | #--------------------------------------------------------------------------------------------
6 |
7 | # Camera calibration and distortion parameters (OpenCV)
8 | Camera.fx: 535.4
9 | Camera.fy: 539.2
10 | Camera.cx: 320.1
11 | Camera.cy: 247.6
12 |
13 | Camera.k1: 0.0
14 | Camera.k2: 0.0
15 | Camera.p1: 0.0
16 | Camera.p2: 0.0
17 |
18 | # Camera frames per second
19 | Camera.fps: 30.0
20 |
21 | # Color order of the images (0: BGR, 1: RGB. It is ignored if images are grayscale)
22 | Camera.RGB: 1
23 |
24 | #--------------------------------------------------------------------------------------------
25 | # ORB Parameters
26 | #--------------------------------------------------------------------------------------------
27 |
28 | # ORB Extractor: Number of features per image
29 | ORBextractor.nFeatures: 1000
30 |
31 | # ORB Extractor: Scale factor between levels in the scale pyramid
32 | ORBextractor.scaleFactor: 1.2
33 |
34 | # ORB Extractor: Number of levels in the scale pyramid
35 | ORBextractor.nLevels: 8
36 |
37 | # ORB Extractor: Fast threshold
38 | # Image is divided in a grid. At each cell FAST are extracted imposing a minimum response.
39 | # Firstly we impose iniThFAST. If no corners are detected we impose a lower value minThFAST
40 | # You can lower these values if your images have low contrast
41 | ORBextractor.iniThFAST: 20
42 | ORBextractor.minThFAST: 7
43 |
44 | #--------------------------------------------------------------------------------------------
45 | # Viewer Parameters
46 | #--------------------------------------------------------------------------------------------
47 | Viewer.KeyFrameSize: 0.05
48 | Viewer.KeyFrameLineWidth: 1
49 | Viewer.GraphLineWidth: 0.9
50 | Viewer.PointSize:2
51 | Viewer.CameraSize: 0.08
52 | Viewer.CameraLineWidth: 3
53 | Viewer.ViewpointX: 0
54 | Viewer.ViewpointY: -0.7
55 | Viewer.ViewpointZ: -1.8
56 | Viewer.ViewpointF: 500
57 |
58 |
--------------------------------------------------------------------------------
/ORB_SLAM2/Examples/RGB-D/TUM1.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 |
3 | #--------------------------------------------------------------------------------------------
4 | # Camera Parameters. Adjust them!
5 | #--------------------------------------------------------------------------------------------
6 |
7 | # Camera calibration and distortion parameters (OpenCV)
8 | Camera.fx: 517.306408
9 | Camera.fy: 516.469215
10 | Camera.cx: 318.643040
11 | Camera.cy: 255.313989
12 |
13 | Camera.k1: 0.262383
14 | Camera.k2: -0.953104
15 | Camera.p1: -0.005358
16 | Camera.p2: 0.002628
17 | Camera.k3: 1.163314
18 |
19 | Camera.width: 640
20 | Camera.height: 480
21 |
22 | # Camera frames per second
23 | Camera.fps: 30.0
24 |
25 | # IR projector baseline times fx (aprox.)
26 | Camera.bf: 40.0
27 |
28 | # Color order of the images (0: BGR, 1: RGB. It is ignored if images are grayscale)
29 | Camera.RGB: 1
30 |
31 | # Close/Far threshold. Baseline times.
32 | ThDepth: 40.0
33 |
34 | # Deptmap values factor
35 | DepthMapFactor: 5000.0
36 |
37 | #--------------------------------------------------------------------------------------------
38 | # ORB Parameters
39 | #--------------------------------------------------------------------------------------------
40 |
41 | # ORB Extractor: Number of features per image
42 | ORBextractor.nFeatures: 1000
43 |
44 | # ORB Extractor: Scale factor between levels in the scale pyramid
45 | ORBextractor.scaleFactor: 1.2
46 |
47 | # ORB Extractor: Number of levels in the scale pyramid
48 | ORBextractor.nLevels: 8
49 |
50 | # ORB Extractor: Fast threshold
51 | # Image is divided in a grid. At each cell FAST are extracted imposing a minimum response.
52 | # Firstly we impose iniThFAST. If no corners are detected we impose a lower value minThFAST
53 | # You can lower these values if your images have low contrast
54 | ORBextractor.iniThFAST: 20
55 | ORBextractor.minThFAST: 7
56 |
57 | #--------------------------------------------------------------------------------------------
58 | # Viewer Parameters
59 | #--------------------------------------------------------------------------------------------
60 | Viewer.KeyFrameSize: 0.05
61 | Viewer.KeyFrameLineWidth: 1
62 | Viewer.GraphLineWidth: 0.9
63 | Viewer.PointSize:2
64 | Viewer.CameraSize: 0.08
65 | Viewer.CameraLineWidth: 3
66 | Viewer.ViewpointX: 0
67 | Viewer.ViewpointY: -0.7
68 | Viewer.ViewpointZ: -1.8
69 | Viewer.ViewpointF: 500
70 |
71 |
--------------------------------------------------------------------------------
/ORB_SLAM2/Examples/RGB-D/TUM2.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 |
3 | #--------------------------------------------------------------------------------------------
4 | # Camera Parameters. Adjust them!
5 | #--------------------------------------------------------------------------------------------
6 |
7 | # Camera calibration and distortion parameters (OpenCV)
8 | Camera.fx: 520.908620
9 | Camera.fy: 521.007327
10 | Camera.cx: 325.141442
11 | Camera.cy: 249.701764
12 |
13 | Camera.k1: 0.231222
14 | Camera.k2: -0.784899
15 | Camera.p1: -0.003257
16 | Camera.p2: -0.000105
17 | Camera.k3: 0.917205
18 |
19 | Camera.width: 640
20 | Camera.height: 480
21 |
22 | # Camera frames per second
23 | Camera.fps: 30.0
24 |
25 | # IR projector baseline times fx (aprox.)
26 | Camera.bf: 40.0
27 |
28 | # Color order of the images (0: BGR, 1: RGB. It is ignored if images are grayscale)
29 | Camera.RGB: 1
30 |
31 | # Close/Far threshold. Baseline times.
32 | ThDepth: 40.0
33 |
34 | # Deptmap values factor
35 | DepthMapFactor: 5208.0
36 |
37 | #--------------------------------------------------------------------------------------------
38 | # ORB Parameters
39 | #--------------------------------------------------------------------------------------------
40 |
41 | # ORB Extractor: Number of features per image
42 | ORBextractor.nFeatures: 1000
43 |
44 | # ORB Extractor: Scale factor between levels in the scale pyramid
45 | ORBextractor.scaleFactor: 1.2
46 |
47 | # ORB Extractor: Number of levels in the scale pyramid
48 | ORBextractor.nLevels: 8
49 |
50 | # ORB Extractor: Fast threshold
51 | # Image is divided in a grid. At each cell FAST are extracted imposing a minimum response.
52 | # Firstly we impose iniThFAST. If no corners are detected we impose a lower value minThFAST
53 | # You can lower these values if your images have low contrast
54 | ORBextractor.iniThFAST: 20
55 | ORBextractor.minThFAST: 7
56 |
57 | #--------------------------------------------------------------------------------------------
58 | # Viewer Parameters
59 | #--------------------------------------------------------------------------------------------
60 | Viewer.KeyFrameSize: 0.05
61 | Viewer.KeyFrameLineWidth: 1
62 | Viewer.GraphLineWidth: 0.9
63 | Viewer.PointSize:2
64 | Viewer.CameraSize: 0.08
65 | Viewer.CameraLineWidth: 3
66 | Viewer.ViewpointX: 0
67 | Viewer.ViewpointY: -0.7
68 | Viewer.ViewpointZ: -1.8
69 | Viewer.ViewpointF: 500
70 |
71 |
--------------------------------------------------------------------------------
/ORB_SLAM2/Examples/RGB-D/TUM3.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 |
3 | #--------------------------------------------------------------------------------------------
4 | # Camera Parameters. Adjust them!
5 | #--------------------------------------------------------------------------------------------
6 |
7 | # Camera calibration and distortion parameters (OpenCV)
8 | Camera.fx: 535.4
9 | Camera.fy: 539.2
10 | Camera.cx: 320.1
11 | Camera.cy: 247.6
12 |
13 | Camera.k1: 0.0
14 | Camera.k2: 0.0
15 | Camera.p1: 0.0
16 | Camera.p2: 0.0
17 |
18 | Camera.width: 640
19 | Camera.height: 480
20 |
21 | # Camera frames per second
22 | Camera.fps: 30.0
23 |
24 | # IR projector baseline times fx (aprox.)
25 | Camera.bf: 40.0
26 |
27 | # Color order of the images (0: BGR, 1: RGB. It is ignored if images are grayscale)
28 | Camera.RGB: 1
29 |
30 | # Close/Far threshold. Baseline times.
31 | ThDepth: 40.0
32 |
33 | # Deptmap values factor
34 | DepthMapFactor: 5000.0
35 |
36 | #--------------------------------------------------------------------------------------------
37 | # ORB Parameters
38 | #--------------------------------------------------------------------------------------------
39 |
40 | # ORB Extractor: Number of features per image
41 | ORBextractor.nFeatures: 1000
42 |
43 | # ORB Extractor: Scale factor between levels in the scale pyramid
44 | ORBextractor.scaleFactor: 1.2
45 |
46 | # ORB Extractor: Number of levels in the scale pyramid
47 | ORBextractor.nLevels: 8
48 |
49 | # ORB Extractor: Fast threshold
50 | # Image is divided in a grid. At each cell FAST are extracted imposing a minimum response.
51 | # Firstly we impose iniThFAST. If no corners are detected we impose a lower value minThFAST
52 | # You can lower these values if your images have low contrast
53 | ORBextractor.iniThFAST: 20
54 | ORBextractor.minThFAST: 7
55 |
56 | #--------------------------------------------------------------------------------------------
57 | # Viewer Parameters
58 | #--------------------------------------------------------------------------------------------
59 | Viewer.KeyFrameSize: 0.05
60 | Viewer.KeyFrameLineWidth: 1
61 | Viewer.GraphLineWidth: 0.9
62 | Viewer.PointSize:2
63 | Viewer.CameraSize: 0.08
64 | Viewer.CameraLineWidth: 3
65 | Viewer.ViewpointX: 0
66 | Viewer.ViewpointY: -0.7
67 | Viewer.ViewpointZ: -1.8
68 | Viewer.ViewpointF: 500
69 |
70 |
--------------------------------------------------------------------------------
/ORB_SLAM2/Examples/ROS/ORB_SLAM2/Asus.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 |
3 | #--------------------------------------------------------------------------------------------
4 | # Camera Parameters. Adjust them!
5 | #--------------------------------------------------------------------------------------------
6 |
7 | # Camera calibration and distortion parameters (OpenCV)
8 | Camera.fx: 535.4
9 | Camera.fy: 539.2
10 | Camera.cx: 320.1
11 | Camera.cy: 247.6
12 |
13 | Camera.k1: 0.0
14 | Camera.k2: 0.0
15 | Camera.p1: 0.0
16 | Camera.p2: 0.0
17 |
18 | Camera.width: 640
19 | Camera.height: 480
20 |
21 | # Camera frames per second
22 | Camera.fps: 30.0
23 |
24 | # IR projector baseline times fx (aprox.)
25 | Camera.bf: 40.0
26 |
27 | # Color order of the images (0: BGR, 1: RGB. It is ignored if images are grayscale)
28 | Camera.RGB: 1
29 |
30 | # Close/Far threshold. Baseline times.
31 | ThDepth: 40.0
32 |
33 | # Deptmap values factor
34 | DepthMapFactor: 1.0
35 |
36 | #--------------------------------------------------------------------------------------------
37 | # ORB Parameters
38 | #--------------------------------------------------------------------------------------------
39 |
40 | # ORB Extractor: Number of features per image
41 | ORBextractor.nFeatures: 1000
42 |
43 | # ORB Extractor: Scale factor between levels in the scale pyramid
44 | ORBextractor.scaleFactor: 1.2
45 |
46 | # ORB Extractor: Number of levels in the scale pyramid
47 | ORBextractor.nLevels: 8
48 |
49 | # ORB Extractor: Fast threshold
50 | # Image is divided in a grid. At each cell FAST are extracted imposing a minimum response.
51 | # Firstly we impose iniThFAST. If no corners are detected we impose a lower value minThFAST
52 | # You can lower these values if your images have low contrast
53 | ORBextractor.iniThFAST: 20
54 | ORBextractor.minThFAST: 7
55 |
56 | #--------------------------------------------------------------------------------------------
57 | # Viewer Parameters
58 | #--------------------------------------------------------------------------------------------
59 | Viewer.KeyFrameSize: 0.05
60 | Viewer.KeyFrameLineWidth: 1
61 | Viewer.GraphLineWidth: 0.9
62 | Viewer.PointSize:2
63 | Viewer.CameraSize: 0.08
64 | Viewer.CameraLineWidth: 3
65 | Viewer.ViewpointX: 0
66 | Viewer.ViewpointY: -0.7
67 | Viewer.ViewpointZ: -1.8
68 | Viewer.ViewpointF: 500
69 |
70 |
--------------------------------------------------------------------------------
/ORB_SLAM2/Examples/ROS/ORB_SLAM2/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.3)
2 |
3 | project(orb_slam2)
4 |
5 | IF(NOT CMAKE_BUILD_TYPE)
6 | SET(CMAKE_BUILD_TYPE Release)
7 | ENDIF()
8 |
9 | set(PACKAGE_DEPENDENCIES
10 | roscpp
11 | sensor_msgs
12 | std_msgs
13 | cv_bridge
14 | tf
15 | cmake_modules
16 | )
17 |
18 | find_package(catkin REQUIRED COMPONENTS ${PACKAGE_DEPENDENCIES})
19 |
20 | # Check C++11 or C++0x support
21 | include(CheckCXXCompilerFlag)
22 | CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
23 | CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
24 | if(COMPILER_SUPPORTS_CXX11)
25 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
26 | add_definitions(-DCOMPILEDWITHC11)
27 | message(STATUS "Using flag -std=c++11.")
28 | elseif(COMPILER_SUPPORTS_CXX0X)
29 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
30 | add_definitions(-DCOMPILEDWITHC0X)
31 | message(STATUS "Using flag -std=c++0x.")
32 | else()
33 | message(FATAL_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
34 | endif()
35 |
36 | LIST(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../../../cmake_modules)
37 |
38 | find_package(OpenCV 3.0 QUIET)
39 | if(NOT OpenCV_FOUND)
40 | find_package(OpenCV 2.4.3 QUIET)
41 | if(NOT OpenCV_FOUND)
42 | message(FATAL_ERROR "OpenCV > 2.4.3 not found.")
43 | endif()
44 | endif()
45 |
46 | find_package(Eigen3 3.1.0 REQUIRED)
47 | find_package(Pangolin REQUIRED)
48 | find_package(Boost COMPONENTS system)
49 |
50 | catkin_package()
51 |
52 | include_directories(
53 | ${catkin_INCLUDE_DIRS}
54 | ${PROJECT_SOURCE_DIR}
55 | ${PROJECT_SOURCE_DIR}/../../../
56 | ${PROJECT_SOURCE_DIR}/../../../include
57 | ${Pangolin_INCLUDE_DIRS}
58 | ${Boost_INCLUDE_DIRS}
59 | )
60 |
61 | set(LIBS
62 | ${catkin_LIBRARIES}
63 | ${OpenCV_LIBS}
64 | ${EIGEN3_LIBS}
65 | ${Pangolin_LIBRARIES}
66 | ${PROJECT_SOURCE_DIR}/../../../Thirdparty/DBoW2/lib/libDBoW2.so
67 | ${PROJECT_SOURCE_DIR}/../../../Thirdparty/g2o/lib/libg2o.so
68 | ${PROJECT_SOURCE_DIR}/../../../lib/libORB_SLAM2.so
69 | )
70 |
71 | # Node for monocular camera
72 | add_executable(mono
73 | src/ros_mono.cc
74 | )
75 |
76 | target_link_libraries(mono
77 | ${LIBS}
78 | )
79 |
80 | # Node for monocular camera (Augmented Reality Demo)
81 | add_executable(monoAR
82 | src/AR/ros_mono_ar.cc
83 | src/AR/ViewerAR.h
84 | src/AR/ViewerAR.cc
85 | )
86 |
87 | target_link_libraries(monoAR
88 | ${LIBS}
89 | )
90 |
91 | # Node for stereo camera
92 | add_executable(stereo
93 | src/ros_stereo.cc
94 | )
95 |
96 | target_link_libraries(stereo
97 | ${LIBS}
98 | )
99 |
100 | # Node for RGB-D camera
101 | add_executable(rgbd
102 | src/ros_rgbd.cc
103 | )
104 |
105 | target_link_libraries(rgbd
106 | ${LIBS}
107 | )
108 |
109 |
--------------------------------------------------------------------------------
/ORB_SLAM2/Examples/ROS/ORB_SLAM2/launch/reconstruction.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ORB_SLAM2/Examples/ROS/ORB_SLAM2/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | orb_slam2
4 | 0.0.0
5 | ORB_SLAM2
6 | Raul Mur-Artal
7 | TODO
8 | GPLv3
9 |
10 | catkin
11 |
12 | roscpp
13 | tf
14 | sensor_msgs
15 | image_transport
16 | cv_bridge
17 | cmake_modules
18 |
19 | roscpp
20 | tf
21 | sensor_msgs
22 | image_transport
23 | cv_bridge
24 |
25 |
26 |
--------------------------------------------------------------------------------
/ORB_SLAM2/Examples/Stereo/KITTI00-02.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 |
3 | #--------------------------------------------------------------------------------------------
4 | # Camera Parameters. Adjust them!
5 | #--------------------------------------------------------------------------------------------
6 |
7 | # Camera calibration and distortion parameters (OpenCV)
8 | Camera.fx: 718.856
9 | Camera.fy: 718.856
10 | Camera.cx: 607.1928
11 | Camera.cy: 185.2157
12 |
13 | Camera.k1: 0.0
14 | Camera.k2: 0.0
15 | Camera.p1: 0.0
16 | Camera.p2: 0.0
17 |
18 | Camera.width: 1241
19 | Camera.height: 376
20 |
21 | # Camera frames per second
22 | Camera.fps: 10.0
23 |
24 | # stereo baseline times fx
25 | Camera.bf: 386.1448
26 |
27 | # Color order of the images (0: BGR, 1: RGB. It is ignored if images are grayscale)
28 | Camera.RGB: 1
29 |
30 | # Close/Far threshold. Baseline times.
31 | ThDepth: 35
32 |
33 | #--------------------------------------------------------------------------------------------
34 | # ORB Parameters
35 | #--------------------------------------------------------------------------------------------
36 |
37 | # ORB Extractor: Number of features per image
38 | ORBextractor.nFeatures: 2000
39 |
40 | # ORB Extractor: Scale factor between levels in the scale pyramid
41 | ORBextractor.scaleFactor: 1.2
42 |
43 | # ORB Extractor: Number of levels in the scale pyramid
44 | ORBextractor.nLevels: 8
45 |
46 | # ORB Extractor: Fast threshold
47 | # Image is divided in a grid. At each cell FAST are extracted imposing a minimum response.
48 | # Firstly we impose iniThFAST. If no corners are detected we impose a lower value minThFAST
49 | # You can lower these values if your images have low contrast
50 | ORBextractor.iniThFAST: 20
51 | ORBextractor.minThFAST: 7
52 |
53 | #--------------------------------------------------------------------------------------------
54 | # Viewer Parameters
55 | #--------------------------------------------------------------------------------------------
56 | Viewer.KeyFrameSize: 0.6
57 | Viewer.KeyFrameLineWidth: 2
58 | Viewer.GraphLineWidth: 1
59 | Viewer.PointSize:2
60 | Viewer.CameraSize: 0.7
61 | Viewer.CameraLineWidth: 3
62 | Viewer.ViewpointX: 0
63 | Viewer.ViewpointY: -100
64 | Viewer.ViewpointZ: -0.1
65 | Viewer.ViewpointF: 2000
66 |
67 |
--------------------------------------------------------------------------------
/ORB_SLAM2/Examples/Stereo/KITTI03.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 |
3 | #--------------------------------------------------------------------------------------------
4 | # Camera Parameters. Adjust them!
5 | #--------------------------------------------------------------------------------------------
6 |
7 | # Camera calibration and distortion parameters (OpenCV)
8 | Camera.fx: 721.5377
9 | Camera.fy: 721.5377
10 | Camera.cx: 609.5593
11 | Camera.cy: 172.854
12 |
13 | Camera.k1: 0.0
14 | Camera.k2: 0.0
15 | Camera.p1: 0.0
16 | Camera.p2: 0.0
17 |
18 | Camera.width: 1241
19 | Camera.height: 376
20 |
21 | # Camera frames per second
22 | Camera.fps: 10.0
23 |
24 | # stereo baseline times fx
25 | Camera.bf: 387.5744
26 |
27 | # Color order of the images (0: BGR, 1: RGB. It is ignored if images are grayscale)
28 | Camera.RGB: 1
29 |
30 | # Close/Far threshold. Baseline times.
31 | ThDepth: 40
32 |
33 | #--------------------------------------------------------------------------------------------
34 | # ORB Parameters
35 | #--------------------------------------------------------------------------------------------
36 |
37 | # ORB Extractor: Number of features per image
38 | ORBextractor.nFeatures: 2000
39 |
40 | # ORB Extractor: Scale factor between levels in the scale pyramid
41 | ORBextractor.scaleFactor: 1.2
42 |
43 | # ORB Extractor: Number of levels in the scale pyramid
44 | ORBextractor.nLevels: 8
45 |
46 | # ORB Extractor: Fast threshold
47 | # Image is divided in a grid. At each cell FAST are extracted imposing a minimum response.
48 | # Firstly we impose iniThFAST. If no corners are detected we impose a lower value minThFAST
49 | # You can lower these values if your images have low contrast
50 | ORBextractor.iniThFAST: 20
51 | ORBextractor.minThFAST: 7
52 |
53 | #--------------------------------------------------------------------------------------------
54 | # Viewer Parameters
55 | #--------------------------------------------------------------------------------------------
56 | Viewer.KeyFrameSize: 0.6
57 | Viewer.KeyFrameLineWidth: 2
58 | Viewer.GraphLineWidth: 1
59 | Viewer.PointSize:2
60 | Viewer.CameraSize: 0.7
61 | Viewer.CameraLineWidth: 3
62 | Viewer.ViewpointX: 0
63 | Viewer.ViewpointY: -100
64 | Viewer.ViewpointZ: -0.1
65 | Viewer.ViewpointF: 2000
66 |
67 |
--------------------------------------------------------------------------------
/ORB_SLAM2/Examples/Stereo/KITTI04-12.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 |
3 | #--------------------------------------------------------------------------------------------
4 | # Camera Parameters. Adjust them!
5 | #--------------------------------------------------------------------------------------------
6 |
7 | # Camera calibration and distortion parameters (OpenCV)
8 | Camera.fx: 707.0912
9 | Camera.fy: 707.0912
10 | Camera.cx: 601.8873
11 | Camera.cy: 183.1104
12 |
13 | Camera.k1: 0.0
14 | Camera.k2: 0.0
15 | Camera.p1: 0.0
16 | Camera.p2: 0.0
17 |
18 | Camera.width: 1241
19 | Camera.height: 376
20 |
21 | # Camera frames per second
22 | Camera.fps: 10.0
23 |
24 | # stereo baseline times fx
25 | Camera.bf: 379.8145
26 |
27 | # Color order of the images (0: BGR, 1: RGB. It is ignored if images are grayscale)
28 | Camera.RGB: 1
29 |
30 | # Close/Far threshold. Baseline times.
31 | ThDepth: 40
32 |
33 | #--------------------------------------------------------------------------------------------
34 | # ORB Parameters
35 | #--------------------------------------------------------------------------------------------
36 |
37 | # ORB Extractor: Number of features per image
38 | ORBextractor.nFeatures: 2000
39 |
40 | # ORB Extractor: Scale factor between levels in the scale pyramid
41 | ORBextractor.scaleFactor: 1.2
42 |
43 | # ORB Extractor: Number of levels in the scale pyramid
44 | ORBextractor.nLevels: 8
45 |
46 | # ORB Extractor: Fast threshold
47 | # Image is divided in a grid. At each cell FAST are extracted imposing a minimum response.
48 | # Firstly we impose iniThFAST. If no corners are detected we impose a lower value minThFAST
49 | # You can lower these values if your images have low contrast
50 | ORBextractor.iniThFAST: 12
51 | ORBextractor.minThFAST: 7
52 |
53 | #--------------------------------------------------------------------------------------------
54 | # Viewer Parameters
55 | #--------------------------------------------------------------------------------------------
56 | Viewer.KeyFrameSize: 0.6
57 | Viewer.KeyFrameLineWidth: 2
58 | Viewer.GraphLineWidth: 1
59 | Viewer.PointSize:2
60 | Viewer.CameraSize: 0.7
61 | Viewer.CameraLineWidth: 3
62 | Viewer.ViewpointX: 0
63 | Viewer.ViewpointY: -100
64 | Viewer.ViewpointZ: -0.1
65 | Viewer.ViewpointF: 2000
66 |
67 |
--------------------------------------------------------------------------------
/ORB_SLAM2/LICENSE.txt:
--------------------------------------------------------------------------------
1 | ORB-SLAM2 is released under a GPLv3 license (see License-gpl.txt).
2 | Please see Dependencies.md for a list of all included code and library dependencies which are not property of the authors of ORB-SLAM2.
3 |
4 | For a closed-source version of ORB-SLAM2 for commercial purposes, please contact the authors.
5 |
6 | If you use ORB-SLAM in an academic work, please cite the most relevant publication associated by visiting:
7 | https://github.com/raulmur/ORB_SLAM2
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/ORB_SLAM2/Thirdparty/DBoW2/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8)
2 | project(DBoW2)
3 |
4 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O3 -march=native ")
5 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3 -march=native")
6 |
7 | set(HDRS_DBOW2
8 | DBoW2/BowVector.h
9 | DBoW2/FORB.h
10 | DBoW2/FClass.h
11 | DBoW2/FeatureVector.h
12 | DBoW2/ScoringObject.h
13 | DBoW2/TemplatedVocabulary.h)
14 | set(SRCS_DBOW2
15 | DBoW2/BowVector.cpp
16 | DBoW2/FORB.cpp
17 | DBoW2/FeatureVector.cpp
18 | DBoW2/ScoringObject.cpp)
19 |
20 | set(HDRS_DUTILS
21 | DUtils/Random.h
22 | DUtils/Timestamp.h)
23 | set(SRCS_DUTILS
24 | DUtils/Random.cpp
25 | DUtils/Timestamp.cpp)
26 |
27 | find_package(OpenCV 3.0 QUIET)
28 | if(NOT OpenCV_FOUND)
29 | find_package(OpenCV 2.4.3 QUIET)
30 | if(NOT OpenCV_FOUND)
31 | message(FATAL_ERROR "OpenCV > 2.4.3 not found.")
32 | endif()
33 | endif()
34 |
35 | set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
36 |
37 | include_directories(${OpenCV_INCLUDE_DIRS})
38 | add_library(DBoW2 SHARED ${SRCS_DBOW2} ${SRCS_DUTILS})
39 | target_link_libraries(DBoW2 ${OpenCV_LIBS})
40 |
41 |
--------------------------------------------------------------------------------
/ORB_SLAM2/Thirdparty/DBoW2/DBoW2/BowVector.cpp:
--------------------------------------------------------------------------------
1 | /**
2 | * File: BowVector.cpp
3 | * Date: March 2011
4 | * Author: Dorian Galvez-Lopez
5 | * Description: bag of words vector
6 | * License: see the LICENSE.txt file
7 | *
8 | */
9 |
10 | #include
11 | #include
12 | #include
13 | #include
14 | #include
15 |
16 | #include "BowVector.h"
17 |
18 | namespace DBoW2 {
19 |
20 | // --------------------------------------------------------------------------
21 |
22 | BowVector::BowVector(void)
23 | {
24 | }
25 |
26 | // --------------------------------------------------------------------------
27 |
28 | BowVector::~BowVector(void)
29 | {
30 | }
31 |
32 | // --------------------------------------------------------------------------
33 |
34 | void BowVector::addWeight(WordId id, WordValue v)
35 | {
36 | BowVector::iterator vit = this->lower_bound(id);
37 |
38 | if(vit != this->end() && !(this->key_comp()(id, vit->first)))
39 | {
40 | vit->second += v;
41 | }
42 | else
43 | {
44 | this->insert(vit, BowVector::value_type(id, v));
45 | }
46 | }
47 |
48 | // --------------------------------------------------------------------------
49 |
50 | void BowVector::addIfNotExist(WordId id, WordValue v)
51 | {
52 | BowVector::iterator vit = this->lower_bound(id);
53 |
54 | if(vit == this->end() || (this->key_comp()(id, vit->first)))
55 | {
56 | this->insert(vit, BowVector::value_type(id, v));
57 | }
58 | }
59 |
60 | // --------------------------------------------------------------------------
61 |
62 | void BowVector::normalize(LNorm norm_type)
63 | {
64 | double norm = 0.0;
65 | BowVector::iterator it;
66 |
67 | if(norm_type == DBoW2::L1)
68 | {
69 | for(it = begin(); it != end(); ++it)
70 | norm += fabs(it->second);
71 | }
72 | else
73 | {
74 | for(it = begin(); it != end(); ++it)
75 | norm += it->second * it->second;
76 | norm = sqrt(norm);
77 | }
78 |
79 | if(norm > 0.0)
80 | {
81 | for(it = begin(); it != end(); ++it)
82 | it->second /= norm;
83 | }
84 | }
85 |
86 | // --------------------------------------------------------------------------
87 |
88 | std::ostream& operator<< (std::ostream &out, const BowVector &v)
89 | {
90 | BowVector::const_iterator vit;
91 | std::vector::const_iterator iit;
92 | unsigned int i = 0;
93 | const unsigned int N = v.size();
94 | for(vit = v.begin(); vit != v.end(); ++vit, ++i)
95 | {
96 | out << "<" << vit->first << ", " << vit->second << ">";
97 |
98 | if(i < N-1) out << ", ";
99 | }
100 | return out;
101 | }
102 |
103 | // --------------------------------------------------------------------------
104 |
105 | void BowVector::saveM(const std::string &filename, size_t W) const
106 | {
107 | std::fstream f(filename.c_str(), std::ios::out);
108 |
109 | WordId last = 0;
110 | BowVector::const_iterator bit;
111 | for(bit = this->begin(); bit != this->end(); ++bit)
112 | {
113 | for(; last < bit->first; ++last)
114 | {
115 | f << "0 ";
116 | }
117 | f << bit->second << " ";
118 |
119 | last = bit->first + 1;
120 | }
121 | for(; last < (WordId)W; ++last)
122 | f << "0 ";
123 |
124 | f.close();
125 | }
126 |
127 | // --------------------------------------------------------------------------
128 |
129 | } // namespace DBoW2
130 |
131 |
--------------------------------------------------------------------------------
/ORB_SLAM2/Thirdparty/DBoW2/DBoW2/BowVector.h:
--------------------------------------------------------------------------------
1 | /**
2 | * File: BowVector.h
3 | * Date: March 2011
4 | * Author: Dorian Galvez-Lopez
5 | * Description: bag of words vector
6 | * License: see the LICENSE.txt file
7 | *
8 | */
9 |
10 | #ifndef __D_T_BOW_VECTOR__
11 | #define __D_T_BOW_VECTOR__
12 |
13 | #include
14 | #include