本博文记录本文测试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 DPVO
conda 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 dpvo
python 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 format
Iphone数据
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博客