A-A+

实时SLAM的未来

2016年12月12日 robotics 暂无评论 阅读 1,751 次
感谢清华大学王波老师授权ExBot转载  原文链接

ptam_screenshot

先来说说这个题目,The Future of Real-Time SLAM是International Conference of Computer Vision (ICCV) 2015年的一个workshop。尽管这次ICCV中Deep Learning占据主导,但是SLAM仍然占据了一部分的内容,毕竟SLAM还是当今比较热的机器人和VR方向中十分重要的技术,这篇blog主要是总结这个workshop的内容(部分参考了Tombone Blog的内容)和对SLAM的一些看法,同时也有一些关于SLAM Lib或者OpenSource的说明,此文太长,慎入~~~~Part1. Why SLAM MattersSLAM算法能够同时获得3D maps和camera的位置信息,这个camera可以是手持的、头戴的(VR、AR)或者挂载在机器人上,可以说SLAM是ConvNets和Deep learning的补充,SLAM关注几何问题,Deep learning主要关注感知识别问题。两者最直接的结合方式就是机器人用SLAM来导航、Deep learning来识别周围环境,在VR上也可以用同样的方式进行结合。

Basics of SfM/SLAM For details, see openMVG website.

SLAM是实时版本的SfM(Structure from Motion),而Visual SLAM or vision-based SLAM是采用视觉的SLAM技术。SfM和SLAM解决类似的问题,但是SfM多为离线形式,通过大量的图片构建出3D模型和确定相机姿态,这些图片的收集大都是离线的,并且重建往往花费的时间较长。

以下是几个常用的SfM相关的lib:

几个主流的vSLAM开源算法:

数据集:

Part2. The Future of Real-time SLAM

这次ICCV的workshop首先由Andrew Davison 介绍了基于视觉SLAM技术近15年的发展史,说到这里必须要提一下这位帝国理工的大神,在2003年他第一个提出了如何用单摄像头(monocular)完成SLAM系统,此后完成了大量SLAM开拓性工作,有兴趣的同学可以自行Google一下。

Related: Davison's 15-years of vision-based SLAM slides

15 Years of Visual SLAM

最后,大神对SLAM算法在应用中的功耗、实时性等限制进行了展望----“I believe that the long-term way forward is to bring sensors, algorithms and processors together.”

接下来说说这次workshop剩余的7个talk,内容实在太多,篇幅可能会有些长。

Talk 1: Christian Kerl on Continuous Trajectories in SLAM

第一个Talk是由TUM的Christian Kerl完成的,针对的问题是现在大部分SLAM算法在估计位置时是时间离散的点,比如关键帧或者每一帧(33.33ms@30fps),他提出了采用dense跟踪方法估计连续时间的轨迹。通过dense,ditect image alignment的方式,采用continuous B-splines 和optimize the trajectory获得连续的相机轨迹,同时直接构建Rolling shutter的RGBD COMS相机的模型。其实,这个talk主要还是针对卷帘快门CMOS对成像造成的影响进行分析处理,降低对应的果冻效应。
这里补充一下:Rolling shutter(卷帘快门),通过sensor逐行曝光方式实现,CMOS就是采用卷帘快门工作方式;与之对应的是Global shutter(全局快门),所有像素点同时收集光线,同时曝光,CCS就是全局快门工作方式。如果被拍摄物体相对于相机高速运动时,用Global shutter方式拍摄,假如曝光时间过长,照片会产生像糊现象。而用Rolling shutter方式拍摄,逐行扫描速度不够,拍摄结果就可能出现“倾斜”、“摇摆不定”或“部分曝光”等任一种情况。这种Rolling shutter方式拍摄出现的现象,就定义为果冻效应。

VR题外话:现在vSLAM算法帧率大都在30~50fps左右,这个速度在行走较慢的机器人领域(飞行器除外)是可以满足应用需求的。但在VR领域,20ms的最低延时则至少要求50fps以上的帧率,为了能够得到更好的体验延时越低越好,对应的帧率则越高越好。于是这个话题也就有了应用的场景,高帧率Rolling shutter方式的CMOS相机是必须解决的问题。

Related: Kerl's Dense continous-time tracking and mapping slides.
Related: Dense Continuous-Time Tracking and Mapping with Rolling Shutter RGB-D Cameras (C. Kerl, J. Stueckler, D. Cremers), In IEEE International Conference on Computer Vision (ICCV), 2015. [pdf]

Talk 2: Semi-Dense Direct SLAM by Jakob Engel

LSD-SLAM是 Large-Scale Direct Monocular SLAM的缩写,Jakob Engel 在ECCV 2014上提出的,这个算法和以往feature-based方式最大的不同就是采用了image-to-image alignment直接跟踪方式。之所以叫做semi-dense是因为它比传统特征点稠密,但是没有Kinect-style RGBD SLAM那样完全稠密,它只在图像边界进行深度估计。

