文章概括

引用:

@article{wan2025diffpf,
  title={DiffPF: Differentiable Particle Filtering with Generative Sampling via Conditional Diffusion Models},
  author={Wan, Ziyu and Zhao, Lin},
  journal={arXiv preprint arXiv:2507.15716},
  year={2025}
}
Wan, Z. and Zhao, L., 2025. DiffPF: Differentiable Particle Filtering with Generative Sampling via Conditional Diffusion Models. arXiv preprint arXiv:2507.15716.

主页:
原文: https://arxiv.org/abs/2507.15716
代码、数据和视频: https://github.com/ZiyuNUS/DiffPF

系列文章:
请在 《 《 文章 》 》 专栏中查找



宇宙声明!


引用解析部分属于自我理解补充,如有错误可以评论讨论然后改正!



ABSTRACT

摘要——本文提出了 DiffPF,一种利用扩散模型进行动态系统状态估计的可微粒子滤波方法。不同于传统的可微粒子滤波方法(其通常需要重要性加权,并依赖预定义或容量受限的提议分布),DiffPF 通过将扩散模型条件化于预测粒子和当前观测,学习得到一个灵活的后验采样器。 这一设计使得模型能够从复杂的、高维且多模态的滤波分布中进行准确且等权重的采样。 我们在多种场景下对 DiffPF 进行了评估,涵盖单模态与高度多模态分布,并在仿真任务与真实世界任务中进行测试,其性能在各项实验中均持续优于现有的滤波基线方法。 具体而言,与当前最先进的可微滤波方法相比,DiffPF 在高度多模态的全局定位基准上将估计精度提升了 90.3%,并在真实世界机器人操作基准上取得了接近 50% 的性能提升。 据我们所知,DiffPF 是首个将条件扩散模型引入粒子滤波框架的方法,其能够实现高质量的后验采样,生成更具信息量的粒子,并显著提升状态估计性能。 代码已开源,地址为:https://github.com/ZiyuNUS/DiffPF

关键词——可微粒子滤波,扩散模型,贝叶斯状态估计,视觉里程计,生成模型。


I. INTRODUCTION

从部分且含噪的观测中估计动态系统的隐状态,是众多应用领域中的一个核心挑战。 卡尔曼滤波器及其扩展方法 [1] 长期以来一直是贝叶斯滤波框架中的标准工具。然而,这类方法依赖于线性模型和高斯噪声假设,这在很大程度上限制了它们在真实世界系统中的适用性,而真实系统往往是非线性的、高维的,并且呈现多模态行为。

作为另一类替代方法,粒子滤波通过一组带权样本来表示后验分布,而不依赖封闭形式的解析表达,从而避免了上述限制性假设。Bootstrap 粒子滤波器 [2] 是最常用的算法之一,其从状态转移模型中采样粒子,并根据观测似然为粒子分配权重。Rao-Blackwell 化粒子滤波器 [3] 通过使用参数化推断对部分隐状态进行解析边缘化,进一步提高了效率,并降低了采样方差。然而,这些方法仍然依赖于人工设计或容量受限的提议分布,并且在高维或感知复杂的场景中极易出现样本退化问题。

近年来,深度学习的发展为传统状态估计方法提供了数据驱动的替代方案。 深度状态空间模型(DSSMs) [4] 提供了一个统一的建模框架,能够刻画非线性的隐状态动力学并处理高维输入,因此特别适用于复杂的真实世界环境。 可微粒子滤波器(DPFs) 是一类将基于采样的滤波过程嵌入 DSSMs 的方法 [5], [6],使得在学习到的动力学和观测模型上能够进行端到端的递归贝叶斯推断学习。 然而,大多数 DPF 仍然继承了传统粒子滤波中的若干局限性。 DPF 中使用的提议分布通常是人工设计的或表达能力有限,因此难以逼近真实的滤波后验分布 [7]。 此外,这类方法依赖于重要性采样,需要对粒子进行显式加权,而在高维或高度多模态场景下,由于粒子退化,该过程会变得极不稳定。


在这里插入图片描述图 1:一个由 U-Net 参数化的条件扩散模型用于建模滤波后验分布,并通过迭代去噪生成等权重的粒子样本。


为克服上述挑战,我们引入扩散模型作为一种强大的隐式采样器,能够刻画复杂且多模态的后验分布。 这使得滤波过程中的状态更新步骤具备更强的表达能力和可学习性。 具体而言,如图 1 所示,DiffPF 使用扩散模型进行状态更新,并以预测粒子和当前观测作为条件,生成精细化的后验样本。 DiffPF 在方法上区别于传统粒子滤波,不再依赖重要性采样和显式的提议分布。 相反,它利用扩散模型直接从滤波后验分布中采样,从而在无需粒子加权的情况下实现精确推断。 这种基于采样但无需权重的方法天然地避免了粒子退化问题,从而消除了不可微的重采样步骤,同时能够支持多模态和高维分布。

我们的主要贡献总结如下:

  • 我们提出了一种利用扩散模型进行隐状态估计的可微滤波框架。据我们所知,这是首次将扩散模型应用于可微粒子滤波。

  • 我们的方法通过隐式建模并采样后验分布,实现了高质量、无权重的推断,从而避免粒子退化、消除人工设计提议分布的需求,并在完全可微、端到端可训练的框架下支持高维、多模态后验分布。

  • 我们在多种合成与真实世界场景中对 DiffPF 进行了评估,涵盖单模态与多模态分布。在所有基准任务中,该方法均显著优于现有最先进的可微滤波方法。


II. RELATED WORKS

A. Particle filter

