contour context论文翻译

这篇论文提出了一种名为“Contour Context”的简单、有效且高效的拓扑环路闭合检测流程,用于3D LiDAR环路检测和度量姿态估计,针对的是城市自动驾驶场景。我们将从3D LiDAR点投影到笛卡尔鸟瞰图(BEV)的图像解释为结构的分层分布。为了从BEV图像中恢复高度信息,我们在不同高度进行切片,每个层次上连接的像素将形成轮廓。每个轮廓都通过抽象信息进行参数化,例如像素计数、中心位置、协方差和平均高度。两个BEV图像的相似性通过顺序的离散和连续步骤来计算。第一步考虑由特定局部区域的轮廓形成的图状星座的几何共识。第二步将大多数轮廓建模为2.5D高斯混合模型(GMM),用于计算相关性并在连续空间中优化相对变换。设计了一个检索键以加速通过分层KD树索引的数据库的搜索。我们通过与公共数据集上的最新作品进行比较,验证了我们方法的有效性。

I. 引言
为了实现健壮和长期的自主性,感知中的一个基本任务是识别以前访问过的地方。这项任务在许多实际和关键的机器人应用中都有发现,例如,在预先构建的地图上唤醒、从定位失败中恢复以及同时定位和映射(SLAM)[1]。许多研究已经投入到基于视觉的环路检测[2],[3],但他们的方法经常因为照明、视点或季节变化而导致视觉特征变化。激光雷达(LiDAR)传感器通过准确捕获底层结构信息,更能抵抗外观变化[4]-[8],显示出全球定位的宝贵潜力。在自动驾驶中,当重新访问时,道路车辆的相对姿态通常在翻滚、俯仰和垂直方向上变化很小,因此,合理地假设汽车在重新定位时的姿态存在于2D中。这个假设鼓励了许多[4],[9]-[13]使用3D点云的鸟瞰图(BEV)投影进行环路检测。然而,如何有效地生成强调场景不变性的有效的地点描述符仍然是一个开放问题。基于极坐标投影的方法通常需要在寻找最佳对齐时移动描述符,这本质上是暴力搜索[4],[9],[12]。此外,它们对相对平移也很敏感。图像特征检测器和描述符依赖于小区域内强度(或其梯度变化)的不变性。而在3D LiDAR笛卡尔BEV中,由于LiDAR点的稀疏性和传感器运动,这可能是不稳定的。为了减轻这个问题,基于笛卡尔投影的方法通常遵循图像匹配流程,重点放在图像过滤和关键点提取和匹配[10],[13]。它们对资源要求很高,因为使用了一组过滤器,并且在相对姿态估计中涉及了太多的点。为了更好地在环路检测中使用BEV图像,我们提出了Contour Context(Cont2),一个简单、有效且高效的拓扑环路闭合检测流程,具有准确的3自由度度量姿态估计(MPE)。我们的关键见解是,BEV中表达的场景可以被建模为显著结构的概率分布。分布比点更稳定和可重复,因为它们通常是“平均”。这种新的解释利用了LiDAR BEVs独有的嵌入结构信息,这在以前的研究中很少触及。通过保持每个BEV像素中最高的点,我们保留了地图的高程。在不同高度切割BEV图像在每个层次上创建轮廓(即连接的像素),这些像素包含2D结构信息。我们将原始轮廓压缩成椭圆形和一些其他变量,这是环境组成部分的紧凑和统一的参数化。两个BEV图像的相似性通过顺序的离散和连续步骤来计算。第一步检查由多个轮廓在局部形成的图状星座的共识。第二步将场景建模为2.5D高斯混合模型(GMM),用于计算相关性并在连续空间中优化变换参数。一个检索键表征一些轮廓的邻近区域,允许快速检索有希望的候选项。我们的方法与不同数据集上的许多最新作品相比具有竞争力。我们在本文中报告的主要研究结果包括:

• 将3D LiDAR BEV图像解释为结构的分层分布的新方法。
• 使用离散星座共识验证和连续密度的L2优化的两步相似性检查。
• 有效且实时的拓扑环路闭合检测流程,具有准确的3自由度度量姿态估计。我们将发布我们的源代码供读者参考1。
1 https://www.github.com/lewisjiang/contour-context
arXiv:2302.06149v1 [cs.RO] 2023年2月13日

II. 相关工作
A. 基于一般全局描述符的方法
可以通过提取3D关键点并使用它们来描述场景来解决3D点云上的地点识别。在[7]中,直接在3D中提取关键点,并使用这些点的投票来确定环路候选项。PointNetVLAD[5]和LCDNet[14]使用基于DNN的点特征提取来提取特征。可以在没有显式特征点的情况下生成全局描述符。M2DP[15]使用不同平面上的点分布作为全局描述符。GLARE[16]将点对的相对方位角和距离映射到全局描述矩阵中。OverlapTransformer[17],它概括了OverlapNet[6],使用深度仅线索从范围图像中创建全局描述符。虽然通常每个扫描有一个全局描述符,但我们的方法从输入数据的一部分生成描述符,一个扫描可以有多个描述符。

B. 基于BEV的方法
许多方法采用极坐标BEV投影,假设重新访问时平移差异很小。ScanContext[4]将3D点的径向和方位坐标映射到矩阵行和列,并使用环特征进行检索。DiSCO[11]将极坐标BEV转换为频率域,使描述符偏航不变。LiDAR Iris[12]在极坐标BEV图像条上使用LoG-Gabor滤波器以增加表示能力。另一种类型的BEV投影使用2D中的笛卡尔坐标。ScanContext++[9]通过移动和顺序翻转增强矩阵描述符。其他方法主要使用图像匹配流程,尽管稳定的图像特征很难提取。在[18]中研究了使用图像特征检测器和描述符匹配2D LiDAR占用网格。SPI[13]在子图BEV上使用NetVLAD全局描述符和SuperPoint和SuperGlue进行特征匹配。BVMatch[10]在应用Log-Gabor滤波器到BEV图像后,使用FAST检测器提取特征。这些方法专注于在纯图像上寻找不变性,这是直观的,但忽略了3D LiDAR点云的特征。

C. 基于对象和图的方法
基于对象和段的方法近年来逐渐流行起来。SegMatch[1]从局部点云地图中提取段,并使用手工制作的分数来描述它们。SegMap[8],[19]通过使用数据驱动的描述符改进了SegMatch,并且在[20]中使用了有效的几何一致性验证。基于对象的方法与图密切相关。SGPR[21]使用实例图的语义分割和图相似性网络进行匹配。GOSMatch[22]仅使用3种语义类别和6种成对关系,并且它使用基于直方图的顶点和图描述符进行匹配。Seed[23]将点云分割成对象,并将极坐标BEV坐标放在主要对象之前的对象投影中。BoxGraph[24]使用对象的边界框作为图顶点,并量化顶点和边的成对相似性,以找到最优的图匹配。Locus[25]编码段的结构-外观特征及其在帧中的重复性。段和对象是环境的紧凑表示,但它们依赖于分割器或语义检测器,这可能由于现实世界中的领域差距而变得脆弱。此外,基于图的方法通常需要成对相似性检查[21],[24],如何有效检索尚不清楚。

III. BEV上的轮廓
在本节中,我们介绍了轮廓抽象(CA)的概念。我们的投影步骤受到ScanContext++[9]中Cart Context的启发,它使用笛卡尔坐标在2D中创建类似图像像素的箱,并记录每个箱中点的最大高度(图1)。为了节省空间,我们请读者参考[9]以获取详细定义。为了后续参考,像素p的符号为

p = [px, py, pz]⊤, pxy = [px, py]⊤ (1)

