由于ORB-SLAM2双目的稠密点云重建与RGBD的稠密重建大同小异,而且很多代码通用。所以建议朋友们可以先看一下我之前的ORB-SLAM2稠密点云重建:RGBD室内。
这里先提一下总体思路。由于利用RGBD的框架去做,所以对于双目来说,最主要的就是得到其视差图,然后利用双目的其中1张(你也可以试试用两张,我选择左图)作为rgb图,将视差图得出左图深度信息。这样就通用起来了。也许你会担心ORB-SLAM2输出的位姿是中心点的位姿而不是左图的位姿,这样会不会有什么问题。我的目前的观点是认为左中心和中心相对固定,而且误差在大尺度SLAM下显得微乎其微,所以并没有考虑这个问题,如有误也请读者指正。LIBELAS的视频(需要翻墙其网站上才会有视频)展示了其完整的双目重建,但我也没找到其源码(有找到的同学务必告诉我啊)。而且其视频效果我不知道是否有人工处理,或挑选了比较好看的部分。(哈哈,这么猜测有些小气,但也并非不合理。谁让他不开源呢?没有开源精神的世界就是这么讨人厌)。不过比较好的是,LIBELAS提供并开源了双目获得深度的工具elas,我们就利用它生成视差图,然后在代码中从视差图得出左图深度信息。
好了,废话就这么多,下面开始。
步骤0:准备工作之位姿文件
与ORB-SLAM2的git主页的双目例子一样,我选择KITTI的灰度图数据集中的00,运行ORB-SLAM2,会生成CameraT