粒子滤波(PF)是一类序贯蒙特卡洛方法,被广泛用于非线性、非高斯系统中的递归状态估计 [8]。经典方法(如 Bootstrap 滤波器 [2])遵循采样–重要性–重采样(SIR)框架 [9],通过带权粒子来近似滤波分布。尽管理论上具有通用性,传统粒子滤波方法往往面临粒子退化问题(即大多数粒子的权重趋近于零),并且在高维或感知复杂的环境中难以设计有效的提议分布。已有多种扩展方法 [9] 试图通过提升采样效率来缓解上述问题,但在复杂状态空间中,它们通常仍受限于权重坍缩和提议分布设计困难这两大挑战。

B. Differentiable Particle Filters

上述传统方法通常假设系统动力学或观测模型是已知的,而这一假设在真实世界场景中往往并不成立 [10]。 可微粒子滤波(DPF) [5]–[7], [11]–[15] 通过将神经网络引入滤波过程,支持端到端的数据驱动学习,从而缓解了这一问题。

大多数 DPF 通过以下方式建模状态转移动力学:使用全连接网络 [6], [7]、循环神经网络结构(如 LSTM 和 GRU)[12], [15],或带有可学习噪声参数的固定参数化模型 [14],将先前状态映射到下一隐状态。 观测模型通常由神经网络实现,其要么输出某一预定义分布的参数(例如高斯分布的均值和方差)[15],要么生成未归一化的得分并将其解释为伪似然 [11]。 尽管在简单场景下效果良好,这类设计通常受限于特定分布族,难以表示复杂或多模态的后验分布,从而限制了滤波分布的表达能力,也促使人们寻求更灵活、更通用的框架。

用于指导粒子采样的提议分布通常是人工设计的 [16], [17],或由一个以当前观测(以及可能的历史状态)为条件的神经网络实现。 在许多 DPF 中,状态转移模型被直接复用为提议分布,并且粒子往往通过回归方式确定性生成而非随机采样,这会导致粒子退化 [18]、降低粒子质量,并限制滤波分布的表示能力。 尽管文献 [10] 提出了使用归一化流从提议分布中采样的方法,但该方法仍然局限于重要性采样框架,并且由于同时从多个分布中采样,容易产生累积的估计误差。 为了支持基于梯度的学习,DPF 必须解决传统重采样操作不可微的问题。 已有多种方法用可微近似 [19] 替代硬重采样,例如软重采样 [7] 和带熵正则化的最优传输求解器 [11]。 尽管这些近似方法使梯度能够通过重采样步骤传播,但它们通常引入额外的计算复杂度或需要任务相关的调参,并且粒子退化问题仍可能存在。

C. Diffusion Models for Probabilistic Modeling

生成建模在多个领域中受到了日益广泛的关注 [20], [21]。 近年来的生成建模研究表明,扩散模型能够有效刻画多种数据类型中复杂且多模态的分布。 扩散模型通过逐步去噪潜变量的方式运行 [22], [23],因此在表示不确定性和复杂数据结构方面具有显著优势。

在机器人领域,Diffusion Policy [24] 和 NoMaD [25] 等方法已经证明,条件扩散模型能够通过刻画动作分布的内在多模态性来有效生成动作序列 [26]。 与此同时,扩散模型在轨迹生成任务中的有效性也受到了广泛关注 [27], 基于上述任务中的成功经验,我们进一步探索扩散模型在状态估计中的潜力。 已有研究尝试将扩散模型引入卡尔曼滤波框架 [29]。 在此基础上,我们进一步提出了一种新的基于采样的框架,将扩散模型集成到可微粒子滤波中,并设计了高效的端到端训练算法以支持滤波器的构建。


III. METHOD

序贯推断中,贝叶斯滤波的目标是通过后验分布
post ( x t ) : = p ( x t ∣ o 1 : t , a 1 : t ) \text{post}(x_t) := p(x_t \mid o_{1:t}, a_{1:t}) post(xt):=p(xto1:t,a1:t)
对当前状态 x t x_t xt 进行递归估计。 在马尔可夫假设下,来自历史观测 o 1 : t o_{1:t} o1:t 和动作 a 1 : t a_{1:t} a1:t 的所有相关信息,都由当前后验分布 post ( x t ) \text{post}(x_t) post(xt) 所完整刻画。 通过利用在给定隐状态条件下观测与动作之间的条件独立性,推断过程可以递归地分解为两个步骤——预测步骤更新步骤 [6], [30]。 如图 2 所示,我们的方法遵循上述两步式贝叶斯滤波流程,并使用一组等权重粒子
χ t : = { x t ( i ) } i = 1 N \chi_t := \{x_t^{(i)}\}_{i=1}^{N} χt:={xt(i)}i=1N
来表示后验分布 post ( x t ) \text{post}(x_t) post(xt)。 本节其余部分将对所提出框架的各个组成模块进行详细说明。


在这里插入图片描述图 2:在时间步 t t t,将时间 t − 1 t-1 t1 时刻估计得到的粒子通过状态转移(过程)模型进行传播,从而获得当前状态的先验分布。 与此同时,当前观测 o t o_t ot 被编码为相应的特征表示。 这两类信息共同作为条件输入到扩散模型中,扩散模型通过迭代去噪的方式对一组带噪潜变量样本进行逐步细化,最终生成一组等权重粒子,以近似表示滤波后验分布。 不同于 DnD Filter [29] 采用类似卡尔曼滤波的方式,利用扩散模型将先验与观测融合为单一轨迹,DiffPF 保留了一整组粒子,从而显式地表示后验分布。


A. Prediction and Perception Modeling

给定一组表示时间 t − 1 t-1 t1 时刻后验分布的 N N N 个粒子 { x t − 1 ( i ) } i = 1 N \{x_{t-1}^{(i)}\}_{i=1}^{N} {xt1(i)}i=1N,我们通过过程模型对其进行传播,从而得到当前时间步的预测粒子集合 χ ^ t : = { x ^ t ( i ) } i = 1 N \hat{\chi}_t := \{\hat{x}_t^{(i)}\}_{i=1}^{N} χ^t:={x^t(i)}i=1N。具体而言,每个粒子通过一个可学习或已知的过程模型 f dyn f_{\text{dyn}} fdyn 进行传播,其形式为:

x ^ t ( i ) = f dyn ( x t − 1 ( i ) , a t ) , ( 1 ) \hat{x}_t^{(i)} = f_{\text{dyn}}(x_{t-1}^{(i)}, a_t), \quad (1) x^t(i)=fdyn(xt1(i),at),(1)

其中, a t a_t at 表示时间 t t t 时刻的动作。 通过该步骤,来自动作序列 a 1 : t a_{1:t} a1:t 以及历史观测 o 1 : t − 1 o_{1:t-1} o1:t1 的相关信息被编码进预测粒子集合 { x ^ t − 1 ( i ) } i = 1 N \{\hat{x}_{t-1}^{(i)}\}_{i=1}^{N} {x^t1(i)}i=1N 中。 过程模型 f dyn f_{\text{dyn}} fdyn 可以基于系统先验知识采用参数化形式进行定义,也可以通过数据驱动的方式进行学习,例如使用多层感知机(MLP)随机模型 [31],或归一化流等生成式方法 [32]。

与此同时,当前观测 o t o_t ot 通过一个神经感知模型 g obs g_{\text{obs}} gobs 进行处理,以提取观测特征:

f t = g obs ( o t ) . ( 2 ) f_t = g_{\text{obs}}(o_t). \quad (2) ft=gobs(ot).(2)

该特征表示编码了与隐状态相关的感知信息

不同于依赖预定义分布族人工指定噪声模型来刻画动力学和观测过程的传统可微滤波方法,我们的方法引入的假设更少,并在不同场景下展现出更好的泛化能力

为融合来自先验与当前观测 o t o_t ot 的信息,我们引入一个可学习的融合机制,对预测粒子与感知特征进行聚合:

c t = Fusion ( f t , { x ^ t ( i ) } i = 1 N ) , ( 3 ) c_t = \text{Fusion}(f_t, \{\hat{x}_t^{(i)}\}_{i=1}^{N}), \quad (3) ct=Fusion(ft,{x^t(i)}i=1N),(3)

其中, c t c_t ct 通过过程模型与感知模型聚合了来自 o 1 : t o_{1:t} o1:t a 1 : t a_{1:t} a1:t 的时间序列信息,并作为后续扩散过程的条件输入

B. Update Step

更新步骤通过引入最新观测信息,对当前状态的先验信念进行修正。 在传统的可微粒子滤波方法中,更新通常通过基于观测模型为粒子分配重要性权重来实现,随后通过重采样来缓解粒子退化问题。 然而,这些过程通常需要精心设计的似然函数,并且包含不可微的操作。 相比之下,我们的方法通过条件扩散模型隐式方式完成更新步骤。 具体而言,我们作出如下假设:
post ( x t ) ≈ p ( x t ∣ c t ) . ( 4 ) \text{post}(x_t) \approx p(x_t \mid c_t). \quad (4) post(xt)p(xtct).(4)

该假设是合理的,因为 c t c_t ct 已经聚合了来自观测序列 o 1 : t o_{1:t} o1:t 与动作序列 a 1 : t a_{1:t} a1:t 的全部时间信息。 因此,我们不再直接从难以处理的后验分布 p ( x t ∣ o 1 : t , a 1 : t ) p(x_t \mid o_{1:t}, a_{1:t}) p(xto1:t,a1:t) 中采样,而是选择从近似分布 p ( x t ∣ c t ) p(x_t \mid c_t) p(xtct) 中进行采样。 由此得到一组粒子 { x t ( i ) } i = 1 N \{x_t^{(i)}\}_{i=1}^{N} {xt(i)}i=1N,进而可得到:

post ( x t ) ≈ 1 N ∑ i = 1 N δ ( x t − x t ( i ) ) , ( 5 ) \text{post}(x_t) \approx \frac{1}{N} \sum_{i=1}^{N} \delta(x_t - x_t^{(i)}), \quad (5) post(xt)N1i=1Nδ(xtxt(i)),(5)

其中 δ ( ⋅ ) \delta(\cdot) δ() 表示 Dirac 函数。 这表明所有采样得到的粒子具有相同权重,从而不再需要加权或重采样操作

Dirac 函数 δ ( x ) \delta(x) δ(x) 表示“概率(或质量)完全集中在某一个确定点上”的数学对象;在式 (5) 中, δ ( x t − x t ( i ) ) \delta(x_t-x_t^{(i)}) δ(xtxt(i)) 表示第 i i i 个粒子把全部后验概率集中在状态 x t ( i ) x_t^{(i)} xt(i) 这一点上,整式就是用 N N N 个等权粒子来近似连续后验分布。

已有研究表明,扩散模型通过学习时间相关的 score 函数来引导噪声扰动过程的反向演化,从而能够逼近任意复杂的概率分布 [33]。 在本文中,我们训练一个条件扩散模型来近似 p ( x t ∣ c t ) p(x_t \mid c_t) p(xtct),并用于生成粒子样本。 具体而言,我们采用 去噪扩散概率模型(DDPM) 来构建反向扩散过程,该过程通过迭代方式将随机高斯样本逐步细化,逼近目标后验分布。 我们首先从如下高斯分布中采样初始样本:

x t , K ( i ) ∼ N ( 0 , I ) , ( 6 ) x_{t,K}^{(i)} \sim \mathcal{N}(0, I), \quad (6) xt,K(i)N(0,I),(6)

其中 K K K 表示反向扩散过程的总步数。 在每一步 k k k,模型预测噪声项 ϵ θ ( x t , k ( i ) , k , c t ) \epsilon_\theta(x_{t,k}^{(i)}, k, c_t) ϵθ(xt,k(i),k,ct),并据此推断在时间步 k − 1 k-1 k1 处的更干净样本:

x t , k − 1 ( i ) = 1 α ( x t , k ( i ) − 1 − α 1 − α ˉ ϵ θ ( x t , k ( i ) , k , c t ) ) + σ z , : = β ( x t , k ( i ) + γ ϵ θ ( x t , k ( i ) , k , c t ) ) + σ z . ( 7 ) x_{t,k-1}^{(i)} = \frac{1}{\sqrt{\alpha}} \left(x_{t,k}^{(i)} - \frac{1-\alpha}{\sqrt{1-\bar{\alpha}}}\epsilon_\theta(x_{t,k}^{(i)}, k, c_t)\right) + \sigma z, \\ := \beta \left(x_{t,k}^{(i)} + \gamma \epsilon_\theta(x_{t,k}^{(i)}, k, c_t)\right) + \sigma z. \quad (7) xt,k1(i)=α 1(xt,k(i)1αˉ 1αϵθ(xt,k(i),k,ct))+σz,:=β(xt,k(i)+γϵθ(xt,k(i),k,ct))+σz.(7)

其中 z ∼ N ( 0 , I ) z \sim \mathcal{N}(0, I) zN(0,I) x t , k ( i ) x_{t,k}^{(i)} xt,k(i) 表示在扩散步骤 k k k 处的第 i i i 个带噪样本。 α \alpha α α ˉ \bar{\alpha} αˉ σ \sigma σ 为文献 [34] 中定义的固定噪声调度参数,而 β \beta β γ \gamma γ 为引入的缩放系数。 该随机细化过程递归执行直至 k = 0 k = 0 k=0,最终得到粒子样本 x t , 0 ( i ) = x t ( i ) x_{t,0}^{(i)} = x_t^{(i)} xt,0(i)=xt(i)。 上述反向扩散过程重复执行 N N N 次,从而生成最终的粒子集合 χ t = { x t ( i ) } i = 1 N \chi_t = \{x_t^{(i)}\}_{i=1}^{N} χt={xt(i)}i=1N

1) 先说这一步到底在干嘛:从 k k k 步的“更脏样本”得到 k − 1 k-1 k1 步“更干净样本”

  • x t , k ( i ) x_{t,k}^{(i)} xt,k(i):第 i i i 个粒子在扩散第 k k k 步时的状态(还带噪声)。
  • x t , k − 1 ( i ) x_{t,k-1}^{(i)} xt,k1(i):往前走一步后的状态(噪声更少、更接近真实后验样本)。

所以(7)就是“反向扩散一步更新公式”。


2) 逐项解释第一行(DDPM标准写法)

x t , k − 1 ( i ) = 1 α ( x t , k ( i ) − 1 − α 1 − α ˉ ϵ θ ( x t , k ( i ) , k , c t ) ) + σ z , x_{t,k-1}^{(i)} = \frac{1}{\sqrt{\alpha}} \left(x_{t,k}^{(i)} - \frac{1-\alpha}{\sqrt{1-\bar{\alpha}}}\epsilon_\theta(x_{t,k}^{(i)}, k, c_t)\right) + \sigma z, xt,k1(i)=α 1(xt,k(i)1αˉ 1αϵθ(xt,k(i),k,ct))+σz,

把它分成 三块 看:

(A) “当前样本” x t , k ( i ) x_{t,k}^{(i)} xt,k(i)

这是你手里的“带噪版本”。

(B) “去噪方向”项: ϵ θ ( x t , k ( i ) , k , c t ) \epsilon_\theta(x_{t,k}^{(i)},k,c_t) ϵθ(xt,k(i),k,ct)

  • ϵ θ ( ⋅ ) \epsilon_\theta(\cdot) ϵθ() 是神经网络输出,通常训练目标就是预测当前样本里含有的噪声(DDPM经典做法)。
  • 输入里有 c t c_t ct,表示这是条件扩散:网络不是盲目去噪,而是“看着条件 c t c_t ct”去生成符合后验的样本。

直观理解:

网络告诉你:这团东西里“噪声大概长什么样/该往哪里减”。

(C) 为什么前面要乘这么多系数?

你看到的 1 − α 1 − α ˉ 和 1 α \frac{1-\alpha}{\sqrt{1-\bar{\alpha}}} \quad\text{和}\quad \frac{1}{\sqrt{\alpha}} 1αˉ 1αα 1 这些不是随便写的,是 DDPM 的噪声调度推导出来的“正确缩放”。 你只要把它当成两类作用:

  1. 1 − α 1 − α ˉ \frac{1-\alpha}{\sqrt{1-\bar{\alpha}}} 1αˉ 1α:控制“减掉多少预测噪声”

    • ( 1 − α ) (1-\alpha) (1α) 越大,说明这一步噪声成分越重,要减得更明显。
    • α ˉ \bar{\alpha} αˉ 是累计量(从1到k的乘积那种累计),它反映到第 k k k 步总体噪声比例有多少,所以要用它来归一化尺度。
  2. 1 α \frac{1}{\sqrt{\alpha}} α 1:把整体尺度拉回正确范围 去噪之后,样本的方差/尺度需要按 DDPM 的数学关系做一次“校准”,不然数值会飘。

傻瓜类比: 你在修一张照片:先用“降噪滤镜”减掉噪点(B),但减噪力度要根据当前噪声程度调(C1),修完还要把亮度/对比度拉回正常(C2)。

(D) 随机项: + σ z +\sigma z +σz

  • z ∼ N ( 0 , I ) z\sim\mathcal{N}(0,I) zN(0,I):标准高斯噪声。
  • σ \sigma σ:这一小步要加多少随机性。

它的意义是:

  • 让采样有“多样性”:同一个条件 c t c_t ct 下,后验可能是多峰的(多种可能状态),加随机项才可能采出不同模式的粒子。
  • 也符合 DDPM 反向过程是一个随机过程的设定。

关键点:
去噪项决定“往哪靠近目标分布”,随机项保证“能覆盖分布的多个可能性”。两者缺一不可。


