Paper Reading | VINet 深度神经网络架构

转自 MomentaAI 公众号

“Momenta,打造自动驾驶大脑”

高精度,低成本,亮哥带你,专注自动驾驶!

2017年3月10日,Momenta老司机带你读Paper,第三趟车已出发!你,跟得上吗?

Momenta Paper Reading 三期回顾 ——

VINet 深度神经网络架构

时间:2017年3月10日

地点:东升大厦A座4层

主讲人:陈亮

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

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

FlowNet 网络结构

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

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

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

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

VIO 的网络架构

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

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

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

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

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

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

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

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

如果你觉得,亮哥的亲笔还不能够满足你对知识的渴求,欢迎你扫描文末二维码,获取讲座PPT和讲座视频,继续深入学习!

Momenta Paper Reading,我们下期见!

原文发布于微信公众号 - CreateAMind(createamind)

原文发表时间:2017-05-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏新智元

【祖母论与还原论之争】为什么计算机人脸识别注定超越人类?

【新智元导读】 近日, Cell 的一项研究在人脸识别领域引起轰动,研究揭示了灵长类动物人脸识别的具体神经元活动过程——对脸部的识别是由大脑中 200 多个不同...

398110
来自专栏大数据文摘

案例:火场中消防员的姿态与动作识别

35660
来自专栏CVer

CVPR 2018 获奖名单:最佳论文和最佳学生论文共计5大奖项

CVPR 2018大会刚刚发布了最佳论文奖、学生最佳论文奖、最佳论文鼓励奖、十年检验奖和青年学者奖等共计5项大奖。

20160
来自专栏机器之心

深度 | Ian Goodfellow AIWTB开发者大会演讲:对抗样本与差分隐私

机器之心整理 演讲者:Ian Goodfellow 参与:吴攀、李亚洲 面向开发者的世界上最大的人工智能主题在线演讲与对话大会 AI WITH THE BEST...

46580
来自专栏人工智能LeadAI

最全常见算法工程师面试题目整理(二)

接着上回写的《最全常见算法工程师面试题目整理(一)》,继续填接下来的坑。 11boost算法的思路是什么样的?讲一下你对adaboost 和 gbdt的了解? ...

62460
来自专栏PPV课数据科学社区

【译文】统计建模的24种应用(上)

在这里,我们讨论统计模型的一般应用情况。不管他们是否源自数据科学,运筹学,工程学,机器学习或统计学,如决策树,logistic回归,贝叶斯模型,马尔可夫模型,数...

34240
来自专栏新智元

从神经科学到计算机视觉:人类与计算机视觉五十年回顾

【新智元导读】本文简单的介绍了神经网络近50年的发展历程,从1968年的Hubel和Wiesel开展的猫实验,一直到李飞飞教授等人的成果。从本质上讲解了人工神经...

34650
来自专栏CreateAMind

Depth Perception with cGAN cyclegan做视觉深度学习

http://cs231n.stanford.edu/reports/2017/pdfs/200.pdf

13520
来自专栏机器学习之旅

总结:常见算法工程师面试题目整理(二)

答: boost的核心思想不同于bagging,它在基于样本预测结果对照与真实值得差距,进行修正,再预测再修正,逐步靠近正确值。

11120
来自专栏PPV课数据科学社区

AI时代就业指南:机器学习工程师求职须知

什么是机器学习? 我们来看一下机器学习是做什么的,能解决什么问题。 首先我们来看机器学习的一个类型,监督学习。 蓝色箭头部分是训练一个机器学习模型的过程。首先有...

36370

扫码关注云+社区

领取腾讯云代金券