其中pxy是BEV坐标系中像素的2D坐标,pz是它的高度(即像素值)。在预设高度处切割BEV图像以提供垂直结构信息(图2a)。每个层次上的像素如果是8连通的,则形成一个轮廓,因此得名Contour Context。高度离散化为分层操作和孤立轮廓的描述铺平了道路。专注于统计量,我们用2D高斯分布和一些描述性变量来表示单个轮廓。这加剧了信息丢失,但它使我们能够用统一的参数化对各种形状的轮廓进行编码。我们定义一个原始轮廓为一组8连通的像素

,Al,s表示从BEV图像中切出的第s个原始轮廓。轮廓抽象Cl,s的完整参数化为

Cl,s = {na, hm, xc, xm, C, v1, v2, λ1, λ2}, (2)

其中

na = |Al,s|, hm = 1/na∑p∈Al,s pz,
xc = 1/na∑p∈Al,s pxy, xm = 1/na∑p∈Al,s pz · pxy,
C = (1/(na - 1))∑p∈Al,s (pxy - xc)(pxy - xc)⊤,

(3)

以及物理解释:na是像素数,hm是平均高度,xc是质心(CoM),
(a) (b) (c) (d) (e)
图2:(a)切割的BEV图像。 (b)每个层次的前10个CA。 (c) (d)两个不同锚点的CAC。 实线椭圆(黄色在(c)中,绿色在(d)中)和黑色边缘是锚点,其他是外围的。 (e)用作2.5D GMM组件的CA。

xm是高度加权的CoM,{vi, λi}是形状协方差C的特征向量-特征值对,其中λ1 ≥ λ2。大的CA从BEV图像中总结了数十个像素,这使它们在保持2D中轮廓的平均位置(即xc)方面非常可靠。为了区分每个层次中CA的重要性,我们按na的降序对它们进行排序,然后使用序列id s对它们进行索引。

IV. 环路检测器设计
A. 轮廓的星座
我们使用一种称为轮廓抽象星座(CAC)的类似图的结构进行部分BEV描述。它由一个锚点CA和各个层次上的几个附近的外围CA组成(图2c,2d)。我们使用三个连续的步骤来检查两个CAC的相似性,它们是从检索(第IV-C节,图3)中的候选项。1)锚点CA相似性:进行相似性检查的两个CA应该来自同一层次。如果选定的参数对不同意,我们拒绝CA对。我们定义了一个相似性检查函数SC,它对标量有二进制输出:

SCta,tp(x1, x2) =
   1, if |x1−x2| / max(x1,x2) < tp or |x1 − x2| < ta;
   0, otherwise.

其中x1和x2是检查中的两个变量,tp和ta分别是百分比和绝对差阈值。有五个标量通过测试(na, hm, ||xc − xm||2, λ1和λ2),每个都使用自己的tp和ta集合。2)星座结构相似性:这一步寻找尽可能多的外围CA质心对的共识的相对变换。在满足锚点CA对的相似性后,它们的质心被假设为相同,然后只剩下2D中的旋转需要找到。为了有效解决这个问题,我们将其分为两个较小的问题:

- 找到与锚点大致相同距离的CA,
- 找到大多数外围CA投票的旋转。

在第一个小步骤中,我们使用一个二进制向量b来记录外围CA的粗略距离和层次,这是一个零向量,其中一些位被设置为:

b(φ(d, l)) = 1 (5)

其中φ(d, l)将外围-锚点距离d和外围层次l映射到位。它在扫描预处理期间计算。使用两个二进制向量的按位AND,我们可以建立具有相似距离到锚点的潜在外围CA对(AND的结果)。候选列表是

Ldist = [{1 1C, 2 1C}, · · · , {1 iC, 2 i C}, · · · ] (6)

