├── CMakeLists.txt
├── Data
└── ORB_SLAM2
│ ├── Calibration
│ ├── images
│ │ └── list.xml
│ ├── patterns
│ │ ├── acircles_pattern.png
│ │ └── pattern.png
│ └── settings.xml
│ ├── Monocular
│ ├── KITTI.yaml
│ ├── TUM1.yaml
│ ├── USBCam.yaml
│ └── USBCam_1280.yaml
│ └── Vocabulary
│ └── ORBvoc.bin
├── Dependencies.md
├── Examples
├── Monocular
│ ├── KITTI00-02.yaml
│ ├── KITTI03.yaml
│ ├── KITTI04-12.yaml
│ ├── Main.cc
│ ├── TUM1.yaml
│ ├── TUM2.yaml
│ ├── TUM3.yaml
│ ├── bin_vocabulary.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_str_tex_far.txt
│ │ └── fr3_str_tex_near.txt
│ └── rgbd_tum.cc
├── ROS
│ └── ORB_SLAM2
│ │ ├── CMakeLists.txt
│ │ ├── manifest.xml
│ │ └── src
│ │ ├── ros_mono.cc
│ │ ├── ros_rgbd.cc
│ │ └── ros_stereo.cc
└── Stereo
│ ├── EuRoC.yaml
│ ├── KITTI00-02.yaml
│ ├── KITTI03.yaml
│ ├── KITTI04-12.yaml
│ └── 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
├── Eigen3.2.8
│ └── Eigen
│ │ ├── Array
│ │ ├── CMakeLists.txt
│ │ ├── Cholesky
│ │ ├── CholmodSupport
│ │ ├── Core
│ │ ├── Dense
│ │ ├── Eigen
│ │ ├── Eigen2Support
│ │ ├── Eigenvalues
│ │ ├── Geometry
│ │ ├── Householder
│ │ ├── IterativeLinearSolvers
│ │ ├── Jacobi
│ │ ├── LU
│ │ ├── LeastSquares
│ │ ├── MetisSupport
│ │ ├── OrderingMethods
│ │ ├── PaStiXSupport
│ │ ├── PardisoSupport
│ │ ├── QR
│ │ ├── QtAlignedMalloc
│ │ ├── SPQRSupport
│ │ ├── SVD
│ │ ├── Sparse
│ │ ├── SparseCholesky
│ │ ├── SparseCore
│ │ ├── SparseLU
│ │ ├── SparseQR
│ │ ├── StdDeque
│ │ ├── StdList
│ │ ├── StdVector
│ │ ├── SuperLUSupport
│ │ ├── UmfPackSupport
│ │ └── src
│ │ ├── CMakeLists.txt
│ │ ├── Cholesky
│ │ ├── CMakeLists.txt
│ │ ├── LDLT.h
│ │ ├── LLT.h
│ │ └── LLT_MKL.h
│ │ ├── CholmodSupport
│ │ ├── CMakeLists.txt
│ │ └── CholmodSupport.h
│ │ ├── Core
│ │ ├── Array.h
│ │ ├── ArrayBase.h
│ │ ├── ArrayWrapper.h
│ │ ├── Assign.h
│ │ ├── Assign_MKL.h
│ │ ├── BandMatrix.h
│ │ ├── Block.h
│ │ ├── BooleanRedux.h
│ │ ├── CMakeLists.txt
│ │ ├── CommaInitializer.h
│ │ ├── CoreIterators.h
│ │ ├── CwiseBinaryOp.h
│ │ ├── CwiseNullaryOp.h
│ │ ├── CwiseUnaryOp.h
│ │ ├── CwiseUnaryView.h
│ │ ├── DenseBase.h
│ │ ├── DenseCoeffsBase.h
│ │ ├── DenseStorage.h
│ │ ├── Diagonal.h
│ │ ├── DiagonalMatrix.h
│ │ ├── DiagonalProduct.h
│ │ ├── Dot.h
│ │ ├── EigenBase.h
│ │ ├── Flagged.h
│ │ ├── ForceAlignedAccess.h
│ │ ├── Functors.h
│ │ ├── Fuzzy.h
│ │ ├── GeneralProduct.h
│ │ ├── GenericPacketMath.h
│ │ ├── GlobalFunctions.h
│ │ ├── IO.h
│ │ ├── Map.h
│ │ ├── MapBase.h
│ │ ├── MathFunctions.h
│ │ ├── Matrix.h
│ │ ├── MatrixBase.h
│ │ ├── NestByValue.h
│ │ ├── NoAlias.h
│ │ ├── NumTraits.h
│ │ ├── PermutationMatrix.h
│ │ ├── PlainObjectBase.h
│ │ ├── ProductBase.h
│ │ ├── Random.h
│ │ ├── Redux.h
│ │ ├── Ref.h
│ │ ├── Replicate.h
│ │ ├── ReturnByValue.h
│ │ ├── Reverse.h
│ │ ├── Select.h
│ │ ├── SelfAdjointView.h
│ │ ├── SelfCwiseBinaryOp.h
│ │ ├── SolveTriangular.h
│ │ ├── StableNorm.h
│ │ ├── Stride.h
│ │ ├── Swap.h
│ │ ├── Transpose.h
│ │ ├── Transpositions.h
│ │ ├── TriangularMatrix.h
│ │ ├── VectorBlock.h
│ │ ├── VectorwiseOp.h
│ │ ├── Visitor.h
│ │ ├── arch
│ │ │ ├── AltiVec
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── Complex.h
│ │ │ │ └── PacketMath.h
│ │ │ ├── CMakeLists.txt
│ │ │ ├── Default
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── Settings.h
│ │ │ ├── NEON
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── Complex.h
│ │ │ │ └── PacketMath.h
│ │ │ └── SSE
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── Complex.h
│ │ │ │ ├── MathFunctions.h
│ │ │ │ └── PacketMath.h
│ │ ├── products
│ │ │ ├── CMakeLists.txt
│ │ │ ├── CoeffBasedProduct.h
│ │ │ ├── GeneralBlockPanelKernel.h
│ │ │ ├── GeneralMatrixMatrix.h
│ │ │ ├── GeneralMatrixMatrixTriangular.h
│ │ │ ├── GeneralMatrixMatrixTriangular_MKL.h
│ │ │ ├── GeneralMatrixMatrix_MKL.h
│ │ │ ├── GeneralMatrixVector.h
│ │ │ ├── GeneralMatrixVector_MKL.h
│ │ │ ├── Parallelizer.h
│ │ │ ├── SelfadjointMatrixMatrix.h
│ │ │ ├── SelfadjointMatrixMatrix_MKL.h
│ │ │ ├── SelfadjointMatrixVector.h
│ │ │ ├── SelfadjointMatrixVector_MKL.h
│ │ │ ├── SelfadjointProduct.h
│ │ │ ├── SelfadjointRank2Update.h
│ │ │ ├── TriangularMatrixMatrix.h
│ │ │ ├── TriangularMatrixMatrix_MKL.h
│ │ │ ├── TriangularMatrixVector.h
│ │ │ ├── TriangularMatrixVector_MKL.h
│ │ │ ├── TriangularSolverMatrix.h
│ │ │ ├── TriangularSolverMatrix_MKL.h
│ │ │ └── TriangularSolverVector.h
│ │ └── util
│ │ │ ├── BlasUtil.h
│ │ │ ├── CMakeLists.txt
│ │ │ ├── Constants.h
│ │ │ ├── DisableStupidWarnings.h
│ │ │ ├── ForwardDeclarations.h
│ │ │ ├── MKL_support.h
│ │ │ ├── Macros.h
│ │ │ ├── Memory.h
│ │ │ ├── Meta.h
│ │ │ ├── NonMPL2.h
│ │ │ ├── ReenableStupidWarnings.h
│ │ │ ├── StaticAssert.h
│ │ │ └── XprHelper.h
│ │ ├── Eigen2Support
│ │ ├── Block.h
│ │ ├── CMakeLists.txt
│ │ ├── Cwise.h
│ │ ├── CwiseOperators.h
│ │ ├── Geometry
│ │ │ ├── AlignedBox.h
│ │ │ ├── All.h
│ │ │ ├── AngleAxis.h
│ │ │ ├── CMakeLists.txt
│ │ │ ├── Hyperplane.h
│ │ │ ├── ParametrizedLine.h
│ │ │ ├── Quaternion.h
│ │ │ ├── Rotation2D.h
│ │ │ ├── RotationBase.h
│ │ │ ├── Scaling.h
│ │ │ ├── Transform.h
│ │ │ └── Translation.h
│ │ ├── LU.h
│ │ ├── Lazy.h
│ │ ├── LeastSquares.h
│ │ ├── Macros.h
│ │ ├── MathFunctions.h
│ │ ├── Memory.h
│ │ ├── Meta.h
│ │ ├── Minor.h
│ │ ├── QR.h
│ │ ├── SVD.h
│ │ ├── TriangularSolver.h
│ │ └── VectorBlock.h
│ │ ├── Eigenvalues
│ │ ├── CMakeLists.txt
│ │ ├── ComplexEigenSolver.h
│ │ ├── ComplexSchur.h
│ │ ├── ComplexSchur_MKL.h
│ │ ├── EigenSolver.h
│ │ ├── GeneralizedEigenSolver.h
│ │ ├── GeneralizedSelfAdjointEigenSolver.h
│ │ ├── HessenbergDecomposition.h
│ │ ├── MatrixBaseEigenvalues.h
│ │ ├── RealQZ.h
│ │ ├── RealSchur.h
│ │ ├── RealSchur_MKL.h
│ │ ├── SelfAdjointEigenSolver.h
│ │ ├── SelfAdjointEigenSolver_MKL.h
│ │ └── Tridiagonalization.h
│ │ ├── Geometry
│ │ ├── AlignedBox.h
│ │ ├── AngleAxis.h
│ │ ├── CMakeLists.txt
│ │ ├── EulerAngles.h
│ │ ├── Homogeneous.h
│ │ ├── Hyperplane.h
│ │ ├── OrthoMethods.h
│ │ ├── ParametrizedLine.h
│ │ ├── Quaternion.h
│ │ ├── Rotation2D.h
│ │ ├── RotationBase.h
│ │ ├── Scaling.h
│ │ ├── Transform.h
│ │ ├── Translation.h
│ │ ├── Umeyama.h
│ │ └── arch
│ │ │ ├── CMakeLists.txt
│ │ │ └── Geometry_SSE.h
│ │ ├── Householder
│ │ ├── BlockHouseholder.h
│ │ ├── CMakeLists.txt
│ │ ├── Householder.h
│ │ └── HouseholderSequence.h
│ │ ├── IterativeLinearSolvers
│ │ ├── BasicPreconditioners.h
│ │ ├── BiCGSTAB.h
│ │ ├── CMakeLists.txt
│ │ ├── ConjugateGradient.h
│ │ ├── IncompleteLUT.h
│ │ └── IterativeSolverBase.h
│ │ ├── Jacobi
│ │ ├── CMakeLists.txt
│ │ └── Jacobi.h
│ │ ├── LU
│ │ ├── CMakeLists.txt
│ │ ├── Determinant.h
│ │ ├── FullPivLU.h
│ │ ├── Inverse.h
│ │ ├── PartialPivLU.h
│ │ ├── PartialPivLU_MKL.h
│ │ └── arch
│ │ │ ├── CMakeLists.txt
│ │ │ └── Inverse_SSE.h
│ │ ├── MetisSupport
│ │ ├── CMakeLists.txt
│ │ └── MetisSupport.h
│ │ ├── OrderingMethods
│ │ ├── Amd.h
│ │ ├── CMakeLists.txt
│ │ ├── Eigen_Colamd.h
│ │ └── Ordering.h
│ │ ├── PaStiXSupport
│ │ ├── CMakeLists.txt
│ │ └── PaStiXSupport.h
│ │ ├── PardisoSupport
│ │ ├── CMakeLists.txt
│ │ └── PardisoSupport.h
│ │ ├── QR
│ │ ├── CMakeLists.txt
│ │ ├── ColPivHouseholderQR.h
│ │ ├── ColPivHouseholderQR_MKL.h
│ │ ├── FullPivHouseholderQR.h
│ │ ├── HouseholderQR.h
│ │ └── HouseholderQR_MKL.h
│ │ ├── SPQRSupport
│ │ ├── CMakeLists.txt
│ │ └── SuiteSparseQRSupport.h
│ │ ├── SVD
│ │ ├── CMakeLists.txt
│ │ ├── JacobiSVD.h
│ │ ├── JacobiSVD_MKL.h
│ │ └── UpperBidiagonalization.h
│ │ ├── SparseCholesky
│ │ ├── CMakeLists.txt
│ │ ├── SimplicialCholesky.h
│ │ └── SimplicialCholesky_impl.h
│ │ ├── SparseCore
│ │ ├── AmbiVector.h
│ │ ├── CMakeLists.txt
│ │ ├── CompressedStorage.h
│ │ ├── ConservativeSparseSparseProduct.h
│ │ ├── MappedSparseMatrix.h
│ │ ├── SparseBlock.h
│ │ ├── SparseColEtree.h
│ │ ├── SparseCwiseBinaryOp.h
│ │ ├── SparseCwiseUnaryOp.h
│ │ ├── SparseDenseProduct.h
│ │ ├── SparseDiagonalProduct.h
│ │ ├── SparseDot.h
│ │ ├── SparseFuzzy.h
│ │ ├── SparseMatrix.h
│ │ ├── SparseMatrixBase.h
│ │ ├── SparsePermutation.h
│ │ ├── SparseProduct.h
│ │ ├── SparseRedux.h
│ │ ├── SparseSelfAdjointView.h
│ │ ├── SparseSparseProductWithPruning.h
│ │ ├── SparseTranspose.h
│ │ ├── SparseTriangularView.h
│ │ ├── SparseUtil.h
│ │ ├── SparseVector.h
│ │ ├── SparseView.h
│ │ └── TriangularSolver.h
│ │ ├── SparseLU
│ │ ├── CMakeLists.txt
│ │ ├── SparseLU.h
│ │ ├── SparseLUImpl.h
│ │ ├── SparseLU_Memory.h
│ │ ├── SparseLU_Structs.h
│ │ ├── SparseLU_SupernodalMatrix.h
│ │ ├── SparseLU_Utils.h
│ │ ├── SparseLU_column_bmod.h
│ │ ├── SparseLU_column_dfs.h
│ │ ├── SparseLU_copy_to_ucol.h
│ │ ├── SparseLU_gemm_kernel.h
│ │ ├── SparseLU_heap_relax_snode.h
│ │ ├── SparseLU_kernel_bmod.h
│ │ ├── SparseLU_panel_bmod.h
│ │ ├── SparseLU_panel_dfs.h
│ │ ├── SparseLU_pivotL.h
│ │ ├── SparseLU_pruneL.h
│ │ └── SparseLU_relax_snode.h
│ │ ├── SparseQR
│ │ ├── CMakeLists.txt
│ │ └── SparseQR.h
│ │ ├── StlSupport
│ │ ├── CMakeLists.txt
│ │ ├── StdDeque.h
│ │ ├── StdList.h
│ │ ├── StdVector.h
│ │ └── details.h
│ │ ├── SuperLUSupport
│ │ ├── CMakeLists.txt
│ │ └── SuperLUSupport.h
│ │ ├── UmfPackSupport
│ │ ├── CMakeLists.txt
│ │ └── UmfPackSupport.h
│ │ ├── misc
│ │ ├── CMakeLists.txt
│ │ ├── Image.h
│ │ ├── Kernel.h
│ │ ├── Solve.h
│ │ ├── SparseSolve.h
│ │ └── blas.h
│ │ └── plugins
│ │ ├── ArrayCwiseBinaryOps.h
│ │ ├── ArrayCwiseUnaryOps.h
│ │ ├── BlockMethods.h
│ │ ├── CMakeLists.txt
│ │ ├── CommonCwiseBinaryOps.h
│ │ ├── CommonCwiseUnaryOps.h
│ │ ├── MatrixCwiseBinaryOps.h
│ │ └── MatrixCwiseUnaryOps.h
├── OpenCV
│ ├── cv2.so
│ ├── libopencv_calib3d.a
│ ├── libopencv_contrib.a
│ ├── libopencv_core.a
│ ├── libopencv_features2d.a
│ ├── libopencv_flann.a
│ ├── libopencv_gpu.a
│ ├── libopencv_haartraining_engine.a
│ ├── libopencv_highgui.a
│ ├── libopencv_imgproc.a
│ ├── libopencv_legacy.a
│ ├── libopencv_ml.a
│ ├── libopencv_nonfree.a
│ ├── libopencv_objdetect.a
│ ├── libopencv_ocl.a
│ ├── libopencv_photo.a
│ ├── libopencv_stitching.a
│ ├── libopencv_superres.a
│ ├── libopencv_ts.a
│ ├── libopencv_video.a
│ ├── libopencv_videostab.a
│ ├── opencv
│ │ ├── cv.h
│ │ ├── cv.hpp
│ │ ├── cvaux.h
│ │ ├── cvaux.hpp
│ │ ├── cvwimage.h
│ │ ├── cxcore.h
│ │ ├── cxcore.hpp
│ │ ├── cxeigen.hpp
│ │ ├── cxmisc.h
│ │ ├── highgui.h
│ │ └── ml.h
│ └── opencv2
│ │ ├── calib3d
│ │ └── calib3d.hpp
│ │ ├── contrib
│ │ ├── contrib.hpp
│ │ ├── detection_based_tracker.hpp
│ │ ├── hybridtracker.hpp
│ │ ├── openfabmap.hpp
│ │ └── retina.hpp
│ │ ├── core
│ │ ├── core.hpp
│ │ ├── core_c.h
│ │ ├── cuda_devptrs.hpp
│ │ ├── devmem2d.hpp
│ │ ├── eigen.hpp
│ │ ├── gpumat.hpp
│ │ ├── internal.hpp
│ │ ├── mat.hpp
│ │ ├── opengl_interop.hpp
│ │ ├── opengl_interop_deprecated.hpp
│ │ ├── operations.hpp
│ │ ├── types_c.h
│ │ ├── version.hpp
│ │ └── wimage.hpp
│ │ ├── features2d
│ │ └── features2d.hpp
│ │ ├── flann
│ │ ├── all_indices.h
│ │ ├── allocator.h
│ │ ├── any.h
│ │ ├── autotuned_index.h
│ │ ├── composite_index.h
│ │ ├── config.h
│ │ ├── defines.h
│ │ ├── dist.h
│ │ ├── dummy.h
│ │ ├── dynamic_bitset.h
│ │ ├── flann.hpp
│ │ ├── flann_base.hpp
│ │ ├── general.h
│ │ ├── ground_truth.h
│ │ ├── hdf5.h
│ │ ├── heap.h
│ │ ├── hierarchical_clustering_index.h
│ │ ├── index_testing.h
│ │ ├── kdtree_index.h
│ │ ├── kdtree_single_index.h
│ │ ├── kmeans_index.h
│ │ ├── linear_index.h
│ │ ├── logger.h
│ │ ├── lsh_index.h
│ │ ├── lsh_table.h
│ │ ├── matrix.h
│ │ ├── miniflann.hpp
│ │ ├── nn_index.h
│ │ ├── object_factory.h
│ │ ├── params.h
│ │ ├── random.h
│ │ ├── result_set.h
│ │ ├── sampling.h
│ │ ├── saving.h
│ │ ├── simplex_downhill.h
│ │ └── timer.h
│ │ ├── highgui
│ │ ├── cap_ios.h
│ │ ├── highgui.hpp
│ │ ├── highgui_c.h
│ │ └── ios.h
│ │ ├── imgproc
│ │ ├── imgproc.hpp
│ │ ├── imgproc_c.h
│ │ └── types_c.h
│ │ ├── legacy
│ │ ├── blobtrack.hpp
│ │ ├── compat.hpp
│ │ ├── legacy.hpp
│ │ └── streams.hpp
│ │ ├── ml
│ │ └── ml.hpp
│ │ ├── nonfree
│ │ ├── features2d.hpp
│ │ ├── gpu.hpp
│ │ ├── nonfree.hpp
│ │ └── ocl.hpp
│ │ ├── objdetect
│ │ └── objdetect.hpp
│ │ ├── opencv.hpp
│ │ ├── opencv_modules.hpp
│ │ ├── photo
│ │ ├── photo.hpp
│ │ └── photo_c.h
│ │ ├── stitching
│ │ ├── detail
│ │ │ ├── autocalib.hpp
│ │ │ ├── blenders.hpp
│ │ │ ├── camera.hpp
│ │ │ ├── exposure_compensate.hpp
│ │ │ ├── matchers.hpp
│ │ │ ├── motion_estimators.hpp
│ │ │ ├── seam_finders.hpp
│ │ │ ├── util.hpp
│ │ │ ├── util_inl.hpp
│ │ │ ├── warpers.hpp
│ │ │ └── warpers_inl.hpp
│ │ ├── stitcher.hpp
│ │ └── warpers.hpp
│ │ ├── video
│ │ ├── background_segm.hpp
│ │ ├── tracking.hpp
│ │ └── video.hpp
│ │ ├── videostab
│ │ ├── deblurring.hpp
│ │ ├── fast_marching.hpp
│ │ ├── fast_marching_inl.hpp
│ │ ├── frame_source.hpp
│ │ ├── global_motion.hpp
│ │ ├── inpainting.hpp
│ │ ├── log.hpp
│ │ ├── motion_stabilizing.hpp
│ │ ├── optical_flow.hpp
│ │ ├── stabilizer.hpp
│ │ └── videostab.hpp
│ │ └── world
│ │ └── world.hpp
├── 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
├── libIlmImf.a
├── libjasper.a
├── libjpeg.a
├── libpng.a
└── libtiff.a
├── Tools
├── calibrateCamera.cpp
├── images.xml
└── settings.xml
├── Vocabulary
└── ORBvoc.txt.tar.gz
├── Xcode
├── ORB_SLAM2.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ └── ORB_SLAM2.xcscmblueprint
├── ORB_SLAM2.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── ORB_SLAM2.xcscmblueprint
└── Tools.xcodeproj
│ └── project.pbxproj
├── 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
/Data/ORB_SLAM2/Calibration/images/list.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | /Users/Data/ORB_SLAM2/Calibration/images/1.pic.jpg
5 | /Users/Data/ORB_SLAM2/Calibration/images/2.pic.jpg
6 | /Users/Data/ORB_SLAM2/Calibration/images/3.pic.jpg
7 | /Users/Data/ORB_SLAM2/Calibration/images/4.pic.jpg
8 | /Users/Data/ORB_SLAM2/Calibration/images/5.pic.jpg
9 | /Users/Data/ORB_SLAM2/Calibration/images/6.pic.jpg
10 | /Users/Data/ORB_SLAM2/Calibration/images/7.pic.jpg
11 |
12 |
--------------------------------------------------------------------------------
/Data/ORB_SLAM2/Calibration/patterns/acircles_pattern.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skylook/ORB_SLAM2_OSX/0c80e7020042a92f895d6a8b6508c677d620b17b/Data/ORB_SLAM2/Calibration/patterns/acircles_pattern.png
--------------------------------------------------------------------------------
/Data/ORB_SLAM2/Calibration/patterns/pattern.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skylook/ORB_SLAM2_OSX/0c80e7020042a92f895d6a8b6508c677d620b17b/Data/ORB_SLAM2/Calibration/patterns/pattern.png
--------------------------------------------------------------------------------
/Data/ORB_SLAM2/Monocular/KITTI.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: 320
11 | Camera.cy: 240
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: 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 |
--------------------------------------------------------------------------------
/Data/ORB_SLAM2/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 |
--------------------------------------------------------------------------------
/Data/ORB_SLAM2/Monocular/USBCam.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 |
3 | #--------------------------------------------------------------------------------------------
4 | # Camera Parameters. Adjust them!
5 | #--------------------------------------------------------------------------------------------
6 |
7 | # Camera calibration and distortion parameters (OpenCV)
8 | Camera.fx: 6.4704571894095375e+02
9 | Camera.fy: 6.4704571894095375e+02
10 | Camera.cx: 3.1950000000000000e+02
11 | Camera.cy: 2.3950000000000000e+02
12 |
13 | Camera.k1: -2.4173008925263854e-02
14 | Camera.k2: 3.6484823336096023e-01
15 | Camera.p1: 0
16 | Camera.p2: 0
17 | Camera.k3: -1.4063938095803625e+00
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 |
--------------------------------------------------------------------------------
/Data/ORB_SLAM2/Monocular/USBCam_1280.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 |
3 | #--------------------------------------------------------------------------------------------
4 | # Camera Parameters. Adjust them!
5 | #--------------------------------------------------------------------------------------------
6 |
7 | # Camera calibration and distortion parameters (OpenCV)
8 | Camera.fx: 9.9081614713599072e+02
9 | Camera.fy: 9.9081614713599072e+02
10 | Camera.cx: 6.3950000000000000e+02
11 | Camera.cy: 3.5950000000000000e+02
12 |
13 | Camera.k1: 1.8271719839869632e-01
14 | Camera.k2: -2.7657177032761571e-01
15 | Camera.p1: 0
16 | Camera.p2: 0
17 | Camera.k3: -9.5478494861861690e-02
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 |
--------------------------------------------------------------------------------
/Data/ORB_SLAM2/Vocabulary/ORBvoc.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/skylook/ORB_SLAM2_OSX/0c80e7020042a92f895d6a8b6508c677d620b17b/Data/ORB_SLAM2/Vocabulary/ORBvoc.bin
--------------------------------------------------------------------------------
/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 | https://github.com/stevenlovegrove/Pangolin
32 |
33 | * **OpenCV**.
34 | BSD licensed.
35 |
36 | * **Eigen3**.
37 | For versions greater than 3.1.1 is MPL2, earlier versions are LGPLv3.
38 |
39 | * **BLAS** (required by g2o).
40 | [Freely-available software](http://www.netlib.org/blas/#_licensing).
41 |
42 | * **LAPACK**(required by g2o).
43 | BSD licensed.
44 |
45 | * **ROS (Optional, only if you build Examples/ROS)**.
46 | BSD licensed. In the manifest.xml the only declared package dependencies are roscpp, tf, sensor_msgs, image_transport, cv_bridge, which are all BSD licensed.
47 |
48 |
49 |
50 | Updated: 23/01/2016 Raúl Mur Artal
51 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/Examples/Monocular/bin_vocabulary.cc:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | #include "ORBVocabulary.h"
4 | using namespace std;
5 |
6 | bool load_as_text(ORB_SLAM2::ORBVocabulary* voc, const std::string infile) {
7 | clock_t tStart = clock();
8 | bool res = voc->loadFromTextFile(infile);
9 | printf("Loading fom text: %.2fs\n", (double)(clock() - tStart)/CLOCKS_PER_SEC);
10 | return res;
11 | }
12 |
13 | void load_as_xml(ORB_SLAM2::ORBVocabulary* voc, const std::string infile) {
14 | clock_t tStart = clock();
15 | voc->load(infile);
16 | printf("Loading fom xml: %.2fs\n", (double)(clock() - tStart)/CLOCKS_PER_SEC);
17 | }
18 |
19 | void load_as_binary(ORB_SLAM2::ORBVocabulary* voc, const std::string infile) {
20 | clock_t tStart = clock();
21 | voc->loadFromBinaryFile(infile);
22 | printf("Loading fom binary: %.2fs\n", (double)(clock() - tStart)/CLOCKS_PER_SEC);
23 | }
24 |
25 | void save_as_xml(ORB_SLAM2::ORBVocabulary* voc, const std::string outfile) {
26 | clock_t tStart = clock();
27 | voc->save(outfile);
28 | printf("Saving as xml: %.2fs\n", (double)(clock() - tStart)/CLOCKS_PER_SEC);
29 | }
30 |
31 | void save_as_text(ORB_SLAM2::ORBVocabulary* voc, const std::string outfile) {
32 | clock_t tStart = clock();
33 | voc->saveToTextFile(outfile);
34 | printf("Saving as text: %.2fs\n", (double)(clock() - tStart)/CLOCKS_PER_SEC);
35 | }
36 |
37 | void save_as_binary(ORB_SLAM2::ORBVocabulary* voc, const std::string outfile) {
38 | clock_t tStart = clock();
39 | voc->saveToBinaryFile(outfile);
40 | printf("Saving as binary: %.2fs\n", (double)(clock() - tStart)/CLOCKS_PER_SEC);
41 | }
42 |
43 |
44 | int main2(int argc, char **argv) {
45 | cout << "BoW load/save benchmark" << endl;
46 | ORB_SLAM2::ORBVocabulary* voc = new ORB_SLAM2::ORBVocabulary();
47 |
48 | load_as_text(voc, "../../../Vocabulary/ORBvoc.txt");
49 | save_as_binary(voc, "../../../Vocabulary/ORBvoc.bin");
50 |
51 | return 0;
52 | }
53 |
--------------------------------------------------------------------------------
/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: 50.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 |
--------------------------------------------------------------------------------
/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: 50.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 |
--------------------------------------------------------------------------------
/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: 50.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 |
--------------------------------------------------------------------------------
/Examples/ROS/ORB_SLAM2/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.4.6)
2 | include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
3 |
4 | rosbuild_init()
5 |
6 | IF(NOT ROS_BUILD_TYPE)
7 | SET(ROS_BUILD_TYPE Release)
8 | ENDIF()
9 |
10 | MESSAGE("Build type: " ${ROS_BUILD_TYPE})
11 |
12 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O3 -march=native ")
13 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3 -march=native")
14 |
15 | # Check C++11 or C++0x support
16 | include(CheckCXXCompilerFlag)
17 | CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
18 | CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
19 | if(COMPILER_SUPPORTS_CXX11)
20 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
21 | add_definitions(-DCOMPILEDWITHC11)
22 | message(STATUS "Using flag -std=c++11.")
23 | elseif(COMPILER_SUPPORTS_CXX0X)
24 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
25 | add_definitions(-DCOMPILEDWITHC0X)
26 | message(STATUS "Using flag -std=c++0x.")
27 | else()
28 | message(FATAL_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
29 | endif()
30 |
31 | LIST(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../../../cmake_modules)
32 |
33 | find_package(OpenCV 2.4.3 REQUIRED)
34 | find_package(Eigen3 3.1.0 REQUIRED)
35 | find_package(Pangolin REQUIRED)
36 |
37 | include_directories(
38 | ${PROJECT_SOURCE_DIR}
39 | ${PROJECT_SOURCE_DIR}/../../../
40 | ${PROJECT_SOURCE_DIR}/../../../include
41 | ${Pangolin_INCLUDE_DIRS}
42 | )
43 |
44 | set(LIBS
45 | ${OpenCV_LIBS}
46 | ${EIGEN3_LIBS}
47 | ${Pangolin_LIBRARIES}
48 | ${PROJECT_SOURCE_DIR}/../../../Thirdparty/DBoW2/lib/libDBoW2.so
49 | ${PROJECT_SOURCE_DIR}/../../../Thirdparty/g2o/lib/libg2o.so
50 | ${PROJECT_SOURCE_DIR}/../../../lib/libORB_SLAM2.so
51 | )
52 |
53 | # Node for monocular camera
54 | rosbuild_add_executable(Mono
55 | src/ros_mono.cc
56 | )
57 |
58 | target_link_libraries(Mono
59 | ${LIBS}
60 | )
61 |
62 | # Node for stereo camera
63 | rosbuild_add_executable(Stereo
64 | src/ros_stereo.cc
65 | )
66 |
67 | target_link_libraries(Stereo
68 | ${LIBS}
69 | )
70 |
71 | # Node for RGB-D camera
72 | rosbuild_add_executable(RGBD
73 | src/ros_rgbd.cc
74 | )
75 |
76 | target_link_libraries(RGBD
77 | ${LIBS}
78 | )
79 |
80 |
--------------------------------------------------------------------------------
/Examples/ROS/ORB_SLAM2/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ORB_SLAM2
5 |
6 |
7 | Raul Mur-Artal
8 | GPLv3
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # ORB-SLAM2 (for OSX)
2 | **Authors:** [Raul Mur-Artal](http://webdiis.unizar.es/~raulmur/), [Juan D. Tardos](http://webdiis.unizar.es/~jdtardos/), [J. M. M. Montiel](http://webdiis.unizar.es/~josemari/) and [Dorian Galvez-Lopez](http://doriangalvez.com/) ([DBoW2](https://github.com/dorian3d/DBoW2))
3 |
4 | * Forked from https://github.com/raulmur/ORB_SLAM2 and https://github.com/meiroo/ORBSLAM2-OSX
5 |
6 | * This is ORB-SLAM2 for Xcode & Max OSX. No drawing modules like Pangolin is needed.
7 | Most of the port work comes from [his github](https://github.com/meiroo/ORBSLAM2-OSX) and [blog] (http://zhuanlan.zhihu.com/computercoil/20589372).
8 |
9 | # Usage
10 | 1. Download from github
11 | 2. Open Xcode/ORB_SLAM2.xcworkspace with Xcode
12 | 3. Copy all files in Data folder to /User/Data/
13 | 4. Build & Run!
14 |
15 | # Changes
16 | * Pangolin removed, MapDrawer FrameDrawer removed.
17 | * Cmake system removed, open Xcode/ORB_SLAM2.xcworkspace and build system with dependencies.
18 | * Binnary dictionary to speed up loading (from https://github.com/poine/ORB_SLAM2)
19 | * Camera capture instead of datasets
20 | * OpenCV's camera calibration tools added
21 |
--------------------------------------------------------------------------------
/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 REQUIRED)
28 |
29 | set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
30 |
31 | include_directories(${OpenCV_INCLUDE_DIRS})
32 | add_library(DBoW2 SHARED ${SRCS_DBOW2} ${SRCS_DUTILS})
33 | target_link_libraries(DBoW2 ${OpenCV_LIBS})
34 |
35 |
--------------------------------------------------------------------------------
/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