辅助粒子滤波

2024-10-28

辅助粒子滤波(精选7篇)

辅助粒子滤波 篇1

摘要:基于粒子滤波(PF)的重力梯度与地形信息融合辅助导航方法充分利用了重力梯度特征与地形特征融合的优点,可提高舰艇导航系统信息的利用程度。仿真比较了基于重力梯度的扩展卡尔曼滤波、基于重力梯度的粒子滤波和重力梯度与地形多特征融合粒子滤波算法得到的位置均方根误差,分析了基于EKF的重力梯度匹配辅助导航系统的稳定性和状态能观性。仿真结果表明,提出的融合算法既能加快粒子滤波的收敛速度,又能提高粒子滤波算法的估计精度。

关键词:信息融合,重力梯度,海底地形,卡尔曼滤波,粒子滤波

0 引言

高精度和长时间水下隐蔽航行是对战略潜艇导航系统的独特要求,导航系统的自主性、无源性将是战略潜艇导航发展的主要目标[1,2]。

重力图形匹配技术是舰艇导航发展的新方向。二十世纪90年代,美国BELL实验室、洛克希德·马丁公司等机构对重力图形匹配技术开展了专项研究,并取得了预期成果。BELL实验室研发了重力梯度仪导航系统(GGNS)和重力辅助惯性导航(GAINS)。GGNS系统通过将GGI测出的重力梯度与重力梯度图进行匹配后得到定位信息,对惯性导航系统进行校正[3,4,5],洛克希德·马丁公司研制的通用重力模块[6](UGM)利用重力仪和重力梯度仪的测量数据可实现重力无源导航和地形估计。由于重力图及重力梯度图一般缺乏明显的图形特征,所以传统的基于特征的图像匹配算法难以采用。目前研究的重力匹配的理论和方法主要是扩展卡尔曼滤波理论和基于图像匹配理论的ICCP方法,刘繁明等主要围绕基于ICCP算法的重力匹配定位进行了研究[7,8];Garner C B.的研究表明扩展卡尔曼滤波算法的定位精度比ICCP算法要高,但卡尔曼滤波算法所需要的各种误差统计模型不易获取,而且滤波的发散也不易控制[9]。基于扩展卡尔曼滤波的重力匹配定位方法类似于地形辅助导航的SITAN算法,Feizhou Zhang[10]提出了先采取基于多个滤波器和决策规则的收索模式,再采用基于单个滤波器的跟踪模式来进行重力梯度导航的方法。由于滤波器采用的是扩展卡尔曼滤波器(EKF),因此,线性化带来了三个不易解决且尚无统一的性能指标来衡量的关键问题:(1)线性区域的确定问题;(2)线性化参数的确定问题;(3)实时线性均方根误差的估计问题。近年来,粒子滤波技术作为一种非线性滤波技术在辅助导航领域受到关注[11,12],它不需要对非线性函数进行线性化,受初始定位误差的影响小,并且它依据大数定理,利用样本均值逼近被积函数的条件均值,从而获得状态的最小方差估计,因此粒子滤波技术可以克服EKF容易发散的缺点,并可以直接进入跟踪模式。

地球上海域范围大,环境差异较大,如采用单一特征的辅助导航系统并不能很好地满足导航要求,选择易匹配、低计算复杂度的、具有不变性和抗失真的特征进行多特征融合匹配。装载有重力梯度和海底地形传感器的载体在沿航迹运动时,可测得一组重力梯度分量和一组地形高程分量的实时图。而重力梯度图和地形高程在测量原理和物理性质等各方面都不相同,存在很大差异,它们所包含的信息具有互补的特性,将重力梯度与地形结合起来匹配,可以充分利用两种实时数据中包含的互补信息,比单个传感器的实时图匹配效果又要更好[13,14]。因此,本文提出一种基于粒子滤波的重力梯度与地形信息融合辅助导航方法,将测量重力梯度和地形的两种传感器组合使用,充分利用了重力梯度特征与地形特征融合的思想,提高系统信息的利用程度,通过粒子滤波融合方法融合多分量数据,从而提高滤波算法的估计精度,提高导航的精确性。

1 系统工作原理

基于粒子滤波的重力梯度与地形信息融合辅助导航系统利用地球物理场的海底地形、重力梯度等特征,事先建立海底特征基准图,在潜艇水下航行时对经过海域利用重力梯度仪、声纳测距仪和水压测深仪等多传感器实时获取海底地形和重力梯度等数据,然后采用多传感器融合的粒子滤波技术进行匹配定位。即利用基准图预测的数据和传感器实测的数据之差作为输入数据,通过粒子滤波技术实现从起点到目标点连续不断地对惯性导航系统(INS)进行修正。这一方案把传感器测得的每个数据都作为滤波处理的测量数据进行递归处理,以估算和补偿导航系统的误差,从而提供修正后的系统真实状态参数(如位置、速度等)的估算值。系统框图如图1所示。

2 多特征融合粒子滤波算法

设状态矢量为:

其中,δx、δy是水平和垂直方向的位置偏差,δvx、δvy是水平和垂直方向的速度偏差,δΓ是实时测量的垂直重力梯度与由惯导数据经垂直重力梯度基准图给出的参考重力梯度的偏差,δh是实时测量的海底高程与由惯导数据经海底地形基准图给出的参考海底高程的偏差。

系统状态方程为:

其中,A为状态转移矩阵:

τ为采样间隔时间。W是系统噪声序列,E[Wk]=0,cov[Wk,Wj]=E[Wk,WjT]=Qkδk,j,Qk是系统噪声协方差阵。

观测量选择两个偏差量,即重力梯度偏差δΓ和地形高程偏差δh。由于重力梯度和地形高程数据均为位置的非线性函数,因此系统观测方程为:

其中,Vk是量测噪声,满足E[Vk]=0,cov[Vk,Vk]=E[Vk,VjT]=Rkδk,j,Rk是量测噪声协方差阵。

粒子滤波的主要思想是找到一组在状态空间中传播的随机样本(粒子)对条件概率密度函数P(Xk|Yk)进行近似,从而获得状态的最小方差估计。粒子滤波实际上是一种递推的近似状态后验概率密度函数的方法。随着粒子数目的增加,粒子的概率密度函数逐渐逼近状态的概率密度函数,粒子滤波可达到最优贝叶斯估计的效果。粒子滤波算法如下:

Step1初始化生成服从P(X0)分布的随机样本{X0i,i=1,2,…,N}。

Step2预测先产生服从P(WK)分布的随机变量{Wik-1,i=1,2,…,N},然后按下式进行预测:

Step3更新先根据Yki=f(Xki)+Vk构造粒子对{Xki,Yki},然后根据观测值yk计算归一化权值wki:

其中,pVk是量测噪声Vk的概率密度函数(PDF)。对于高斯观测过程,有:

其中,|Rv|为测量噪声协方差阵的行列式。则X的最小方差估计为:

Step4重采样{Xik+1,i=1,2,…,N},先产生服从(0,1)区间均匀分布的随机数{ui,i=1,2,…,N},寻找整数M使之满足:

则XkM就是一个新样本。可见,在重采样过程中,权值较大的粒子可能被多次采样,而权值较小的粒子被抛弃。

Step5 k←k+1,返回Step2。

3 仿真结果与分析

仿真数据为512×512的某地形数据,分辨率为25m,最小高程为80m,最大高程为1022m。数字地形基准图原始地形如图2所示,推算出的垂直重力梯度基准图如图3所示,最大垂直重力梯度为312.4271E,最小垂直重力梯度为50.9884E。

为了研究多特征融合的粒子滤波算法的融合效果,仿真过程分为基于重力梯度的卡尔曼滤波、基于重力梯度的粒子滤波和重力梯度与地形多特征融合粒子滤波过程。

Kalman滤波是基于线性系统的,因此,重力梯度测量方程必须利用一阶泰勒展开式,即:

则测量方程线性化为:

其中:

EKF算法可以表述为以下递推公式:

假设潜艇航行的规划路径坐标为(200,310)到(400,310)的一段直线路径,潜艇匀速运动,每一个采样周期移动一个格网的距离。陀螺漂移为0.01°/τ。

基于重力梯度的卡尔曼滤波过程中,假设R=0.01,Q=diag([0.10.1000.1]),初始位置偏差为5个格网的距离,初始协方差阵为P0|0=diag([10 10 0 0 10])。

基于重力梯度的粒子滤波过程中,假设粒子数N=800,系统噪声和测量噪声为零均值高斯白噪声。

初始位置满足以下分布:

多特征融合粒子滤波过程中,假设粒子数N=800,系统噪声和测量噪声为零均值高斯白噪声。

初始位置满足以下分布:

50次蒙特卡罗仿真试验的位置均方根误差(RMS)如图4~图6所示。

从图4中可以看出,基于重力梯度的扩展卡尔曼滤波算法最终走向发散,因为在扩展卡尔曼滤波中,量测方程只利用了泰勒展开式的一阶项,因此估计结果是次优的,而不是最优的。又通过分析系统的状态方程和线性化后的测量方程可知,系统有等于1的特征根,系统处于临界稳定状态,且矩阵的秩为3,小于系统的维数5,因此,系统是状态不完全能观的。

比较图5和图6很容易看出,基于重力梯度的粒子滤波和基于重力梯度与地形特征融合的粒子滤波算法都是收敛的,但由于重力梯度图的特征不甚明显,基于重力梯度的粒子滤波算法在初始阶段的振荡性较大,而重力梯度图和地形高程在测量原理和物理性质等各方面都不相同,存在很大差异,它们所包含的信息具有互补的特性,将重力梯度与地形信息融合后的粒子滤波结果,收敛效果更平稳,精度更高。

4 结束语

采用单一特征的辅助导航系统并不能很好地满足导航要求,而重力梯度和地形高程在测量原理和物理性质等各方面都不相同,存在很大差异,它们所包含的信息具有互补的特性,将测量重力梯度和测量地形高程的两种传感器的组合使用,提出了基于粒子滤波的重力梯度与地形信息融合辅助导航方法,粒子滤波算法可以获得状态的最小方差估计。该方法充分利用了重力梯度特征与地形特征融合的思想,利用粒子滤波融合技术,提高了系统的信息利用程度,加快了滤波的收敛速度,提高了滤波算法的估计精度。

