经典文献阅读之--CVTNet(LiDAR数据地点识别的跨视图Transformer网络)

0. 简介

我们知道激光雷达作为自动驾驶中最为精准的传感器,它可以在绝大多数场景下提供较为精准的定位信息,同时也有很多工作用激光做重定位工作。而《 CVTNet: A Cross-View Transformer Network for Place Recognition Using LiDAR Data》 这个工作就是基于激光雷达的地点识别(LPR)来完成在没有GPS的环境中识别以前行驶过的地点。现有的LPR方法大多采用单一的输入点云表示,没有考虑不同的投影试图,这可能无法充分利用激光雷达传感器的信息。本文提出了一种基于跨视图的Transformer网络,称为CVTNet,用于融合激光雷达数据生成的距离像视图(RIVs)和鸟瞰视图(BEVs)。它使用Intra-Transformer提取视图本身内部的相关性,使用Inter-Transformer提取两个不同视图之间的相关性。在此基础上,本文提出的CVTNet为每个激光帧端到端在线生成一个偏航角不变的全局描述子,并通过当前查询帧与预先构建的数据库之间的描述子匹配来检索以行驶过的位置。相关代码已经在Github上开源了。

经典文献阅读之--CVTNet(LiDAR数据地点识别的跨视图Transformer网络)_第1张图片

图1:RIV和BEV之间的对应关系导致了我们提出的CVTNet使用的对齐特征句子。

1. 主要贡献

文中提出了三个观点,证明该方法能够取得良好的效果

  1. 利用多视角 LiDAR 数据在室外大规模环境中实现最先进的位置识别和环路闭合检测;
  2. 基于提出的偏航角不变架构,能够在不同视角下很好地识别位置;
  3. 实现在线操作,运行时间少于50毫秒,比典型的 LiDAR 帧率更快。所有的观点都得到了我们在多个数据集上的实验评估的支持。

我们提出的方法概述如图2所示。CVTNet由三个模块组成,即多视角多层生成器(MMG)、对齐特征编码器(AFE)和多视角融合模块(MVF)。MMG首先按范围和高度间隔分割区域,分别进行球形和自上而下的投影来生成多层输入数据(参见第2节)。接下来的AFE将多层RIV和BEV作为输入,使用完全卷积编码器生成类似于句子的特征。然后,它应用内部变压器来提取每个视图的压缩特征之间的内部相关性(参见第3节)。最后,增强的特征体积被送入MVF模块。它首先使用内部变压器来融合来自不同视角的对齐特征,然后在单视图和融合特征上应用NetVLAD和多层感知器(MLPs)来生成最终的1-D全局描述符(参见第4节)。最终描述符对偏航角旋转不变(参见第5节)。我们使用三元组损失和重叠标签训练我们的网络,以更好地区分正负例子(参见第6节)。

经典文献阅读之--CVTNet(LiDAR数据地点识别的跨视图Transformer网络)_第2张图片

图2:我们提出的CVTNet的管道概述。它首先为两个分离的分支生成多层RIV和BEV图像,并分别使用OverlapNetLeg和内部变压器模块组合编码对齐的类似句子的特征。然后,利用内部变压器模块提取跨视图的内部相关性。最后,分别在三个分支上利用NetVLAD和MLP生成偏航角不变的全局描述符,以便快速检索地点识别。

2. 多视角多层生成器 (重点内容)

从不同的扫描中提取有区别的特征对于LPR方法非常重要。现有的方法使用单个球形或自上而下的投影来获取RIV或BEV会导致数据丢失,从而降低检索性能。为了充分利用LiDAR数据中的所有信息,同时保持快速速度,我们提出使用不同范围/高度的多个投影,并基于空间分割形成多层输入。通过这样做,我们提出的网络学习以不同的范围/高度加权信息,从而提取更具代表性的特征。具体而言,我们提出了多视角多层生成器。对于球坐标系中的RIV,它首先通过预设的范围间隔 { s 0 , s 1 , s 2 , s 3 , … , s q } \{s_0,s_1,s_2,s_3,…,s_q\} {s0s1s2s3sq}离散化区域,得到分裂空间 E r = { E 1 r , E 2 r , E 3 r , … , E q r } E^r = \{E^r_1,E^r_2,E^r_3,…,E^r_q\} Er={E1rE2rE3rEqr}。然后,它将不同范围间隔内的激光点应用于球形投影,生成多层范围图像。同样,对于欧几里得坐标中的BEV,它通过高度间隔 { t 0 , t 1 , t 2 , t 3 , … , t q } \{t_0,t_1,t_2,t_3,…,t_q\} {t0t1t2t3tq}离散空间,得到 E b = { E 1 b , E 2 b , E 3 b , … , E q b } E^b = \{E^b_1,E^b_2,E^b_3,…,E^b_q\} Eb={E1bE2bE3bEqb},并为所有间隔生成多层BEV图像。

