利用DSO_SLAM进行单目三维建模

Direct Sparse Odometry(DSO)是业内很流行的lsd_slam系统作者的学生Jakob Engel开发的,实测性能和精度优于lsd_slam。DSO已经被作者开源到github,同时还一并开源了DSO在ros系统下的使用代码实例dso_ros.

利用DSO_SLAM进行单目三维建模_第1张图片

本篇教程将演示如何在小强机器人开发平台上安装DSO和dso_ros, 利用小强平台上的摄像头实时运行DSO进行三维建模先上最后测试视频(效果很不错)

利用DSO_SLAM进行单目三维建模_第2张图片

1.DSO的安装

注:因为小强开发平台已经提前安装好了不少DSO需要的依赖包,下文将跳过这些包的安装,请其它开发平台的读者参考github上的完整安装教程进行安装。
1.A安装依赖包
sudo apt-get install libsuitesparse-dev libeigen3-dev libboost-dev
sudo apt-get install libopencv-dev
1.B下载源代码
cd ~/Documents/
git clone https://github.com/JakobEngel/dso.git
1.C继续配置依赖包
sudo apt-get install zlib1g-dev
cd ~/Documents/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
1.D编译安装
cd ~/Documents/dso/
mkdir build 
cd build 
cmake .. 
make -j

2.dso_ros的安装

注:原作者提供的源代码有两个分支,master分支对应rosbuild版,catkin分支对应catkin版。对于现代ROS版本,推荐使用catkin版本,安装使用更方便。但是作者的catkin分支存在代码缺陷,实际无法安装使用,因此下文将安装我们蓝鲸智能修改之后的dso_ros版本。
cd ~/Documents/ros/src
git clone https://github.com/BlueWhaleRobot/dso_ros.git 
cd ..
export DSO_PATH=/home/xiaoqiang/Documents/dso
catkin_make

3.开始使用

注:小强开发平台的摄像头标定文件是相同的,因此可以直接运行下列命令,请其它开发平台的读者自行修改camera.txt文件中的内容(留意每行的最后结尾不能有空格)以及命令中的image topic名字
rosrun dso_ros dso_live image:=/camera_node/image_raw calib=/home/xiaoqiang/Documents/ros/src/dso_ros/camera.txt mode=1
现在移动摄像头,就能开始对周围环境进行三维建模,移动过程避免急转弯和剧烈运动。对于小强用户,请先遥控小强运动同时用rosbag录制/camera_node/image_raw这个image topic数据,然后重放,这样可以实现大范围的建模。rosbag重放前,需要关闭usb摄像头节点(sudo service startup stop),否则会有图像发布冲突。

相关链接:小强平台购买链接

DSO原著论文链接

本文原文出处链接

你可能感兴趣的:(j)