3) 第二行 “:= … ” 到底是什么意思?它不是新公式,是“重参数化/改写”

你原文写:

: = β ( x t , k ( i ) + γ ϵ θ ( x t , k ( i ) , k , c t ) ) + σ z . := \beta \left(x_{t,k}^{(i)} + \gamma \epsilon_\theta(x_{t,k}^{(i)}, k, c_t)\right) + \sigma z. :=β(xt,k(i)+γϵθ(xt,k(i),k,ct))+σz.

这个符号 “:=” 的意思是:

我定义一种等价写法,把一堆常数系数合并成更简洁的 β , γ \beta,\gamma β,γ

由于所有粒子具有相同权重,最终状态估计可由粒子集合的均值给出:

x t = 1 N ∑ i = 1 N x t ( i ) . ( 8 ) {x}_t = \frac{1}{N} \sum_{i=1}^{N} x_t^{(i)}. \quad (8) xt=N1i=1Nxt(i).(8)

通过在更新步骤中引入扩散模型,本文框架能够在保持完全可微性的同时,有效逼近复杂且多模态的后验分布并生成高质量样本。 此外,该方法消除了对人工设计提议分布的需求,并规避了重要性采样框架中所需的加权与重采样过程,从而提高效率并避免粒子退化问题。

C. End-to-End Training

扩散模型的训练遵循标准的 DDPM(Denoising Diffusion Probabilistic Model)公式化框架 [23]。 在每一次训练迭代中,首先在随机选取的扩散时间步 k k k 下,将高斯噪声加入到干净的真实状态 x t , 0 ∗ x^{*}_{t,0} xt,0 中,从而生成对应的带噪状态 x t , k ∗ x^{*}_{t,k} xt,k。 去噪网络 ϵ θ \epsilon_\theta ϵθ 采用 U-Net 架构实现(见图 1),其训练目标是在给定扩散时间步 k k k 和融合向量 c t c_t ct 的条件下,预测加入的噪声 ϵ \epsilon ϵ。 训练目标是最小化预测噪声与真实噪声之间的均方误差

L = E x t , 0 ∗ , k , c t , ϵ [ ∣ ∣ ϵ − ϵ θ ( x t , k ∗ , k , c t ) ∣ ∣ 2 ] . ( 9 ) \mathcal{L} = \mathbb{E}_{x^{*}_{t,0}, k, c_t, \epsilon} \big[ ||\epsilon - \epsilon_\theta(x^{*}_{t,k}, k, c_t)||^2 \big]. \quad (9) L=Ext,0,k,ct,ϵ[∣∣ϵϵθ(xt,k,k,ct)2].(9)

系统中的所有组件——包括过程模型、观测编码器以及融合模块——均与扩散模型一同进行端到端联合训练,以确保整个框架在优化过程中的一致性。


IV. EXPERIMENTS

我们在四项具有挑战性的状态估计任务上对 DiffPF 进行评估:(1)基于合成图像的目标跟踪任务;(2)具有显著多模态特性的模拟全局定位任务;(3)真实世界的 KITTI 视觉里程计基准;以及(4)机器人操控任务。

在后续实验中,我们将 DiffPF 与一系列具有代表性的基线方法进行了比较,包括 Deep State-Space Model(Deep SSM)[4]、Particle Filter Recurrent Neural Networks(PFRNNs)[15]、Particle Filter Networks(PFNets)[7]、基于归一化流的可微粒子滤波方法(NF-DPFs)[10]、Autoencoder Sequential Monte Carlo(AESMC)及其 bootstrap 变体(AESMC-Bootstrap)[16]、[17],以及其他可微滤波与平滑方法 [14]、[35]–[37]。 所有基于 DPF 的基线方法均使用 100 个粒子进行评估,而 DiffPF 在未特别说明的情况下仅使用 10 个粒子。 在所有实验中,扩散模型中的噪声预测器均采用 三层 U-Net 实现,扩散步数在未另行说明时统一设为 10 步。 DiffPF 的训练与评估均在一台配备 NVIDIA GeForce RTX 4080 GPU 和 Intel i7-14700KF CPU 的工作站上完成。 训练过程中采用 AdamW 优化器,初始学习率设为 1 × 10 − 4 1\times10^{-4} 1×104,并使用余弦退火学习率调度策略。 模型共训练 1000 个 epoch,并在前 4 个 epoch 中启用 warmup 策略。 在圆盘跟踪任务中,batch size 设为 50;而在全局定位任务中,batch size 设为 100。 对于 KITTI 视觉里程计任务和机器人操控任务,由于采用基于折分(fold-based)的训练协议,batch size 会随不同折而变化。 完整的实验配置细节已在我们公开的代码中给出。

A. Vision-based Disk Tracking 基于视觉的圆盘跟踪

概述:该任务的目标是在一个拥挤的二维环境中估计某一特定圆盘的运动轨迹,在该环境中大量干扰圆盘同时运动。 目标圆盘的位置被视为系统的隐状态。 该任务的主要挑战在于目标圆盘运动过程中会出现不同程度的遮挡(如图 3 所示),这会在观测中引入动态不确定性。 对于滤波方法而言,关键在于能否有效利用预测阶段所提供的时间信息以及从当前观测中提取的信息


在这里插入图片描述图 3:由三帧图像组成的序列,其中目标圆盘以黄色框标出。该序列展示了由于其他干扰圆盘造成的三种不同程度的遮挡情况。


数据:我们严格遵循文献 [10] 中使用的数据集与仿真设置。 该数据集包含 500 条训练序列和 50 条测试序列,每条序列由 50 帧大小为 128 × 128 128\times128 128×128 的 RGB 图像组成。 每一帧图像中包含一个目标圆盘和 25 个干扰圆盘,所有圆盘的初始位置均服从均匀随机分布。 目标红色圆盘的半径固定为 7 个像素,而干扰圆盘在尺寸和颜色上均有所变化。 圆盘的运动动力学模型与文献 [14] 中的设定保持一致。