其中{1 iC, 2 i C}由1-st和2-nd CAC中的配对外围CA组成。对于第二个小步骤,我们根据ψ(1 iC) − ψ(2 i C)对Ldist进行排序,其中ψ(j iC)计算在它的CAC锚点处测量的外围CA的方位角。通常比较不同框架中的方位角是没有意义的,因为它们是在当地坐标中测量的。然而,如果两个外围CA是真正的匹配,取两个方位角之间的差值将揭示两个局部坐标之间的相对旋转加上一些恒定偏移。简而言之,投票相同旋转的CA对具有未知但接近的ψ(1 iC) − ψ(2 i C)。我们可以通过在Ldist上迭代一些角度窗口,在一次传递中找到最多投票的角度聚类。实际上,星座在CAC锚点框架中通过固定距离和旋转来固定。3)星座成对相似性:使用(4)中的相同相似性检查函数,我们进一步检查前一步中的配对外围CA。通过调整剩余CA对的对数阈值,我们可以调节进入下一阶段的正预测数量。

B. 基于GMM的分布建模
1) 直觉和公式化:从第IV-A.3节估计的变换可能不够准确甚至是错误的,因为由于成对CA相似性的要求,许多CA被浪费了。这通常是由不一致的离散化结果引起的。例如,在图4中,直观地说,左上角的两个CA的组合应该与右侧同一层次的单个CA非常相似。为了量化这个想法,我们进一步将相似性检查建模为2.5D分布到分布(D2D)相关性最大化问题。它扩大了吸引力区域,与那些具有确定性对应关系的人相比。我们首先定义从扫描的CA构建的3D GMM:

gmmC(x, y, z) = 1/Na ∑(l∈L, s) nl,s a δ(z − l)·N([x, y]⊤ | xl,s c , Cl,s) (7)

其中L是感兴趣的层次集合,δ(·)是狄拉克δ函数,N(x | µ, Σ)是以x为评估点的均值µ和协方差Σ的高斯概率密度函数,Na = ∑(l∈L, s) nl,s a。公式(7)中的定义是R3中的概率密度函数(即,对R3的积分正好是1)。图2e显示了混合分量(CA椭圆)的说明。在信息量较少的层次上排除了CA。混合分量按其像素面积加权,这是随机像素属于哪个混合的唯一线索。作为基于BEV的方法,我们的变换估计只包括x、y和偏航角。此外,第三维度层次与其他两个不可比。它与狄拉克δ一起添加,使得分层操作和连续空间中的优化可以精确定义。因此,我们称这种方法为基于2.5D的。2) 优化:为了测量两个GMM之间的相似性,我们采用L2距离,这是更一般的散度家族的特殊情况,对于高斯有封闭形式的表达式[26]。两个分布f和变换后的g之间的L2距离的一般形式写为:

dL2(f, g, θ) = ∫ (f − T(g, θ))2dx (8)
dL2(f, g, θ) = ∫ f2dx − 2 ∫ fT(g, θ)dx + ∫ g2dx (9)

其中T(·, θ)是以θ为参数的等距变换。由于T是等距的,积分区间是整个空间,∫ g2dx = ∫ T2(g, θ)dx。右侧的第一项和第三项可以在不了解θ的情况下计算。我们可以使用(9)中的相同变量项表示概率密度相关性cor(·, ·):

cor(f, h) = ∫ fhdx / ( ∫ f2dx ) ( ∫ h2dx ),其中h = T(g, θ) (10)

显然,最小化L2距离等同于最大化两个密度之间的相关性,而相关性是归一化的度量。最后,我们可以将变换参数和相关性优化问题表述为:

ˆθ = arg min θ ∫ −gmmC1(x) · T (gmmC2(x), θ) dx (11)

其中gmmC1(x)和gmmC2(x)是两个扫描的2.5D GMM,如(7)中定义,x是向量化的变量,θ是仅限于x、y和偏航角的变换参数。我们使用优化的相关性作为最终的相似性得分。备注1:我们使用Ceres[27]来解决(11)中的一般无约束最小化问题,并使用解析导数。3D NDT D2D配准中报告的类似最小化[28]没有取分母的导数,实际上不能最小化目标函数。备注2:在实践中,为了优化效率,我们忽略了相距太远的CA对。这将导致当前相关性值的永久低估。然而,权衡是

