用于相机运动估计的几何关联网络

泡泡图灵智库,带你精读机器人顶级会议文章

标题: Geometric Correspondence Network for Camera Motion Estimation

作者:Jiexiong Tang,John Folkesson,and Patric Jensfelt

来源:IEEE ROBOTICS AND AUTOMATION LETTERS

编译:尹双双

审核:杨健博

欢迎个人转发朋友圈;其他机构或自媒体如需转载,后台留言申请授权

摘要

大家好,今天为大家带来的文章是——用于相机运动估计的几何关联网络,该文章发表于2018 IEEE。

本文提出一种新的学习策略来获取视觉里程计中用到的几何关联,一起训练一个卷积神经网络和一个递归神经网络,用来检测特征点的位置和在统一的结构里生成相关的描述子。利用源帧上的点经过一个刚体变换到参考帧来优化网络模型。整个训练过程关心的是相机的移动而不是影像上的移动,这样在匹配时有更好的一致性,最终得到更好的运动估计。实验结果显示本文方法的效果优于相关的深度学习和人工方法。另外,为了展示方法的前途,我们基于这些特征点实现了一个简单的SLAM,获得了和ORB-SLAM同等水平的表现。

主要贡献

本文的主要贡献是提出的几何对应网络(Geometric Correspondence Network,GCN)可以同时学习特征定位(用于运动估计)和描述(用于匹配),利用深度学习的方法完成相机的运动估计。

算法流程

图2 整个学习架构和不同颜色表示的GCN数据流。上半部分是以密集地方式进行特征提取的CNN,它包含一个针对多尺度特征表示的全卷积和一个用于细节优化的降卷积。下半部分是一个浅双向递归结构来预测两张影像上关键点的位置。注意,实际的网络结构比所绘的有更多的隐藏层。用来训练的目标函数是三元组损失和交叉熵,分别在(5)和(9)中定义。

利用一个深度CNN的输出反馈到一个浅递归网络来实现密集特征提取和关键点检测。为了解决第一张影像上的关键点在第二张上找不到,用已知的帧与帧的变换将第一张影像上的关键点投影到第二张影像上,然后当做真实的匹配对。这样我们为用刚体变换找匹配点的情况去优化网络。

1)密集特征提取

金字塔网络骨架:如图一所示,密集特征提取的网络分为卷积和降卷积两部分。卷积部分采用了ResNet-50,如图2所示,它能较好地平衡效果和复杂度。使用深度影像可以有稍微好一点的匹配准确度,但是得多用2倍的参数量。

深度度量学习:度量学习用来调整CNN作为一个密集特征提取器,它把输入的样本投影到一个l2距离为度量的特征空间,越相似的样本越靠近。度量学习来训练可以为最近邻匹配优化特征。

2)递归掩膜预测

递归结构:我们把关键点检测当作一个以密集特征作为输入的双向分类问题。为了在两张输入影像上同时预测关键点的位置,我们想网络能够利用临时的信息和空间信息,所以采用一个浅双向递归卷积网络(RCNN)。提出的RCNN可以公式化为:

公式(8)表明了递归结构中的数据流,通过用一个双向结构,可通过最大化在正负两个时间序列的连贯性来直接优化RCNN的预测。

掩膜分类:关键点的分类目的就是为每个像素建立一个0或1的掩膜,用来表示它是一个关键点或不是。

图3 在TUM数据集上用GCN得到的关键点预测示例。

掩膜是通过给在第一张影像上的关键点一个值1和把它们投影变换到下一张影像得到。然后在每个像素上计算一个加权的交叉熵:

3)多任务训练

用于多任务训练的最后损失是公式(5)的三元组损失和公式(9)交叉熵的结合,它们的权重相同。自适应梯度下降法,ADAM被用来优化结合的损失函数。

4)实现

训练和测试设置:为了正确验证泛化能力,我们在TUM基准测试中使用不同类别的序列进行训练。

为了生成训练数据,我们利用Harris算法得到高梯度的点。为了保证关键点分布在整张影像上且高纹理区域获取更多的关键点,我们运行两次算法。首先在整张影像上,然后在分成一个4x4的网格子影像上。由于自然噪声,在使用地面真值轨迹投影关键点后,图像平面会存在偏差,所以放宽KNN匹配标准来避免训练中的分歧。对于负样本,只有坐标距离对应目标超过5个像素的最难的样本被采用。

SLAM系统:GCN找到几何对应后,用一个简易的,基于关键帧的制图系统用来与最前沿的SLAM系统比较。这个预集成的系统包括基本的BA,位姿优化和用于闭环检测的词典。关键帧的位姿在跟踪中不断优化:

开发环境:测试平台具有一个GTX 1080显卡和i7-4790的CPU。整个训练用Pytorch深度学习框架实现。BA和位姿优化算法采用g2o和有GPU加速KNN算法版的OpenCV库。

主要结果

使用TUM RGB-D和KITTI Raw基准评估我们框架的有效性:

图4 使用KITTI Raw路面场景对比不同结构,我们使用序列[1,2,5,9]进行训练,[11,13]进行测试。

显示在左侧垂直轴上的条形图表示的是总体匹配精度,绿点表示的是参数数量,显示在右侧垂直轴上。

1.无闭环运动估计的评估

2.闭环系统评估

Abstract

In this paper, we propose a new learning scheme forgenerating geometric correspondences to be used for visual odometry. A convolutional neural network (CNN) combined with a recurrent neural network (RNN) are trained together to detect thelocation of keypoints as well as to generate corresponding descriptors in one unified structure. The network is optimized by warpingpoints from source frame to reference frame, with a rigid bodytransform. Essentially, learning from warping. The overall training is focused on movements of the camera rather than movementswithin the image, which leads to better consistency in the matching and ultimately better motion estimation.Experimental resultsshow that the proposed method achieves better results than bothrelated deep learning and hand crafted methods. Furthermore, as ademonstration of the promise of our method we use a naive SLAM implementation based on these keypoints and get a performanceon par with ORB-SLAM.

如果你对本文感兴趣,想要下载完整文章进行阅读,可以关注【泡泡机器人SLAM】公众号

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180920A082MP00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券