总览
目前orbslam已经非常成熟,但是该框架只能做稀疏重建,
github上有基于viso2的里程计以及elas的深度恢复的开源项目,该项目目前可以跑开源KITTTI数据集,目前改成了zed实时模式但是还没有测试,另外后面最好改成ROS节点形式,方便从rosbag直接读取数据
elasticfusion是效果比较好的rgbd相机实时稠密重建方案,可以实现实时生成mesh
三个思路
思路1:基于orbslam
把ormslam的mapping模块替换为开源项目的mapping,框架也需要改变,最终把稀疏改为稠密
思路二:基于开源项目
开源项目可以实现实时点云,但存在两个问题,一个是viso里程计较老、效果较差;一个是只能到点云无法到mesh
解决方案是用orbslam的里程计替换viso,另外需要pcl编程实现点云到mesh
思路三:基于elasticfusion
只需要将elasticfusion的输入由rgbd变成双目即可,这就需要将开源项目的elas模块导入,由elas计算深度作为输入。
最后需要修改代码实现,前期可以研究一下 rosbag->数据集->elasticfusion读取 的方式
总结
综合来看由1到3难度递减,思路三是目前可行性最高的方案。
接下来等新电脑到了以后开始进行思路三的落地,步骤如下:
- 装ubuntu
- 安装ROS,安装QT
- 安装elasticfusion并用数据集进行测试,接着用realsense的rosbag包测试
- 安装显卡驱动,配置cuda,配置zed环境
- 尝试zed的rosbag包转为数据集格式
- 尝试直接修改代码将输入改为双目