Related:LSD-SLAM Open-Source Code on githubLSD-SLAM project webpage
Related: LSD-SLAM: Large-Scale Direct Monocular SLAM (J. Engel, T. Schöps, D. Cremers), In European Conference on Computer Vision (ECCV), 2014. [pdf] [youtube video]

LSD-SLAM可以扩展到Omni LSD-SLAM,这是我看到全景SLAM中做的最好的。这个扩展方案在IROS2015上提出,可以使用超过180度FOV的相机,这样就解决了普通相机(窄FOV)无法适用于快速旋转的问题。

VR题外话:如果在VR头显位置跟踪中,采用大FOV的inside-out SLAM方案可以获得更多的周围环境信息,得到更可靠稳定地位置信息,尤其是可以得到更好的姿态信息。

Related: Large-Scale Direct SLAM for Omnidirectional Cameras (D. Caruso, J. Engel, D. Cremers), In International Conference on Intelligent Robots and Systems (IROS), 2015. [pdf] [youtube video]

LSD-SLAM还可以扩展成Stereo LSD-SLAM,这样就可以获得绝对尺度信息和瞬时初始化,但是对旋转没有明显改善。这种双目的最显著应用就是车辆和无人机,其中Stereo LSD-SLAM在KITTI vehicle-SLAM dataset上有这不错的结果,无人机可以参考 Engel's quadrotor youtube video from 2012。

VR题外话:在VR移动头显的位置跟踪中,很多创业公司都采用了inside-out的双目SLAM技术(RGB或者红外),这种方式相对单目来说可以直接得到深度信息和绝对尺度、初始化过程迅速,同时功耗也比较好控制。

Related: Large-Scale Direct SLAM with Stereo Cameras (J. Engel, J. Stueckler, D. Cremers), In International Conference on Intelligent Robots and Systems (IROS), 2015. [pdf] [youtube video]

其实之前的文章讨论过feature-based vs direct-methods,这里给出Engel相对中肯的比较结果。基于特征的方法虽然需要检测特征点,但只对特征点进行对比和重建,因此速度更快;同时算法更灵活;而直接方法对整个图像进行对比重建,更容易进行初始化。

Related: Engel's Semi-Dense Direct SLAM presentation slides

Talk 3: Sattler on The challenges of Large-Scale Localization and Mapping

Torsten Sattler 对大尺度定位的挑战进行了讲解。他的工作是一种“离线建图+在线定位”的思路,就是已经构建好了一个大尺度的地图(比如街道、街区级别),然后用一个移动相机获取图像来判定现在所处的位置和姿态的6DOF。这其中的挑战主要来自于“Memory consumption”和“Distinguish correct vs. wrong localisations”。

Memory consumption是因为在使用传统特征点方法时描述的存储空间会越来越大,尤其是在大尺度情况下,解决方案就是采用 visual vocabularies(Bags of words)。说到visual vocabularies,在SLAM中还可以用于闭环回路检测,其基本的想法就是使用视觉字典将一副图像转换成离散数字向量,用于管理图像的数据集,视觉字典通过将视觉单词用向量描述空间存储,在离线状态下构建而成,可以用于图像匹配等。至于如何压缩地图,建议还是看原文吧,给出几篇参考文章。

S. Lynen, T. Sattler, M. Bosse, J. Hesch, M. Pollefeys, R. Siegwart, Get Out of My Lab: Large-scale, Real-Time Visual-Inertial Localization. RSS 2015

