快捷搜索:  汽车  科技

深度学习DL的显著特点(深度学习遇到SLAM如何评价基于深度学习的DeepVO)

深度学习DL的显著特点(深度学习遇到SLAM如何评价基于深度学习的DeepVO)Flownet 是目前用DL来做光流问题的state of art。与一般的深度卷积神经网络相比,Flownet有两点不同:首先它的输入是相邻帧的两张图像,其次它通过对来自于不同图像的feature map 做相关性操作来学习两帧图像之间的运动差异。FlowNet 网络结构以下是对相关回答的整理。高精度的车道级导航和定位是自动驾驶汽车的核心技术。常规的高精度定位手段,如差分GPS和惯性导航设备在一些GPS信号不佳的场合(如立交桥,隧道)误差较大。其次,这类设备的价格往往较高,并不适用于商用的无人驾驶汽车方案。相比而言,一些基于语义地图的匹配定位方案相对廉价,但是考虑到视觉语义感知的误差和语义地图中语义要素的稀疏性,此类方案并不能达到任意场景下的定位。作为语义地图匹配定位方案的补充,视觉惯性里程计(Visual Inertial Odometry)是一种融合图像视觉和廉价惯性数据的组合定位方

关注人工智能前沿讲习,重磅干货,第一时间送达

基于深度学习的SLAM方法:DeepVO,VINet,ViDLoc,分别对应如下文章:

1.DeepVO: A Deep Learning approach for Monocular Visual Odometry

2.VINet : Visual-inertial odometry as a sequence-to-sequence learning problem

3.VidLoc:6-DoF video-clip relocalization

以下是对相关回答的整理。

Momenta

高精度的车道级导航和定位是自动驾驶汽车的核心技术。常规的高精度定位手段,如差分GPS和惯性导航设备在一些GPS信号不佳的场合(如立交桥,隧道)误差较大。其次,这类设备的价格往往较高,并不适用于商用的无人驾驶汽车方案。相比而言,一些基于语义地图的匹配定位方案相对廉价,但是考虑到视觉语义感知的误差和语义地图中语义要素的稀疏性,此类方案并不能达到任意场景下的定位。作为语义地图匹配定位方案的补充,视觉惯性里程计(Visual Inertial Odometry)是一种融合图像视觉和廉价惯性数据的组合定位方法。它通过摄像头和惯性器件的廉价结合,既可以有效抑制惯性器件的漂移,又可以克服视觉里程计(Visual Odometry)中的尺度、相对运动和低帧率等问题,是实现低成本高精度定位的有效手段。

传统VIO的框架一般可分为三个过程,基于图像序列的光流估计、基于惯性数据的积分操作以及基于滤波和优化的运动融合。从文献披露的情况来看,深度学习在这三个子领域均已涉及。首先来说说光流估计的问题。光流是运动物体在像素空间中瞬时速度的体现,它需要结合相邻帧之间像素的对应关系。

深度学习DL的显著特点(深度学习遇到SLAM如何评价基于深度学习的DeepVO)(1)

FlowNet 网络结构

Flownet 是目前用DL来做光流问题的state of art。与一般的深度卷积神经网络相比,Flownet有两点不同:首先它的输入是相邻帧的两张图像,其次它通过对来自于不同图像的feature map 做相关性操作来学习两帧图像之间的运动差异。

接着,来谈谈IMU时序数据的问题。众所周知,RNN和LSTM是DL领域数据驱动的时序建模大法。而IMU输出的高帧率角速度、加速度等惯性数据,在时序上有着严格的依赖关系,特别适合RNN这类的模型。

深度学习DL的显著特点(深度学习遇到SLAM如何评价基于深度学习的DeepVO)(2)

VINet中的IMU时序数据处理模块

因此,我们可以很自然的想到利用FlowNet和RNN来做结合,处理VIO的问题。

深度学习DL的显著特点(深度学习遇到SLAM如何评价基于深度学习的DeepVO)(3)

VIO 的网络架构

