DH3D Deep Hierarchical 3D Descriptors for Robust Large-Scale 6DoF Relocalization

DH3D: Deep Hierarchical 3D Descriptors for Robust Large-Scale 6DoF Relocalization

Abstract

设计了一种可以从原始点云中提取3维局部特征和描述符的网络。集成了FlexConv和Squeeze-and-Excitation (SE) 使得学习到的局部描述符获取多层次的几何信息和通道关系。通过有效的注意力机制直接聚合局部描述符来生成全局描述符;通过这种方法,局部和全局的描述符可以在一个forward中生成.

Introduction

常用方法:global place recognition+local 6DOF pose refinement;2D图像与3D模型匹配,有了深度网络后精度和鲁棒性有了提升。

本文:提出用语大规模点云重定位的分层深度网络。估计局部特征分辨力的置信图并用无监督学习选择适合匹配的特征点;局部聚合形成全局特征。

image-20201027110116188

贡献:1.首次提出基于点云的全局位置识别和6DOF位姿估计相结合的方法;在一个前向的过程中就可以提取局部特征和全局特征,比以前的方法速度快;

2.使用Flex Convolution(FlexConv)和Squeeze-and-Excitation(SE)块分别将多级空间上下文信息和基于通道的特征相关性融合到局部描述符中,使得特征匹配的性能变好,也提高了全局特征的性能;

3.提出一种无监督显式学习3D特征点检测器方式

4.在点云检索达到SOTA

5.在Lidar上训练,但是在视觉SLAM生成的点云上效果也很好

Related Work

手工制作的局部描述符

学习的局部描述符

3D特征点检测器

手工制作的全局描述符

学习的全局描述符

Hierarchical 3D Descriptors Learning

3D Local Feature Encoder and Detector

已有:(1)detect-then-describe ,其检测器是直接从输入点学习的注意力图。在推理期间,仅针对注意力图定义的关键点提取描述符,通常只利用输入数据的low-level structures,不能利用描述符编码中的高级信息。(2)特征描述是基于PointNet的,其对称函数倾向于仅提供局部集群的有限结构信息。

本文:describe-and-detect,用来推迟我们的检测阶段,以便在学习的描述符中使用更高级别的信息。使用Flex Convolution(FlexConv)和Squeeze-and-Excitation(SE)块分别将多级空间上下文信息和基于通道的特征相关性融合到局部描述符中。

image-20201027160758872

FlexConv(利用空间上下文信息):考虑3d周围k个点 N k ( p l ) = { p l 1 , ⋅ ⋅ ⋅ , p l k } N_k(p_l) =\{p_{l_1},· · · ,p_{l_k}\} Nk(pl)={pl1,,plk},将k+1个点当做图来处理image-20201027154437616,顶点image-20201027154703165,边image-20201027154721344。图上的运算就可以用 f Θ ( p l , p l k ) f_Θ(p_l,p_{l_k}) fΘ(pl,plk)表示,PointNet和可以看作是 f Θ ( p l , p l k ) = f Θ ( p l ) f_Θ(p_l,p_{l_k})=f_Θ(p_l) fΘ(pl,plk)=fΘ(pl)没有关注周围像素点,FlexConv是传统卷积推广,定义如下:

image-20201027152310709

h ( p l i ) ∈ R C h(p_{l_i})\in R^C h(pli)RC将一个点投影到高位特征空间的编码函数;卷积核 ω : R 3 × R 3 − > R C \omega:R^3\times R^3->R^C ω:R3×R3>RC.

SE block(将Flex输出的不同通道进行关联):输入 U = { u 1 , … … , u c } ∈ R N × C U=\{u_1,……,u_c\}\in R^{N\times C} U={u1,,uc}RN×C u c ∈ R N u_c\in R^N ucRN表FlexConv第c个通道的输出。

(1) z = f s q ( U ) : R N × C − > R C z=f_{sq}(U):R^{N\times C}->R^C z=fsq(U):RN×C>RC :压缩通道,全局平均池化,聚合空间信息;

(2) s = f e x ( z ) : R C − > R C s=f_{ex}(z):R^C->R^C s=fex(z):RC>RC:FC+ReLU+FC,捕获通道依赖关系和通道间的非线性关系

(3)SE Block学到的通道激活(感觉类似于权重)用于重新校准FlexConv的输出。

image-20201028153649534

image-20201027181614837

Encoder architecture:输入:点云 P = { p 1 , . . . , p N } ∈ R N × 3 P=\{p_1,...,p_N\}\in R^{N\times 3} P={p1,...,pN}RN×3,从两个空间分辨率中提取结构信息(两个分支)。将两种分辨率的输出相加,融合多层次的上下文信息,生成局部特征图 Ψ \Psi Ψ 。L2归一化后得到局部描述符 L d e s L_{des} Ldes P i ∈ P   且   P j ∈ P ′ 时   M ( i , j ) = 1 P_i\in P\ 且\ P_j\in P'时\ M(i,j)=1 PiP  PjP M(i,j)=1 。损失函数定义如下,

image-20201027190349417

◦ ◦ 表示按元素相乘, ∣ ∣   ∣ ∣ F ||\ ||_F  F表示范数, η \eta η 表示平衡匹配与非匹配的超参; μ \mu μ表示非对应点对之间期望距离的下界;分母是为了归一化。

3D local feature detection:从局部特征图 Ψ \Psi Ψ生成关键点显著性图 S ∈ R N × 1 S\in R^{N\times 1} SRN×1;好处:不会被底层的一些噪音干扰,做到describe-and-detect,而不是detect-then-describe,仅需一步。损失定义:

image-20201027200904022

image-20201028153118353

η \eta η用于评估学到的检测器, s i ∈ [ 0 , 1 ] s_i\in [0,1] si[0,1]指第i个关键点,j是 Ψ ′ \Psi' Ψ上的最近邻

因为最近邻太过严格,所以改为k近邻,只要有一个匹配 c i j = 1 c_{ij}=1 cij=1,k超参

image-20201027204729331

image-20201027204643080

Global Descriptor Learning

image-20201028140909813

创新:没有直接把Netvlad层接在cnn后,接在局部特征图后以利用局部特征信息。

用NetVlad前添加两个FlexConv层,将局部特征投影到更高维度,注意力预测器输出每个点的注意力图(类似于每个点的权重?),最后用Netvlad输出一个全局特征。

Attention map prediction

image-20201027211534551

Experiments

在Oxford RobotCar的点云中评估

image-20201027211815217

image-20201027212536578

在VSLAM生成的点云中评估(DSO)

image-20201028130606317

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值