论文阅读《Scan Context++: Structural Place Recognition Robust to Rotation and Lateral Variations in Urban Environments》

2021-09-29

SCAN-CONTEXT, 上T-RO了……, 牛。

《Scan Context++: Structural Place Recognition Robust to Rotation and Lateral Variations in Urban Environments》(TRO 2021 )

Motivation

出发点是为了完善之前的SCAN-context,在之前SCAN-Context的旋转不变性的基础上,提出了新的描述子,使得对于旋转平移都具有不变性(当row-yaw轴运动不是很剧烈的时候), 并且还提升了速度(替换了之前的暴力搜索)

Contribution

  1. 对平移和旋转变换更加鲁棒。在城市环境中,车道变更是不可避免的,所以保持平移不变性是非常有必要的。本文中通过城市道路假设实现了一定程度上的平移变换鲁棒性。
  2. 提出了半度量定位,将位置提取和度量定位相结合,文中提出的全局定位方法弥补了拓扑定位和度量定位的不同,并且提出的方法不仅可以提供检索到的位置的地图索引,还可以提供1个自由度的位姿初值方便度量优化。
  3. 轻量性和模块化特性。这个方法不需要任何先验知识或者几何约束。并且代码作为头文件形式存在,很容易嵌入到现有的SLAM框架(这个确实是的,这个团队已经把很多激光算法和SC结合开源)。
  4. 实时性。通过引入紧凑的总结性的子描述符,大幅降低了计算成本,最终每帧只需要7.4ms(100hz+).
  5. 丰富的实验。除了现有的召回率和精确率指标以外,提出了DR(distribution-recall)指标来评价回环的环境适应性。

Content

  1. 准备工作之不变性探究

    目前的绝大多数的基于激光的回环定位方法没法在大规模的复杂环境应用,因为他们只是一味的改造描述子,从来没有深究过如何定义和克服环境的复杂度,所以作者做了一个对比表来分析什么因素会对不变性产生影响,并且对于这些不变性进行了分类。

    • 内部因子: 由机器人本身决定的,比如说旋转平移尺度(R,TSP)。
    • 外部因子:类似于光度不变性,由环境决定的,比如说光照天气,以及长时间的建筑物的建造或者短时间的动态物体的遮挡。
    • 传感器特性因子: 特指激光这类传感器,激光点云是非结构化的,并且不同的激光雷达,感知信息是有巨大差距的,因此一个通用的定位系统需要对不同的激光雷达具有不变性。

论文48图片1

论文48图片2

  1. 概览

    大致分成位置描述和位置识别两个部分,位置识别包含位置检索,半度量定位以及验证。整体流程如下图。

论文48图片3

  1. SCD(scan context 描述子)

    这个地方和会议版的SCAN Context有所区别的是,提出了对齐轴(aligning axix/A轴)和检索轴(retrieval axis/R轴)的概念, A轴的改变表示代表列级别的变化,A轴的预对齐可以给出一个自由度的粗糙的相对位姿。 根据对于A轴/R轴选择的区别,可以将SCD分为极坐标系SCD(PC)和笛卡尔坐标系SCD(CC)。

    • 极坐标系(PC): 就是之前的会议工作,采用方位角 $\theta$ 作为A轴,半径R作为R轴。因为A轴是方位角,所以PC对于旋转变化鲁棒。
    • 笛卡尔坐标系(CC):使用横向y轴作为A轴,使用纵向x轴作为R轴,因次对于横向的y轴变化鲁棒。

论文48图片4

  1. Bin编码函数

    这个需要注意的点就是编码函数需要对于来自机器人内部的不变性因子鲁棒并且对于不同的传感器特性鲁棒。任何遵守这个规则的编码函数都可以应用,比如说会议论文提出的高度编码,以及后续其他作者提出的强度编码。

  2. SCD的相似度评分

论文48图片5

如上图,来自同一个场景的SCD应该包含一致的内容(可能会有列平移的情况),分数根据余弦距离来定义:

\[d\left(\mathbf{f}_{Q}, \mathbf{f}_{M}\right)=\frac{1}{N_{\mathrm{A}}} \sum_{j=1}^{N_{\mathrm{A}}}\left(1-\frac{c_{Q}^{j} \cdot c_{M}^{j}}{\left\|c_{Q}^{j}\right\|\left\|c_{M}^{j}\right\|}\right)\\ \begin{aligned} D\left(\mathbf{f}_{Q}, \mathbf{f}_{M}\right) &=\min _{n \in\left[N_{\mathrm{A}}\right]} d\left(\mathbf{f}_{Q, n}, \mathbf{f}_{M}\right) \\ n^{*} &=\underset{n \in\left[N_{\mathrm{A}}\right]}{\operatorname{argmin}} d\left(\mathbf{f}_{Q, n}, \mathbf{f}_{M}\right) \end{aligned}\]
  1. 子描述符

    如果采用逐列对比取最低的方法来避免列平移的情况的话,时间成本很高。为了减少运行时间,引入两个子描述符,从原始的二维的SCD描述符,通过总结在行/列方向的描述符提取一维向量。每一个子描述符在位置识别和半度量定位都起着主要作用。

    A. 检索键: 第一个引入的子描述符是检索键,这个向量的维度等于SCD行的数量,引入一个映射函数将每一行都映射成只有一列的实数,并且需要在每一行满足permutation invariant的条件。因为检索键满足这个条件,所以检索键必定对于旋转和平移都是鲁棒的,在实验过程中,作者应用了L1范式。在会议论文中应用的是L0范式。

    B. 对齐键: 它的维度等于列的数量,也采用L1范式映射行。

  2. 三阶段的位置识别

    位置识别分成三个部分: 一是使用检索键进行位置检索,二是通过使用对齐键预对齐来执行半度量定位,三是SCD对:

    A. 使用检索键进行位置检索

    将地图里的所有的检索键构建一个KD树用来查找最近的检索键,比较有意思的是,在实验中,作者发现进行最近(k=1)搜索是性能最好的。

    B. 使用对齐键进行半度量定位

    一般而言,找到候选者后,会执行ICP等度量定位来获取相对位姿,这类方法有个问题在于ICP很容易就陷入局部最小值并且需要一个比较好的初值。SCD通过预对齐操作来获取一部分初值从而缓解这个问题。使用对齐键的预对齐操作可以定义为:

\[\hat{n}^{*}=\underset{n \in\left[N_{\text {inv }}\right]}{\operatorname{argmin}} d_{\mathbf{w}}\left(\mathbf{w}_{Q, n}, \mathbf{w}_{M}\right)\]

C. 基于全部SCD描述符的异常检测

排除候选者里潜在的错误值是比较重要的, 通过刚刚获得的列的初值,可以把搜索范围缩小到预对齐列的邻增强居列:

\[D\left(\mathbf{f}_{Q}, \mathbf{f}_{M}\right)=\min _{n \in \mathcal{N}\left(\hat{n}^{*}\right)} d\left(\mathbf{f}_{Q, n}, \mathbf{f}_{M}\right)\]

D. SCD描述子的增强

主要是为了同时获得平移不变性和旋转不变性,分别对PC和CC进行增强:

  • Augmented PC (A-PC): 目标是为了覆盖车道变化,PC通过假设虚拟侧向位移,综合复制PC, 为了解决车道变化的问题,假设认为两个侧向位移相差2m, 最终两个额外的APC通过这些虚拟的侧向位移进行生成。
  • Augmented CC (A-CC): 目标是为了覆盖逆转路径,CC的增强很简单,就是对于两个轴进行翻转。

论文48图片6

  1. 实验结果

    A. 小变化的重访问

论文48图片7

论文48图片8

B. 对于有明显旋转或者平移变化的重访问

论文48图片9

论文48图片10

C. 同时发生有明显的旋转和平移变化的重访问

论文48图片11

论文48图片12

论文48图片13

D. multi-session 场景

论文48图片14

论文48图片15

E. 度量定位评价

论文48图片16

F. 模块独立性(通过嵌入现有的SLAM算法评价)

论文48图片17

G. 计算复杂度

论文48图片18

论文48图片19

H. 描述子分辨率

论文48图片20

I. 不同的参数的指标

论文48图片21

J. 不同的描述子的表述的指标

论文48图片22

论文48图片23

K. 排除离群值参数的指标

论文48图片24

L. 对于高度和roll-pitch扰动的鲁棒性

论文48图片25

M. 和基于端到端的方法的对比

论文48图片26

N. 失败情况的出现

论文48图片27

Conclusion

这篇文章和会议版的Scan context的不同主要体现在: 一是对于不变性因子进行了分析,二是对于不同的不变性因子提出了不同的SC, 三是通过L2范式映射行向量(会议是L1范式),四是非常非常丰富的实验。