DynaSLAM跑通的辛酸之路
DynaSLAM+MAC電腦+虛擬機+ubuntu18.04+跑通的辛酸之路
首先說一下我在做這項工作的前期之路。
在這之前我跑通過ORB-SLAM2,ORB-SLAM3,所以Pangolin,Eigen等的很多庫我需要再安裝了。
我的環境配置如標題所示,因為mac電腦沒有N卡所以,我用的是CPU的版本。在這之前我看了兩篇參考博客。這兩篇博客大多數的地方我都用到了。
知乎大佬的DynaSLAM跑通
CSDN大佬DynaSLAM跑通
看這兩篇可以解決很多問題,在這里我想在他們的基礎上著重強調以下幾個問題。
第一個問題是關于opencv2.4.11的安裝。因為在DynaSLAM的CMakeLists.txt中默認的opencv是這個版本,所以很多人都安裝這個版本,但我覺得其實opencv3.x的版本也是可以的,但是我沒嘗試過,你們可以看一下CMakeLists.txt的文件,把相關opencv版本的部分改一下應該就可以。在這里我說一下我是怎么裝的opencv2.4.11吧。
在安裝之前我的電腦里存在opencv3.3.1和opencv3.2.0版本的,之前我覺得他們沒有沖突,所以我就從opencv官網這個網站上下載了opencv2.4.11版本的,然后直接輸入以下指令:
但是它報錯了,因為這里的/usr/local … 是默認安裝路徑,我建議我們以后裝一個庫的時候可以裝在指定路徑上,
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=“自己安裝的路徑” -D BUILD_PYTHON_SUPPORT=ON ..因為報錯了,所以我就得嘗試修改呀,所以我首先嘗試了卸載opencv3.3.1,因為在當時我知道我的opencv放在哪個地方,所以我就直接進入到opencv3.3.1的路徑下面,直接輸入:
sudo make uninstall卸載opencv3.3.1,但是當我查詢opencv版本的時候
pkg-config --modversion opencv,仍然能查詢到opencv3.2.0版本的,這是我之前不知道的
所以我又查詢了如何切換opencv版本,大家可以參考這一篇博客:
opencv版本切換
這里的“~/opencv-3.4.1”切換為自己的opencv安裝路徑。
然后再運行pkg-config --modversion opencv 發現我們切換到了opencv2.4.11
第二個問題:
CSDN大佬DynaSLAM跑通在這一篇博客中,作者提到了兩個DynaSLAM的項目,他們是不一樣的,一個是
DynaSLAM-bbescos-feature-carla
另外一個是:
DynaSLAM。這可把我難死了,難得透透的,所以重點來了,我來講一下我的操作步驟。
這兩個版本我都下載了,但是我覺得第一個沒用,所以我直接講第二個,如果我這里的步驟還不行,歡迎你私信我。我第一個錯誤是這個:
我在github上的提問
這里的錯誤我首先嘗試的是文件夾的路徑,但是我嘗試了仍然不行,所以我覺得應該是哪一段代碼不對應所導致的,因為我查看了兩個版本的(DynaSLAM-bbescos-feature-carla與DynaSLAM)src文件下下面的viewer.cc文件,還是有點不一樣的,所以我建議大家直接下載第二個版本,第二個版本的地址為
DynaSLAM-master的github下載地址
下載好了以后,安裝coco-master,在上面的幾個博客里有,照他們的操作就可以了,算了我還是簡單說一下吧:
首先下載coco-master,然后進入PythonAPI,然后
sudo make install,把pycocotools文件夾copy到Mask-Rcnn-master的src/pyhon文件夾下,然后下載mask_rcnn_coco.h5也把它放到src/python文件夾下,然后修改該文件夾下的Check.py的文件,將…/src/python修改為./
這樣基本上就可以了。
然后:
看看有沒有錯誤,試一下,應該就沒錯誤了,如果有錯誤就看我上面的那幾篇博客。
第三個問題:
運行問題,我的測試數據集是慕尼黑大學TUM的數據集
在運行數據集的時候有幾個參數,大家注意一下,這里的參數都是一一對應的
第一個參數
就是rgbd_tum可執行文件的路徑。
第二個參數:字典的路徑
第三個參數,是數據集文件夾的路徑
第四個參數是.txt文件,這里存放的是depth.txt與rgb.txt對齊后的文件,可以在原作者的github中看到如何操作,這里的路徑存放在數據文件夾路徑的下面,否則無法找到圖片。
第五個參數是mask的path
第六個參數是painted的path
我的路徑是:
大家參考一下吧。
如果還有不明白的大家可以問一下我。
我打算做的課題是動態環境下的SLAM。歡迎一起交流學習。
總結
以上是生活随笔為你收集整理的DynaSLAM跑通的辛酸之路的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 切片[:, None, None]的含义
- 下一篇: 深度学习与概率、统计的有趣探讨