自动驾驶系列—DiffLoc: Diffusion Model for Outdoor LiDAR Localization

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中一起航行,共同成长,探索技术的无限可能。

🚀 探索专栏:学步_技术的首页 —— 持续学习,不断进步,让学习成为我们共同的习惯,让总结成为我们前进的动力。

🔍 技术导航:

  • 人工智能:深入探讨人工智能领域核心技术。
  • 自动驾驶:分享自动驾驶领域核心技术和实战经验。
  • 环境配置:分享Linux环境下相关技术领域环境配置所遇到的问题解决经验。
  • 图像生成:分享图像生成领域核心技术和实战经验。
  • 虚拟现实技术:分享虚拟现实技术领域核心技术和实战经验。

🌈 非常期待在这个数字世界里与您相遇,一起学习、探讨、成长。不要忘了订阅本专栏,让我们的技术之旅不再孤单!

💖💖💖 ✨✨ 欢迎关注和订阅,一起开启技术探索之旅! ✨✨

1. 背景介绍

绝对位姿回归(Absolute Pose Regression,APR)以端到端的方式估计全局位姿,在基于学习的LiDAR定位中取得了令人印象深刻的成果。然而,与依赖3D-3D对应匹配的顶尖方法相比,APR在精度方面仍有提升的空间。我们认识到APR缺乏对鲁棒特征的学习以及迭代去噪过程,导致结果不够理想。在本文中,我们提出了一种新颖的框架——DiffLoc,将LiDAR定位视为位姿的条件生成问题。

首先,我们提出利用基础模型和静态目标感知池(static-object-aware pool)来学习鲁棒特征。其次,我们通过基于学到的几何鲁棒特征,将迭代去噪过程引入APR,并采用扩散模型(diffusion model)来实现。在此基础上,鉴于扩散模型的独特性质,我们进一步提出将我们的模型应用于两个额外的场景:(1) 使用多次推理来评估位姿的不确定性,(2) 在去噪步骤中无缝引入几何约束以提升预测精度。

在Oxford Radar RobotCar和NCLT数据集上进行的广泛实验表明,DiffLoc优于当前最先进的方法。特别是在NCLT数据集上,我们在位置和方位精度上分别取得了35%和34.7%的提升。我们的代码已发布于:https://github.com/liw95/DiffLoc。
在这里插入图片描述

LiDAR定位是导航规划中的关键任务

LiDAR定位在计算机视觉领域有着广泛的应用,例如自动驾驶 [16] 和增强现实 [6]。LiDAR定位的目标是将扫描到的点云作为输入,输出其六自由度(6-DoF)的位姿。

当前最先进的LiDAR定位方法主要是基于结构的方法,它们将查询点云中的点与3D世界坐标进行匹配。这类3D-3D对应关系是通过场景坐标回归 [17] 或特征匹配 [34, 41] 建立的。然后,这些对应关系通过RANSAC [8]来估计LiDAR的位姿。然而,这些方法通常在时间和内存上成本较高 [40]。另一种方法是绝对位姿回归(Absolute Pose Regression,APR),它通过深度回归网络直接估计全局位姿,而不依赖于预先构建的地图。因此,APR由于其较低的计算和存储成本而备受青睐 [39]。

尽管APR取得了初步的成功,但其定位精度仍然落后于3D对应匹配方法。为了说明这一点,我们分析了最近提出的最先进方法SGLoc [17],以揭示其原因。SGLoc是一种LiDAR场景坐标回归方法,如图1(b)所示。它将定位过程分为两个独立的阶段:对应关系回归和通过RANSAC的位姿估计。(1) SGLoc强调APR缺乏场景几何特征,而这些特征对于定位来说是鲁棒且至关重要的。(2) 在比较SGLoc与APR方法的根本区别时,我们注意到APR仅在一个前向传递中执行定位,如图1(a)所示。它缺少一种类似于RANSAC的迭代采样组件,而这种组件通常用于鲁棒的位姿估计。

针对(1),为了学习判别性的特征,RangeViT [1] 经验性地表明,即使存在较大的域间差距,使用基础模型在RGB图像域中也可以增强LiDAR分割性能。此外,先前的研究 [11, 36] 表明,运动物体会对几何鲁棒特征的学习产生不利影响。这激励我们从静态物体中学习基础模型派生的鲁棒特征,用于LiDAR定位。