改进的粒子滤波算法 篇2

针对粒子多样性丧失问题,提出了一种利用粒子补偿以及预测值与测量值的方差进行重采样的算法。该算法首先利用先知信息设定权值阈值对粒子集进行选取,然后对粒子序列中较大权值粒子进行补偿,最后利用预测值与实际值之间的方差在权值较高的粒子周围进行随机采样。通过粒子补偿可以有效减小预测值与实际测量值的误差,同时也可以为下一次预测提供更加精确的粒子,从而减小先验概率密度与目标密度函数的误差。利用方差进行采样的方法可有效提高粒子的多样性,特别地,因为在较大权值的粒子周围进行重采样,增强了采样粒子的针对性,能够进一步提高粒子滤波算法的精确度。

1 递推贝叶斯估计方法

为了分析一个随机动态系统,需要建立两个模型:描述随时间变化的系统状态转移模型和与当前状态有关的观测模型,通过这两个模型构成动态系统估计问题的基本框架。

系统状态转移模型:描述的是系统状态随时间的变化情况,即通过前一个时刻的状态估计当前时刻系统状态,表述为

xk=f(xk-1,uk) (1)

观测模型:描述的是与系统当前状态有关的测量模型,表述为

yk=h(xk,vk) (2)

式中:xk∈Rnx和yk∈Rm分别表示的是状态量和观测量;f(·)和h(·)分别表示的系统状态转移函数和观测函数;uk为过程噪声;vk为测量噪声;k表示时间。

假设已知状态初值的概率密度函数p(x0|y0)=p(x0),由贝叶斯估计定理推导有

undefined

当已知系统k-1时刻的后验概率密度函数时,有

p(xk,xk-1|yk-1)=p(xk|xk-1,yk-1)p(xk-1|yk-1) (4)

根据状态的一阶马尔科夫性,有p(xk,xk-1|yk-1)=p(xk|xk-1),故有

p(xk,xk-1|yk-1)=p(xk|xk-1)p(xk-1|yk-1) (5)

通过Chapman-Komolgorov方程对式(5)两端进行xk-1积分有

undefined

式中,概率p(xk|xk-1)由系统状态概率分布函数和噪声分布p(uk)所确定。

综合式(3)(4)(5)(6),递推贝叶斯估计的预测和更新方程分别为

预测方程:

undefined

更新方程:undefined

式(7)和(8)描述了最优贝叶斯估计的思想,但是其解析解只对有限的模型成立,比如可以通过卡尔曼滤波算法可实现线性高斯问题的最优估计,但是现实中许多问题是非线性非高斯的,所以不得不采用一些逼近的方法实现次优估计,Rosenbluth[7]等人提出了关于粒子滤波思想。

2 标准粒子滤波算法[8]

目前广泛运用的标准粒子滤波算法是由序列重要性采样(SIS)和重采样构成,该算法是利用状态空间中一系列随机样本粒子所组成的粒子集来近似后验概率密度分布,以样本粒子的均值来代替积分运算,最终实现最优状态估计。由于其没有明确的函数公式,没有模型和高斯假设的约束,只是通过离散的粒子进行估计,适合处理任何非线性非高斯问题。

标准粒子滤波算法归纳如下:

1) 系统初始化。

已知随机动态系统先验概率密度分布p(x0),并进行采样得到时刻k=0的初始粒子{xundefined}undefined,每个粒子所对应的权值初始值为wundefined=1/N。

2) 系统粒子采样。

通过公式(1)系统状态转移方程进行k时刻粒子采样{xundefined}undefined~q(xk|x0:k-1,uk),目的是通过粒子集{xundefined}undefined构成k时刻的后验概率密度分布为

undefined

式中,q(xk|x0:k-1,uk)概率密度分布近似目标函数p(xk)。

3) 权值更新。

通过公式(2)观测方程计算出当前粒子集{xundefined}undefined对应的预测观测值{yundefined}undefined,每个粒子的权值为

undefined

式中,yk表示k时刻实际观测值,然后进行粒子权值归一化为

undefined

此时可以通过式(9)近似计算出后验概率密度分布为

undefined

4) 进行粒子重采样。

根据粒子集{xundefined}undefined更新后的权值{undefinedundefined}undefined,进行重采样得到{undefinedundefined}undefined,每个粒子的权值都为undefined,则后验概率密度可近似为

undefined

5) 输出状态估计undefined。同时使k=k+1,返回步骤2)。

3 改进的粒子滤波算法

标准的粒子滤波算法虽然通过加入重采样的步骤减缓粒子退化问题,但是却引入了粒子多样性丧失问题。这是由于重采样时,通过复制权值相对较大的粒子来缓解粒子退化问题。显然在重采样的时,还会发现另外一个问题,即预测值与实际测量值的误差没有得到补偿,其实这也可以看成是先验概率分别与目标概率函数的误差,普通的重采样将第k-1时刻的误差代入了下一次第k时刻粒子滤波中,通过多次迭代后会产生累积误差[9]。因此,针对上面两个问题提出一种对标准粒子滤波算法的改进方法。

3.1 粒子补偿

假设已知k-1时刻的粒子集合{xundefined}undefined和相应权值集合{wundefined}undefined。于是通过式(1)能够得到时刻的粒子集

xundefined=f(xundefined,uk),xundefined∈{xundefined}undefined (14)

通过标准粒子滤波的步骤3)权值更新,能够计算得出相应粒子的权值{undefinedundefined}undefined,结合式(14)可推出时刻的输出状态估计undefined。

把时刻的输出状态估计代入式(2)得到预测测量值undefined,计算出预测测量值与实际测量值的误差undefined。最后根据式(15)对每个粒子进行误差补偿

undefined

式中,undefinedundefined∈{undefinedundefined}undefined表示补偿后k时刻的粒子集合。

3.2 粒子重采样

粒子重采样采用的是通过预测测量值与实际测量值之间的方差进行的,具体步骤如下:

1) 计算预测值与测量值的方差:undefined。

2) 通过先知知识设定阈值α,保存权值相对较大的粒子,剔除权值相对较小的粒子。

3) 进行粒子重采样:

(1) 计算每个剩余粒子的百分比β,并计算出相应需要产生的粒子数ni=N×β,目的是所有剩余粒子重采样后的粒子总数为N。

(2) 对每个剩余粒子进行采样,具体方法为

undefined

式中:U(0,1)表示0~1之间的随机概率分布;{xundefined}undefined表示在k时刻的第i个粒子重采样后由组成的ni个粒子所组成的粒子集。

改进粒子算法实现伪代码的步骤为:

1) 利用先验知识建立状态转移方程、测量方程和重要性密度函数,并进行N个粒子的采样,得到初始粒子集{xundefined}undefined及其对应粒子的权值集wundefined=1/N。

2) 进行采样:{xundefined}undefined~q(xk|x0:k-1,uk)。

3) 权值更新:当计算完观测量后,计算每个粒子的权值undefined,并进行权值归一化为undefined。

4) 加入标准粒子算法改进部分,重采样粒子集undefined

每个粒子所对应的权值集undefined。可以表示后验概率密度为

undefined

5) 输出状态估计undefined。同时使k=k+1,返回步骤2)。

改进后的粒子算法,通过对粒子集有目的有针对性的补偿和重采样,不仅能够减小预测值与实际测量值的误差,减少随时间增加的累积误差,而且利用预测值与测量值的方差进行重采样可有效提高粒子的多样性,减缓粒子多样性丧失的问题,提高粒子滤波跟踪目标的精确度。

4 实验仿真及其结果

对于提出的算法,采用一种常用基础模型[9]来验证其有效性。

状态转移模型为

undefined

观测模型为

undefined

式中:k表示状态时刻;xk表示状态量;yk表示观测量;状态初始值x0为0.5;初始粒子分布p(x0)~N(0,5);过程噪声uk~N(0,10);观测噪声vk~N(0,1),每次独立实验的时间长度为50,粒子数为20。独立实验次数为20次,状态估计性能以20次独立实验不同算法下的粒子滤波算法的均值作为衡量标准。其中一次独立实验的平均均方误差RMSE定义为

undefined

图1a给出了标准粒子滤波算法与改进后的粒子滤波在估计真实值的效果图,图1b给出了20次独立实验中单次独立实验的均方误差(RMSE)。从图1a能够发现标准粒子滤波算法与改进后的粒子滤波算法在单次实验中跟踪单个真实值时,改进的粒子滤波算法拥有更好的跟踪效果,说明补偿后的算法在单次误差比标准粒子滤波单次误差更小,拥有更好的跟踪效果。从图1b可以发现每次独立实验中标准粒子滤波算法的均方误差RMSE比改进后的粒子滤波算法RMSE更大,说明每次独立实验中标准粒子滤波的精度比改进后的粒子滤波算法精度小,具体比较见表1。

为了说明改进后的粒子滤波算法比传统非线性滤波算法拥有更好的目标跟踪精度,在上面的实验模型下加入了扩展卡尔曼滤波算法(EKF)进行比较。

图2a中展示了扩展卡尔曼滤波算法(EKF)、标准粒子滤波算法和改进粒子滤波算法,由于两种粒子滤波算法的与真实值的误差与EKF与真实值的误差相对很小,所以效果图中只能反应粒子滤波与EKF滤波算法的误差。图2b中通过式(20)计算重复独立实验100次中每一个独立实验中对第20次真值进行跟踪实验的误差,从图2b和表2中可以发现,EKF算法在处理非线性非高斯目标跟踪时误差很大,而且误差跳动范围很大,说明均方误差方差很大。标准的粒子滤波算法在跟踪时虽然误差相对较小,但是误差跳动的范围也是比较大的。改进后的粒子滤波算法不但误差相对较小,而且误差跳动范围相对标准粒子滤波要小。