值得的,因为被剪枝项的贡献是微不足道的。

C. 检索设计
在实际应用中,我们更希望在进行全面相似性计算之前,根据一些紧凑的描述符预先选择一小部分有希望的候选项[5]。为此,我们提出了一个基于给定轮廓及其在BEV图像上的邻近区域特征的低维和偏航不变的检索键。如第IV-A节所述,相似的CAC具有相似的锚点CA。因此,应该在检索键中使用锚点CA的量化特征。在描述CA的变量(2)中,我们使用单元格计数(na)和轴长度信息(λ1,λ2)来创建区分键维度:

Kl,s anc = [naλl,s 1 , naλl,s 2 , ∑(i=1 to s) nl,s a]⊤ (12)

其中s是层次l中CA的序列id。前两项通常描述CA椭圆的形状。最后一项包括当前CA所在层次中所有先前单元格计数的总和,这表明当前CA在其层次中的相对重要性,并且可以惩罚在截然不同的邻域中的相似CA。其余键维度对BEV图像上以CA的xc为中心的兴趣区域(RoI)进行编码。为了获得偏航不变性,我们只使用像素距离xc的位置信息。与[4]不同,我们不从占用比率创建环键。相反,我们在RoI中使用欧几里得空间中的所有像素。这是因为归一化会降低远处BEV像素的重要性,因为更多的像素被压缩在距离环中。每个距离级别的绝对像素数具有更宽的范围,因此可以更好地区分不同的地方。当对RoI中的像素按距离段进行排序时,离散化误差可能会导致显著的扰动。类似于[16],我们将每个像素的距离建模为一维高斯分布,然后数值积分过距离段以获得平滑的描述值(图5)。段i的值定义为Kl,s roi(i)满足:

Kl,s roi(i) = ∫(di−1 to di) ∑(p∈SR) (Lev(pz) − lb)·N(x|∥pxy − xl,s c ∥2, σd) dx
SR ={p | ∥pxy − xl,s c ∥2 ≤ R, Lev(pz) > lb} (13)

其中di是分割距离时的第i个阈值,Lev(h)返回高度h所属的轮廓层次,lb是允许像素贡献到键的基层次,σd是有效BEV像素的分布宽度参数,R是RoI半径。段值的物理含义是RoI中投影的像素在基层次以上的层数之和。给定Cl,s的完整检索键是一个向量:

Kl,s = [w1Kl,s anc ⊤, Kl,s roi(1), · · · , Kl,s roi(n)]⊤ (14)

其中n是RoI中距离段的数量,w1是权重参数,因为检索键的两部分具有不同的物理含义。检索键仅针对选定层次中的顶级CA创建。查询键仅搜索其层次的KD树。由于低维键,我们的实验(第V-B.3节)在使用nanoflann[29]时保证了实时性。

V. 实验和结果
A. 评估标准的确定
我们简要回顾了三种主流协议,这些协议定义了真实环路状态(GT)并确定在给定预测时的真实或虚假:1)检查任何分配对的相似性。如果空间距离小于l1,则真实的环路状态为真;如果距离大于l2(l1 < l2),真实的状态为假。预测结果由变化的相似性阈值控制。由[21],[30],[31]使用。2)仅评估具有GT环路的姿态。从所有有效过去的姿态中检索前N名候选人。如果任何候选人是真正的邻居,则检索为真正例(TP),否则为假负例(FN)[5],[11]。3)从所有有效的过去姿态中找到最相似的候选人。当相似性超过阈值时,如果与候选人的空间距离小于l3,则报告TP,否则为假正例(FP)。当相似性低于阈值但存在l3内的有效过去姿态时,报告FN[14]。我们选择3),原因有两个。首先,我们的目标是全局定位,因此应该评估在所有有效的历史扫描中找到环路的能力。其次,该协议直接要求最佳可能的候选人,这减少了进一步后处理的工作量。相比之下,协议1)报告了分配的建议对的相似性,这不必要地过分强调了次优候选人。协议2)不能评估拒绝错误环路的能力(即,精确度),因为它们只测试GT环路,因此不能记录FP。在评估期间,我们设置l3 = 5米,并排除当前帧之前150帧的环路候选项。