针对(2),我们对SGLoc中的RANSAC进行了消融研究,如表1所示。RANSAC带来的平均位置和方向精度分别提高了89.2%和94.9%。这些实验证明,迭代采样范式对于结构化方法实现精确结果至关重要。进一步分析RANSAC的过程,发现它实际上是一个迭代去除噪声数据中的离群值的去噪过程。最近,去噪模型,特别是扩散模型(diffusion model)[10],在各种任务中表现出显著的成功 [4, 29, 49],例如DiffusionDet [4]通过将目标检测视为从噪声框到目标框的去噪过程,取得了出色的性能。这启发我们探索使用扩散模型为APR构建一个去噪过程。

在本文中,我们提出了一种新颖的框架DiffLoc,它将LiDAR定位形式化为位姿的条件生成问题。我们提出了两个新的设计,弥合APR与结构化方法之间的性能差距。(1) 我们学习对点云进行编码以捕获鲁棒特征。基于基础模型(FM),我们提出静态目标感知池(static-object-aware pool,SOAP)以减轻运动物体对鲁棒特征学习的影响。(2) 受RANSAC的启发,我们通过基于(1)中学到的特征的扩散模型,在APR中引入了迭代去噪。正如图1©所示,DiffLoc通过从噪声输入逐步逆转到原始位姿,实现定位。此外,鉴于扩散组件的独特性,我们基于我们的模型提出了两个新的应用。(a) 由于DiffLoc可以通过对不同的随机噪声进行去噪生成多个合理的位姿估计,我们提出利用估计的方差来衡量位姿的不确定性。(b) 由于扩散模型的多步去噪特性,我们在去噪步骤中引入相对位姿的几何约束以提高位姿估计的准确性。
在这里插入图片描述
我们的贡献可以总结如下:

  • 基于基础模型DINO [25],我们提出SOAP来学习鲁棒特征,并减轻运动物体的负面影响。
  • 受RANSAC启发,我们将LiDAR定位建模为一种通过扩散模型从噪声到真实位姿的去噪过程,从而显著提高了性能。
  • 基于扩散模型的独特性,包括噪声驱动推理和多步去噪,我们提出将我们的模型应用于两个额外的场景:(a) 通过聚合多次推理来评估位姿不确定性,(b) 通过对去噪步骤引入几何约束来增强性能。
  • 在Oxford Radar RobotCar [2]和NCLT [24]数据集上进行的大量实验证明了我们方法的高效性。特别是,我们展示了DiffLoc在NCLT数据集上相较于当前最先进的方法实现了35%/34.7%的性能提升。

2. 方法

基于LiDAR的绝对位姿回归(Absolute Pose Regression, APR)在定位任务中表现出色。然而,其准确性仍然落后于基于结构的方法,原因在于APR缺乏对鲁棒特征的学习和迭代去噪过程。在本文中,我们提出了DiffLoc,它利用基础模型来学习由静态物体引导的鲁棒特征,并通过扩散模型引入迭代去噪过程,以弥补性能差距(参见3.1节)。此外,由于扩散模型的独特性,我们进一步提出将DiffLoc应用于两个额外的场景:(1) 聚合多次推理以评估位姿的不确定性,以及 (2) 在去噪步骤中无缝引入几何约束以提升性能(参见3.2节)。

2.1 DiffLoc

我们现在详细介绍DiffLoc,如图2所示,它可分为三个关键部分。(1) 一个范围投影预处理器用于将点云转换为图像,为基础模型准备输入数据。(2) 一个特征学习器,基于基础模型DINO [25],学习对图像进行判别性编码。我们提出了静态目标感知池(SOAP)模块,能够学习鲁棒特征。(3) 一个去噪器,实际上是一个以输入图像为条件的扩散模型,学习恢复位姿。
在这里插入图片描述

2.1.1 范围投影

为了利用基础模型的强大表示学习能力,我们使用二维范围图像表示输入的点云。具体而言,对于给定的点云集合 P = ( P i ) i = 1 N P = (P_i)_{i=1}^N P=(Pi)i=1N,其中 N N N 表示点云的数量,每个点云的笛卡尔坐标为 ( x , y , z ) (x, y, z) (x,y,z)。然后,将每个点云投影到一个范围图像上,如下所示:

