AffordDP

基于扩散的模仿学习模型具有高度的表达能力和灵活性,但它们在泛化到 out-of-domain distribution 时仍然面临挑战,这极大地限制了其实际部署的可能性。一些试图提高泛化性的工作,如 3D Diffusion Policy,仅限于相同类别的不同位姿。

人类可以轻松地将技能迁移到具有不同外观甚至不同类型的物体上,这种交互先验知识在物体层面上表现为知道“where”和“how”与物体交互以完成给定任务,称为可供性(affordances)

提出了一种新的基于可供性迁移的扩散策略,称为 AffordDP,以应对未知物体和类别的复杂操作任务。可迁移的可供性包括静态和动态可供性,通过捕获 3D 接触点和接触后轨迹,从而提供操作任务所需的“位置”和“方式”信息。

可迁移的可供性通过 in-domain 数据推导而来,并通过估计一个 6D 变换矩阵应用于未见过的物体。这一过程利用了基础视觉模型和 point cloud registration 技术。AffordDP 将可迁移的可供性作为扩散模型的条件信息,从而增强了其在多样化操作场景中的泛化能力。

仅将可迁移的可供性作为扩散条件可能不足以实现对未知机器人操作的零样本适应。为了解决这一挑战,扩散策略中引入了可供性引导采样过程。具体而言,可供性引导被定义为机器人末端执行器位置与静态可供性之间的距离。在扩散采样过程中,这种引导使生成的动作序列逐步向目标操作靠近,同时保持生成的动作在动作空间的流形内。

在 Real-world 表现中,明显优秀于 Diffusion Policy 和 DP3。


静态和动态可供性迁移

AffordDP 生成三维可供性(3D Affordances),记为 A=(c,τ)A = (c, \tau),其中 cR3c \in \R^3 代表接触点,τR3×N\tau \in \R^{3\times N} 代表接触后的轨迹。

可供性迁移的定义是:在给定源对象(Source Object)及其可供性的情况下,为目标对象(Target Object)生成可供性。指定目标对象后,AffordDP 会从对象记忆库(Object Memory)中检索最相似的对象。静态可供性 cc 通过语义对应(Semantic Correspondence)进行迁移,而动态可供性 τ\tau 则通过一个 6D 变换矩阵进行迁移,该矩阵的平移和旋转部分是独立推导的。

为了构建可供性记忆库(Affordance Memory)MM,我们使用 Grounded-SAM [26] 从图像中裁剪出目标对象,并利用 CLIP [24] 图像编码器提取特征向量 zz,记任务名称为 TT,从 RGB-D 图像恢复的可操作对象点云为 PP,则

M={(T,A,z,P)}M = \{ (T, A, z, P) \}

静态

静态可供性迁移的目标是:在给定源对象的三维接触点的情况下,找到目标对象的三维接触点。

具体来说,我们使用 SD-DINOv2 [38] 对特征进行上采样,以生成像素级的图像特征。通过匹配特征,用源对象静态可供性在二维图像中的位置 c2DSc_{2D}^S 找到目标的 c2DTc_{2D}^T,并投影回三维世界坐标 c3DTc_{3D}^T

动态

分别独立估计平移向量和旋转矩阵。

平移向量 tt 通过计算源对象和目标对象三维接触点之间的差值得到。

使用可提示 3D 分割模型 Point-SAM [40],以 c3Dc_{3D} 作为提示来分割可操作部分的点云,使用迭代最近点(ICP)算法 [4] 对这些 3D 部分点云进行配准,通过最小化以下目标函数来确定变换矩阵 T\bm T

E(T)=p,q((pTq)np)2E(\bm T) = \sum_{p, q} ((p - \bm Tq) \cdot \bm n_p)^2

其中 np\bm n_p 是法向量。进而计算出旋转矩阵 RR,于是

τT=RτS+t\tau^T = R \tau^S + t

可供性引导扩散策略

扩散模型的整体条件定义为

C={Ot,St,A}C = \{O_t, S_t, A\}

分别的,对于视觉观测 OtO_t,对场景点云进行裁剪和下采样,然后通过多层感知机(MLP)提取场景特征;用带有 [CLS] 标记的 Transformer 编码器来表示轨迹特征;通过独立的 MLP 提取接触点 ctc_t 和本体感知 StS_t 的特征,得到特征

ft={ftO,ftS,fA}f_t = \{f_t^O, f_t^S, f^A\}

训练噪声预测模型 ϵθ\epsilon_\theta,目标函数为

L=ϵkϵθ(atk,k,ft)2L = || \epsilon_k - \epsilon_\theta(a_t^k, k, f_t) ||^2

带有可供性引导的扩散采样

引入一项自适应损失函数 LgL_g,引导输出分布中满足特定任务条件的动作。

Lg=peec3D21{peec3D2<θ}L_g = || p_{ee} - c_{3D} ||_2 \cdot \bm 1\{|| p_{ee} - c_{3D} ||_2 < \theta\}

其中 peep_{ee} 是计算出的末端执行器的三维坐标。因此 AffordDP 能够生成指向目标操作位置的动作序列。