粒子滤波算法

    xiaoxiao2023-11-12  170

    1、前言

    粒子滤波器是一新类型的非线性滤波器,已成为一个解决非线性滤波问题的重要工具,因为它能应用于很多领域,如信号处理、雷达和声音媒体的目标跟踪、计算机视觉、神经计算。

    令 X n X_n Xn​表示所有的目标状态序列 { x i } i = 1 n {\lbrace x_i\rbrace} _{i=1}^n {xi​}i=1n​; Y n Y_n Yn​表示所有观测序列 { y i } i = 1 n {\lbrace y_i\rbrace} _{i=1}^n {yi​}i=1n​; 给定观测序列 Y n Y_n Yn​的条件下,所有状态 X n X_n Xn​的联合后验分布为 p ( X n ∣ Y n ) p(X_n|Y_n) p(Xn​∣Yn​); 由于 X n X_n Xn​表示的状态序列对观测者都是隐藏的,获得直接从后验分布 p ( X n ∣ Y n ) p(X_n|Y_n) p(Xn​∣Yn​)中随机取样通常是不可行的。因此从另外一个分布中取样,这一分布称为工具分布,用 q ( X n ∣ Y n ) q(X_n|Y_n) q(Xn​∣Yn​)来表示。为了使重要分布能够有效代替后验分布, q ( X n ∣ Y n ) q(X_n|Y_n) q(Xn​∣Yn​)必须有一个足够广的支集,以完全包括 p ( X n ∣ Y n ) p(X_n|Y_n) p(Xn​∣Yn​)的支集。

    2、 Monte Carlo积分

    所谓重要性抽样方法,即从重要性分布 q ( X n ∣ Y n ) q(X_n|Y_n) q(Xn​∣Yn​)中随机抽取N个统计独立且同分布的样本构成一个集合。令n时刻随机取出的样本集记为 X n ( i ) , i = 1 , 2 , . . . , N X_n^{(i)},i=1,2,...,N Xn(i)​,i=1,2,...,N,从零时刻开始直到n时刻,一步一步的,在状态空间中,根据重要性分布 q ( X n ∣ Y n ) q(X_n|Y_n) q(Xn​∣Yn​),N个样本追踪自己的“轨迹”。它们的轨迹记为 X n ( i ) X_n^{(i)} Xn(i)​,其中,i=1,2,…,N,称为粒子,因此面名为粒子滤波器。

    定义重要性函数: r ( X n ∣ Y n ) = p ( X n ∣ Y n ) q ( X n ∣ Y n ) (式1) r(X_n|Y_n)= \frac{p(X_n|Y_n)}{q(X_n|Y_n)}\tag{式1} r(Xn​∣Yn​)=q(Xn​∣Yn​)p(Xn​∣Yn​)​(式1) 利用贝叶斯估计量的定义: h ‾ = E p [ h ( X n ) ] = ∫ h ( X n ) p ( X n ∣ Y n ) d x n \overline h=E_p[h(X_n)]=\int h(X_n)p(X_n|Y_n)dx_n h=Ep​[h(Xn​)]=∫h(Xn​)p(Xn​∣Yn​)dxn​ 改写其定义,可以改写贝叶斯估计量的公式: h ‾ = E p [ h ( X n ) ] = ∫ h ( X n ) p ( X n ∣ Y n ) q ( X n ∣ Y n ) q ( X n ∣ Y n ) d x n = ∫ h ( X n ) r ( X n ∣ Y n ) q ( X n ∣ Y n ) d x n (式2) \overline h=E_p[h(X_n)]=\int h(X_n) \frac {p(X_n|Y_n)}{q(X_n|Y_n)} q(X_n|Y_n)dx_n = \int h(X_n)r(X_n|Y_n)q(X_n|Y_n)dx_n \tag{式2} h=Ep​[h(Xn​)]=∫h(Xn​)q(Xn​∣Yn​)p(Xn​∣Yn​)​q(Xn​∣Yn​)dxn​=∫h(Xn​)r(Xn​∣Yn​)q(Xn​∣Yn​)dxn​(式2) 其中 h ( X n ) h(X_n) h(Xn​)作为任意函数,为了使它和粒子滤波的术语保持一致性。 在式2的贝叶斯计量上运用重要性取样方法,得到相应的Monte Carlo估计量: h ^ n ( N ) ≈ 1 N ∑ i = 1 N w ~ n ( i ) h ( X n ( i ) (式3) \hat h_n(N) \approx \frac{1}{N}\sum _{i=1} ^N \widetilde {w}_n ^{(i)}h(X_n^{(i)} \tag{式3} h^n​(N)≈N1​i=1∑N​w n(i)​h(Xn(i)​(式3) 其中 w n ( i ) = w ~ n ( i ) ∑ j = 1 N w ~ n ( j ) , i = 1 , 2 , . . . , N (式4) w_{n} ^{(i)} = \frac{\widetilde w_n ^{(i)}}{\sum _{j=1} ^N \widetilde w_n ^{(j)}},i=1,2,...,N \tag{式4} wn(i)​=∑j=1N​w n(j)​w n(i)​​,i=1,2,...,N(式4) 对有限数量的粒子,N个,估计量 h ^ n ( N ) \hat h_n(N) h^n​(N)是有偏的,但是,在渐进的意义,满足下述关系: lim ⁡ N → ∞ h ^ ( N ) → h ‾ (式5) \lim _{N \to \infty} \hat h(N) \to \overline h \tag{式5} N→∞lim​h^(N)→h(式5)

    取样的第二阶段背后的基本原理: 重采样的第二阶段取出的样本 x ~ n ( i ) \widetilde x_n^{(i)} x n(i)​,它的标准化重要性权值 w n ( i ) w_n ^{(i)} wn(i)​很大,很有可能从联合后验分布 p ( X n ∣ Y n ) p(X_n|Y_n) p(Xn​∣Yn​);比起标准化重要性权值小的样本,应该以更大的概率选择这样的样本。 实现SIR的方式,每一次循环中进行以下操作: (1)、采样。随机地从重要性分布 q ( X ∣ Y ) q(X|Y) q(X∣Y)中抽取一个N个样品 { X ( i ) } \lbrace X ^{(i)}\rbrace {X(i)}_{i=1} ^N的iid集合。 (2)、加权。利用式4,计算相关的标准化权值 { w ( i ) } i = 1 N \lbrace w^{(i)}\rbrace _{i=1} ^N {w(i)}i=1N​的集合。 (3)、重采样。 (i)给定中间样本 X ( 1 ) , X ( 2 ) , . . , X ( N ) X^{(1)},X^{(2)},..,X^{(N)} X(1),X(2),..,X(N),条件独立地抽取含L个离散随机变量 { I 1 , I 2 , . . . , I N } \lbrace I^{1},I^{2},...,I^{N} \rbrace {I1,I2,...,IN}的集合,从集合 { 1 , 2 , . . N } \lbrace1,2,..N \rbrace {1,2,..N}中依概率 ( w 1 , w 2 , . . , w N ) (w^{1},w^{2},..,w^{N}) (w1,w2,..,wN)取值,如以下例子所示: P ( I ( 1 ) = j ) = w ( j ) , j = 1 , 2 , . . . , N P(I^{(1)}=j)=w^{(j)},j=1,2,...,N P(I(1)=j)=w(j),j=1,2,...,N 对 I ( 2 ) , . . , I ( L ) I^{(2)},..,I^{(L)} I(2),..,I(L)等,典型地,有 L ≤ N L\leq N L≤N。 (i)设 X ~ ( i ) = X ( I j ) \widetilde X ^{(i)}= X^{(I_j)} X (i)=X(Ij​),其中 i = 1 , 2 , . . . , L i=1,2,...,L i=1,2,...,L。 集合 { I ( 1 ) , I ( 2 ) , . . , I ( L ) } \lbrace I^{(1)}, I^{(2)},.., I^{(L)}\rbrace {I(1),I(2),..,I(L)}被认为是多项式实验过程,因此,根据SIR方法被描述为一种多项式类型。

    3、顺序重要性采样

    p ( X n ∣ Y n ) = ∫ 1 Z n p ( x n ∣ x n − 1 l ( y n ∣ x n ) p ( X n − 1 ∣ Y n − 1 ) d x n − 1 p(X_n|Y_n)=\int \frac{1}{Z_n}p(x_n|x_{n-1}l(y_n|x_n)p(X_{n-1}|Y_{n-1})dx_{n-1} p(Xn​∣Yn​)=∫Zn​1​p(xn​∣xn−1​l(yn​∣xn​)p(Xn−1​∣Yn−1​)dxn−1​ = ∫ 1 Z n p ( x n ∣ x n − 1 l ( y n ∣ x n ) p ( X n − 1 ∣ Y n − 1 ) q ( X n ∣ Y n ) q ( X n ∣ Y n ) d n − 1 =\int \frac{1}{Z_n}p(x_n|x_{n-1}l(y_n|x_n)\frac{p(X_{n-1}|Y_{n-1})}{q(X_n|Y_n)}q(X_n|Y_n)d_{n-1} =∫Zn​1​p(xn​∣xn−1​l(yn​∣xn​)q(Xn​∣Yn​)p(Xn−1​∣Yn−1​)​q(Xn​∣Yn​)dn−1​

    4、权值退化问题

    5、采样重要性重采样粒子滤波器

    记法

    粒子用 i = 1 , 2 , 3... N i=1,2,3...N i=1,2,3...N来表示,其中N表示粒子总数。

    初始化

    给定状态分布 p ( x ) p(x) p(x)和初始值 x 0 x_0 x0​,随机取消 x 0 ( i ) − p ( x 0 ) x_0 ^{(i)} - p(x_0) x0(i)​−p(x0​) 其中记号 x − p x-p x−p是x是分布p的一个观察值,设置初始权值 w 0 ( i ) = 1 N w_0 ^{(i)} = \frac {1}{N} w0(i)​=N1​ 其中 i = 1 , 2 , 3... N i=1,2,3...N i=1,2,3...N

    循环

    每个时间步骤 n = 1 , 2 , 3... n=1,2,3... n=1,2,3...,按照下标 i = 1 , 2 , 3... N i=1,2,3...N i=1,2,3...N,做如下操作: (1)重要性分布定义为 q ( x n ∣ x n − 1 ( i ) , y n = p ( x n ∣ x n − 1 ( i ) q(x_n | x_{n-1}^{(i)},y_n=p(x_n|x_{n-1}^{(i)} q(xn​∣xn−1(i)​,yn​=p(xn​∣xn−1(i)​ 其中假设已知先验分布 p ( x n ∣ x n − 1 ( i ) p(x_n|x_{n-1}^{(i)} p(xn​∣xn−1(i)​,取样 x n i − p ( x n ∣ x n − 1 i ) x_n^{i} - p(x_n|x_{n -1}^{i}) xni​−p(xn​∣xn−1i​) (2)计算重要性权值 w ^ n ( i ) = l ( y n ∣ x n − 1 ( i ) ) \hat w_n^{(i)} = l(y_n|x_{n-1} ^{(i)}) w^n(i)​=l(yn​∣xn−1(i)​) 其中也假设似然函数 l ( y n ∣ x n − 1 ( i ) ) l(y_n|x_{n-1} ^{(i)}) l(yn​∣xn−1(i)​)已知,因此计算标准权值 w n ( i ) = w ^ n ( i ) ∑ j = 1 N w ^ n ( i ) w_{n}^{(i)}= \frac{\hat w_n^{(i)}}{\sum_{j=1} ^{N}{ \hat w_n^{(i)} }} wn(i)​=∑j=1N​w^n(i)​w^n(i)​​ (3)重采样,一个含N个离散随机变量的集合{ I ( 1 ) , I ( 2 ) , . . . , I ( N ) I^{(1)},I^{(2),...,I^{(N)}} I(1),I(2),...,I(N)},在相关集合{ 1 , 2 , 3 , . . N 1,2,3,..N 1,2,3,..N}中依照以下概率取值: P ( I ( s ) = i ) = w n ( i ) P(I^{(s)}=i)=w_n ^{(i)} P(I(s)=i)=wn(i)​ 因此集合 x ^ n ( i ) = x n ( i ) \hat x_n ^{(i)} = x_n^{(i)} x^n(i)​=xn(i)​ 并且 w n ( i ) = 1 N w_n ^{(i)} = \frac {1}{N} wn(i)​=N1​ (4)继续计算直到滤波完成。

    6、重要性分布的最佳选择

    最新回复(0)