( h , w ) = ( 1 2 ( 1 − arctan ⁡ ( y , x ) π ) W , ( 1 − arcsin ⁡ ( z , r − 1 ) + ∣ f down ∣ f v ) H ) (h, w) = \left( \frac{1}{2}\left( 1 - \frac{\arctan(y, x)}{\pi} \right) W, \left(1 - \frac{\arcsin(z, r^{-1}) + |f_{\text{down}}|}{f_v}\right) H \right) (h,w)=(21(1πarctan(y,x))W,(1fvarcsin(z,r1)+fdown)H)

其中, ( h , w ) (h, w) (h,w) ( H , W ) (H, W) (H,W) 分别代表投影图像的像素坐标和尺寸。 f v = f up + f down f_v = f_{\text{up}} + f_{\text{down}} fv=fup+fdown 表示LiDAR传感器的垂直视场范围, r = x 2 + y 2 + z 2 r = \sqrt{x^2 + y^2 + z^2} r=x2+y2+z2 表示每个点的距离。对于生成的范围图像,我们存储每个投影点的 ( r , x , y , z , i ) (r, x, y, z, i) (r,x,y,z,i) 值。当多个点投影到同一个像素时,我们仅保留距离最小的点的特征。如果某个像素没有投影点,我们用零填充。

2.1.2 特征学习器

如前所述,APR方法无法有效地编码鲁棒特征,这是导致其性能不如基于结构的方法的一个重要原因 [17]。因此,APR方法需要一个鲁棒特征学习器。先前的研究 [1, 11, 28, 36] 表明,图像领域的基础模型可以提高点云任务的性能,这激励我们在LiDAR定位中探索基础模型。

首先,为了弥合范围图像与RGB图像之间的潜在域间差距,我们使用非线性卷积干 [44] 替换嵌入层。然后,将输出送入DINO使用的ViT [7],以获取特征图 F ∈ R M × C F \in R^{M \times C} FRM×C,其中 M M M C C C 分别表示令牌数量(不包含分类令牌)和特征维度。

接着,为了增强对运动物体的鲁棒性,我们引入了静态目标感知池(SOAP)模块。如图2所示,SOAP模块以 F F F 作为输入。我们使用全连接层(FC)将 F F F 的通道压缩到1,并应用sigmoid操作将特征缩放到0到1的范围。这一过程生成了静态目标感知注意力掩码,引导基础模型聚焦于静态区域,例如建筑物。然后,我们对 F F F 执行点积和加法操作,以实现鲁棒特征。最后,我们使用全局平均池化(GAP)获得全局特征 F P F_P FP。输出可表示为:

F P = GAP ( F + σ ( FC ( F ) ) ⊙ F ) F_P = \text{GAP}(F + \sigma(\text{FC}(F)) \odot F) FP=GAP(F+σ(FC(F))F)

其中 σ \sigma σ 是sigmoid函数, ⊙ \odot 表示点积操作。为了确保注意力掩码适当强调静态物体,在训练阶段利用预生成的掩码进行优化。按照SGLoc [17]的方法,我们利用预训练的SPVCNN [33]对运动物体进行分割。

2.1.3 去噪器

正如在引言部分分析的那样,APR精度不足的另一个重要因素是它在单次前向传递中进行定位,缺少RANSAC等方法中的去噪过程。因此,受扩散模型的启发,我们将基于结构的方法中的去噪过程引入到APR中。

DiffLoc将LiDAR定位建模为一种通过扩散模型从噪声位姿到真实位姿的去噪过程,该过程以编码后的范围图像为条件,由我们的特征学习器实现。在训练过程中,DiffLoc构建了一个由 T 0 , T 1 , . . . , T K T_0, T_1, ..., T_K T0,T1,...,TK 组成的扩散过程,从真实位姿 T 0 T_0 T0 到接近纯噪声的 T K T_K TK。相反,在推理过程中,它构建了一个由 T ^ K , T ^ K − 1 , . . . , T ^ 0 \hat{T}_K, \hat{T}_{K-1}, ..., \hat{T}_0 T^K,T^K1,...,T^0 组成的去噪过程,从纯噪声 T ^ K \hat{T}_K T^K 到位姿预测 T ^ 0 \hat{T}_0 T^0。推理流程如图2所示。下面我们详细介绍DiffLoc的训练和推理过程。

