日益感觉到自己对深度学习的理解比较肤浅,这段且当做是以前的认识。

上上周去围观了泡泡机器人和AR酱联合举办的论坛。在圆桌阶段,章国峰老师提了一个问题:SLAM会被深度学习方法取代吗?这是一个很有趣的话题。参会的各位大咖基本认为SLAM的某些模块有可能会被深度学习的方法取代,但SLAM本身不会被取代。视+的CEO则认为SLAM整体上会被深度学习取代。

我的观点更倾向于前者。略有不同之处是,我认为整个前端(或者说是VO)有可能会被深度学习方法取代,而后端则不会。

前端的理由有两点:

  • 前端是一个适合深度学习处理的问题。其输入一般是连续图像(或者其它传感器数据),输出是一个六自由度信息。前端有标准的数学模型,并且不算复杂,可以用神经网络来表述。
  • 深度学习方法有可能能够解决目前算法的局限性。不管是特征点法还是直接法,前端仍处于low level feature的阶段,而low level feature不能满足实际应用中对鲁棒性、场景可扩展性的需求。而深度学习方法的优势正是研究人员不必再费心于low level design。目前也已经出现用深度学习做stereo feature matching的工作,也有用神经网络做计算视觉几何的工作,将来也许可以实现端到端的输入输出。

目前我还有两个没想清楚的问题

  • 现有VO算法中的Consistency问题,不知道深度学习方法能否隐式地解决。
  • 多模态的数据融合是不是可以比现在做的更好(和上面一条也有一定关系)。

至于后端,目前基于图的表示已经可以准确地表述和高效地求解BA问题。在SLAM实时性要求比较高的情况下,深度学习未必能做得更好(毕竟它也是用迭代算法求解的)。而对于离线数据,SFM已经可以做得很好了。机器学习方法如果能重新表述data association问题,高效求解并取得更好的结果,才会有可能取代目前的算法。