一个LiDAR点 p k ∈ P p_k∈P pkP p k = ( x k , y k , z k ) p_k=(x_k,y_k,z_k) pk=(xkykzk)与相应的RIV R i R_i Ri中的像素坐标 ( u k r , v k r ) (u^r_k,v^r_k) (ukrvkr)之间的对应关系可以表示为:

在这里插入图片描述

其中 r k = ∣ ∣ p k ∣ ∣ 2 ∈ [ s i − 1 , s i ] r_k = ||p_k||_2∈[s_{i−1}, s_i] rk=∣∣pk2[si1,si]是相应点的测距, f = f u p + f d o w n f = f_{up} + f_{down} f=fup+fdown是传感器的垂直视场, w w w h h h是生成的范围图像的宽度和高度。 我们通过自上而下的投影将相同的LiDAR点投影到BEV上。同一LiDAR点 p k ∈ P p_k∈P pkP与相应BEV图像 B j B_j Bj中的像素坐标 ( u k b , v k b ) (u^b_k,v^b_k) (ukbvkb)之间的对应关系可以表示为:

在这里插入图片描述

其中 r k ′ = ∣ ∣ ( x k , y k ) ∣ ∣ 2 ∈ [ t j − 1 , t j ] r'_k = ||(x_k,y_k)||_2∈[t_{j−1},t_j] rk=∣∣(xkyk)2[tj1tj] f ′ f' f是最大感知范围。 **在这项工作中,我们让RIV和BEV图像具有相同的宽度和高度,以便更好地对齐,从而导致 u k r = u k b u^r_k = u^b_k ukr=ukb。 这导致RIV和BEV图像具有相同索引的列都来自相同的空间扇区,如图1所示。最后,MMG生成多层RIVs R = { R i } \mathbb{R} = \{R_i\} R={Ri}和多层BEVs B = { B j } \mathbb{B} = \{B_j\} B={Bj},**如图3所示。

经典文献阅读之--CVTNet(LiDAR数据地点识别的跨视图Transformer网络)_第3张图片

图3:RIVs(左)和BEVs(右)的多层生成。

4. 对齐特征编码器(重点内容)

为了更好地融合LiDAR数据的不同表示,我们的CVTNet利用对齐特征编码器提取每个表示的粗略特征并将它们对齐以便于后续融合。它首先沿着通道维度连接所有RIVs R \mathbb{R} R和BEVs B \mathbb{B} B,得到大小为 q × h × w q×h×w q×h×w R R R B B B。然后,它应用两个具有相同架构的OverlapNetLeg[1],[3]模块将输入压缩成类似句子的特征。OverlapNetLeg是一个完全卷积编码器,仅在垂直维度上压缩RIVs和BEVs而不改变宽度维度,以避免对偏航等变性的离散化误差。然后,每个分支的输出粗略特征通过内部变换器进行增强。我们将增强后的特征表示为 A 0 r = A F E r ( R ) A^r_0 = AFE_r(R) A0r=AFEr(R)表示RIV分支, A 0 b = A F E b ( B ) A^b_0 = AFE_b(B) A0b=AFEb(B)表示BEV分支,两者都具有 c × 1 × w c×1×w c×1×w的大小,其中 c c c是特征通道数。正如我们以前的工作[3]所证明的,RIV分支的特征具有偏航角等变性:

…详情请参照古月居

你可能感兴趣的:(深度学习,transformer,网络,深度学习)