在训练阶段,去噪器(即扩散模型)被训练以通过恢复从腐化版本中学习LiDAR位姿的潜在分布。具体而言,在每个训练迭代中,我们随机选择一个扩散步骤,记为 k ∈ { 1 , 2 , . . . , K } k \in \{1, 2, ..., K\} k{1,2,...,K}。通过预定义的方差计划 α 1 , . . . , α k \alpha_1, ..., \alpha_k α1,...,αk,我们根据累积噪声计划向真实位姿 T 0 T_0 T0 引入噪声,得到噪声位姿 T k T_k Tk

q ( T k ∣ T 0 ) = N ( T k ; α ˉ k T 0 , ( 1 − α ˉ k ) I ) , q(T_k | T_0) = \mathcal{N}(T_k; \sqrt{\bar{\alpha}_k} T_0, (1 - \bar{\alpha}_k)I), q(TkT0)=N(Tk;αˉk T0,(1αˉk)I),
T k = α ˉ k T 0 + 1 − α ˉ k ϵ , ϵ ∼ N ( 0 , I ) , T_k = \sqrt{\bar{\alpha}_k} T_0 + \sqrt{1 - \bar{\alpha}_k} \epsilon, \quad \epsilon \sim \mathcal{N}(0, I), Tk=αˉk T0+1αˉk ϵ,ϵN(0,I),

其中 α ˉ k = ∏ i = 1 k α i \bar{\alpha}_k = \prod_{i=1}^{k} \alpha_i αˉk=i=1kαi。然后,去噪器 D θ D_\theta Dθ 预测 ϵ \epsilon ϵ 来逐步去除噪声。我们通过一个变换器 T T T 实现去噪器 D θ D_\theta Dθ

D θ ( T k , k , P ) = T ( [ T k i , F D k , F P i ] i = 1 N ) , D_\theta (T_k, k, P) = T\left( [T_k^i, F_D^k, F_P^i]_{i=1}^N \right), Dθ(Tk,k,P)=T([Tki,FDk,FPi]i=1N),

其中 [ ⋅ ] [\cdot] [] 表示连接操作, T T T 的输入是噪声位姿元组 T k i T_k^i Tki,唯一的步骤嵌入 F D k F_D^k FDk 以及特征嵌入 F P i F_P^i FPi F D k F_D^k FDk 表示由正弦函数生成的第 k k k 个去噪步骤。

在推理阶段,训练好的 D θ D_\theta Dθ 能够适应具有任意噪声水平的序列。因此,我们从一个纯噪声序列 T ^ K \hat{T}_K T^K 开始,并逐渐减少噪声。为了加速推理过程,我们利用DDIM [32]更新位姿:

T ^ k − 1 = α ˉ k − 1 ( T ^ k − 1 − α ˉ k D θ α ˉ k ) + 1 − α ˉ k − 1 D θ , \hat{T}_{k-1} = \sqrt{\bar{\alpha}_{k-1}} \left( \frac{\hat{T}_k - \sqrt{1 - \bar{\alpha}_k} D_\theta}{\sqrt{\bar{\alpha}_k}} \right) + \sqrt{1 - \bar{\alpha}_{k-1}} D_\theta, T^k1=αˉk1 (αˉk T^k1αˉk Dθ)+1αˉk1 Dθ,

其中 T ^ k − 1 \hat{T}_{k-1} T^k1 被传递给去噪器 D θ D_\theta Dθ 以进行下一步。该迭代去噪过程将一直重复直到到达 T ^ 0 \hat{T}_0 T^0,它很好地逼近了潜在的真实位姿并被视为最终预测。

2.1.4 损失函数

