如果你曾经驾驶车辆进行越野,你会知道地形从来都不会对你仁慈。对于人类驾驶员来说,发现突然的凹陷、沟渠或悬崖边缘需要时刻保持警惕。而对于自主机器人来说,这一挑战更是被放大了十倍。

在自动驾驶领域,“负障碍物 (negative obstacles) ”——如沟渠或弹坑——是出了名的难以检测。从远处看,狭窄的沟渠在传感器中往往就像是一个连续的平面。如果机器人低估了坡度或错过了沟渠,后果可能从陷入困境到灾难性的翻车不等。

为了在高速行驶中安全导航,机器人需要的不仅仅是摄像头画面;它需要一个精确的脚下地面的3D模型。更重要的是,它需要知道它对这个模型有多大的信心 。 如果机器人对某块地形不确定,它应该减速或避开它。

在这篇文章中,我们将深入探讨一篇题为 “Uncertainty-aware Accurate Elevation Modeling for Off-road Navigation via Neural Processes” (基于神经过程的越野导航不确定性感知精确高程建模) 的论文。研究人员提出了一种新颖的方法,结合了深度学习和概率建模的优点,以创建精确的实时高程地图,这种地图不仅能推测地形,还能告诉你它们的不确定性。

问题: 为何越野感知如此困难

在铺装道路上导航本质上是一个2D问题;你只需保持在车道内并避开障碍物。而越野导航是一个复杂的2.5D或3D问题。车辆必须不断估计前方每一个点 \((x, y)\) 的地面高程 (\(z\)),以决定地形是否可以通行。

大多数自动驾驶车辆依赖两种主要类型的传感器:

  1. 激光雷达 (LiDAR) : 发射激光束来测量距离。它提供精确的深度,但是是“稀疏”的。在远处,激光环之间的间隙大到足以完全漏掉一个沟渠。
  2. 摄像头: 提供丰富的视觉信息 (颜色、纹理) ,但缺乏固有的深度信息。

“狭窄间隙”问题

作者解决的核心问题如下所示。当激光雷达以较浅的角度 (从远处) 观察沟渠时,激光射线可能会击中沟渠前后的地面,但完全错过了中间的坑洞。

图1: 激光雷达点、地面真值和预测结果的比较。面板(a)显示了沟渠上稀疏的激光雷达点。面板(d)显示了摄像头视图,尽管有陡峭的坡度,地形看起来却是连续的。所提出的模型(c)比仅依靠原始点更好地捕捉到了高程下降。

图1所示,对于摄像头 (面板d) ,草地地形看起来是连续的。激光雷达 (面板a) 几乎没有记录到下降。传统方法通常会进行线性插值 (连点成线) ,导致机器人误以为地面是平坦的。这种“乐观”的预测是危险的。

为什么现有方法存在不足

历史上,机器人学家主要使用两种方法来解决这个问题:

  • 高斯过程 (Gaussian Processes, GPs) : 它们非常擅长处理不确定性。它们不只给出一个值,而是给出一个概率分布。然而,它们的计算成本很高 (\(O(N^3)\) 复杂度) ,很难在移动机器人上实时运行。
  • 深度神经网络 (Deep Neural Networks, DNNs) : 它们速度快且能学习复杂的模式。然而,它们倾向于将地形“过度平滑”,抹去像悬崖这样的尖锐特征。此外,标准的DNN通常“过度自信”,在提供错误预测的同时不会发出高不确定性的信号。

解决方案: 神经过程

研究人员提议使用神经过程 (Neural Processes, NPs) 。 NPs是一类迷人的模型,试图结合两种方法的优势:

  1. 神经网络的效率和灵活性
  2. 高斯过程的不确定性量化

核心思想是将地形建模问题视为一个条件预测任务。给定一组“上下文点 (context points) ” (观测到的激光雷达击中点和摄像头特征) ,模型预测“目标点 (target points) ” (我们想要填充的地图网格单元) 的高程分布。

架构概览

所提出的方法不仅仅是一个普通的神经过程;它引入了几个关键创新来处理越野驾驶的具体挑战。

  1. 语义调节 (Semantic Conditioning) : 它将几何数据 (激光雷达) 与语义数据 (图像) 融合,因此模型能理解“草地”通常与“岩石”表现不同。
  2. 时间聚合 (Temporal Aggregation) : 它会记住前几帧看到的内容,以构建更可信的地图。
  3. 球查询注意力 (Ball-Query Attention) : 一种新的机制,使处理效率足以满足实时机器人的需求。

让我们分解一下这个流程,如图2所示。

图2: 架构流程。激光雷达通过U-Net处理;图像通过DinoV2处理。特征被投影到鸟瞰图 (BEV) ,随时间聚合,并融合以创建丰富的特征图。

该流程有两条流:

  • 激光雷达流: 点云由3D U-Net处理以提取几何特征。
  • 图像流: 图像由视觉Transformer (DinoV2) 处理以提取语义特征。这些2D图像特征利用立体深度被“提升 (lifted) ”到3D空间,并投影到鸟瞰图 (BEV) 网格上。

这两条流被拼接 (合并) 并传入神经过程模块。

核心数学: 模型如何“思考”

为了理解模型如何预测高程,我们需要看一下神经过程的公式。目标是在给定观测到的上下文点 \(X_C\) 及其高度 \(\hat{H}_C\) 的情况下,预测目标位置 \(X_T\) 的地形高度 \(H_T\) 的分布。

模型使用一个潜变量 \(z\) (一个隐藏变量) 来捕捉环境的全局不确定性。条件预测分布定义为:

公式1: 条件预测分布的数学公式。它对潜变量z进行积分。

这个方程里发生了什么:

  1. 模型将上下文 (观测值) 编码为潜表示 \(s_C\)。
  2. 它从这个表示中采样一个全局变量 \(z\)。这个 \(z\) 代表当前地形的“风格”或“基调” (例如,“我们处于一个多岩石、多丘陵的区域”) 。
  3. 它将 \(z\) 与确定性表示 \(r_C\) 结合,以预测目标高度。

为了训练这个模型,研究人员最大化证据下界 (ELBO) , 这是概率机器学习中的一种标准技术,用于平衡预测准确性与潜在分布的复杂性。

公式2: 用于训练的ELBO损失函数。它包括一个重构项 (对数概率) 和一个KL散度项 (正则化) 。

语义调节的神经过程

这篇论文中的“上下文”比单纯的 \(X\) 和 \(Y\) 坐标更丰富。作者引入了语义调节的NPs

模型不仅仅依赖空间坐标 \((x,y)\) 和高度 \(h\),还根据来自摄像头和激光雷达的特征向量 \(F\) 来调节其预测。

  • 上下文: \(\{(x_i, y_i), \text{height}_i, \text{features}_i\}\)
  • 目标: \(\{(x_j, y_j), \text{features}_j\}\)

这使得模型能够更好地推断 (或“脑补”) 地形。如果激光雷达错过了一个点,但摄像头特征表明“这与旁边的像素是同一条砾石路”,模型就可以推断高度可能相似。

完整的更新后的概率模型如下所示:

公式4: 包含语义特征F_T和F_C的更新后的概率模型。

创新点: 球查询注意力

类似Transformer的模型 (ANPs与此类同) 最大的瓶颈之一是注意力机制 。 标准的全局注意力会将每个目标点与每个上下文点进行比较。如果你有一个大网格 (例如 \(256 \times 256\)) ,这个操作量是巨大的,会扼杀实时性能。

作者提出了球查询注意力 (Ball Query Attention)

图3: 球查询注意力示意图。模型不是关注所有点,而是只关注局部半径 (epsilon球) 内的上下文点。

图3所示,对于每一个查询点 (地图上的特定位置) ,模型只计算落在小半径 \(\epsilon\) 内的键 (观测值) 的注意力分数。

注意力计算变为:

公式5: 球查询注意力公式。它仅对球体B(q_i)内的键K应用Softmax。

这为什么重要?

  • 局部性: 地形高程是局部相关的。100米外的地面高度通常不会影响这里的地面高度。
  • 效率: 这将浮点运算次数 (FLOPs) 减少了17% , 推理时间减少了36% , 使其在机器人的机载计算机上运行成为可能。

时间聚合: 记忆很重要

如果机器人2秒前看到了一个沟渠,它不应该仅仅因为沟渠现在离开了摄像头的视野就忘记它。作者实现了一个贝叶斯更新规则,以便随着时间聚合图像特征。

他们将投影图像像素的“密度”视为置信度 (\(p\)) 的代理。他们通过将当前时间步的特征图 \(f_t\) 与之前的特征图 \(f_{t-1}\) 结合来更新它:

公式3: 用于时间聚合图像特征及其概率的贝叶斯更新方程。

这确保了随着车辆移动,语义地图变得更加丰富和稳定,而不是随着每一帧闪烁不定。

实验设置

为了证明这一点,团队不仅仅进行了模拟。他们驾驶一辆Polaris RZR越野车 (如图4所示) 前往三个独特且具有挑战性的环境:

  1. CA Hills (加州丘陵) : 长满草的起伏丘陵。
  2. Mojave Desert (莫哈韦沙漠) : 长有灌木、岩石和约书亚树的小径。
  3. Ellensburg (埃伦斯堡) : 一个拥有沟渠、悬崖和陡坡的复杂区域。

图4: 实验设置。(a) Polaris RZR传感器装置。(b-d) 包括丘陵和沙漠在内的不同测试地点。

他们将自己的方法与几个强基线进行了比较,包括稀疏GP (SGP) 、BEVNet (一种标准的深度学习方法) 和TerrainNet。

结果: 它有效吗?

定量分析

下表总结的结果表明,所提出的方法 (Ours) 在高度、坡度和曲率估计方面始终实现了最低的误差。

表2: 泛化结果。所提出的方法 (Ours) 在从一个环境迁移到另一个环境时具有最低的误差和最小的差距。

数据中的关键要点:

  • 泛化能力: 机器人技术中最难的事情之一是在一种地形 (如Ellensburg) 上训练,并在另一种地形 (如Mojave) 上测试。表格显示,所提出的方法具有最小的“泛化差距” (品红色数字) ,这意味着它能很好地适应新环境。
  • 坡度准确性: 该方法在估计坡度方面特别出色,这是防止车辆翻车的最关键因素。

定性分析

数字虽好,但地图更能说明问题。让我们看看在“CA Hills”数据集上的比较。

图5: 定性可视化。“Ours - Geometry”列显示了对沟渠的清晰、锐利的预测,与地面真值 (GT) 相匹配。“Ours - Variance”列显示了数据稀疏处的高不确定性 (较浅颜色) 。

图5中,请看“Ours - Geometry”列。注意它是如何捕捉到地形的急剧下降的。将其与标准的深度学习方法 (如其他比较中的BEVNet或TerrainNet) 相比,后者通常会将此平滑成缓坡。

此外,请看Variance (方差) 列。模型高亮了它不确定的区域。这就是标题中“不确定性感知”的部分。这张地图告诉规划器: “我认为这里有一条沟,但我对山脊后面的区域也非常不确定。”

可视化不确定性

神经过程最酷的特性之一是能够采样潜变量 \(z\)。通过采样不同的 \(z\) 值,我们可以看到模型认为可能存在的不同“可能的世界”。

图9: 通过采样不同的潜变量z生成的不同高程预测。

图9中,你可以看到地形的不同实现。在数据清晰的区域,所有样本看起来都一样。在机器人看不见 (被遮挡) 的区域,样本各不相同,反映了模型的不确定性。

与基线的比较

最后,让我们看看所有数据集的并排比较。

图7: 完整的定性比较。注意“Ours”与“Fusion”或“TerrainNet”相比如何保持清晰度,后两者显得更模糊。

“Fusion”基线 (同样使用摄像头+激光雷达) 倾向于产生更模糊的地图。“稀疏GP”虽然清晰但计算量大,且在处理语义上下文时可能遇到困难。所提出的方法达到了理想的平衡。

结论

这篇论文展示了越野自动驾驶向前迈出的重要一步。通过利用神经过程 , 作者成功地将深度学习的语义理解能力与概率方法的严格不确定性处理结合在了一起。

为什么这通过对未来很重要?

  1. 安全性: 检测负障碍物 (沟渠) 的能力可以防止事故。
  2. 速度: “球查询注意力”机制证明了我们不需要无限的算力来运行复杂的注意力模型。
  3. 可靠性: 显式地建模不确定性使得机器人能够做出更明智的决策——知道何时该向前冲,何时该小心翼翼。

随着我们将自动驾驶车辆推向更偏远的路径,像这样承认世界是不确定且不完美的方法,将是实现鲁棒探索的关键。