专栏名称: 泡泡机器人SLAM
SLAM的最新资讯,干货内容。
目录
相关文章推荐
FM1007福建交通广播  ·  宇树科技携两款机器人亮相2025GDC ·  昨天  
FM1007福建交通广播  ·  宇树科技携两款机器人亮相2025GDC ·  昨天  
51好读  ›  专栏  ›  泡泡机器人SLAM

【泡泡机器人原创专栏】ORB_SLAM开发攻略(一): iOS及MacOSX下的ORB-SLAM移植

泡泡机器人SLAM  · 公众号  · 机器人  · 2017-03-18 06:38

正文

我们会连续给大家放出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的加载视频:




初次移植的版本效果不太好的地方:

  • 加载时间虽然提高到8秒左右,但还是稍长。

  • 运行效率太低。计划先调整一下参数,初步调整到能较好的实时运行。

  • 特征点不足时候,初始化会失败。这里体验不是很好。




针对这些问题后期做了一些改进。


  • 加载词典时间目前还没有改善(目前iPhone5C 8秒),这里重新制作小一点的词典应该是可以缩短加载时间的的,不过效果上可能会受到一些影响。毕竟作者提供的词典文件是经过大量测试和验证的。

  • 运行效率通过减少配置文件的特征点数(减到了500),FPS上升到了10左右,大约8-9比较多。但是这个帧率还是太低了,目前还没有想到好的优化方法。估计在CPU更加强大的手机上面应该会好些。目前效率的瓶颈首先在于ORB特征的提取。要占整体时间的大部分。提取的越多效果越好(初始化也越容易),但占用的时间会越长。ORB提取这么多点的用时是符合常理的,而且考虑到整体包括BoW都是基于ORB方案的,所以不太可能换成其他特征。所以只能考虑在保证质量的同时尝试减少提取的数量。

  • 目前特征点不足时候,初始化会失败。失败后目前需要退出程序后,重新打开程序。


下为截图,可以看到在中间一大片区域没有明显特征点的情况下,Pose依然非常稳定。



从使用的体验上来说,移动摄像头的时候需要循序渐进。不能动作太大,不然会直接丢失目标。再加上帧率本身就相对低,所以在手机上整体体验的确不是很好(不过类似iPhone6/6S之类的手机CPU应该帧率会有提升)。但是slam效果非常好,Pose比较稳定和准确,重新定位时候也很容易,这一点对比PTAM还是有很大提升的。PTAM的重定位用的是基于缩略图,而ORBSLAM用特征BoW匹配可以更容易丢失后恢复。


最后附上完整视频地址(录屏时帧率稍低):



增加Mac版本对比(Mac版本非常流畅,2000点也完全没有卡顿)






补充:两个视频中,3D模型都出现在瓶子的上方。这个版本并没有任何markerless识别的功能。完全是orbslam的默认行为,即坐标系总是基于第一个关键帧创建,由于开始建立坐标系时第一个拍摄的就是瓶子,所以坐标系会恰好建立在那里,然后人物就会恰好出现到上方。接下来会考虑加入markerlessAR识别,这样物体的位置才能确定,而不是出现在初始化地图的关键帧位置。


如何获取ORB-SLAM的iOS及MacOSX的移植版本开源代码?

长按下图,识别图中二维码,关注“泡泡机器人SLAM”(ID:paopaorobot_slam)公众号,回复 "开源" 获取 ORB-SLAM的iOS及MacOSX的移植版本开源代码







请到「今天看啥」查看全文


推荐文章
FM1007福建交通广播  ·  宇树科技携两款机器人亮相2025GDC
昨天
FM1007福建交通广播  ·  宇树科技携两款机器人亮相2025GDC
昨天
大叔爱吐槽  ·  霸气组图:老子才不在乎!
7 年前
巨蟹座专属  ·  疯狂!这三大星座千万不能惹
7 年前
枕边阅读  ·  亲热时叫错名字是什么体验
7 年前