红联Linux门户
Linux帮助

Ubuntu 16.04 DSO试运行

发布时间:2017-04-09 09:29:24来源:linux网站作者:小丘_
毕业设计是避障机器人的设计,想用最近比较火的视觉SLAM去做,看看几个视觉slam的效果。第一个就是本文要试运行的Direct Sparse Odometry(DSO),本文也作为学习DSO的一个开端,供自己以及大家学习。
 
DSO的安装
Github上作者已经对DSO的安装做了很详细的介绍,DOS安装下载(https://github.com/JakobEngel/dso)。按照作者的步骤安装很简单。
 
1.安装依赖项
a.安装 suitesparse and eigen3 (必须).
sudo apt-get install libsuitesparse-dev libeigen3-dev libboost-all-dev  
b.安装OpenCV(推荐),仅仅用于读写图像等操作。如果您想脱离OPENCV使用,请安装:
sudo apt-get install libopencv-dev  
c.安装Pangolin(强烈推荐)用作3D的形象化的显示。
按照Pangolin的github主页安装教程安装:https://github.com/stevenlovegrove/Pangolin
d.安装ziplib(推荐)用来读取数据库压缩包里的图片
sudo apt-get install zlib1g-dev  
cd dso/thirdparty  
tar -zxvf libzip-1.1.1.tar.gz  
cd libzip-1.1.1/  
./configure  
make  
sudo make install  
sudo cp lib/zipconf.h /usr/local/include/zipconf.h  
 
2.安装编译DSO
a.下载DSO到相应路径,如~/depends
git clone https://github.com/JakobEngel/dso.git  
b.编译DSO
cd ~/depend/dso  
mkdir build  
cd build  
cmake ..  
make -j4  
如果编译通过会在dso/build/lib中生成libdso.a库文件。在dso/build/bin中生成dso_dataset文件,可以运行作者提供的数据集。至此。DSO已经安装完成。
 
3.测试
a.下载(https://vision.in.tum.de/mono-dataset)TUM数据集运行DSO(下载速度太慢,先不测试)。
cd ~/depends/dso/build/bin  
./dso_dataset \files=XXXXX/sequence_XX/images.zip \  
calib=XXXXX/sequence_XX/camera.txt \  
gamma=XXXXX/sequence_XX/pcalib.txt \  
vignette=XXXXX/sequence_XX/vignette.png \  
preset=0 \  
mode=0  
其中files为数据集图片压缩包,calib为相机内参数文件,gamma和vignette为相机的一些特性参数,光度标定文件。mode为DSO模式切换,如0为包含光度表达文件,1为只包含内参数,2为没有畸变参数. preset为设定DSO运行时的参数,如选取的像素点个数等等。preset=3是preset=0的5倍速运行DSO。 
b.外接usb摄像头实时运行DSO
利用作者发布的dso_ros运行DSO(ros安装请自行搜索)。下载地址:https://github.com/JakobEngel/dso_ros。作者提供了rosbuild和catkin两个版本的程序包,如果你使用catkin_ws工作空间,请使用dso_ros的catkin版本。如果使用rosbuild去编译,请使用rosbuild版本,这里使用catkin版本。
 
1) 安装编译dso_ros:
mkdir -p ~/catkin_ws/src  
cd ~/catkin_ws/src  
git clone https://github.com/JakobEngel/dso_ros.git  
export DSO_PATH=/home/wu/depends/dso/  
cd ..  
catkin_make
 
2) 安装编译usb_cam
cd ~/catkin_ws/src  
git clone https://github.com/bosch-ros-pkg/usb_cam.git   
cd ..  
catkin_make  
source ~/catkin_ws/devel/setup.bash  
 
3) 运行dso
修改相机参数文件
gedit ~/catkin_ws/src/dso_ros/camera.txt
再弹出的窗口中输入:
446.867338 446.958766 298.082779 234.334299 -0.324849 0.1205156 -0.000186 -0.000821  
640 480  
crop  
640 480  
第一行是相机的内参,从左到右的8个数为fx fy cx cy k1 k2 r1 r2,第二行为输 入图像的宽和高,根据你标定的相机参数修改。
新开一个终端   
Roscore  
再开一个终端
source ~/catkin_ws/devel/setup.bash  
roslaunch usb_cam usb_cam-test.launch  
再开一个终端
source ~/catkin_ws/devel/setup.bash  
rosrun dso_ros dso_live image:=/usb_cam/image_raw calib=/home/hyj/DSO/camera.txt mode=1  
Ubuntu 16.04 DSO试运行
 
DSO安装已经介绍完了,整体来说比较简单,DSO采用的直接法,效果很不错。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/29852.html