点击上方“计算机视觉life”,选择“星标”
快速获得最新干货
作为无人驾驶和智能机器人的基础,SLAM近来获得了广泛关注。但是,传统SLAM算法的非几何模块受到数据关联(data association tasks)的限制,成为了阻碍SLAM发展的瓶颈。为了解决此类问题,许多人们开始使用深度学习。但是,这些研究大多限于虚拟数据集或特定环境,甚至为了准确性而牺牲效率。因此,它们不够实用。
我们提出了DF-SLAM系统,该系统使用由神经网络获得的深层局部特征描述子来替代传统的手工特征。实验结果证明了其在效率和稳定性的提升。DF-SLAM在各种场景(包括照明变化强烈的场景)中均胜过主流的传统SLAM系统。它的多功能和移植性可以很好地适用于新环境。由于我们采用浅层网络(shallow network)来提取局部描述子,其他的部分与原始的SLAM系统相同,因此我们的DF-SLAM仍可以在GPU上实时运行。
研究背景:
相关工作:深度学习已证明其在SLAM系统中的优势
使用深度学习替换传统SLAM系统中的某些非几何模块[22,21,49,26,12]。这些方法通过仅修改经典pipeline的一部分(例如立体匹配,重定位等)来增强整个SLAM系统。
使用深度学习获得的高级特征作为SLAM的补充[37,35,1,6,15]。这些高级特征更能推断内容-对象的语义特征,从而提高视觉场景的理解能力。
端到端的学习模型[51,16]。这些方法在特定情况下优于传统的SLAM算法,并体现了深度学习在SLAM中的潜力。
这三种工作的缺点:
将传统的SLAM系统作为其基础框架[49、26、12、9],然后进行了大量的修改以支持深度学习。
这种工作的缺点:太多的变动可能会导致SLAM pipeline某些有用功能的丧失,使人们难以与现有研究进行比较,更不用说将这些技术迁移到其他SLAM系统了。结果,基于DL的SLAM不够成熟,无法超越传统的SLAM系统。
本文核心思想:我们努力提出一种简单、轻便和高效的SLAM系统。我们的基本思想是通过深度学习提高局部特征描述子的鲁棒性,以确保帧之间数据关联的准确性。
本文贡献:在本文中,我们提出了一种新的方法,用学习到的局部特征描述子代替传统的手工描述子。我们的方法在可移植性和便利性方面具有优势,因为深层特征描述子可以直接替代传统描述子。这种替代对于所有SLAM系统、甚至其他几何计算机视觉任务(例如SFM,相机标定等)都高度适用。在实际的SLAM系统中,学习到的局部特征描述子可以保证比手工描述子更好的性能[30],并实现惊人的精度提高。由于我们采用浅层神经网络来获取局部特征描述子,因此不会在GPU上花费很多时间,并且系统几乎可以实时运行。
DF-SLAM系统采用传统主流SLAM的pipeline,使用学习到的局部特征描述子,替代ORB、SIFT之类的手工特征。系统包括三个部分:跟踪(Tracking)、建图(LocalMapping)、闭环检测(Loop Closing)。只要在跟踪之前捕获并添加了新的一帧,就会从中提取局部特征描述子。
系统框架图如下:
本文使用TFeat Network提取图片中的特征点(128维),其中的训练策略换成了HardNet的困难负例挖掘(hard negative mining)。特征提取无需先进行高斯模糊(Gaussian Blur ),直接输入原始图片的patches。
TFeat Network的结构如下:
本文还是用了在ORB-SLAM中也使用过的基于DBoW的方法,从特征描述子中提取出视觉词汇(Visual Vocabulary),以tree的方式存储。通过为每一帧配备一个词向量和特征向量,可以快速计算两帧的相似程度。
译者注:DBoW是一个词袋(bag of word)的c++库
EuRoC数据集:ORB-SLAM2与DF-SLAM在有/无闭环检测的对比结果,使用的是均方根误差(RMSE,root-mean-square error)。没有闭环检测是想进一步验证系统的稳定性和准确度
TUM数据集:ORB-SLAM2与DF-SLAM的对比结果。“Tracked”是整个10次测试中没有跟丢的次数。
实时性:i5-4590、GTX TITAN X、pytorch c++、CUDA
HPatch数据集:将本文的特征点与ORB、SIFT进行对比。本文的特征根据有/无使用hard negative mining可以分为TFeat和HardTFeat,而HardTFeat_HD是在原始HPatch数据集上训练的,HardTFeat_HF则是用了基于FAST的HPatch训练得到的
我们提出了DF-SLAM,该系统在传统的SLAM中结合了学习到的特征。DF-SLAM充分利用了深度学习和几何信息的优势,并在众多实验中证明了效率和稳定性的显着提高。即使在充满挑战的场景中,也可以稳定、准确地工作。深层特征的使用带来了更好的数据关联,并且是可以进一步研究。出色的结果证明了即使用小型深度学习模型来增强SLAM系统也能带来令人兴奋的结果。
未来工作:
从0到1学习SLAM,戳↓
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~
投稿、合作也欢迎联系:simiter@126.com
扫描关注视频号,看最新技术落地及开源方案视频秀 ↓