深度学习与SLAM:2D3D-MatchNet 阅读笔记

2D3D-MatchNet: Learning to Match Keypoints Across 2D Image and 3D Point Cloud

这篇文章发表在今年的ICRA上,主要提出了一个3D点云到2D图像的匹配网络,从而完成了数据关联的任务,有了3D到2D的匹配之后,就可以做pnp估计位姿。

Introduction

Previous

  • it is hard to ensure the quality of the 3D point cloud
  • increases the memory consumption
  • lack of absolute scale

传统的方法3D点都是由二维像素点恢复出来的,单目用三角化,rgbd的话就可以直接恢复。这主要有几个问题,1是很难保证通过三角化得到的三维点云的精度,2是三维点携带了二维的描述特征,3是缺少绝对尺度;

Others

  • lack of a descriptor that allows direct matching of the keypoints

其他用雷达直接获取3位点云,精度高,有尺度,但是没有与2D像素点直接进行匹配的描述子,就是缺少有效的数据关联方法;

This paper

  • propose a deep learning approach to learn the descriptors
  • use of Lidars to build more accurate 3D reference map

这篇文章就是提出了3D2D的匹配网络,这个网络可以训练描述子,并进行匹配。

Approach

方法主要就是网络的结构:首先是对二维图像提取SIFT关键点,然后取关键点周围的patch作为图像的输入;同时对三维点云提取ISS关键点,取周围的voxel作为点云的输入,size的话与网络输入大小匹配,后面会提到。

训练图像描述子的网络使用的是VGG网络(适应小size的输入)的前4个卷积层,最后接了全连接层输出指定大小;最后的输出就是图像patch对应的描述子;训练点云描述子的网络使PointNet,这两个网络共享权重,输出的是对应点云的描述子,与图像输出的描述子维度一样。

Loss函数:分别计算F+、F-网络与G网络输出描述子的欧拉距离;如果第一个结果远小于第二个,就认为是好的匹配对;具体的loss公式是

最后在inference阶段,通过网络分别得到图像与点云的描述子,然后计算欧拉距离,如果小于一定的阈值,就认为匹配成功。

Dataset

最后论文讲了数据集的制作。

车上搭载了雷达、双目摄像头;里程计的话用的是校准的精确的里程计;然后60m的间隔分割得到子图;对每个子图用雷达恢复3D点云,第一个laser frame作为参考frame,然后将子图投影到每个位姿对应的camera图像,如果投影误差在3个像素内,并且每个ISS点对应至少3幅图像,则认为找到了匹配对(一下子找到好几个匹配对)

找到一个匹配对之后做下面的处理:ISS关键点周围4m以内的点都去掉,图像点周围32个像素以内的SIFT关键点都去掉

总结

这篇文章的话,我感觉主要就是利用深度学习完成slam数据关联的部分,在这方面还有其他很多的工作,也算是一个深度学习与slam结合的点吧。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值