DiffLoc的输出包括位姿和静态目标掩码。因此,总损失函数 L L L 应包括去噪和分割组件。具体而言,我们使用 L 1 L_1 L1 损失来指导模型预测噪声变量 ϵ \epsilon ϵ,即 L diff = ∥ D θ ( T k , k , P ) − ϵ ∥ 1 L_{\text{diff}} = \| D_\theta (T_k, k, P) - \epsilon \|_1 Ldiff=Dθ(Tk,k,P)ϵ1,其中 T k T_k Tk ϵ \epsilon ϵ 在方程 (3) 中定义。我们使用二元交叉熵损失来优化SOAP模块 L seg L_{\text{seg}} Lseg。最终的损失函数表示为 L = L diff + L seg L = L_{\text{diff}} + L_{\text{seg}} L=Ldiff+Lseg
在这里插入图片描述

2.2 基于扩散模型的应用

扩散模型具有独特的建模组件,例如随机噪声驱动的推理和多步骤去噪过程。我们进一步深入研究这些独特组件,并提出利用这些特性来进行位姿不确定性评估和几何约束优化。

2.2.1 位姿不确定性评估

之前的研究[11, 12]尝试在推理过程中随机停用某些神经元,即蒙特卡洛 dropout[9],然后通过多次推理计算均值和方差来估计不确定性。我们展示了DiffLoc可以通过聚合多次推理来轻松实现位姿不确定性评估,而无需其他改变。

在推理阶段,噪声位姿是从标准分布中采样的,这导致在相同输入的不同推理运行之间产生相当大的变化。因此,我们可以多次执行推理,并随后计算均值和方差以进行位姿不确定性评估,如图3所示。我们的实验显示了位姿误差和不确定性之间的高度相关性(参见图6)。

2.2.2 几何约束优化

我们进一步展示了DiffLoc可以利用来自里程计(odometry)的相对位姿之间的几何约束来提高准确性,这一过程称为几何约束引导去噪(Geometric Constraint-Guided Denoising,GCGD)。

为此,我们利用里程计的相对位姿来指导去噪迭代,以确保估计的位姿满足相对位姿的几何约束。具体而言,假设 T i , j T_{i,j} Ti,j 表示两个帧 ( P i , P j ) (P_i, P_j) (Pi,Pj) 之间的里程计相对位姿, T ^ i \hat{T}_i T^i T ^ j \hat{T}_j T^j 分别表示对应的LiDAR位姿。我们可以通过以下相对位姿误差公式来评估几何一致性:

e i j ( T ^ i , T ^ j , T i , j ) = ∥ T i , j − T ^ i , j ∥ 2 , e_{ij}(\hat{T}_i, \hat{T}_j, T_{i,j}) = \| T_{i,j} - \hat{T}_{i,j} \|_2, eij(T^i,T^j,Ti,j)=Ti,jT^i,j2,

其中, T ^ i , j \hat{T}_{i,j} T^i,j 是LiDAR位姿之间的相对位姿。

接下来,我们遵循指导扩散的策略,指导去噪过程以最小化相对位姿误差,满足几何约束。在每个去噪迭代中,分类器指导会用关于 T ^ k \hat{T}_k T^k 的指导分布 p ( P ∣ T ^ k ) p(P|\hat{T}_k) p(PT^k) 的梯度扰动预测的噪声:

D ^ θ ( T ^ k , k , P ) = D θ ( T ^ k , k , P ) − 1 − α ˉ k ∇ T ^ k log ⁡ p ( P ∣ T ^ k ) , \hat{D}_{\theta}(\hat{T}_k, k, P) = D_{\theta}(\hat{T}_k, k, P) - \sqrt{1 - \bar{\alpha}_k} \nabla_{\hat{T}_k} \log p(P|\hat{T}_k), D^θ(T^k,k,P)=Dθ(T^k,k,P)1αˉk T^klogp(PT^k),

其中, D ^ θ \hat{D}_{\theta} D^θ 替换 D θ D_{\theta} Dθ 用于下一步的位姿更新。根据[37], p ( P ∣ T ^ k ) p(P|\hat{T}_k) p(PT^k) 可以建模为:

p ( P ∣ T ^ k ) ∝ ∏ i , j exp ⁡ ( − e i , j ) . p(P|\hat{T}_k) \propto \prod_{i,j} \exp(-e_{i,j}). p(PT^k)i,jexp(ei,j).

3. 实验

3.1 实验设置

