我们会连续给大家放出ORB_SLAM从入门、移植,到开发的一系列开发攻略,篇篇干货,欢迎大家分享到自己朋友圈,推荐给自己的朋友们~ 以前读过部分PTAM代码。 不过对于ORB_SLAM还没有接触过。最近打算有时间看一看。正好赶上ORB_SLAM2,所以直接从ORB_SLAM2入手。 文末有ORB-SLAM开源代码的iOS版本以及MacOSX版本的下载链接地址呦~ 看代码以前,首先还是先跑起来看看效果再说。ORB_SLAM2代码结构非常好。依赖也比较少。主体依赖仅有DBoW2/g2o/eigen3。另外Map的绘制部分还依赖一个Pangolin。这几个库相对来说都比较好移植。 但是不知道为什么,使用Pangolin后在Mac上跑起来总是出现崩溃的问题。所以就没有使用Pangolin来绘制Map,而是自己随便绘制了一下Map的点,不过发现绘制出来稍微和现实有些差距(如下图线的地方可以看到特征点位置不准确的有些偏上,应该是画的时候哪里错误了 待调查)。 在Mac上总体上速度还是很快的(没有对代码进行任何优化,参数也没调整)。 接下来直接在iOS上测试了一下。iOS出现了严重的数据加载非常慢的问题。iPhone 5C 大约需要3,4分钟才能把词典文件载入。这个肯定是不行的。主要原因一个是词典太大未压缩的txt文件145M,另一点在于词典文件的读入方式效率太低。修改为二进制的方式读入(参考自一个fork)后,可以大大加快词典文件载入效率,在iPhone 5C上从3,4分钟提高到8秒左右可以加载完毕。 iPhone 5C的加载视频: |