VINet正是基于这样的动机所设计,它的整个网络可以分为三部分。其中,CNN部分通过一个FlowNet来得到相邻帧间图像间的光流运动特征(1024维)。接着,使用一个常规的小型LSTM网络来处理IMU的原始数据,得到IMU数据下的运动特征。最后,对视觉运动特征和IMU运动特征做一个结合,送入一个核心的LSTM网络进行特征融合和位姿估计。

深度学习DL的显著特点(深度学习遇到SLAM如何评价基于深度学习的DeepVO)(4)

VINet中处理不同帧率输入数据的机制

值得一提的是,VIO问题中IMU数据的帧率与图像的帧率往往并不匹配,例如KITTI 数据中IMU的帧率是100Hz,图像数据的帧率是10Hz,这就要求神经网络能够对不同帧率的输入数据进行处理。在VINet中,小型的LSTM网络能够以较快的频率处理高帧率的IMU数据,而参数量较多的核心LSTM则和CNN一起以图像的帧率工作。利用LSTM对输入数据的不定长特性,完成了不同速率下的视觉和惯性数据的特征学习和融合。

有了融合的特征,那么问题来了,如何在神经网络中建模位姿呢?

深度学习DL的显著特点(深度学习遇到SLAM如何评价基于深度学习的DeepVO)(5)

在机器人和计算机视觉中,位置姿态除了表达3D旋转与位移之外,我们还要对它们进行估计,为了做这件事,需要对变换矩阵进行插值、求导、迭代等操作,我们希望有更好的数学工具帮助我们做这些事,而李群与李代数理论正好提供了这样的工具。通常,我们用特殊欧式群SE(3)来表示相机的位姿。然而SE(3)中的旋转矩阵必须要求正交,这种特性在进行参数学习的过程中很难保证。为了解耦这种正交性,数学中可以用李代数 se(3) 来表示这种变换。数学上可以证明,李代数se(3)表达的正切空间和原来的SE(3)群相比,具有相同的自由度,更重要的是,通过简单的指数映射,我们可以很方便把se(3)中的变换向量映射回欧式空间中的变换矩阵。有了这种建模手段,我们至少可以得到如下两种损失函数。

深度学习DL的显著特点(深度学习遇到SLAM如何评价基于深度学习的DeepVO)(6)

深度学习DL的显著特点(深度学习遇到SLAM如何评价基于深度学习的DeepVO)(7)

一种是建立在SE(3)群上位姿约束(Full pose),另一种是建立在se(3)空间中的相对运动(Frame-to-frame)约束。实验结果表明,这两种损失函数在一起联合约束的时候,VINet所能达到的效果是最佳的。

深度学习DL的显著特点(深度学习遇到SLAM如何评价基于深度学习的DeepVO)(8)

在传统的VIO应用中,只要涉及到摄像头和惯性器件的数据融合,就无法避开两种传感器的联合标定。传感器之间的标定可分为时间和空间两个维度,在时间维度上称之为数据帧同步,在空间维度上称之为外参标定。传统VIO往往需要标定的效果近乎完美,否则算法很难正常工作。而VINet上的实验结果表明,当传感器的标定参数发生误差的时候,基于深度学习的VIO方法较常规方法而言,体现出了一定的鲁棒性。对于VINet这样的数据驱动的模型,往往有较大的潜力去学习来自于数据中的规律,因此对于标定误差这样的数据扰动,模型对其具有较强的建模和拟合能力,这也是数据驱动模型的最大魅力。

深度学习DL的显著特点(深度学习遇到SLAM如何评价基于深度学习的DeepVO)(9)

综合以上,我们介绍了VINet,它是一种端到端可训练的深度神经网络架构,用来尝试解决机器人领域视觉惯性里程计的问题。这种网络使用FlowNet来建模视觉运动特征,用LSTM来建模IMU的运动特征,最后通过李群李代数中的SE(3)流行来建模位姿,用帧间堆叠的LSTM网络来预测位姿。在真实的无人驾驶和无人机数据集上,VINet获得了与state of art 方法具有可比性的结果。同时,VINet在面对时间不同步和外参标定不准确的多视觉惯导数据时,表现出了一定的优势。就整体而言,VINet是首次使用DL的框架来解决VIO问题,目前所披露的实验表现出了一定的实用价值,值得我们后续的继续关注。