数据集与评估指标
我们在两个大规模室外基准数据集上评估DiffLoc的LiDAR定位性能:Oxford Radar RobotCar [2] 和 NCLT [24]。评估指标使用平均位置和方向误差。

  • Oxford Radar RobotCar (Oxford) 是一个城市场景定位数据集 [2],每个轨迹大约10公里。它提供了来自各种传感器的数据,包括LiDAR、相机、雷达和GPS/INS。在我们的方法中,仅使用了LiDAR信息。Oxford数据集涵盖了多样的天气和交通状况,是对模型进行全面评估的理想选择。

  • NCLT 是一个校园区域定位数据集,每个轨迹大约5.5公里。它包含来自LiDAR、全向相机和GPS/INS的数据。在我们的实验中,我们仅使用了LiDAR信息。NCLT数据集涵盖了为期一年的数据采集,包含多样的季节性环境变化,提供了户外和室内场景的多样化测试环境,为定位算法提供了全面评估。

实现细节
我们的DiffLoc是用Pytorch [26]实现的。基础模型DINOv2 [25]采用了ViT-S/16骨干网络 [7]进行特征学习。对于去噪器,Transformer [35]由8个编码器层组成,并具有4个用于特征聚合的注意力头。潜在嵌入维度为512。范围图像大小和patch大小分别设置为[32, 512]和[4, 16]。我们将总步骤定义为 K = 100 K = 100 K=100。批量大小设置为28,输入点云序列为大小为3的元组,帧间隔为2帧。我们使用AdamW优化器 [7],以单周期余弦退火策略 [19]和线性warm-up策略训练DiffLoc 150个epoch。warm-up epoch和峰值学习率分别设置为5和 5 × 1 0 − 4 5 \times 10^{-4} 5×104。模型在4个RTX 3090 GPU上进行训练。在Oxford数据集上,去噪步骤配置为10。在NCLT数据集上,此值设置为15。

基线与比较方法
为了验证DiffLoc的性能,我们与几种最新的基于学习的LiDAR定位方法进行了比较。在结构化定位中,我们选择了PointNetVLAD (PNVLAD) [34] 和 DCP [41],它们是流行的检索和配准方法。我们还与当前最先进的LiDAR定位方法SGLoc [17]进行比较。对于绝对位姿回归,选择了PointLoc [40]、PosePN [47]、PosePN++ [47]、PoseMinkLoc [47]、PoseSOE [47]和HypLiLoc [39]作为对比方法,这些方法都以单帧点云为输入。此外,我们还与基于多帧的APR方法进行比较,例如STCLoc [46]和NIDALoc [48]。需要注意的是,HypLiLoc是目前最先进的基于LiDAR的APR方法。

在这里插入图片描述

3.2 与最新方法的比较

在Oxford数据集上的结果
我们首先在Oxford数据集上评估了所提出的DiffLoc,如表1所示。我们报告了所有测试轨迹的平均位置和方向误差以及相应的排名(排名第1表示最小误差)。我们的模型实现了3.53m/0.72°的平均误差,在位置和方向上分别排名第二和第一。此外,我们在四个轨迹的8个指标中表现最好,取得了5项最佳性能。与最新的LiDAR基于APR方法HypLiLoc相比,DiffLoc在位置和方向上分别提高了38.5%和31.4%。即使与当前最先进的结构化方法SGLoc相比,DiffLoc也表现出了足够的竞争力。具体来说,虽然我们的位置精度比SGLoc低12.4%,但方向精度显著提高了61.7%。此外,DiffLoc在所有轨迹上的方向误差都在1°以内。
在这里插入图片描述
图4展示了在17-13-26-39轨迹上由表2中的前四种方法预测的轨迹,包含平均位置误差(米)和方向误差(度)。与APR方法(例如NIDALoc和HypLiLoc)相比,DiffLoc取得了显著的改进。SGLoc和DiffLoc的轨迹与真实值紧密对齐,但SGLoc中存在明显的离群点,导致其结果在这些区域内不可靠。相比之下,DiffLoc提供了更干净的轨迹,表明其具备生成更稳健结果的能力。
在这里插入图片描述
在NCLT数据集上的结果
我们接下来在NCLT数据集上测试DiffLoc。如表3所示,汇总了所有方法的平均位置和方向误差以及排名。我们的模型实现了1.19m/2.31°的平均误差,在比较方法中排名第一,达到了最小的位置和方向误差。此外,DiffLoc在四个测试轨迹的所有指标上表现最好。与HypLiLoc(1.95m/3.16°)相比,DiffLoc取得了39%和26.9%的显著改进。即使与SGLoc相比,我们的提升也非常显著,分别在位置和方向上提高了35%和34.7%。在2012-05-26轨迹上,DiffLoc比SGLoc提高了50.7%/48.7%。此外,DiffLoc将误差降低到所有场景的亚米级(除了2012-05-26)。同时,方向误差降低到小于3°。结果表明,DiffLoc在包含室内和室外混合场景的NCLT数据集上表现良好,达到了最新水平。
在这里插入图片描述

我们在2012-02-12轨迹上可视化了表3中前四种方法预测的轨迹。如图所示,DiffLoc的轨迹更接近真实值,并且错误预测(离群点)更少。这进一步证明了DiffLoc的有效性,能够在处理具有挑战性的NCLT数据集时,始终生成稳健的定位结果。

带有位姿不确定性评估的结果
我们研究了DiffLoc在NCLT数据集2012-05-26轨迹上对位姿不确定性评估的影响。鉴于此轨迹与训练数据之间存在明显差异,它包含更多的离群点,为探索估计的位姿不确定性和定位误差之间的关系提供了合适的场景。我们最初多次生成最终位姿,每次使用不同的初始噪声位姿。随后,我们汇总这些结果,计算均值和方差。计算的方差用于位姿不确定性评估。具体来说,我们进行了10次推理,展示了位置误差和方差之间的关系,如图6所示。显然,误差和方差之间存在高度相关性。需要注意的是,只有去噪器需要多次推理,因为特征学习器是确定性的。该实验表明,DiffLoc可以有效用于不确定性评估,展示了其扩展性。
在这里插入图片描述

带有几何约束的结果
我们展示了DiffLoc可以通过几何约束引导去噪(GCGD)进一步提高准确性。在此实验中,我们使用学习率为 1 × 1 0 − 3 1 \times 10^{-3} 1×103的SGD优化器。为避免虚假的局部最小值,我们将此策略应用于最后5个去噪步骤。在每个步骤中,我们运行100次GCGD迭代来调整去噪。如表4所示,带有GCGD的DiffLoc实现了3.36m/0.62°的平均误差,分别改进了约0.2m和0.1°。

该实验表明,DiffLoc可以与里程计结合,通过结合相对位姿约束,进一步提高性能,展示了其扩展性。

3.3 消融实验

关于FM(基础模型)的研究
如表5中第1行与第2行所示,使用FM进行特征学习相比于不使用任何所提模块的基础模型,带来了巨大的提升。在Oxford数据集上,分别在位置和方向精度上提升了27.7%和27.1%。它甚至在与HypLiLoc的比较中表现出竞争力,取得了平均误差为4.80m/1.13°,而HypLiLoc为5.74/1.05°。在NCLT数据集上,FM也带来了显著的改进。该研究表明,利用在图像上预训练的FM可以帮助提高LiDAR定位的准确性。这一发现令人鼓舞,因为它表明我们可以通过利用大量现成的真实众包地图数据集,为LiDAR定位实现模型预训练。
在这里插入图片描述
关于SOAP的研究
我们进一步进行了消融实验,验证SOAP的重要性。在Oxford和NCLT数据集上,第2行与第3行的对比显示,SOAP在位置精度方面平均提高了9.4%。此外,从第5行与第4行的对比中可以看出,当我们的方法使用了去噪模块时,SOAP仍然带来了平均0.46m/0.46°的改进。这表明SOAP通过引导静态对象重新加权的特征,能够进一步提高准确性。

关于去噪的研究
去噪结果在表5中的第4行和第5行中展示。与第4行和第2行相比,该模块在Oxford和NCLT数据集上取得了显著提升,平均在位置和方向精度上分别提高了30.1%和31.5%。此外,与第5行和第3行相比,去噪带来了37%和41%的平均进步。通过使用去噪,Oxford和NCLT数据集上的平均方向误差分别降低到了1°和3°以内。这一显著的提升验证了我们将LiDAR定位建模为去噪过程的有效性。

关于去噪步骤的研究
在训练模型后,DiffLoc可以采用任意数量的迭代去噪步骤。为了探索迭代步骤数量对最终性能的影响,我们尝试了不同的步骤,并在表6中报告了结果。显然,更多的迭代步骤会带来更好的性能。我们还报告了不同步骤的时间消耗。最佳步骤是10步,因为超过该步数并不会显著提高性能。在这一步时的运行时间为33ms,比SGLoc的38ms更快,实现了实时性能。在NCLT数据集上,最佳步骤选择为15步,运行时间约为44ms,远快于SGLoc(75ms),同样实现了实时性能。虽然与HypLiLoc(21ms)相比,DiffLoc稍慢,但在实际应用中,去噪步骤的数量可以灵活调整,而无需重新训练模型。具体来说,当步数为4时,DiffLoc的运行时间仅为22ms,并在Oxford数据集上取得4.03m/0.80°对比HypLiLoc的5.74m/1.05°,在NCLT数据集上取得1.57m/2.58°对比HypLiLoc的1.95m/3.16°。
在这里插入图片描述

4. 结论

在本文中,我们探讨并解决了APR中缺乏稳健特征学习和迭代去噪过程的问题。这些是APR与结构化方法之间性能差距的最重要因素。我们提出了一种新颖的框架DiffLoc,将LiDAR定位视为LiDAR位姿的条件生成。具体来说,针对第一个因素,我们利用基础模型的泛化能力进行稳健的特征学习,并提出了SOAP模块来引导其关注场景中的静态对象。为了解决第二个挑战,我们创新性地通过扩散模型将迭代去噪过程引入APR。此外,我们展示了DiffLoc的两个吸引人的特性,可以通过多次推理聚合来评估位姿不确定性,并利用几何约束进一步提高准确性。大量实验结果证明了我们方法的有效性。

🌟 在这篇博文的旅程中,感谢您的陪伴与阅读。如果内容对您有所启发或帮助,请不要吝啬您的点赞 👍🏻,这是对我最大的鼓励和支持。

📚 本人虽致力于提供准确且深入的技术分享,但学识有限,难免会有疏漏之处。如有不足或错误,恳请各位业界同仁在评论区留下宝贵意见,您的批评指正是我不断进步的动力!😄😄😄

💖💖💖 如果您发现这篇博文对您的研究或工作有所裨益,请不吝点赞、收藏,或分享给更多需要的朋友,让知识的力量传播得更远。

🔥🔥🔥 “Stay Hungry, Stay Foolish” —— 求知的道路永无止境,让我们保持渴望与初心,面对挑战,勇往直前。无论前路多么漫长,只要我们坚持不懈,终将抵达目的地。🌙🌙🌙

👋🏻 在此,我也邀请您加入我的技术交流社区,共同探讨、学习和成长。让我们携手并进,共创辉煌!
在这里插入图片描述

扩散模型在自动驾驶中有一些应用。特斯拉使用扩散模型来预测光流,光流是像素从一帧到另一帧的移动量。在自动驾驶系统中,光流的预测对于对象检测、预测和规划等任务都非常有帮助。通过预测光流,特斯拉可以获取关于其他车辆和自动驾驶汽车自身实时移动的信息,从而更好地进行决策和控制。\[2\] 此外,在文本到图像合成中,扩散模型也可以用于生成图像。使用预训练的CLIP模型,将文本和图像等多种模态输入到扩散模型的python API `diffusers`中,可以生成与文本描述相对应的图像。这种方法可以产生更多样化的图像,并保留数据语义结构的能力。然而,扩散模型的训练计算要求很高,需要大量的内存和时间。\[1\]\[3\] #### 引用[.reference_title] - *1* *3* [什么是扩散模型(Diffusion Models),为什么它们是图像生成的一大进步?](https://blog.csdn.net/qq_42722197/article/details/127081620)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [特斯拉应用在自动驾驶汽车上的神经网络模型—Occupancy Networks](https://blog.csdn.net/weixin_44782294/article/details/127139686)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学步_技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值