结合表1和表2中的数据,在相同的条件下,改进粒子滤波算法的均方误差均值比EKF滤波算法的小60%,说明改进算法在误差精确度上提升60%;改进算法的均方误差均值比标准粒子滤波算法的小35%,说明改进算法在误差精确度上提升35%以上。综上,改进的粒子滤波算法不但减缓了标准粒子滤波算法中重采样后粒子多样性丧失问题,而且在目标跟踪的精确度上也有较大提高。

5 总结

笔者提出了一种改进的粒子滤波算法,该算法通过对粒子进行适当补偿,同时利用预测值与测量值的方差进行重采样,解决了标准粒子滤波算法中粒子多样性丧失的问题,同时提高了粒子滤波跟踪目标精度。实验仿真结果表明该算法在对非线性非高斯模型进行目标跟踪时,比标准的粒子滤波算法和扩展卡尔曼滤波算法拥有更好的跟踪效果和跟踪精度。

参考文献

[1]CRISAN D,DOUCET A.A survey of convergence results on particle fil-tering methods for practitioners[J].IEEE Transaction on Signal Pro-cessing,2002,50(3):736-746.

[2]ARULAMPALAM M S,MASKELL S,GORDON N,et a1.A tutorial on particle filters for online nonlinear/non-Gaussian Bayesian tracking[J].IEEE Transactions on Signal Processing,2002,50(2):174-188.

[3]张敬海.基于遗传算法的粒子滤波算法研究[D].天津:天津大学,2009.

[4]HU H T,JING Z L,LI A P,et al.Target tracking in glint noise using a MCMC particle filter[J].Journal of Systems Engineering and Electron-ics,2005,16(2):305-309.

[5]唐现国,何祖军.一种基于正则粒子滤波器的目标跟踪算法[J].舰船科学技术,2008,30(4):134-137.

[6]邹国辉,敬忠良,胡洪涛.基于优化组合重采样的粒子滤波算法[J].上海交通大学学报,2006,40(7):1135-1139.

[7]MEROPOLIS N,ROSENBLUTH A W,ROSENBLUTH M N,et a1.E-quation of state calculations by fast computing machines[J].Journal of Chemical Physics,1953,21(6):1087-1092.

[8]张卫明,张炎华,钟山.蒙特卡罗粒子滤波算法应用研究[J].微计算机信息,2007,23(1):295-297.

基于遗传算法的粒子滤波跟踪算法 篇3

粒子滤波跟踪算法由于处理非线性、非高斯问题的突出能力,在目标跟踪领域越来越受到大家的青睐。但它自身却有一个无法回避的问题:粒子样本多样性退化。丧失粒子多样性的粒子滤波器极容易使目标跟踪的状态收敛到个别状态点上去,经过数次递推后由于估计状态减少就会造成目标跟踪丢失。因此,许多学者都提出了粒子重采样的方法,如:多项式重采样算法[1]、累积分布重采样。然而重采样过程中采取复制保留权值较高的粒子,删除权值较低的粒子的结果,导致粒子多样性的减弱,特别是在样本受限条件下甚至导致滤波发散[2]。遗传算法[3](Genetic Algorithm)是科学家借鉴生物界的遗传进化规律而得到的随机的优化与搜索方法。文献[4]进一步从蒙特卡罗仿真的观点建立了粒子滤波器和遗传算法之间的关系。文献[5-7]将遗传算法引入粒子重采样中,有效增加粒子多样性;但优选方法单一,粒子多样性小,新生粒子精度低还造成了计算量急剧增加的问题。文献[8]把遗传算法也应用到了粒子重采样中,但其在父代的选择时仅使用了单一阈值选择,对交叉算子与变异算子产生的后代做了限制,同样影响到粒子的多样性。文献[9]利用粒子群优化算法改进粒子滤波,该方法使粒子分布朝后验概率密度分布取值较大的区域运动在一定程度上能克服粒子贫乏问题但粒子群优化算法计算量较大,采样粒子分布带宽存在发散现象,粒子分布方差分布变化较大。

本文利用遗传算法来解决粒子滤波跟踪算法中的粒子多样性退化的问题。在传统遗传算法中,一般采样使用阈值限制法加赌轮法的选择方案,而本文采用多项式重采样进行部分优选复制,每次采样后去除已被选过的样本粒子,同时进行阈值调整。交叉和变异算子对子代进行选择时,都不对子代粒子相似系数做限定。在变异算子中采用了马尔可夫链蒙特卡罗移动(MCMC)[10]加高斯白噪声的变异方法并采用快速MH(Metropolis-Hastings)抽样[11]。

1 粒子滤波算法

粒子滤波技术是基于Bayesian理论和Monte Carlo方法的一种求解后验概率的实用性方法。它通过预测和更新求得后验概率密度。

预测:假设在(k-1)时刻,p(xk-1|z1:k-1)是已知的,对于一阶马尔科夫过程,由Chapman-Kolmogorov方程,有

更新:即由系统的观测模型,在获得k时刻的观测值zk后,实现先验概率p(xk|z1:k-1)至后验概率p(xk|z1:k)的推导

其中:p(zk|xk)称为似然性,表示系统状态由xk-1转移到kx后和观测值的相似程度。p(xk|z1:k-1)为先验概率,p(zk,z1:k-1)是一个归一化常数在上式有先验概率密度到后验概率密度的积分是很难实现,不可能进行精确的分析,所以采用序列重要性采样实质上是利用蒙特卡罗仿真来模拟递归贝叶斯估计。

如果系统的整个递归过程符合马尔科夫假设,那么k时刻,系统状态的后验概率密度函数用一组带有权值的粒子{xk(i),wk(i)}Ni=1表示为

其中:wki为粒子对应的权值,且;δ(*)为狄拉克函数。当粒子数足够大时,这种对后验概率密度的离散加权估计可以很大程度上逼近状态的真实分布,从而接近贝叶斯估计的最优解。

一个已知的、容易采样的参考分布q(x0:k|z1:k)作为重要性函数,权值的迭代公式为

2 基于遗传算法粒子重采样

2.1 有效采样尺寸

为了减少算法的计算量,提高跟踪算法的实时性,设定一个表示粒子退化程度的参数——有效采样尺寸,定义为

其中wki为观测后粒子权值。由于上式难以精确计算,实际利用它的一种近似估计,定义为

其中wk*(i)为归一化后得到的标准化权值。

通过试验,我们发现当时开始启动重采样算法是比较合理的。

2.2 遗传算法

遗传算法作为一种快捷、简便、容错性强的算法,其步骤一般为编码、产生初始群体、计算相似度、复制、交换和变异六个步骤。其中复制概率Ps、交换概率Pc、变异概率Pm在本文中用特定区间的随机数表示:复制概率Ps∈[.0,607.],交换概率Pc∈[.0,2.025],变异概率Pm=1-Ps-Pc。下面给出遗传算法的具体步骤:

步骤1:样本编码及相似度计算。

对新采样的粒子编号为i=,1,2,3,…,N,作为父代样本:{xki,i=,1,2,3,…,N},利于目标的颜色特征通过Bhattacharyya系数计算模板与采样点相似度。由于在每次观测后得到每个采样点的相似度为ρi,i=1,2,3…N。对相似系数进行归一化为

步骤2:优选复制。

利用传统多项式重采样方法对归一化的相似系数进行采样,相似系数大的样本获得较大的概率被选择复制子代,而相似系数小的样本获得较小的概率被选中复制为子代。每次选后,把被选中的样本移出父代,剩余样本相似系数重新进行归一化处理,继续选择,直到产生的子代个数达到Ps×N,Ps为随机0.6到0.7之间的随机数。多项式重采样在粒子滤波算法中有较好的实时性,但重采样粒子样本退化严重,而传统的遗传算法中使用阈值限制法加赌轮法进行优选复制法,实时性不时很强而且相似度较大的以均等概率复制为子代,优选性不突出,利用多项式重采样进行优选复制的方法可以保证跟踪算法有较好的实时性,通过随机数限定样本个数给样本的多样性留出了空间,减小了粒子退化程度。

步骤3:交叉繁殖。

在优选复制以后的剩余(N-Ps×N)个样本中随机抽取两个样本进行杂交。设被抽取样本为ia、ib,其中ia、ib为优选复制后剩余的样本,利用一个随机数α∈[0.3,0.4]作为交换率,交叉繁殖公式为

将新生的作为子代,如此循环,直到抽到的杂交子代个数达到Pc×N。由随机数作交换率进行样本交叉繁殖的方法可以较好地提高样本的多样性,与传统的采用固定系数交换率的遗传算法相比,随机数作交换率进行样本交叉繁殖的方法在即使采样到相同样本时候通过不同的交换率也会有新的样本产生,更好地增加了粒子的多样性。

步骤4:变异繁殖。

变异繁殖是为了给样本集带来新样本,变异繁殖的方法很多,本文变异繁殖采用马尔可夫链蒙特卡罗移动加高斯白噪声实现并采用MH(Metropolis-Hastings)算法对样本进行选择,很大程度的提高了变异样本的多样性。仍然在剩余的(N-Ps×N)个样本中随机抽取(N-Ps×N-Pc×N)个样本做变异繁殖。变异后的样本为

其中:Ak|k-1为一阶马尔可夫链转移矩阵,δ~N(,0)1。

对样本进行快速MH抽样:

1)按照均匀概率分布从区间[0,l]中抽样得到门限值u,u~U(,0)1;

2)对新变异样本和原样本进行似然估计分别为;

3)设,若u<θ,保留作为变异后的样本;

当变异样本数达到(N-Ps×N-Pc×N),变异繁殖结束。

在传统的遗传算法中,样本变异一般采样固定的变异概率产生新样本,对解决粒子退化问题的作用有限。本文通过马尔可夫链蒙特卡罗移动加高斯白噪声来提高变异样本的多样性,而且使用快速MH抽样保证了粒子的拥有较大的相似度。

图1为在跟踪视频的50帧时采用遗传算法的优选、交叉和变异三步骤对粒子分布进行处理后的粒子分布情况图。

从图1中可以看出,原来样本点经过遗传算法后被舍弃同时出现了一些更能反映目标位置的新的样本点。通过以上遗传进化得到了新的子代样本。将新生的子代样本用Bhattacharyya系数计算采样点与模板相似度:

将新生样本的相似系数转化为新生样本的权值系数

对新生样本系数归一化为

3 实验结果与分析

为了证明本文所改进的算法的优越性通过编程在计算机上进行了仿真实验。电脑配置为P4 2.8,512M内存,WINDOWS XP操作系统和VC++6.0的开发平台,借助Open CV函数库设计了跟踪算法。程序流程如下:

1)在第一帧中手动选择跟踪窗口,计算目标模板颜色直方图,初始化粒子滤波器,生成均匀分布粒子群;

2)读入下一帧图像,启动粒子滤波,进行粒子转移,对转移后的新生样本根据式(10),计算各个样本点相似性系数,以及归一化新生样本系数;

3)计算有效采样尺寸,当执行步骤4),执行步骤5);

4)遗传重采样算法:

a.样本编码及相似度计算,b.优选复制,c.交叉繁殖,d.变异繁殖;

5)以为加权系数新生样本点坐标求和得到目标运动位置坐标,输出坐标;

6)视频是否结束,未结束则跳转到步骤2),若视频结束则停止整个程序。

试验视频分别为近红外与可见光拍摄的320×240 avi格式视频。在所有的跟踪过程中,目标模板都是通过手动选取视频图像中的目标建立的,蓝色框所框住的为跟踪目标,跟踪过程中粒子数N=100,图2与图3为可见光视频的跟踪效果对比的图,图4为目标运动轨迹,图5为粒子分布带宽与方差对比图,图6为多项式重采样、粒子群重采样和遗传重采样三种算法运算时间比较图。

通过两种跟踪算法的跟踪效果图对比可以发现基于颜色特征的粒子滤波跟踪算法基本上都能跟踪上目标,但由于粒子数较少的情况下加之粒子滤波重采样时粒子样本的退化,跟踪目标不是很稳定,时常偏离目标的真实位置如图2的48帧和60帧。而这种跟踪不稳定的现象在跟踪目标发生遮挡的时候表现更加明显如图2的53帧。通过图4目标运动轨迹图也可以得到同样结果,基于多项式重采样的算法跟踪目标位置与目标真实位置偏差较大,有明显的上下漂移情况,基于遗传算法的跟踪算法却能较为平稳的跟踪目标,鲁棒性较强(见图3、图4)。虽然增加粒子数在一定程度是能增加采样的多样性,但这直接影响到了程序的运行效率,很难实现实时跟踪,对解决粒子退化问题帮助不大。图5分别为多项式重采样、粒子群优化重采样和遗传重采样三种情况下的粒子分布情况,多项式重采样方法粒子带宽分布比较平稳,但粒子分布带宽较窄,粒子方差变化很大,粒子分布带宽窄,方差大主要就使由于粒子在重采样中粒子多样性丢失,样本只集中到个别几个粒子上,因此跟踪目标很不稳定,跟踪框很容易偏离跟踪目标(见图2、图4);粒子群优化重采样粒子带宽分布也较窄,后期带宽有发散现象,粒子分布方差较多项式重采样有一定的改善,但较遗传重采样而言粒子分布方差还是比较大;遗传重采样方法粒子分布的带宽较大,而粒子分布方差比较平稳,采样点分布比较均匀,样本丰富,是一种比较理想的样本采样结果(见图5)。

图6为三种重采样算法运行每帧图像处理时间比较,多项式重采样,遗传重采样和粒子群优化重采样算法每帧平均用时间分别为:47.66 ms,48.60ms和60.63 ms遗传算法相对粒子群优化算法运算速度提高了24.75%,而遗传算法相对多项式重采样运算速度只降低了1.97%,但从图3、图4和图5可知,遗传算法的跟踪精度比多项式重采样有较大的提高。由此可知改进后的遗传算法有较高的运算效率,目标跟踪上有较好的实时性。通过以上对比可以发现改进后的遗传重采样粒子滤波跟踪算法既保持了粒子的多样性,拥有较高的实时性,同时应用了较好的模板更新策略,即使在复杂背景下或者遮挡发生时候跟踪框都能较好准确的找的真实的跟踪目标。

4 结论

本文应用改进的遗传算法解决粒子滤波跟踪算法中粒子样本退化的问题。在改进的遗传算法中,利用了多项式采样法进行了优选繁殖,利用特定区间的随机数做交换率进行样本交叉繁殖,最后在变异繁殖中使用了马尔可夫链蒙特卡罗移动加高斯白噪声做样本变异以及MH抽样算法选取样本,以上改进很好的解决了粒子退化问题,保证了样本的多样性。在模板更新中,使用了多模板融合更新技术。通过试验表明改进后的粒子滤波跟踪算法的目标跟踪效果更加稳定,跟踪精度更高。

摘要:针对粒子滤波跟踪算法中粒子多样性退化问题,将改进的遗传算法应用到粒子重采样中,改善了样本的多样性。在改进的遗传算法中,使用了多项式重采样进行优选复制;以特定区间的随机数做交换率进行样本交叉繁殖;使用了马尔可夫链蒙特卡罗移动加高斯白噪声做样本变异繁殖并使用快速MH抽样算法选取样本。改进后的粒子滤波跟踪算法不但保持了较高的运算效率,而且还较好地提高了跟踪的稳定性。试验表明,改进后的粒子滤波跟踪算法目标跟踪更加稳定,目标定位更加准确。

关键词:遗传算法,粒子滤波,快速MH抽样,多模板融合,目标跟踪

参考文献

[1]Gordon N J,Salmond D J,Smith A F M.Novel Approach to Nonlinear/Non-Gaussian Bayesian State Estimation[J].IEE Proceedings on Radar and Signal Processing(S0143-7070),1993,140(2):107-113.

[2]徐林忠.基于粒子滤波和卡尔曼滤波的复杂场景下视频跟踪[D].杭州:浙江大学,2008:51-56.XU Lin-zhong.Visual Tracking Based on Particle Filter and Kalman Filter under Complex Environments[D].Hangzhou:Zhejiang University,2008:51-56.

[3]张文修,梁怡.遗传算法的数学基础[M].西安:西安交通大学出版社,2000.ZHANG Wen-xiu,LIANG Yi.Mathematics Base of Genetic Algorithm[M].Xi’an:Xi’an Jiaotong University Press,2000.

[4]Higuchi T.Monte Carlo filter using the genetic algorithm operators[J].Journal of Statistics Computer Simulation(S0094-9655),1997,59(1):l-23.

[5]Ronghua L,Bingrong H.Coevolution based adaptive Monte Carlo localization[J].International Journal of Advanced Robotic Systems(S1729-8806),2004,1(3):183-190.

[6]Park S,Hwang J,Rou K,et al.A new particle filter inspired by biological evolution:genetic filter[J].International Journal of Applied Science Engineering and Technology(S1307-4318),2007,4(1):459-463.

[7]叶龙,王京玲,张勤.遗传重采样粒子滤波器[J].自动化学报,2007,33(8):885-887.YE Long,WANG Jing-ling,ZHANG Qin.Genetic resampling Particle filter[J].Acta Automatica Sinica,2007,33(8):885-887.

[8]席涛,张胜修,原魁,等.基于遗传进化策略的粒子滤波视频目标跟踪[J].光电工程,2009,36(3):28-32.XU Tao,ZHANG Sheng-xiu,YUAN Kui,et al.Video Object Tracking Based on Particle Filter with Genetic Evolution Strategy[J].Opto-Electronic Engineering,2009,36(3):28-32.

[9]方正,佟国峰,徐心和.基于粒子群优化的粒子滤波定位方法[J].控制理论与应用,2008,25(3):533-537.FANG Zheng,TONG Guo-feng,XU Xin-he.A Localization method for particle-filter based on the optimization of particle swarm[J].Control Theory&Application,2008,25(3):533-537.

[10]Gilks W R,Berzuini C.Following a moving target monte carlo inference for dynamic Bayesian models[J].Journal of the Royal Statistical Society B(S1369-7412),2001,36(1):127-146.

基于粒子滤波的声源方位跟踪算法 篇4

基于麦克风阵列的声源定位与跟踪技术可广泛用于视频会议[1]、语音增强[2]、智能机器人[3] 等领域。例如在视频会议系统中,基于麦克风阵列的声源定位技术可为摄像头提供说话人的方位,使摄像头自动对准说话人。当说话人走动时,还可使用跟踪算法对其进行跟踪。粒子滤波PF(Particle Filtering)是在贝叶斯滤波框架下基于Monte Carlo 采样的统计滤波方法,可解决非线性、非高斯的滤波问题,声源跟踪就属于这类问题。近年来,基于粒子滤波的声源跟踪算法已成为研究的热点。

文献[4]采用Langevin方程来模拟声源的运动,首次将粒子滤波用于解决噪声和混响环境中的声源跟踪问题。文献[5]在此基础上做了改进,并总结了几种声源跟踪的方法。此后,为了提高跟踪精度,国内外的研究人员又提出了多种改进算法[6,7,8]。跟踪算法中的似然函数对跟踪性能起着决定性的作用,声源定位算法是构造似然函数的基础,对跟踪性能起着关键性的作用。相位变换加权的可控响应功率SRP-PHAT(Steered Response Power-Phase Transform)声源定位算法[9]在混响环境中有较强的鲁棒性,定位精度较高,在跟踪算法中常用作定位函数。文献[4]提出的声源运动模型理论上可用于三维空间中的声源跟踪,但为了达到较高的跟踪精度,需要采用分布式的大型麦克风阵列。此外三维跟踪的计算量很大,实现实时跟踪比较困难。

在麦克风阵列的很多实际应用中,只需要估计声源的方位,当声源移动时,也只需要实现声源的方位跟踪。如用于视频会议和语音增强的麦克风阵列,通常只要给出说话人的方位。本文提出一种基于粒子滤波的声源方位跟踪算法。该算法在Langevin方程的基础上构建声源的方位动态模型,采用远场条件下的SRP-PHAT函数构造似然函数,有效地实现了真实环境中说话人方位的跟踪。

1 贝叶斯滤波

声源跟踪问题通常指在混响环境中根据M个麦克风的接收信号,实时估计出当前声源的位置或方位。接收信号按时间顺序分成连续的若干帧,帧长为L,则第m个麦克风(m=1,2,…,M)的第t帧信号为:

其中“T”表示转置。 M个麦克风的第t帧信号组成一个M×L的矩阵

在球坐标系统下,声源位置可表示为q=[r,θ,ϕ]T,其中r,θ,ϕ分别表示距离,水平角和仰角。假设目标处在阵列远场,则定位算法只能估计声源的方位,也就是声源的到达方向角DOA(Direction of Arrival),用l=[θ,ϕ]T来表示。声源方位跟踪就是估计声源在当前时刻的l。在远场假设下,目标在第t帧时的状态矢量可表示为:

αt=[θt,ϕt,θ¯t,ϕ¯t]Τ (3)

其中[θtt]T表示声源方位,[θ¯t,ϕ¯t]T表示声源的角速度。给定状态矢量α,我们用lα表示相应的声源方位。Yt表示目标状态的观测值,该观测值由接收信号Xt,通过定位函数转换得到,即:

其中f(·)为定位函数,与所采用的定位方法有关。假设状态转移是一个Markov过程,则声源跟踪问题可以用如下两个方程来描述:

Yt=h(αt,vt) (6)

其中g(·)和 h(·)可能是非线性函数,utvt可能为非高斯的噪声矢量。用Y1:t={Y1,…,Yt}表示从初始时刻直到t时刻的观测值,贝叶斯滤波问题就是在每个时刻t,利用所获得的观测值Y1:t估计状态αt的后验概率密度函数p(αt|Y1:t),通过求数学期望,得到t时刻的声源状态估计α^t。贝叶斯滤波问题的解包括预测和更新两个步骤。假设t-1时刻的后验概率密度函数p(αt-1|Y1:t-1)是已知的,则t时刻的后验概率密度函数p(αt|Y1:t)可通过以下两个方程得到:

p(αt|Y1:t-1)=p(αt|αt-1)p(αt-1|Y1:t-1)dαt-1 (7)

其中p(αt|Y1:t-1)是状态一步预测概率密度函数,p(αt|αt-1)为状态转移概率密度,p(Yt|αt)为似然函数。

2 基于粒子滤波的声源方位跟踪

通常,方程式(7)和式(8)没有闭式解存在,除非方程式(5)和式(6)中的g(·)和 h(·)是线性函数, utvt是高斯噪声矢量,此时卡尔曼滤波是最优解。声源跟踪问题中,这些函数是非线性的,因此不能使用卡尔曼滤波求解,而粒子滤波则是解决这类非线性、非高斯问题的强有力的工具。粒子滤波是一种按Monte Carlo仿真实现递推贝叶斯滤波的技术,其关键思想是根据一组带有相应权重的随机样本来表示后验概率密度函数,而且基于这些样本和权重来计算估计值。状态空间的样本αt(i)称为粒子,其相应权重为wt(i),i∈{1,…,N}。当样本数N非常大时,这些样本和权重就趋于真实地描述了后验概率密度函数,因而粒子滤波就成为了跟踪问题的最优贝叶斯解[10]。

方程式(5)的具体实现称为声源动态模型,文献[4]提出用Langevin 方程来模拟声源的运动,该模型假设,在直角坐标系中,声源在每个坐标轴方向的随机运动是独立同分布的。在二维平面运动声源跟踪实验中,使用Langevin模型得到了较高的跟踪精度。远场条件下,声源运动过程中,水平角和仰角的变化也可以认为是独立同分布的随机过程。譬如声源水平角的变化可描述为:

θ˙t=aθθ˙t-1+bθFθ (9)

θt=θt-1+ΔΤθ˙t (10)

aθ=exp(-βθΔT) (11)

bθ=v¯θ1-aθ2 (12)

其中,Fθ是均值为0,方差为1的正态分布随机变量,ΔΤ=Lfs,是两次声源方位估计的时间间隔(L是信号帧长,fs是信号采样频率),v¯θ是稳态角速度,βθ为常数。参照文献[4]的建议,设置βθ=10Hz,仰角方向的对应参数βφ=10Hz。说话人在运动过程中,水平角变化较快,而仰角仅当声源高度变化(如说话人弯腰)时才有明显变化。根据此特点,设置v¯θ=1rad/s,v¯ϕ=0.4rad/s

定位函数将接收到的原始信号转变成目标状态观测值,对跟踪性能起着非常重要的作用。如前文所述,SRP-PHAT定位精度较高,跟踪算法中常用作定位函数。给定声源方位l,SRP-PHAT的函数表达式为:

f(lXt)=l=1Μm=l+1ΜR^lm[τlm(l)] (13)

其中R^lm[τlm(l)]为第l个和第m个麦克风的接收信号的广义互相关函数(GCC: Generalized Cross-Correlation),其表达式为:

R^lm(τ)=1Κk=0Κ-1Xl(k)Xm*(k)|Xl(k)Xm*(k)|ejωτ (14)

其中Xm(k)是xm(t)的FFT,K为FFT点数,ω是模拟角频率,“*”表示取共轭,τlm(l)为假想声源到第l个和第m个麦克风的到达时间差TDOA(Time Difference of Arrival)。在远场假设下,麦克风阵列接收信号为平面波,τlm(l)可用下式来计算:

τlm(l)=ζΤ(rl-rm)c (15)

其中ζ为声源的单位方向矢量,其表达式为:

ζ=[cosϕcosθ, cosϕsinθ, sinϕ]T (16)

rm=[x y z]T为第m个麦克风在直角坐标系中的坐标矢量,c为空气中的声速(约为342m/s)。

似然函数的作用是评价粒子权重,定位函数是声源方位的连续函数,因而可用作似然函数,我们把它称为伪似然PL(Pseudo Likelihood)函数。我们采用的伪似然函数为:

这里取Yt(lα)和0的最大值的作用是为了保证似然函数非负,ηR+,其作用是使似然函数更尖锐,从而更适合于声源跟踪[5]。将式(13)代入式(4),再将该式代入式(17)即可构造出对应SRP-PHAT的似然函数。基于粒子滤波的声源方位跟踪算法流程:

产生一组初始粒子{α0(i),i=1:N},赋予均匀权重{w0(i)=1/N,i=1:N},对接收到的每一帧新的数据执行以下步骤:

① 根据状态转移方程预测新的粒子组,α˜t(i)=g(αt-1(i),ut);② 通过定位函数将原始数据转变成目标状态观测值,Yt=f(l,Xt);

③ 形成似然函数,p(Yt|α˜t)=F(Yt,α˜t);

④ 根据似然函数计算新的粒子权重,w˜t(i)=p(Yt|α˜t(i)),然后将权重归一化,wt(i)=w˜t(i)(i=1Νw˜t(i))-1;

⑤ 计算当前时刻声源方位估计,l^s(t)=i=1Νwt(i)lα˜(i);

⑥ 按照权重,从现有粒子组{α˜t(i),i=1:N}中重采样,得到重采样粒子组{αt(i),i=1:N},然后将所有粒子置为均匀权重,wt(i)=1/N;

⑦ 存储重采样后的粒子和它们的权重{αt(i),wt(i),i=1:N},回到①。

3 实验结果与分析

为了验证本文提出算法的有效性,我们使用取自瑞士IDIAP研究所的真实数据[11]来做声源跟踪实验。IDIAP提供了单声源、多声源、静态和动态等多种情景的录音。我们取其中编号为“seq11-1p-0100”的一组数据。该组数据是在一间普通小型会议室中录制的,麦克风阵列如图1所示。

该阵列为均匀圆阵,半径为0.1m,图中黑点表示麦克风,编号1-8。麦克风阵列放置于会议桌上,录制过程中,一个说话人面对阵列在会议桌旁边走边说,期间有弯腰动作,因此声源高度有变化。录制场景如图2所示,图中虚线表示说话人在地面走动的轨迹。

声源信号是一段男声英语语音,时长约6.6s,采样频率16kHz。IDIAP提供了说话人走动过程中嘴部的三维坐标,每40ms给出一组数据,根据这些数据可以得到声源的真实方位。为了便于与真实方位比较,跟踪算法中取信号帧长L=640点(40ms),帧之间不重叠,加Hanning窗,接收信号总共分为165帧。粒子数N=50,式(17)中的η=3。跟踪精度用均方根误差RMSE(Root Mean Square Error)来评价,定义为:

ΕRΜSE=1Κst=1Κsls(t)-l^s(t)2 (18)

其中,ls(t)表示第t帧时刻声源的真实方位,l^s(t)为其估计值,‖·‖表示求该矢量的2-范数, Κs为信号帧数。假定声源的初始方位已知,初始角速度为0,用本文第2节提出的算法和文献[4]中的算法做跟踪实验,画出水平角和仰角方向的声源轨迹,分别如图3和图4所示,其中虚线为真实声源轨迹,实线为估计的轨迹。由图3可见,本文提出的跟踪算法估计的方位与真实方位拟合得较好。图3的结果也验证了前文的分析,声源的水平角变化范围较大,而仰角的变化范围要小得多。用文献[4]中的算法估计出三维声源轨迹然后转换成方位估计,如图4所示。对照图3和图4可见,本文提出的跟踪算法比传统算法的方位估计精度要高。

表1给出了上述两种算法的水平角,仰角以及总的方位跟踪均方根误差。由该表可见本文提出的算法比传统算法的方位跟踪均方根误差有明显减少。

此外,由表1可以看出仰角方向的跟踪精度比水平角方向的要低,从图3和图4也可以得出同样的结论。这是因为实验中采用的是平面阵,该阵型对水平角有较高的分辨率,而对仰角则不敏感[12]。在麦克风阵列的实际应用中,如视频会议,声源的仰角变化很小,水平角变化很大,因而跟踪算法的主要作用是提供水平角的估计值。均匀圆阵在360o 的水平角范围内具有均匀的角度分辨率,非常适合这种应用场景。

4 结 语

传统的跟踪算法基于大型麦克风阵列对声源进行三维跟踪。而麦克风阵列的很多实际应用只需要估计声源的方位。本文提出一种基于粒子滤波的声源方位跟踪算法。该算法在Langevin方程的基础上建立移动声源的方位变化模型,采用SRP-PHAT作为定位函数,运用粒子滤波对移动声源进行方位跟踪。实验表明,本文提出的算法可在真实环境中实现随机走动说话人的方位跟踪,并得到了较高的方位跟踪精度。该算法适合于小型阵列、室内环境中的说话人方位跟踪。

参考文献

[1]Zhang Cha,Florenciol D,Ba D E,et al.Maximum likelihood soundsource localization and beamforming for directional microphone arraysin distributed meetings[J].IEEE Transactions on Multimedia,2008,10(3):538-548.

[2]Avokh A,Abutalebi H R.Speech enhancement using linearly con-strained adaptive constant directivity beam-formers[J].Applied A-coustics,2010,71(3):262-268.

[3]Markovic I,Petrovic I.Speaker localization and tracking with a micro-phone array on a mobile robot using von Mises distribution and particlefiltering[J].Robotics and Autonomous Systems,2010,58(11):1185-1196.

[4]Vermaak J,Blake A.Nonlinear filtering for speaker tracking in noisyand reverberant environments[C]//Proceedings of IEEE InternationalConference on Acoustics,Speech,and Signal processing(ICASSP),Salt Lake City,UT,USA,2001:3021-3024.

[5]Ward D B,Lehmann E A,Williamson R C.Particle filtering algo-rithms for tracking an acoustic source in a reverberant environment[J].IEEE Transactions on Speech and Audio Processing,2003,11(6):826-836.

[6]Liang Zhiwei,Ma Xudong,Dai Xianzhong.Robust tracking of movingsound source using scaled unscented particle filter[J].Applied A-coustics,2008,69(8):673-680.

[7]Talantzis F.An acoustic source localization and tracking framework u-sing particle filtering and information theory[J].IEEE Transactionson Audio,Speech,and Language Processing,2010,18(7):1806-1817.

[8]曹洁,李伟.基于正则化粒子滤波的说话人跟踪方法[J].兰州理工大学学报,2010,36(6):85-88.

[9]Dibiase J H.A high-accuracy,low-latency technique for talker locali-zation in reverberant environments using microphone arrays[D].Prov-idence:Brown University,2000.

[10]Arulampalam M S,Maskell S,Gordon N,et al.A Tutorial on particlefilters for online nonliner/non-Gaussian Bayesian tracking[J].IEEETransactions on Signal Processing,2002,50(2):174-188.

[11]Lathoud G,Odobez J M,Gatica-Perez D.AV 16.3:an audio-visualcorpus for speaker localization and tracking[R].Martigny:IDIAPResearch Institute,2004.

基于粒子滤波的传感器故障检测 篇5

关键词:传感器故障,故障检测,粒子滤波

1 传感器故障的建模

传感器故障时表现为不能准确获取测量信息, 测量值与实际值存在较大偏差。传感器故障形式多种多样, 根据时间特性的不同可分为突变故障, 缓变故障, 间歇故障;根据发生形式的不同可分为加性故障和乘性故障;根据复杂程度的不同可分为线性故障以及非线性故障[1]。在控制系统中, 常见传感器故障形式主要表现为恒增益、恒偏差和卡死[2]。

假定系统工作在正常状态, 当系统运行到某一时刻ts, 传感器发生故障, 则要通过传感器测量的系统参数的实际值为y, 传感器的实际输出为ys。

(1) 恒偏差故障模型。恒偏差故障表现为y与y之间突然出现很大偏差, 且该偏差值恒定, 其模型如下:

其中, Δy为恒偏差。

(2) 恒增益故障模型。恒增益故障表现为ys随时间的推移而缓慢变化, 其模型如下:

其中, β为恒增益系数。

(3) 卡死故障模型。当传感器达到某一定值α后, 发生卡死故障, 此后输出保持不变, 其模型如下:

2 粒子滤波在传感器故障检测中的应用

由于恒偏差、恒增益、卡死等故障的发生, 使传感器无法准确地测量信息, 传感器实际测量值与理想测量值之间存在明显的差异。传感器故障检测的主要任务是生成能反映这种差异的残差, 根据残差变化规律进行决策, 对传感器故障进行诊断。考虑到大多实际系统非线性较强, 本文应用鲁棒性强的粒子滤波算法来进行故障检测研究。粒子滤波 (Particle filter, PF) 是一种基于信号处理的非线性估计方法, 它摆脱了解决非线性滤波问题时随机量必须满足高斯分布的制约条件, 能处理强非线性、非高斯随机动态系统的情况。

根据粒子滤波算法, 针对非线性系统中的不同传感器分别设计粒子滤波器, 滤波器只对一种传感器敏感, 以便实现故障传感器的定位。对某一传感器, 其故障检测原理如图1所示。

图1中, 当有控制信号u输入时, 粒子滤波器开始模拟系统的工作状态并输出估计的被测参数值, 通过与传感器实际测量得到参数值进行比较, 得到残差r, 实现故障检测。如果传感器发生故障, 则E (r) ≠0;如果传感器未发生故障, 则E (r) 0。但是如果建模存在误差, 或者系统存在未知噪声等干扰时, 这些因素都会带来残差, 因此需要设定一个合适的阈值, 当残差值的绝对值大于该阈值时, 判为有故障发生。

对于如下的非线性系统:

其中, xk是系统在k时刻的状态变量, uk是输入控制变量, yk是传感器在k时刻的理想输出值, wk和vk观测噪声为相互独立不相关的过程噪声和观测噪声。

3 仿真实验

本节根据基于粒子滤波算法的传感器故障检测的研究要求, 以直流无刷电机 (Brush DC Motor, BLDCM) 系统中的电流传感器故障检测为例, 在Matlab环境下进行仿真实验。

以电机电流为输出的直流无刷电机系统的状态方程如下所示:

I是电机电流, ω是电机转速, R是电机电枢电阻, L电机电枢电感, J是电机轴上的等效转动惯量。ke是反馈电动势系数, kt是力矩系数, B是阻尼系数。

本文在假定噪声形态的情况下设计了BLDCM系统模型, 降低了与实际BLDCM系统的失配度。

4 结语

本文为传感器的三种常见故障:恒偏差故障、恒增益故障以及卡死故障构建了故障模型, 并对传感器构建粒子滤波器, 以实现对传感器的实时监测。以直流无刷电机系统传感器故障检测为例, 进行仿真验证。仿真结果分析表明, 当传感器发生故障时, 因其存在一定的残差, 根据上述方法不仅可以短时间内清晰地检测出传感器故障, 而且能够对故障类型和大小进行准确估计, 验证了方法的有效性。

参考文献

[1]R.Isermann.Fault-Diagnosis systems an introduction from fault detection to fault tolerance.Springer Berlin Heidelberg, 2006.

辅助粒子滤波 篇6

笔者将标准粒子滤波算法和高斯粒子滤波相结合, 引入一个重新选择粒子的过程, 即粒子优化重选粒子滤波 (Optimized Repicking Particle Filter) 。当粒子贫化问题出现时, 通过由当前滤波值和方差生成的高斯密度函数来逼近后验概率分布, 重新采样后再进行运算。由于引入粒子优化重选的过程, 缓解了粒子的退化与贫化问题, 所以滤波精度要高于标准算法。最后的仿真结果也证明了这一点。

1 高斯粒子滤波算法

1.1 量测更新

1.2 时间更新

2 样本优化重选粒子滤波

与一般的粒子滤波相比, GPF不需要对粒子进行重采样, 降低了计算量和复杂度, 但是滤波精度较之一般的粒子滤波稍差, 因而考虑将两者结合。

新算法的描述如下:

(1) 由p (x0) 得到N个采样点。

(2) 计算权值并对其归一化, 得到

(3) 输出K时刻的状态估计为:

方差为

3 实验仿真结果及分析

3.1 仿真一

选用单变量非静态增长模型 (UNGM) , 仿真对象的过程模型和量测模型如下。

过程模型:

量测模型:

式中, ω (t) 和v (t) 为零均值高斯噪声。仿真取噪声方差Q为10, 量测噪声方差R为1。分别用增加马尔可夫链蒙特卡罗粒子滤波 (MCMCPF) 和样本优化重选粒子滤波算法 (ORPF) 来对这样的非线性系统进行状态估计和跟踪。时间步长50次。

其中均方根误差

具体数据如表1所示:

状态估计曲线如图1、2所示:

如表1所示, 过程噪声方差Q=10、量测噪声方差R=1时。在N=100, MCMCPF的误差均值为3.6946, 而ORPF为3.5602;MCMCPF的RMSE为5.2191, 而ORPF为4.0066;在状态估计时间上, MCMCPF为0.009502s, 而ORPF为0.010143s。在N=500时, MCMCPF的误差均值为2.6765, 而ORPF为2.4154;MCMCPF的RMSE为3.6747, 而ORPF为3.2293;在时间估计上, MCMCPF为0.085130s, 而ORPF为0.028229s。由此, 说明ORPF的估计精度比MCMCPF略高, 在粒子数较少时, 两种算法的估计时间相差不大, 但随着粒子数的增加, MCMCPF的估计时间急剧上升, 远超ORPF。

如图1、2、3、4所示, ORPF算法的估计误差是略小于MCMCPF的, 滤波精度是略优于MCMCPF的。

综上, 可以得出, 在高度非线性模型下, ORPF在滤波精度上略优于MCMCPF, 在实时性上要优于MCMCPF。

3.2 仿真二

选用被动定位系统中二维纯方位目标跟踪模型, 仿真对象的过程模型和量测模型如下:

过程模型:

量测模型:

如图5、6所示, ORPF在X轴方向和Y轴方向上的估计误差都小于PF的估计误差, 说明ORPF的估计精度高于PF。图7展示了2种算法的状态估计曲线, 显然ORPF的跟踪精度要好。

4 结束语

本文提出了一种基于GPF的加入了粒子优化重选步骤的新的粒子滤波。传统的重采样方法中权值较大的粒子会被多次复制, 造成粒子的贫化。在贫化问题出现时, 利用当前时刻的估计值和方差构建高斯密度函数来逼近后验概率分布, 从中重新采样并更新粒子。该方法能够有效的缓解粒子贫化带来的问题。仿真结果表明, 提出的ORPF在估计性能上要好于传统的PF。

参考文献

[1]占荣辉, 张军.非线性滤波理论与目标跟踪应用[M].北京:国防工业出版社, 2013:108-167.

[2]朱志宇.粒子滤波算法及其应用[M].北京:科学出版社, 2010.

[3]胡士强, 敬忠良.粒子滤波算法综述[J].2005, 20 (4) :361-365.

[4]杨小军, 潘泉, 王睿, 等.粒子滤波进展与展望[J].控制理论与应用, 2006, 23 (2) :261-267.

[5]张俊根.粒子滤波及其在目标跟踪中的应用研究[D].西安电子科技大学, 2011.

[6]Gilks W R, Berzuini C.Following a moving target—Monte Carlo inference for dynamic Bayesian models[J].Journal of the Royal Statistical Society:Series B (Statistical Methodology) , 2001, 63 (1) :127-146.

[7]Fearnhead P.Markov chain Monte Carlo, sufficient statistics, and particle filters[J].Journal of Computational and Graphical Statistics, 2002, 11 (4) :848-862.

[8]Carlin B P, Polson N G, Stoffer D S.A Monte Carlo approach to nonnormal and nonlinear state-space modeling[J].Journal of the American Statistical Association, 1992, 87 (418) :493-500.

[9]Berzuini C, Best N G, Gilks W R, et al.Dynamic conditional independence models and Markov chain Monte Carlo methods[J].Journal of the American Statistical Association, 1997, 92 (440) :1403-1412.

[10]Sarkar P.Sequential Monte Carlo Methods in Practice[J].Technometrics, 2003, 45 (1) :106-106.

辅助粒子滤波 篇7

近年来,人脸检测和跟踪技术在视觉监测、基于内容的检索等领域都有很重要的应用价值,已经成为一个独立的课题备受国内外专家和学者的关注,人脸跟踪也因此得以快速发展[1]。人脸跟踪中的两大关键因素就是跟踪线索的选择与表达,以往很多人利用单一的人脸信息作为目标特征进行跟踪实验,发现单独利用单一的人脸信息进行跟踪无法达到可靠的效果,所以本文提出结合颜色和轮廓共同作为人脸跟踪线索。因为颜色容易受到光照的影响,引入用直方图来描述人脸轮廓[2]的方法能有效缓解此问题,并且采用自适应调整描述人脸轮廓的特征点的个数,保证了跟踪的效率。本文选取粒子滤波算法作为跟踪算法,既摆脱了Kalman和扩展Kalman为解决非线性滤波问题随机量必须满足高斯分布的制约,又能表达比高斯模型更广泛的分布,也对变量参数的非线性特性有更强的建模能力,实用性强。同时,由于随机样本(粒子)有效地表达了跟踪目标的不确定性,从而保证跟踪的鲁棒性[3]。本文还采用了实时更新跟踪模板的方法,有效解决了背景中的肤色干扰和复杂背景干扰。实验证明本文提出的新算法在人脸跟踪方面具有很好的鲁棒性。

1 粒子滤波

粒子滤波的核心思想是通过一组加权采样集来表示概率分布,而且它的表示精度可以随着粒子个数的增加达到足够高,最终可以无限接近最优贝叶斯估计。

假设{xti,wti}(i=1,…,N),为后验概率密度P(xt|yti)的随机粒子,粒子的权值都经过归一化处理,那么在t时刻目标的位置的后验概率密度可以表示为

利用重要性采样原理对权值进行选择,假设粒子来自重要性密度函数q(xti|xi0:t,zt),则权值更新为

当粒子数足够大时,估计值近似于真实的后验概率,即可以用状态转移概率密度函数作为重要性密度函数。此时式(2)可以表示为

但是,这样估计的状态存在偏差,因为如果存在伪目标,这种估计均值其实是真实目标和伪目标的混合值,所以有必要设定一个阈值,来去除伪目标的干扰。本文是利用高概率区域内粒子的权值来估计跟踪目标的状态,并且在高概率区域内进行粒子重采样,即设定每个粒子匹配的相似度T作为阈值(本文T=0.7),利用相似度大的粒子的权值估计目标的位置,然后根据估计出的目标位置和相似度较大的粒子的权值进行重采样,那么就消除了伪目标的影响,可以近似为在真实目标范围内进行估计均值[4]。

2 跟踪线索

在图像序列中,可用于人脸目标跟踪的信息线索很多,而且各有特点,对不同的环境有着不同的鲁棒性,为了提高跟踪的可靠性,往往需要结合多种信息来完成复杂的跟踪任务[5]。通常要求选取的跟踪线索最好能够独一无二,以方便特征空间的建模,但是色彩易受到光照、背景等外在因素的影响,所以需要使用其他特征线索来辅助修正颜色线索的不足[6]。本文算法就是选择了以颜色为主要跟踪线索,辅以轮廓,实现了更好的人脸跟踪。

2.1 颜色

色彩特征一般需要借彩色空间模型进行描述[7],而最常用的色彩空间有LUV、RGB、HIS、HSV等多种可供选择[8]。由于RGB是色彩图像处理过程中最常用的色彩描述空间,同时考虑到LUV、HSV等色彩空间都存在噪声敏感的问题,所以根据应用场景和跟踪目标的性质,本文选择了RGB色彩空间。

本文在RGB颜色空间,对R、G、B三个分量均等划分,采用888量化形式将色彩灰度化,实现色彩描述由三维转化成一维,然后在前述工作的基础上统计不同色彩的频率,建立目标区域的颜色分布概率直方图,采用颜色直方图来描述目标人脸。

假设P0是目标灰度直方图模板,用于与观测值的比较,实现相似程度和权值的确定。设两个经过归一化的离散颜色直方图(模板图像颜色直方图和粒子颜色直方图)的密度为P0={P0(u),u=1,…,m}和P={P(u),u=1,…,m},由于Bhattacharyya系数可以反应两个颜色直方图匹配程度。所以,本文采用Bhattacharyya距离来度量目标区颜色直方图与人脸模型颜色直方图之间的相似性[9]。具体表示如下:

式中:ρ[Hoc,Hfc]是离散Bhattacharyya系数,ρ的变化区间在[0,1]内,ρ越大,两个直方图就越接近,即dc越小两个直方图越接近,当dc=0时,则意味着完全匹配。

为了提高跟踪的效率和精确度,本文提出了实时更新颜色线索的模板信息的方法。首先提取并保存目标人脸的模板信息,其中包括人脸的正面、侧面、后面、轮廓四个直方图矩阵信息,用于更新模板。由于人转身,不管是正面转向背面,还是背面转向正面,都要先经过侧面,所以,在实时更新模板的时候首选是侧面,然后选择正面或者背面。实验证明,此方法在目标人脸旋转,甚至在人背向摄像头运动的时候,仍然能够很好的跟上目标。

在复杂背景场景下,跟踪的目标模型中不可避免包含一些背景像素,这些不可避免的背景像素往往容易造成跟踪的偏差,这些偏差得不到及时的矫正,在后续的跟踪过程中会造成更大的误差,误差的积累最终会导致跟踪的失败,所以本文引进一种利用目标外围环中的背景信息来抑制背景像素的影响[10]。

假设目标人脸在大小比为1:1.2的两个同心椭圆内,内椭圆的归一化的颜色直方图为M,同心椭圆环的归一化的颜色直方图为H,依据背景概率分布H来修正原目标的概率分布M,达到抑制背景影响的目的。即通过一个函数f(M,H)来调整概率分布M中的各项特征系数,过程如下:

这里k是为了防止函数值为负无穷大或者除数为0的情况,本文设置k为110-11。函数f实现的功能是:在M和H同像素的位置上,若H分布中值较大,说明该像素在目标分布M中较多地描述了背景信息,应该被抑制,反之,若H分布中值较小,说明该像素在目标分布M中不属于背景信息,应该被保留。实验证明本方法很好地抑制了目标中背景像素的影响,从而突出了目标,提高了跟踪的准确度。

2.2 轮廓

除了色彩,边界是目标第二明显特征。尤其重要的是边界对光照变化不敏感,色彩特征对光照变化敏感,轮廓刚好可以弥补颜色在人脸跟踪过程中的不足。本文对轮廓描述主要参考Berkeley加利福尼亚大学的Belongie等提出的形状上下文的概念。轮廓上某一特征点的描述是指在一指定极坐标系中轮廓上的其他特征点相对于该点的矢量长度和转角的统计直方图[11]。本文所指的轮廓是指人脸的外围形状,所以先要对该区域进行边缘检测[12],并对检测到的边缘进行抽样。为了抽样方便,本文特征点由图像的检测边缘均匀抽样获得。假设边界点中选取的点集为P={p1,p2,…,pn},n值越大,特征点的描述就越清楚,但是同时也增大了计算量,降低了跟踪效率,所以本文参考粒子滤波中粒子数自适应调整的方法,实现了边界点的自动确定。

首先给定一个n值,进行边界点的选取,然后根据选取的边界点计算目标的质心坐标(xg,yg):

式中:P表示待计算的目标,I(x,y)表示目标的灰度值。然后还要给定一个阈值(本文选取=3),计算当前n值求得的质心与原目标质心的距离差,当这个差小于,则选取当前的n值为本次抽样值[13]。确定了抽样值,接着要将抽样得到的特征点转换成极坐标形式,即用方向和长度来表示不同的特征点。本文设置的方向参数为12,即将圆周分成12份,长度参数为7,即将圆周的半径平局分成7份。在点集P={p1,p2,…,pn}中,对于任意一点pi与剩下的n-1个特征点所构成的形状直方图的公式如下:

(x0,y0)表示极坐标的原点,通过上式可以计算出,除pi外的其余n-1个特征点相对于pi的极坐标,然后统计这些坐标群落在根据之前设置的转角参数和长度参数划分的格子的每一个格子里的点数,得到的便是pi的轮廓分布,最后还要再使用经验密度方法进行归一化处理,得到归一化的轮廓分布,依此计算n个特征点的直方图,可以表示成:

假设目标轮廓特征点为J个,同上式描述方法,可以表示为

接下来要计算人脸轮廓分布与原目标轮廓分布的相似性,因为对于原目标轮廓分布的任意一个特征点的直方图分布,都能在某时刻粒子提取的轮廓分布中找到与之最接近的,所以可以用X2距离来表示两个直方图的相似度,即:

本文将目标区域和人脸模型总的轮廓相似度定义为所有特征点匹配指标之和。

3 人脸跟踪实现

3.1 动态模型

在本系统中,被跟踪的人脸我们称之为目标,在每一视频序列当中被跟踪的目标可以用一个状态变量来描述[14]。

其中:(x,y)代表每一视频序列中剪切下来的包围了人脸椭圆框的中心坐标,而(l,h)代表椭圆的长轴和短轴,如果在不严重影响目标跟踪的准确性的情况下,固定长短轴之比能够减小程序的复杂度,但是可能增加数据量,影响跟踪的速度,所以本文采用可以大小变化的椭圆跟踪标识框。为了便于陈述,我们将椭圆坐标中心和椭圆长短轴分开表示,假设如下:

粒子的运动过程模型我们采用最常用二阶自回归过程来描述,这个简单的模型能够很好地模拟出大多数的物体运动状态,其具体表示如下:

假设Xt服从高斯分布,X0:t-1指的是粒子从0到t-1时刻状态序列,Xt-1表示的是粒子t-1时刻的状态,Xt-1-Xt-2表示的是t-1时刻和t-2时刻的状态偏移量,Q表示的是期望为0的高斯分布的协方差矩阵。P(Xt|X0:t-1)通过Xt-1、Xt-1-Xt-2和Q三个变量描述t时刻所有粒子的分布状态。

3.2 观测模型

本文人脸跟踪算法中采用了两种跟踪线索,所以,对于每一次的粒子滤波的观测量都不是一定相同的,需要对应选择。其中

目标区域颜色观测量:

目标区域轮廓观测量:

为了提高跟踪的速度,本文设计的人脸跟踪是以颜色跟踪为主,轮廓跟踪为辅,所以,假设一条线索所提供的观测量在统计上相互独立,则结合t时刻状态Xt下的颜色直方图与参考颜色直方图的相似性,当颜色的相似度低于阈值(本文取0.7),那么状态Xt粒子的权重为Ws(Zs|Xt),否则为Wc(Zc|Xt)。

3.3 本文算法实现步骤

本文的一次帧间人脸跟踪过程就是通过t-1时刻粒子状态集合,包括t-1时刻目标位置和粒子的权值,估计t时刻粒子的状态集合,本文人脸跟踪的大概过程如下:

1)首先根据重要性函数进行采样。当t=1时,初始化粒子权值为1/N。

2)设匹配相似度的阈值为T(本文T=0.7),按照阈值筛选出的粒子,选择加权粒子集。如果都小于T,更新目标模板,重新计算观测量和模型的匹配度,更新粒子的权值;如果粒子的权值仍然都小于T,则选择轮廓跟踪。完成一帧轮廓跟踪,返回颜色跟踪。

3)估计目标位置。

4)更新权值。

5)根据筛选的加权粒子集,在高概率区域内进行重采样。如此重复更新目标位置和粒子权值的状态。

4 跟踪实验结果分析

为了验证本文算法的有效性及快速性,本文特别选取了具有针对性和代表性的视频图像序列进行试验,该视频序列是专门用来进行人脸跟踪的视频序列,其中包含了如人脸肤色、光照变化、背景干扰等环境复杂的图像,因此利用此视频序列进行人脸跟踪实验验证,有较强的合理性和较大说服力。在实验平台的选择上,本文所提算法的实验是在Intel(R)Celeron(R)U3400 1.07 GHz的个人电脑上运行的,软件环境采用MATLAB 7.1。

为了实现人脸跟踪过程鲁棒性和跟踪效率的均衡,同时验证进一步提高跟踪准确度的必要性,首先本文利用传统的粒子滤波算法在只有颜色一个跟踪线索的情况下不同粒子数的人脸跟踪实验。实验结果如图1所示。我们可以看出,当粒子数较多(粒子数为200)时能够实现效果良好的人脸跟踪,但是跟踪效率很低(耗费时间为29.4 s);减少粒子数目(粒子数为100)后,较之前跟踪准确性误差增大,人脸旋转时候已经跟不上目标了,同时,跟踪耗费时间开始明显减少(耗费时间为9.5 s)。当进一步减少粒子数目(粒子数为50)时,跟踪误差进一步增大,在光照发生变化、人脸旋转的时候不能准确跟踪,而且,在正常情况下,人脸大小的调节也已经不准确。同时,完成时间只有稍微减少(耗费时间为5.7 s)。

由以上比较可以看出,粒子滤波人脸跟踪的优良准确度是通过耗费高性能计算资源以及时间来实现的。如果改进算法,使粒子数为100的时候的跟踪效果和粒子数为200个时候的效果一样或者更好,就相当于将时间增快了接近20 s,大大提高了跟踪的效率,很好地实现了跟踪准确度和效率的均衡,满足了实时跟踪的要求。所以,改进基于颜色的粒子滤波算法实现粒子数100或者更少粒子情况下还能准确跟踪是非常有必要的。

本文第二个实验是为了验证本文添加了轮廓作为跟踪线索后的新算法能够很好地克服光照对人脸跟踪的影响,以及人脸旋转的时候,新的算法仍然能够准确跟踪人脸。如图2所示,在同样粒子数目(粒子数目为100)的情况下,如图2第126帧和146帧,在光线突变和背景干扰较大的时候,本文结合了轮廓形状的粒子滤波人脸跟踪性能明显优于传统基于颜色的粒子滤波人脸跟踪。而且,在第70帧,人脸旋转的时候,传统算法已经跟不上人脸,而本文实时更新模型的算法仍然能够很好跟踪人脸。新算法跟踪耗时约为10.17s,这个耗时的稍微增加几乎可以忽略不计。

本文算法还对因背景存在与人脸类似像素信息造成干扰的情况采取了抑制措施,所以接下来本文做了第三个实验,论证本文在具有相似背景情况下本文算法的优越性。如图3所示可以看出在较强的类人脸背景干扰下,跟踪出现明显误差,而同样粒子数目的本文算法在相同的较强类人脸背景干扰下仍然能够实现良好的跟踪。

以上人脸跟踪准确度的比较都是基于人眼直观观察的,为了进一步说明问题,在以上实验基础上,本文还利用数据进行了验证。因为当粒子数足够多的时候,估计值可以近似为真实值。本文不断增加粒子数观察跟踪的情况,发现达到5 000个粒子的时候,跟踪路径基本接近真实轨迹,所以本文选取5 000个粒子时跟踪的路径,假设其为真实路径,选取基于颜色直方图的粒子滤波人脸跟踪算法粒子数分别为200、100、50时候跟踪路径与真实路径进行误差分析,同时选取了本文算法粒子数为100时候跟踪路径和真实路径的误差分析,四者的误差分析比较结果如图4和图5,图4是视频序列的横向跟踪百分比误差,图5是视频序列的纵向跟踪百分比误差,坐标系中,横轴表示视频序列帧数,纵轴表示跟踪百分比误差,其中跟踪误差定义为

其中:pre是指目标人脸的真实位置,pob是指利用跟踪算法得出的目标位置观察值。pre是指相邻两帧目标人脸真实位移。

跟踪百分比误差定量分析了人脸跟踪的效果。如图4和图5,表示本文新的人脸跟踪算法的轨迹线几乎没有什么大的波动,而且不论横向还是纵向的百分比误差都是很接近横向坐标轴的,表明该算法跟踪准确度很高。其次是200个粒子的传统粒子滤波算法、100个粒子的传统粒子滤波算法、50个粒子的传统粒子滤波算法,对照试验的图像序列,发现这些曲线的波动比较大的点,刚好是出现类人脸背景干扰、人脸旋转或者光照影响的时候。所以,曲线距离横轴的距离以及曲线波动点进一步证明,本文新算法在光照影响、人脸旋转以及类人脸背景干扰情况下较传统粒子滤波算法有很大的优势。

5 结论

本文针对现实的人脸跟踪问题,首先分析对比验证当前已有跟踪算法技术的特点及不足,然后将跟踪器设计和跟踪线索选择两方面作为切入点,针对视频跟踪的非线性和非高斯的特点,以及颜色线索的优越性和直方图描述对平移、尺度变化的高鲁棒性,本文选择了粒子滤波作为整个人脸跟踪算法设计的基本框架,添加颜色直方图作为跟踪的基本线索。为了克服人脸旋转问题,本文采取更新人脸模板的方法来提高人脸旋转时跟踪的鲁棒性,同时为了克服背景相似颜色的干扰,借助了椭圆环像素概率的比较方法进行抑制。由于跟踪过程中的光照影响,本文提出了使用轮廓分布作为人脸跟踪的辅助线索;为了减少状态估计的偏差,利用高概率粒子估计跟踪目标的状态,在高概率区内进行粒子重采样;最后选择权威视频序列进行实验,验证了所提算法的有效性和准确性。

摘要:实际人脸跟踪过程中,光照和姿态的变化、背景颜色干扰等因素都会极大地削弱颜色特征的有效性,从而造成跟踪的不稳定。针对该问题,本文提出了一种以颜色和轮廓分布为线索的粒子滤波人脸跟踪算法。该算法主要有三个方面的特点:第一,在粒子滤波基本框架下,引入新的用直方图描述人脸轮廓的方法,有效解决了光照、人脸旋转、部分遮挡问题对跟踪的影响,并且能及时有效地重新捕获由于大面积遮挡等原因而丢失的目标。同时采用实时调整每帧图像特征点个数,有效提高了跟踪效率。第二,针对背景干扰问题,提出了一种抑制相似背景颜色干扰的方法。第三,本文还提出实时更新模板的方法来提高跟踪的准确性。实验证明本文算法对人脸跟踪具有很好的效果。

上一篇:风机调试下一篇:离婚制度