DeepVO: Towards End-to-End Visual Odometry with Deep Recurrent Convolutional Neural Networks
(基于RCNN的端到端VO)
——ICRA 2017
- 基本认识
- 输入:连续RGB图像(视频)
输出:位姿 - 用RCNN的优势:(就这么点事,明明摘要就已经说清楚了,文中还是重复了n遍...)
CNN:学习图像中的特征;
RNN:学习动态连续图像间的关系。 - 具体流程:
输入图像
-> 预处理(减去平均RGB值,可选resize成64*64,将连续两帧stack成一个tensor)
-> CNN
-> RNN
-> 输出位姿 - Architecture Overview
- 技术要点
-
CNN
这两幅图说得很清楚了:
-
RNN(具体是LSTM)
图和公式很清楚:(只是图中有的地方少了点字符,很容易看出来) 其中i是输入门,f是忘记门,o是输出门
-
损失函数与优化
输入连续图像X,输出位姿序列为Y的条件概率: 优化就是求使得这个条件概率最大的网络参数θ: 就是最小化求得的positions和orientations与ground truth之间的欧氏距离,其中k是平衡position和orientation的量纲的参数:
- 实验说明
- 数据集
用的是KITTI,其中序列00-10是有ground truth的,11-21没有。所以:
训练用:00,02,08,09
验证用:03,04,05,06,07,10 - 对比标准:
作为效果对比的是VISO2_M和VISO2_S - 训练条件:
框架:Theano
硬件:NVIDIA Tesla K40 GPU
Optimizer:Adagrad
Learning rate:0.001
防止过拟合:dropout、early stopping techniques
CNN:pre-trained FlowNet model
- 实验结果:
-
内部关于过拟合的对比:
所以training和validation都有一定偏移算是适当,否则validation偏太多就说明在training set上过拟合了:
把training和validation的loss曲线相近定义为适当。
-
与ground truth、VISO2_M、VISO2_S的对比:
这样看起来还不错的样子。对于后面的说明我就没看了。
- 感受
- 我是比较欣赏使用这个RCNN结构的,看到这篇之前也想到过类似想法
- 由于数据集的限制,训练和验证都在KITTI数据集上,本身同一个数据集就比较相近,泛化性待验证
- 对比只与VISO2_M和VISO2_S进行效果对比,少一些说服性
- 扫了一眼后面,没看到各方面的对比和性能说明
网友评论