Cao S, Snavely N. Minimal scene descriptions from structure from motion models[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2014

Li Y, Snavely N, Huttenlocher D P. Location recognition using prioritized feature matching[M]//Computer Vision–ECCV 2010. Springer Berlin Heidelberg, 2010

另一个挑战是“Distinguish correct vs. wrong localisations”,其实内层循环获得的相机姿态估计并不是十分准确,这样定位得到的位置就会出现偏差。

Related: Scalable 6-DOF Localization on Mobile Devices. Sven Middelberg, Torsten Sattler, Ole Untzelmann, Leif Kobbelt. In ECCV 2014. [pdf]

Related: Torsten Sattler 's The challenges of large-scale localisation and mapping slides

Talk 4: Mur-Artal on Should we still do sparse-feature based SLAM?

这个talk是ORB-SLAM的作者Raúl Mur-Artal(2016年初刚刚推出了ORB-SLAM2),虽然ORB-SLAM相比PTAM来说从结构上并没有特别大的颠覆性的改进,但是其性能实在是给力,在TUM RGB-D Benchmark上基本上吊打PTAM、LSD-SLAM和RGBD-SLAM,而且还是开源形式,我也在Ubuntu上试了一下,效果还是不错的。所以这个Talk的内容基本上就是作者介绍ORB-SLAM,具体内容我之前发过博文,这里贴几张PPT充个数吧。

题外话:ORB-SLAM2已经可以脱离ROS环境了,这就为移植工作提供了便利基础,通过移植现在已经可以在windows平台上顺利运行了。这个版本可以用于VR的位置跟踪,目前正在进行这方面的实验,当然前提是周围环境有特征点。

Related: Mur-Artal's Should we still do sparse-feature based SLAM? slides
Related: Monocular ORB-SLAM R. Mur-Artal, J. M. M. Montiel and J. D. Tardos. A versatile and Accurate Monocular SLAM System. IEEE Transactions on Robotics. 2015 [pdf]

Talk 5: Simon Lynen Google Project Tango: SLAM and dense mapping for end-users

Google's Project Tango是业界最早的SLAM商业产品,并且现在要把SLAM放进了手机系统(可以参考2016CES)。由于ICCV没有提供这个talk的PPT,这里只能参考Tombone Blog的内容。

这个Talk的内容是Visual loop-closure for image-2-image constraints,是来源于“Placeless Place Recognition” 的工作。

Loop Closure inside a Project Tango? Lynen et al's Placeless Place Recognition. The image-to-image matrix reveals a new way to look for loop-closure. See the algorithm in action in this youtube video.

Related: Placeless Place Recognition. Lynen, S. ; Bosse, M. ; Furgale, P. ; Siegwart, R. In 3DV 2014.

Related: Google I/O talk from May 29, 2015 about Tango

Talk 6: ElasticFusion is DenseSLAM without a pose-graph

ElasticFusion是采用RGBD相机的稠密点SLAM算法,该算法与传统算法最大的不同在于通过trick(map is deformable)不需要pose-graph。

Related: Map-centric SLAM with ElasticFusion presentation slides
Related:ElasticFusion: Dense SLAM Without A Pose Graph. Whelan, Thomas and Leutenegger, Stefan and Salas-Moreno, Renato F and Glocker, Ben and Davison, Andrew J. In RSS 2015.

Talk 7: Richard Newcombe on Dense SLAM in dynamic scenes

Richard Newcombe在大神Andrew Davision那里得到了博士学位,搞了比较著名的DTAM, KinectFusion, and DynamicFusion,并且和几个同学创办了surreal.vision(被Oculus收购),正在为VR奋斗。这个talk也没有PPT,只能参考他CVPR2015的文章了。顾名思义,这个talk讲的是动态环境下的SLAM,比如下面这张图,人和camera都在移动,有兴趣的话可以详见下面的文章。

Related: DynamicFusion: Reconstruction and Tracking of Non-rigid Scenes in Real-Time, Richard A. Newcombe, Dieter Fox, Steven M. Seitz. In CVPR 2015. [pdf] [Best-Paper winner]

Related:SLAM++: Simultaneous Localisation and Mapping at the Level of Objects Renato F. Salas-Moreno, Richard A. Newcombe, Hauke Strasdat, Paul H. J. Kelly and Andrew J. Davison (CVPR 2013)
Related:KinectFusion: Real-Time Dense Surface Mapping and Tracking Richard A. Newcombe Shahram Izadi,Otmar Hilliges, David Molyneaux, David Kim, Andrew J. Davison, Pushmeet Kohli, Jamie Shotton, Steve Hodges, Andrew Fitzgibbon (ISMAR 2011, Best paper award!)

Part3 . Deep Learning vs SLAM

如果想要更好的、更大范围的SLAM系统,其中一个必须的技术就是semantics。除了bags-of-visual-words,SLAM还需要更多的Deep Learning,用Deep learning去识别物体,理解周围环境。据说在这次workshop中,Newcombe还做出了“ Use SLAM to fuel Deep Learning”的演讲,具体的内容就不得而知了。

其实有一些SLAM技术开始和模式识别相结合,让SLAM更加智能化,比如SLAM++(2013),Monocular SLAM Supported Object Recognition(2015)

Concluding Remarks

简要的把这次ICCV的workshop总结了一下,感觉大部分都是SLAM的现实问题,大部分关注的还是机器人方面的应用,个人觉得AR/VR也是SLAM的一个重要应用领域。此外,将Deep learning和SLAM结合在一起,可以让机器更智能,让AR/VR更好的理解世界。

同时定位和地图构建(SLAM)


		
标签:

给我留言

Copyright © ExBot易科机器人实验室 保留所有权利.   Theme   Robin modified by poyoten

用户登录

分享到: