想象一下,你正伸手去昏暗的橱柜里拿一个咖啡杯。虽然看不见把手,但你的大脑会对它的位置做出合理的猜测。如果你碰到了意想不到的东西,你会立刻调整。你不仅仅是在盲目抓取;你拥有一种内在的对不确定性的感知。

对于机器人,特别是那些拥有多指 (灵巧) 机械手的机器人来说,这种场景简直是一场噩梦。大多数机器人系统在只能看到物体一部分 (部分观测) 时,往往难以抓取物体。它们要么坚持使用非常安全但重复的抓取动作 (在杂乱空间中可能会失败) ,要么尝试生成复杂的抓取动作,却无法实时完成。

在这篇深度文章中,我们将探讨一篇引人入胜的研究论文: “FFHFlow: Diverse and Uncertainty-Aware Dexterous Grasp Generation via Flow Variational Inference” (FFHFlow: 基于流变分推断的多样化且具有不确定性感知的灵巧抓取生成) 。 这项工作提出了一种新的深度学习框架,不仅能帮助机器人生成各种各样的抓取方式,还能赋予它们“内省”的能力——即了解自己对物体形状的不确定性以及抓取稳定性的把握程度。

方法概览,显示了部分点云、FFHFlow 模型、多样化抓取生成以及内省式评估。

如图 1 所示,该系统接收部分点云 (来自单一角度的 3D 扫描) ,生成多种潜在的抓取姿态,然后基于“形状感知内省 (shape-aware introspection) ”对这些姿态进行评估。

核心问题: 为什么灵巧抓取如此困难?

要理解 FFHFlow 的贡献,我们首先需要了解当前机器人学习的局限性。

  1. 高维度: 与简单的钳式抓手 (只能开合) 不同,多指机械手有许多关节 (自由度) 。其“配置空间”——即所有可能的手部姿态集合——是巨大的。
  2. 部分观测: 在现实世界中,机器人摄像头通常只能看到物体的正面。背面是个谜。机器人必须构想 (预测) 物体的背面,才能安全地抓取它。
  3. 模式崩塌 (Mode Collapse) : 许多当前的生成模型,如条件变分自编码器 (cVAEs) ,都遭受“模式崩塌”的困扰。它们倾向于学习一种“平均”抓取姿态,这种姿态虽然安全但用处不大。它们难以提出多样化的解决方案。如果平均抓取姿态失败,机器人就会束手无策。
  4. 缺乏自我感知: 大多数模型只生成抓取动作,却无法提供关于物体未见部分的置信度指标。

最近使用扩散模型 (Diffusion Models) 的尝试虽然解决了多样性问题,但通常速度太慢,无法满足实时机器人技术的需求。 FFHFlow 旨在同时解决所有这些问题: 高多样性、高准确性、不确定性感知以及实时速度。


背景: 构建基石

在深入研究架构之前,让我们先确立本文中使用的一些概念。

变分自编码器 (VAEs) 与“先验”问题

标准的 VAE 试图将数据 (如抓取姿态) 压缩为“潜变量代码” (z) ,然后对其进行重建。为了生成新的抓取,我们从“先验分布”中采样 z,通常是一个简单的高斯分布 (钟形曲线) 。

问题在于?简单的高斯先验通常过于死板。它强行将机器人抓取的复杂现实塞进一个简单的数学盒子里。这导致了潜空间的过正则化 (over-regularization) , 通俗地说,就是模型为了适应钟形曲线而忽略了细节,导致模式崩塌。

归一化流 (Normalizing Flows, NFs)

归一化流是一类强大的生成模型。想象你有一团简单的粘土 (一个简单的概率分布,如高斯分布) 。归一化流是一系列数学变换,它们拉伸、扭曲并将那团粘土重塑成一个复杂的雕塑 (有效抓取的复杂分布) 。

至关重要的是,这些变换是可逆的 。 这意味着:

  1. 我们可以轻松生成样本 (从粘土到雕塑) 。
  2. 我们可以计算样本的精确似然 (exact likelihood) (从雕塑回到粘土并测量密度) 。

这种“精确似然”能力正是 FFHFlow 用来进行不确定性估计的超级武器。


FFHFlow 架构

研究人员提出了一种基于流的深度潜变量模型 (Deep Latent Variable Model, DLVM) 。 这是一个混合架构,结合了 VAE 的结构和归一化流的灵活性。

让我们看看这个想法的演变过程:

图形说明,比较了 cNF、cVAE 和提出的 FFHFlow-lvm。

  • (a) cNF: 你可以直接使用条件归一化流。它将观测值 \(x\) 映射到抓取 \(g\)。然而,作者发现这种方法难以从部分点云中学习到有意义的特征。
  • (b) cVAE: 这是标准方法。它使用潜变量 \(z\)。但如前所述,先验 \(p(z)\) 是一个无聊的高斯分布。
  • (c) FFHFlow-lvm (我们的方法): 该模型引入了潜变量 \(z\),但有一个转折。先验 \(p_\theta(z|x)\) 是依赖于输入的 (input-dependent) , 并由一个归一化流建模。似然 (解码器) \(p_\theta(g|x,z)\) 是一个归一化流。

架构详解

该模型由三个主要网络组成。让我们结合下面的架构图来分解训练和推理过程。

详细的模型架构,显示了包含变分网络的训练路径以及包含先验流和抓取流的推理路径。

  1. 先验流 (形状专家) : 该网络不再假设潜代码来自标准高斯分布,而是学习基于输入点云的复杂分布。
  • *函数: * \(p_{\theta}(\mathbf{z}|\mathbf{x})\)
  • *角色: * 它捕捉“物体不确定性”。如果模型看到一个从未遇到过的物体形状 (分布外数据,OOD) ,该流会给它分配一个低概率 (低似然) 。
  1. 抓取流 (抓取生成器) : 这取代了标准的解码器。它接收潜代码 \(z\) (包含形状信息) 并将其转换为抓取配置 \(g\)。
  • *函数: * \(p_{\theta}(\mathbf{g}|\mathbf{z})\) (简化符号)
  • *角色: * 它捕捉“视角不确定性”。它学习将抓取映射到物体的可见和不可见部分。因为它是一个流,它可以为生成的抓取分配一个似然分数。试图抓取物体不可见背面的动作,其似然值可能低于抓取可见正面的动作。
  1. 变分网络 (教师) : 仅在训练期间使用,该网络近似后验分布以帮助训练另外两个流。
  • *函数: * \(q_{\phi}(\mathbf{z}|\mathbf{x}, \mathbf{g})\)

数学魔法

为了训练这个系统,作者最大化变分下界 (ELBO) 。 然而,由于他们使用的是流模型,方程中的项比标准 VAE 更具表达力。

目标函数如下所示:

变分下界的方程,包含 KL 散度。

该方程试图平衡两件事:

  1. 重建: 确保生成的抓取能解释数据 (第一项) 。
  2. 正则化: 确保近似后验 (教师的想法) 与先验流 (学生的想法) 相匹配 (KL 项) 。参数 \(\beta\) 控制有多少“形状感知”信息被强制输入到潜变量中。

由于使用了归一化流,他们可以利用变量变换公式计算精确似然:

使用雅可比行列式最小化负期望对数似然的方程。

该公式包含雅可比矩阵的行列式 (\(det(J)\)) ,它跟踪概率空间的体积在流变换过程中膨胀或收缩的程度。这正是实现精确不确定性量化的关键。


形状感知内省 (Shape-Aware Introspection)

本文最重要的贡献之一是它处理不确定性的方式。在机器人技术中,知道自己“不知道”什么,与知道答案同样重要。

1. 物体不确定性 (先验流)

先验流纯粹以物体的点云为条件。如果机器人看到一个熟悉的物体 (如瓶子) ,该流会产生高似然值。如果它看到一个奇怪的、新颖的物体 (如它未受过训练的专用电动工具) ,似然值会下降。

这实际上充当了一个分布外 (OOD) 检测器

柱状图显示先验流对数似然分离了分布内 (蓝色) 和分布外 (红色) 物体。

在上面的图表中,请注意先验流对数似然 (Prior Flow Log-Likelihood) (上图) 。蓝色条 (熟悉物体) 和红色条 (新颖物体) 分离得很明显。这意味着机器人在尝试抓取之前,就能检测到它是否看到了奇怪的东西。

2. 视角不确定性 (抓取流)

抓取流以潜变量为条件。它隐式地学习物体的哪些部分是可见的,哪些是被遮挡的。

视角不确定性的可视化。物体不可见侧的抓取被标记为紫色 (低似然) 。

看上面的可视化图。输入是部分点云 (红色) 。

  • 黄色抓取: 高似然。这些通常位于可见的、确定的几何形状上。
  • 紫色抓取: 低似然。这些试图抓取物体背面或被遮挡的一侧。

由于形状不完整,抓取背面是有风险的——物体可能并不像机器人认为的那样延伸。FFHFlow 模型自然地给这些风险区域分配较低的置信度,而无需显式监督。

3. 内省式评估器

为了选择最佳抓取,作者提出了一种混合评分策略。他们不仅仅依赖二元的“成功/失败”分类器。他们将判别式抓取评估器 (\(f_{\psi}\)) 与来自抓取流的内省似然相结合。

结合抓取评估器分数和流对数似然的方程。

在这里,\(\epsilon\) 平衡了原始抓取质量与不确定性。这种策略优先考虑那些既在物理上稳定,又位于机器人对几何形状有信心的区域的抓取。


实验与结果

作者在仿真环境 (Gazebo) 和使用带有灵巧手的机械臂的真实世界中测试了 FFHFlow。

仿真和真实世界的实验设置。

数据集

他们在包含 77 个物体的 KIT 数据集上进行训练,并在“相似” (形状熟悉) 和“新颖” (形状全新) 的物体上进行测试。

用于数据生成的 KIT 数据集训练物体。

测试物体: 相似 (左) 和新颖 (右) 。

仿真结果

结果展示在表 1 中,非常有说服力。

比较成功率和运行时间的表格。FFHFlow-lvm 实现了最高的成功率。

  • 成功率: FFHFlow-lvm 在相似物体上达到 94.6% 的成功率,在新颖物体上达到 52.7% 。 这显著优于启发式基线 (20.9%) 和标准 cVAE (84.6%) 。
  • 与扩散模型的比较: 虽然基于扩散的方法 (DexDiffuser) 表现不错 (88.2%) ,但速度极慢。
  • 运行时间: 看看速度差异。FFHFlow 运行仅需 130ms 。 扩散模型需要 1610ms 。 在机器人技术中,这 1.5 秒的差异对于应对移动物体来说就像是一个世纪。

多样性分析

主要论点之一是 FFHFlow 生成了更“多样化”的抓取,避免了模式崩塌。

抓取分布的可视化。cVAE (a) 是聚集的。FFHFlow (c) 是多样化的,覆盖物体的方式与真值 (d) 相似。

  • (a) cVAE: 注意抓取是如何在物体顶部聚集在一起的?这就是模式崩塌。如果顶部抓取失败,机器人就没有备用计划。
  • (c) FFHFlow-lvm: 抓取分布在物体周围,覆盖了侧面和角落。这与 (d) 真值 (Ground Truth) 分布非常相似。这种多样性对于在杂乱环境中抓取至关重要,因为在那些环境中,“最佳”位置可能会被挡住。

真实世界与杂乱环境

对任何机器人理论的真正考验都是现实世界。作者在“受限”空间 (如架子) 和“杂乱”场景 (凌乱的桌子) 中测试了该系统。

包含未知物体和障碍物的杂乱场景。

在这些场景中,多样性是关键。如果架子挡住了顶部路径,机器人必须能够生成侧面抓取。

展示真实世界成功率的表格。FFHFlow-lvm 在受限空间中占主导地位。

在受限空间中,标准 cVAE 惨败 (10% 成功率) ,因为它不断建议与架子碰撞的抓取。 FFHFlow-lvm 达到了 65% 的成功率 , 证明其多样化的抓取生成使其能够找到替代的、无碰撞的路径。

真实世界杂乱场景中的前 5 个抓取。FFHFlow (左) 找到了手柄和主体;FFHNet (右) 则更受限。

在上图中,你可以看到 FFHFlow 模型 (左) 建议抓取钻头的手柄,而基线模型 (右) 则难以有效地覆盖物体。

不确定性感知的实际应用

“内省式”评分真的有帮助吗?

碰撞率和稳定性率随阈值变化的图表。

该图显示了当我们根据似然分数过滤抓取时会发生什么。

  • 上图 (碰撞) : 当我们只保留高似然抓取 (在 x 轴上向右移动) 时,碰撞率下降。 先验流 (红线) 特别擅长过滤掉碰撞,可能是因为它能检测到抓取何时不符合物体的整体形状。
  • 下图 (稳定性) : 抓取流 (蓝线) 比先验流能更好地过滤掉不稳定的抓取。

这证实了两个流捕捉到了不同且互补的不确定性类型。


结论与要点

FFHFlow 代表了机器人操作领域向前迈出的重要一步。通过摆脱僵化的各向同性高斯先验并拥抱归一化流的灵活性,研究人员取得了三大胜利:

  1. 多样性: 模型不只是学习一种抓取物体的方式;它学习了所有可能抓取的完整“流形”。
  2. 速度: 它比竞争的扩散模型快 10 倍以上,使其在实时控制中切实可行。
  3. 内省能力: 它提供了一个内置的“异常检测器”。机器人知道何时遇到了新物体,或者何时因为处于盲区而导致抓取风险。

对于机器人学和机器学习的学生来说,这篇论文是关于如何设计深度潜变量模型以解决特定物理约束的典范。它表明我们并不总是需要庞大的 Transformer 或缓慢的扩散模型;有时,一个结构良好的流模型能提供表达力和效率的完美平衡。

随着机器人从工厂走进我们凌乱、不可预测的家庭,这种具备不确定性感知的内省能力,将决定机器人是能成功递给你一杯咖啡,还是把它洒在你腿上。