华山论剑

毕业论文:基于深度学习的相机相对姿态估计,可在知网下载

pytorch-deepvo github地址:

linjian93 (JiAnge) · GitHub

2018-03-18更新

前段时间一直忙着毕业论文以及找工作,囧。我的毕业论文就是研究的DeepVO,已经答辩过了,我实现的结果是:

1、CNN-VO(采用卷积神经网络)

比现有基于CNN的方法好,比单目VISO2好,但是不及双目VISO2

2、 CNN-LSTM-VO(采用循环卷积神经网络)

方法实现上和DeepVO2017类似,不过细节有差别。比CNN-VO好那么一点吧,然而不及双目VISO2。我的这两种方法都只利用KITTI VO左目图片,和DeepVO2017论文中的效果相比都差那么一些。还有待进一步研究… 评论中也提到无监督的参考文献,这里补充几篇,对DeepVO很有参考价值~

【1】Zhou Tinghui et al. "Unsupervised learning of depth and ego-motion from video." arXiv preprint arXiv:1704.07813 (2017). (https://arxiv.org/pdf/1704.07813) (加入几何约束,同时估计深度)

【2】Li R Wang S Long Z et al. UnDeepVO: Monocular Visual Odometry through Unsupervised Deep Learning[J]. arXiv preprint arXiv:1709.06841 2017.(https://arxiv.org/pdf/1709.06841) (双目无监督)

VINet1、VidLoc2应该属于绝对姿态估计,其中VINet结合了IMU的信息,利用CNN网络和两个LSTM网络达到姿态估计的目的。而VidLoc应该是个加强版的PoseNet,引入LSTM对连续帧进行绝对姿态估计,这两篇文章好像出自于同一个实验室。绝对姿态估计有个问题就是必须在相同场景中训练和测试,并没有解决领域迁移问题。

ICRA2017上他们还有一篇文章DeepVO[3],解决相对姿态估计问题,我尝试复现过这篇文章的方法,但是效果一直不好。因为相邻两帧的相对姿态非常小,很多情况下转角可能只有0.0几度,要用深度学习方法去回归感觉很不科学。希望有共同研究方向的人能复现下。

另外一篇DeepVO[4]是2016年印度理工发表的一篇文章,这篇文章只采用CNN来回归相对姿态,我复现过,效果跟论文作者的实验结果一致(在没见过的场景下效果很差~~)。

magic leap也发表过相关的文章。再往前几年还有一些类似的研究,不过效果都不是很好,或者只是换了个评价角度来说明深度学习方法的优势。这里就不贴其他大量的参考文献了。

[1] Clark Ronald et al. "VINet: Visual-Inertial Odometry as a Sequence-to-Sequence Learning Problem." AAAI. 2017. (http://www.cs.ox.ac.uk/files/9028/CS-RR-17-05.pdf) [2] Clark Ronald et al. "VidLoc: 6-doF video-clip relocalization." arXiv preprint arXiv:1702.06521 (2017). (https://arxiv.org/pdf/1702.06521.pdf) [3] Wang Sen et al. "Deepvo: Towards end-to-end visual odometry with deep recurrent convolutional neural networks." Robotics and Automation (ICRA) 2017 IEEE International Conference on. IEEE 2017. (http://ieeexplore.ieee.org/abstract/document/7989236/) [4] Mohanty Vikram et al. "Deepvo: A deep learning approach for monocular visual odometry." arXiv preprint arXiv:1611.06069 (2016). (https://arxiv.org/pdf/1611.06069.pdf)

点击下方图片,了解课程详情

深度学习DL的显著特点(深度学习遇到SLAM如何评价基于深度学习的DeepVO)(10)

人脸分析

猜您喜欢: