本博文記錄本文測試DPVO的過程,本博文僅供本人學習記錄用~
《Deep Patch Visual Odometry》
代碼鏈接:GitHub - princeton-vl/DPVO: Deep Patch Visual Odometry
目錄
配置過程
測試記錄
參考資料
配置過程
首先下載代碼以及創建conda環境
git clone https://github.com/princeton-vl/DPVO.git --recursive
cd DPVOconda env create -f environment.yml
conda activate dpvo
然后安裝eigen以及下載DPVO對應的模型及數據,同時安裝DPVO
wget https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.zip
unzip eigen-3.4.0.zip -d thirdparty# install DPVO
pip install .# download models and data (~2GB)
./download_models_and_data.sh
安裝成功~
可視化工具,采用Pangolin Viewer
./Pangolin/scripts/install_prerequisites.sh
mkdir Pangolin/build && cd Pangolin/build
cmake ..
make -j8
sudo make install
cd ../..
然后安裝viewer
pip install ./DPViewer
采用MobaXterm來運行下面代碼從而觀看demo
conda activate dpvopython demo.py \--imagedir=<path to image directory or video> \--calib=<path to calibration file> \--viz # enable visualization--plot # save trajectory plot--save_reconstruction # save point cloud as a .ply file--save_trajectory # save the predicted trajectory as .txt in TUM formatIphone數據
CUDA_VISIBLE_DEVICES=3 python demo.py \--imagedir=movies/IMG_0482.MOV \--calib=calib/iphone.txt\--viz \--plot \--save_reconstruction \--save_trajectory CUDA_VISIBLE_DEVICES=2 python demo.py --imagedir=mav0/cam0/data --calib=calib/euroc.txt --stride=2 --plot --viz
如果報錯ImportError: libpango_windowing.so: cannot open shared object file: No such
那么安裝sudo ldconfig。
如果出現錯誤:
ImportError: /home/gwp/miniconda3/envs/dpvo/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /usr/local/lib/libpango_core.so)
先使用"ll"命令查看一下該文件的概況:
然后用下面命令查看
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
可以發現,GLIBCXX_3.4.30
是存在的。既然已經存在了上述目標文件,所以只需要重新創建軟連接使得anaconda3
?能夠識別到這個目標文件就可以了。
ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /home/gwp/miniconda3/envs/dpvo/bin/../lib/libstdc++.so.6
然后再次運行,就沒有報錯了~
但是運行會出現:Framebuffer with requested attributes not available. Using available framebuffer. You may see visual artifacts.Segmentation fault (core dumped)
好像是類似ORBSLAM2的問題導致的
因此,搜全文-march=native,并注釋掉。再試試。還是一樣的錯誤。從博客(DPVO服務器端復現-CSDN博客)中發現可能是原來的可視化有點問題~~~
然后再運行就可以了~讀者可選用博客(DPVO服務器端復現-CSDN博客)提供的代碼或者下面提供的代碼。均可實現運行
https://github.com/KwanWaiPang/DPVO_commenthttps://github.com/KwanWaiPang/DPVO_comment
測試記錄
python demo.py --imagedir=movies/IMG_0492.MOV --calib=calib/iphone.txt --stride=5 --viz
DPVO testing 0482
DPVO testing 0497
DPVO testing 0493
DPVO testing 0492
參考資料
DPVO服務器端復現-CSDN博客
如何解決 :libstdc++.so.6: version `GLIBCXX_3.4.30‘ not found-CSDN博客