实现细节:在时间步 t t t,我们使用给定的速度 v t ∗ v_t^* vt 作为输入,对 x t − 1 ( i ) x_{t-1}^{(i)} xt1(i) 生成先验估计。 如下公式作为本文采用的过程模型:

x ^ t ( i ) = x t − 1 ( i ) + v t ∗ . ( 10 ) \hat{x}_t^{(i)} = x_{t-1}^{(i)} + v_t^*. \quad (10) x^t(i)=xt1(i)+vt.(10)

由于过程模型并不完美,需要利用当前观测 o t o_t ot 来对先验估计进行修正。 我们采用文献 [10] 中提出的网络结构作为感知模型。 为将预测粒子集合 { x ^ t ( i ) } i = 1 N \{\hat{x}_t^{(i)}\}_{i=1}^{N} {x^t(i)}i=1N 与观测 o t o_t ot 融合,我们首先将粒子集 { x ^ t ( i ) } i = 1 N \{\hat{x}_t^{(i)}\}_{i=1}^{N} {x^t(i)}i=1N 合转换为热力图表示。 观测 o t o_t ot 由感知模型进行编码,而热力图则由一个具有相同网络结构的独立网络进行处理。 两个网络的输出随后被拼接,形成特征表示 c t c_t ct,并作为扩散模型的条件输入。

结果:我们从三个方面对所提出的 DiffPF 方法进行评估:

1)基准对比。我们将 DiffPF 与多种基线方法进行比较,包括 DeepSSM、AESMC-Bootstrap、AESMC、PFRNN、PFNet 以及 NF-DPF。在可行的情况下,所有方法均采用相同的过程模型和观测模型。

2)消融分析。我们通过一系列对照实验进一步分析方法设计的影响,包括:

  • 扩散步数的影响。我们比较了两个变体 DiffPF(5s) 与 DiffPF(10s),分别使用 5 步和 10 步扩散过程;

  • 过程模型先验的影响。我们通过向过程模型公式(10)中注入不同强度的噪声进行消融实验,对应方法记为 DiffPF(σ),其中 σ 控制加入到动力学中的噪声标准差。同时,我们还测试了移除先验预测的变体,记为 DiffPF(no pred)。

3)推理效率。我们评估了 DiffPF 在不同扩散步数设置下的运行时间。

所有方法均使用预测轨迹与真实轨迹之间的 均方误差(MSE) 作为评估指标。 实验结果汇总于表 I 和表 II 中。


在这里插入图片描述表 I:用于消融分析与基线方法对比的实验结果。结果的均值与标准差由使用不同随机种子的 5 次独立实验计算得到。



在这里插入图片描述表 II:在不同扩散步数设置下的推理频率。结果的均值由使用不同随机种子的 5 次独立实验计算得到。


对比分析:如表 I 和表 II 所示,DiffPF 在使用显著更少粒子数的情况下,依然在精度与稳定性方面持续优于现有可微粒子滤波方法,相比 NF-DPF 实现了 62.2% 的性能提升。 增加扩散步数能够进一步提升估计精度,同时在大多数设置下推理仍可保持实时性,GPU 显存占用仅为 224.1 MB。 引入过程模型所提供的预测状态可使 MSE 降低 73.8%,并且 DiffPF 在先验扰动条件下仍表现出较强的鲁棒性。

B. Global Localization

概述:该任务旨在基于观测到的图像与里程计数据,在 DeepMind Lab [38] 中模拟的三个迷宫环境内,对机器人的位姿进行估计。 该任务的主要挑战在于观测具有高度多模态性:由于我们采用了与文献 [6] 相同的实验设置,环境中的独特纹理被刻意移除,从而导致迷宫中多个不同位置会产生几乎相同的观测图像。 图 4 展示了一个观测图像示例,以及其在地图上对应的多个候选位姿。


在这里插入图片描述图 4:(a)机器人采集到的一帧观测图像示例。 (b)红色箭头表示真实位姿,蓝色箭头表示在地图中产生相似观测的其他候选位姿,用以说明观测到状态映射的多模态特性。


数据:与文献 [10] 保持一致,数据集被划分为 900 条训练序列和 100 条测试序列,每条序列包含 100 个时间步。 真实状态定义为机器人的位置与朝向,表示为 x t ∗ : = ( p t , x ∗ , p t , y ∗ , θ t ∗ ) , x_t^* := (p_{t,x}^*, p_{t,y}^*, \theta_t^*), xt:=(pt,x,pt,y,θt), 动作 a t ∗ = ( u t ∗ , v t ∗ , Δ θ t ∗ ) a_t^* = (u_t^*, v_t^*, \Delta\theta_t^*) at=(ut,vt,Δθt) 表示机器人在自身坐标系下的速度信息。 原始的 32 × 32 32\times32 32×32 RGB 观测图像被随机裁剪为 24 × 24 24\times24 24×24,并加入标准差为 σ = 20 \sigma=20 σ=20 的高斯噪声,以引入视觉不确定性。

实现细节:在时间步 t t t,我们使用给定的输入 a t ∗ a_t^* at 来生成粒子状态的先验估计 x t ( i ) = ( p t , x ( i ) , p t , y ( i ) , θ t ( i ) ) . x_t^{(i)} = (p_{t,x}^{(i)}, p_{t,y}^{(i)}, \theta_t^{(i)}). xt(i)=(pt,x(i),pt,y(i),θt(i)). 我们构建如下的过程模型:

x ^ t ( i ) = [ p t , x ( i ) + u t ∗ cos ⁡ ( θ t ( i ) ) + v t ∗ sin ⁡ ( θ t ( i ) ) p t , y ( i ) + u t ∗ sin ⁡ ( θ t ( i ) ) − v t ∗ cos ⁡ ( θ t ( i ) ) θ t + Δ θ t ∗ ] + ω t , \hat{x}_t^{(i)} = \begin{bmatrix} p_{t,x}^{(i)} + u_t^* \cos(\theta_t^{(i)}) + v_t^* \sin(\theta_t^{(i)}) \\ p_{t,y}^{(i)} + u_t^* \sin(\theta_t^{(i)}) - v_t^* \cos(\theta_t^{(i)}) \\ \theta_t + \Delta\theta_t^* \end{bmatrix}+ \omega_t, x^t(i)= pt,x(i)+utcos(θt(i))+vtsin(θt(i))pt,y(i)+utsin(θt(i))vtcos(θt(i))θt+Δθt +ωt,

其中 ω t \omega_t ωt 表示均值为零、协方差为 Σ = d i a g ( 10 2 , 10 2 , 0.1 2 ) \Sigma = \mathrm{diag}(10^2, 10^2, 0.1^2) Σ=diag(102,102,0.12) 的高斯噪声。 我们采用与文献 [10] 相同的编码器作为感知模型。 为将预测粒子集合 { x ^ t ( i ) } i = 1 N \{\hat{x}_t^{(i)}\}_{i=1}^N {x^t(i)}i=1N 与观测 o t o_t ot 进行融合,我们首先使用感知模型对观测 o t o_t ot 进行编码,并将粒子集合展平成一个向量。 随后将二者进行拼接,构成扩散模型的条件输入 c t c_t ct。 模型首先仅基于观测进行预训练,随后在第二阶段训练中引入基于粒子的先验信息进行微调。

结果:在统一实验设置下,我们将 DiffPF 与上一基准实验中相同的一组基线方法进行比较,以评估整体性能。 为进一步分析该框架的设计,我们进行了多项消融实验。 首先,为评估过程模型先验的作用,我们引入了一个不使用该先验进行训练的变体,记为 DiffPF(no pred),以及若干向先验中注入不同噪声水平的变体 DiffPF( Σ \Sigma Σ)。 其次,我们通过改变粒子数量,并在各任务中测量推理频率与显存占用,来评估方法的粒子效率。 所有方法均使用预测位置与真实位置之间的 均方根误差(RMSE) 作为评估指标,评估位置为序列的最后一个时间步。 实验结果汇总于表 III、表 IV 和表 V 中。

在这里插入图片描述表 III:在最后时间步 t = 100 t = 100 t=100 处,预测机器人位置与真实位置之间的 RMSE。结果的均值与标准差由使用不同随机种子的 5 次独立实验计算得到。

在这里插入图片描述表 IV:粒子数量 N N N 对最后时间步 t = 100 t = 100 t=100 处 RMSE 的影响,结果为 5 次实验的平均值。

在这里插入图片描述表 V:在不同粒子数量设置下的推理频率与显存占用情况。结果的均值由使用不同随机种子的 5 次独立实验计算得到。

对比分析:如表 III 所示,DiffPF 在显著减少粒子数量的情况下,依然在精度与一致性方面优于现有可微粒子滤波方法。 与同样采用生成建模的 NF-DPF 相比,DiffPF 在 Maze 1、Maze 2 和 Maze 3 中分别实现了 86.8%、92.6% 和 91.6% 的性能提升。 此外,多次实验中观察到的显著更低方差进一步证明了该方法的鲁棒性与可靠性。

如图 5 所示,即使在最复杂、最具多模态特性的 Maze 3 环境中,DiffPF 也能够在早期阶段迅速收敛至接近真实值的位姿,而其他方法往往需要 50 步或更多时间才能达到相似精度。 引入过程模型先验可在三个迷宫环境中分别使 RMSE 降低 95.5%、96.4% 和 96.3%,表明该先验能够有效缓解观测到状态映射中的多模态歧义。 此外,在对先验施加中等强度扰动时,DiffPF 仍表现出较强的鲁棒性,其性能仅呈现逐步下降。 然而,当噪声水平极大(例如 10 Σ 10\Sigma 10Σ)时,如图 6 所示,先验不准确性有时会导致样本坍缩,表现为收敛到错误轨迹。 该现象可能源于多方面因素,包括训练数据中对极端扰动覆盖不足、训练或优化不充分导致的收敛不完全,以及在高度扰动动力学下模型容量受限等。 尽管如此,即便在这一极具挑战性的设置下,DiffPF 仍然优于几乎所有基线方法。

在这里插入图片描述图 5:使用 DiffPF 在一个序列中若干选定时间步上的位姿估计结果。 红色箭头表示真实位姿,绿色箭头表示估计位姿,蓝色箭头表示粒子集合。

在这里插入图片描述图 6:在高度噪声先验条件下,所提出的 DiffPF 发生样本坍缩的一个示例。 箭头标注方式与图 5 相同。

关于粒子数量的影响,表 IV 显示随着粒子数 N N N 的增加,估计精度与稳定性通常会提升。 值得注意的是,DiffPF 在仅使用 N = 10 N=10 N=10 个粒子时便可获得较低 RMSE,而当 N > 40 N>40 N>40 时,性能提升相对有限。 这表明与传统滤波方法相比,本文方法具有更高的粒子效率,后者即便使用更多粒子(如 100 个)仍难以达到相似精度。 在可扩展性方面,推理频率随 N N N 的增加近似线性下降,而显存占用则近似线性上升。 尽管如此,即便在 N = 80 N=80 N=80 的情况下,DiffPF 仍可保持实时推理速度,并且显存占用适中,进一步验证了该方法在较少粒子数下实现高精度估计的实用性

C. KITTI Visual Odometry

概述:我们在 KITTI 视觉里程计数据集 [39] 上评估所提出的方法,该任务的目标是利用双目相机采集的 RGB 图像以及给定的初始位姿,对车辆的位姿进行随时间的跟踪。 在该任务中,车辆位姿无法直接从图像中获取,而需要通过估计相邻帧之间的相对运动并随时间进行累积来推断。 这一过程极易产生漂移,尤其是在缺乏回环检测(loop closure)的情况下。 此外,数据集规模和多样性的有限性,也给模型在未见过的道路场景中的泛化能力带来了挑战。