B. 在公共数据集上的评估
我们在KITTI数据集[32]上进行评估。由于GT姿态问题[14],我们使用SemanticKITTI[33]的GT姿态。为了展示所提出方法的鲁棒性和多功能性,我们还对MulRan数据集[34]进行了测试。我们只使用与KITTI测试相比的两个不同的参数:BEV切片高度,平均高度差阈值。这些修改是由于MulRan的LiDAR在水平面以上有22.5°垂直FoV(KITTI为2°)。使用的参数可以在我们的代码库中找到。我们在KITTI 00、02、05和08(表格中的K0x)上进行测试,其中环路丰富,MulRan KAIST01和Riverside02(表格中的MK01和MR02)。选择了六种基线方法进行比较:M2DP[15]、SC[4]、IRIS[12]、SGPR[21]、OT[17]和LCDNet[14],最后三个是基于学习的(使用它们公共代码库中的预训练模型进行评估)。MulRan数据集没有语义标签,所以我们没有在它上面运行SGPR。为了展示泛化能力,LCDNet和OT在它们自己的论文[14]、[17]中直接使用预训练模型进行真实世界的测试/其他数据集的测试。所以我们在MulRan上做同样的事情。但我们注意到,如果重新训练,它们的表现可能会更好。

1) 精确度和召回率:按照惯例[4]、[6]、[16]、[35],使用精确度-召回率曲线(PR曲线)和最大F1分数来评估拓扑环路检测。F1分数“平均”精确度和召回率。我们在图6中报告了PR曲线,并在表I中报告了最大F1分数。根据结果,IRIS是最好的手工制作基线方法,但缺乏检索以供实际使用。LCDNet在KITTI上表现出色。值得注意的是,OT[17]与LCDNet[14]相比,在MulRan数据集上泛化得相当好,尽管两者都使用了预训练模型。我们的PR曲线在MR02上表现不佳,因为它主要包含树木和河岸沿线的开放区域,当被建模为分布时,信息丢失严重。尽管如此,我们有最佳的最大F1分数。

2) 度量姿态估计:见表II。

3) 计算复杂性:不同方法的资源消耗不直接可比,因为它取决于实现。所以我们只列出我们的时间消耗数据供参考。原型是用C++编写的,并在配备16GB RAM的Intel Core i7-9750H@2.60GHz笔记本电脑CPU上进行评估。我们自己编写的代码中没有使用多线程。我们运行每个序列3次,然后取平均值。关于影响复杂性的细节,我们在3个层次上索引检索键,每个层次有6个锚点CA。外围CA是每个层次上的前10个CA,共4个层次。每个10-D键每次查询检索50个候选项。KD树每100个扫描更新一次,每次更新一个层次。我们将整体效率归因于基本操作的简单性。

C. 讨论
1) 重新思考评估标准:在现实世界的部署中,没有办法使用单个扫描来区分TP和FP。

图7:在最大F1分数下FP预测的度量误差分布。在所有六个序列中,192个FP预测中有52个(27%)的平移和旋转误差小于1.0米和1.0度(左下角黑色矩形)。

VI. 结论
在本文中,我们提出了一种针对城市自动驾驶场景的新型3D LiDAR环路闭合检测方法。该方法能够在实时情况下实现高精度和召回率的拓扑环路检测性能,而3自由度度量姿态估计结果也是准确的,无需基于ICP的6自由度微调优化。虽然BEV表示是一种有效的简化,但不可避免地会在高度方向上丢失信息。简单的轮廓分割对大型和自然结构也有困难。我们可以通过充分利用点云的第三维度并依赖于更复杂的分割技术来提升性能。

  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值