diff --git a/README.md b/README.md index 98cf0b8..410ae8d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,88 @@ ORB-SLAM2 =============== -初期検討で使ったORB-SLAM \ No newline at end of file +食道内の移動に関して初期検討で使ったORB-SLAM +https://github.com/phdsky/ORBSLAM24Windows +のオープンソースを参照してください. + + +## 動作環境 +以下の2つの環境で動作を確認 +①プロセッサ,Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz + メモリ, 8.00GB + OS, Windows10 + IDE, visual studio 2015 + +②プロセッサ,Intel(R) Core(TM) i7-6700 CPU @ 3.40GH + メモリ, 16.00GB + OS, Windows10 + GPU, GeForce GTX 970 + ライブラリ, CUDA 8.0 + IDE, visual studio 2015 + + +## Thanks +Original ORBSLAM2 project: ORB_SLAM2 +Eigen and Pangolin in Thirdparty are extracted from Phylliida/orbslam-windows/Thirdparty +## Prerequisite +OpenCV +Version is not required, but not too old. In this tutorial is 2.4.13. +Add YOUR_OWN_PATH\opencv\build; YOUR_OWN_PATH\opencv\build\x64\vc12\bin; to your environment variable "PATH", you can also add YOUR_OWN_PATH\opencv\build\x86\vc12\bin; if you want to bulid a x86 type application. +Cmake +Version should at least be 2.8. +Visual Studio +In this tutorial is VS2013(Corresponding to opencv's vc12). +So, we'll build a visual studio 2013 project of ORB_SLAM2 using cmake and then make a x64 app. + +## Steps +First, we'll compile the projects in Thirdparty folder. + +## DBoW2 +Open cmake-gui, select DBow2 folder as the source path and the DBow2/build folder as the binaries path. +Click configure, select Visual Studio 12 2013 Win64(or your own) as the generator, click finish. +After configure done, click Generate. +Go to the DBow2/build folder, double click the DBoW2.sln to open the peoject. +Build ALL_BUILD in either debug or release mode you want. +After success build, the libraries will be in the lib folder of the DBow2 project source folder. +## eigen +eigen is not need to be built + +## g2o +Open cmake-gui, select g2o folder as the source path and the g2o/build folder as the binaries path. +Click configure, select Visual Studio 12 2013 Win64(or your own) as the generator, click finish. +After configure done, click Generate. +Go to the g2o/build folder, double click the g2o.sln to open the peoject. +Right click on the g2o project->Properties->C/C++->Preprocessor Definitions, add WINDOWS at the end row, click Apply and OK. +Build ALL_BUILD in either debug or release mode you want. (Remind to repeat step 5 && Mode should be the same as DBoW2) +After success build, the libraries will be in the lib folder of the g2o project source folder. +## Pangolin +Open cmake-gui, select Pangolin folder as the source path and the Pangolin/build folder as the binaries path. +Click configure, select Visual Studio 12 2013 Win64(or your own) as the generator, click finish. +After configure done, click Generate. +Go to the Pangolin/build folder, double click the Pangolin.sln to open the peoject. +Build ALL_BUILD in either debug or release mode you want. (Mode should be the same as DBoW2 && g2o). +You'll get a error of "cannot open input file 'pthread.lib'", just ignore it. +After success build, the libraries will be in the lib folder of the Pangolin project source folder. +## ORBSLAM24Windows +Open cmake-gui, select ORBSLAM24Windows folder as the source path and the ORBSLAM24Windows/build folder as the binaries path. +Click configure, select Visual Studio 12 2013 Win64(or your own) as the generator, click finish. +After configure done, click Generate. +Go to the ORBSLAM24Windows/build folder, double click the ORB_SLAM2.sln to open the peoject. +Choose either debug or release mode you want. (Mode should be the same as DBoW2 && g2o && Pangolin). +Right click the ORB_SLAM2 project and then click generate. +After success build, the libraries will be in the lib folder of the ORB_SLAM2 project source folder. +## Applications +If you want to make apps, you can also build the mono-stero-RGBD projects provided. + +Take mono_tum app as an example, you can follow the steps below. + +Go to the ORBSLAM24Windows/build folder, double click the ORB_SLAM2.sln to open the peoject. +Choose either debug or release mode you want. (Build mode should be the same as DBoW2 && g2o && Pangolin && ORB_SLAM2). +Right click the mono_tum project and then click generate. +Download tum dataset sequence, for example freiburg2_desk +Right click the mono_tum project and then click Property->Config Property->Debug, input three parameters (Usage: ./mono_tum path_to_vocabulary path_to_settings path_to_sequence, the first can be ignored in windows) +path_to_vocabulary In ORBSLAM24Windows/Vocabulary folder, unpack the tar, a .txt file +path_to_settings In ORBSLAM24Windows/Examples/Monocular folder, rgbd_dataset_freiburg2_desk corresponding to TUM2.yaml +path_to_sequence rgbd_dataset_freiburg2_desk folder path +Run app, it'll take a few minutes to load the vocabulary dictionary, and then you'll get the result. +If you don't satisfied with the speed of loading dictionary, you can reference issue vocabulary convert to convert the txt vocabulary to bin vocabulary, it speeds up a lot.