数据:遵循文献 [14]、[29] 的实验设置,我们在 KITTI-10 数据集上评估 DiffPF。该数据集包含 10 条城市驾驶序列,每条序列均提供成对的双目图像以及以约 10 Hz 频率记录的真实位姿。 为进行数据增强,双目图像对被进行水平翻转处理;同时,序列被切分为固定长度的视频片段,并下采样至 50 × 150 像素分辨率。

实现细节:车辆状态表示为一个 5 维向量,观测输入包括当前 RGB 图像以及由前一帧计算得到的差分图像 [14]、[40]。 过程模型设计、传感器模型网络以及去噪网络均遵循文献 [29] 中的设置。 预测得到的粒子集合首先被展平,并与观测特征拼接,作为扩散模型的条件输入。 训练采用 10 折交叉验证策略,模型首先仅使用视觉观测进行预训练,随后再引入粒子集合进行微调。

结果:我们按照 KITTI 的标准评估指标,在长度为 100 帧的视频片段上进行评测。 位置误差和角度误差通过将最终预测位姿与真实位姿进行比较并按总行驶距离进行归一化计算,分别以 m/m 和 deg/m 为单位。

为保证评估的全面性,我们选取了多种不同类型的基线模型进行对比:

  1. 可微滤波方法:包括多种先前工作中提出的最先进的可微递归滤波器 [14]、[29]、[40]。 为确保公平对比,所有方法均采用相同的输入形式,并使用一致的传感器模型架构。

  2. LSTM:基于可微滤波领域的既有研究 [14]、[40],我们引入长短期记忆网络(LSTM)模型 [41] 作为对比。 具体而言,我们选择了单向 LSTM 以及融合动力学模型的 LSTM 作为基线方法 [14]。

  3. 平滑器方法:我们采用文献 [35] 中提出的可微平滑器,该方法基于因子图优化构建。 由于此类方法利用了完整的观测序列,因此相较于仅使用历史信息的滤波方法天然具有优势。

所有实验结果汇总于表 VI 中。


在这里插入图片描述表 VI:DiffPF 与基线模型在 KITTI 数据集上的性能对比。


对比结果:与主流可微滤波方法相比,DiffPF 在位置误差上降低了 25%,在姿态角误差上降低了 26%。 此外,其性能也优于 LSTM 以及可微平滑器方法。 这些结果凸显了扩散模型在刻画复杂后验分布方面的优势,从而实现了更有效的粒子采样以及更高质量的后验近似。 此外,该方法在推理阶段可达到 46.5 Hz 的运行频率,显存占用为 222.7 MB,显著高于视觉输入的 10 Hz 速率,表明其具备实时应用的可行性。

D. Robotic Manipulation

概述:我们在文献 [36] 所描述的机器人操作状态估计任务上评估所提出的方法。 该任务的目标是从 RGB 图像序列中估计并跟踪 UR5 机械臂在桌面操作过程中的内部状态,如图 7 所示。 在部分可观测条件下,系统需要仅依赖视觉输入,对高维机器人状态进行估计与递推。 实验同时在仿真环境与真实世界环境中进行,以评估方法在不同域之间的鲁棒性。


在这里插入图片描述图 7:UR5 机械臂操作任务中的示例图像序列。


数据:遵循文献 [36] 的实验流程与数据集设置,我们采用在仿真环境和真实机器人上采集的 UR5 操作序列。 内部状态 x ∈ R 10 x \in \mathbb{R}^{10} xR10,由 7 个关节角度以及末端执行器的笛卡尔空间位置组成。 RGB 图像作为观测输入。 所有序列均被切分为固定长度的视频片段,用于训练与评估。

实现细节:由于动作信息不可用,且数据采样频率较高,过程模型采用恒等状态转移,即 x ^ t ( i ) = x t − 1 ( i ) x̂_t^{(i)} = x_{t-1}^{(i)} x^t(i)=xt1(i). 传感器模型网络结构遵循文献 [36] 的设计。 为提升训练稳定性,模型首先仅使用视觉观测进行预训练。

结果:我们采用 平均绝对误差(MAE) 作为评价指标,分别评估关节角度和末端执行器位置的估计误差。 所有结果均与文献 [36]、[37] 中的方法和基线进行对比,并汇总于表 VII 中。


在这里插入图片描述表 VII:UR5 机械臂操作任务的实验结果评估。


对比结果:在 UR5 操作任务中,DiffPF 的估计误差显著低于现有的可微滤波方法。 在真实世界实验中,相较于最强基线方法,DiffPF 将末端执行器位置误差降低了 48%,关节角度误差降低了 43%,并在仿真环境中同样表现出一致的性能提升。 此外,DiffPF 的运行频率超过 50 Hz,表明其具备实时应用能力。 这些结果进一步表明,DiffPF 在扩展至更高维状态空间时仍能保持优异性能。


V. CONCLUSIONS

在本文中,我们提出了 DiffPF,一种将扩散模型引入递归贝叶斯估计流程的新型可微粒子滤波框架。 DiffPF 通过学习式去噪过程取代了手工设计的提议分布与重要性加权机制,从而实现了对复杂后验分布的灵活且完全可微的采样。 该条件扩散建模方式能够有效刻画多模态分布,缓解粒子退化问题,并消除了对重采样步骤的需求,从而得到更具表达力和鲁棒性的信念表示。 在仿真与真实世界任务上的实验结果均表明,DiffPF 相较于强基线方法取得了稳定的性能提升,凸显了该方法的通用性与鲁棒性。 未来工作可针对样本坍缩与模态丢失的潜在风险展开研究,例如探索 DiffPF 的加权变体,在引入重要性采样的同时进一步提升鲁棒性。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