前言
借鉴来自RGB-D数据处理的两种方法-基于特征与基于整体的,同样可以考虑整个图片的匹配,而不是只考虑特征点的……
一般这种稠密的方法需要很大的计算量,DTAM: Dense tracking and mapping in real-time 提出了利用GPU来加速运算的方法,Semi-dense Visual Odometry for a Monocular Camera通过半稠密的滤波有效地减少了运算时间,甚至在智能手机上实时实现了这个算法Semi-dense visual odometry for AR on a smartphone
个人理解错误的地方还请不吝赐教,转载请标明出处,内容如有改动更新,请看原博:http://www.cnblogs.com/hitcm/
如有任何问题,feel free to contact me at robotsming@gmail.com
主要介绍
主要参考一下几篇文章,都是来自tum的。以后算法与代码介绍都是基于这几篇文章的,建议仔细研究,必定受益匪浅。
2013 Semi-dense Visual Odometry for a Monocular Camera
2014 Semi-dense visual odometry for AR on a smartphone
2014 LSD-SLAM: Large-Scale Direct Monocular SLAM
在以上几篇文章的基础之上,有了完整的lsd-slam算法。
算法的主页如下
https://github.com/tum-vision/lsd_slam
http://vision.in.tum.de/research/vslam/lsdslam?redirect=1
ros下的安装
博主的编程环境是Ubuntu14.04+Ros Indigo,为了方便记录,采用的是虚拟机环境,可能有点卡。关于ROS的基础知识,请自行学习,在此不再赘述。
首先安装依赖项
sudo apt-get install ros-indigo-libg2o ros-indigo-cv-bridge liblapack-dev libblas-dev freeglut3-dev libqglviewer-dev libsuitesparse-dev libx11-dev
然后git下面的内容
git clone https://github.com/tum-vision/lsd_slam.git lsd_slam
最后是rosmake
rosmake lsd_slam
运行lsd-slam
一个来自官方的范例,使用的dataset如下,400+M
http://vmcremers8.informatik.tu-muenchen.de/lsd/LSD_room.bag.zip
解压之
然后运行下面的3个命令,即可看到效果
rosrun lsd_slam_viewer viewer
rosrun lsd_slam_core live_slam image:=/image_raw camera_info:=/camera_info
rosbag play ./LSD_room.bag
另外可以网上另一位兄弟的文章,链接如下