本发明属于计算机视觉领域,涉及目标跟踪中的状态估计,具体涉及一种智能混合群体优化滤波跟踪方法。
背景技术:
在目标跟踪中用于估计后验状态的最火热的方法为粒子滤波算法(PF)。PF算法采用序贯蒙特卡洛方法(SMC),采用一组样本(即粒子)近似表示非线性系统的后验分布,再使用这一近似表示估计系统的状态。与其他几种算法相比,PF算法更适用非线性系统,适用范围更广,实际效果也较好。在当前主流的视觉跟踪算法中,如CNT算法和IOPNMF算法等皆是以粒子滤波为框架的跟踪算法。然而粒子滤波算法无法避免粒子退化现象,这是因为粒子权值的方差会随着时间的累积而逐渐增大。为解决粒子退化现象,通常采用的方法是增加粒子的数目或者重新采样。但增加粒子的数目会导致计算量的增加,使得运行时间成倍提高,算法的实时性荡然无存。重采样的方法是取出权值较小的粒子,只复制权值较大的粒子,但随着重采样的进行,由于权值大的粒子被不断复制,最后使得粒子的种类急剧下降,导致样本贫化问题。
粒子滤波算法需要解决的另一个问题是,在粒子的状态转移过程中,转移过后的粒子要能出现在目标所有可能出现的位置,否则跟踪就可能逐渐远离我们的跟踪目标,最终导致跟踪目标丢失。增加粒子数同样能解决这个问题,但显然增加粒子的数目会导致计算量的增加,使得运行时间成倍提高,算法的实时性荡然无存。
技术实现要素:
本发明的目的在于一种智能混合群体优化滤波跟踪方法,以克服上述现有技术存在的缺陷,本发明能够更加准确地估计非线性系统中的后验状态,在复杂多变的场景环境中,表现出更高的跟踪准确性。
为达到上述目的,本发明采用如下技术方案:
一种智能混合群体优化滤波跟踪方法,包括以下步骤:
步骤1:粒子分层:
通过设定的阈值τh,τl,将粒子样本中的粒子依据权值的大小分为高权值粒子集、中权值粒子集和低权值粒子集,从而根据不同层中的粒子数量来更新粒子的位置;
步骤2:状态更新
利用当前时刻粒子的位置和权值信息,找出目标最可能的状态,即生成合适的建议分布,从而准确地估计目标在当前时刻的位置,并根据不同层粒子的数目选择是否对高权值粒子集、中权值粒子集和低权值粒子集的粒子进行内聚运动;
步骤3:状态估计
根据最小均方误差准则或极大后验准则进行状态估计,将条件均值或具有极大后验概率密度的状态作为系统状态的估计值,即对内聚运动后的粒子重新计算修正状态更新估计的目标的位置,作为目标的真实位置输出;
步骤4:状态预测
设计先验分布函数,预测下一时刻估计目标的状态,即根据不同层粒子的数目对粒子进行排列运动或者分离运动。
进一步地,步骤1中粒子分层的实现如下式:
其中,为k时刻粒子样本中第i个粒子的权值,τh,τl分别为粒子分层的上下阈值,ψh,ψm,ψl分别为高权值粒子集、中权值粒子集和低权值粒子集的标志。
进一步地,步骤2中粒子的内聚运动以及步骤4中的粒子的排列运动和分离运动如下:
(1)内聚运动
根据已有粒子的权值,让权值较低的粒子移动至权值较大的区域,粒子的移动方法如下:
coh(xk):xk=xk-1+(a+(b-a)*rand)*(xk-1-xc)
其中xk为粒子在k时刻时的位置状态,xk-1为前一时刻的位置状态,xc为平均的中心位置,rand为0到1的随机数,a和b为预设常数,其中a≤1≤b,b-a的值越小,内聚速度越快,但粒子多样性越差,反之b-a的值越大,内聚速度越慢,但粒子多样性越好;
(2)分离运动
在当前时刻无法准确确定目标位置时,让所有粒子进行分离运动,粒子的移动方法如下:
spa(xk):xk=xk-1+λ*rand(xc-xk-1)
其中xk为粒子在k时刻的位置,xk-1为前一时刻的位置状态,xc为平均的中心位置,为目标的平均位移,rand为0到1的随机数,λ为预设常数,取λ≤1,λ值越大,分离程度越大,全局搜索能力越强,但局部搜索能力越弱,相反,λ越小,分离程度越小,全局搜索能力越差,但局部搜索能力越强;
(3)排列运动
为在当前时刻能够准确估计目标位置的情况下,预测下一时刻目标位置,采用匀速运动模型,表示如下:
进一步地,步骤3中状态更新遵循以下4条准则:
准则3.1:当高权值粒子集ψh中粒子数量较多,即length(ψh)>threshold,表明在当前时刻,粒子集能充分确认目标的位置状态,为理想的跟踪效果,则根据全局最小均方误差准则,计算出中心位置,在生成建议分布时,考虑到粒子多样性,保留高权值粒子和中权值粒子的位置状态,仅对低权值粒子集ψl中的粒子进行内聚运动;
准则3.2:当高权值粒子集ψh中的粒子数量较少,但大于一个阈值时,即threshold>length(ψh)>mpts,所述阈值mpts>0,并且中权值粒子集ψm中的粒子数量较多,即length(ψm)>threshold,表明在当前状态下,跟踪效果良好,但高权值粒子的周围拥有更高的权值,则根据局部最小均方误差准则,对高权值粒子集ψh里的粒子局部加权,计算出中心位置,在生成建议分布时,保留中权值粒子的位置状态,仅对低权值粒子集ψl中的粒子进行内聚运动;
准则3.3:当高权值粒子集ψh中的粒子数量较少但大于一个阈值即threshold>length(ψh)>mpts,所述阈值mpts>0,并且中权值粒子集ψm中的粒子数量较少,即threshold>length(ψm),则根据局部最小均方误差准则,对高权值粒子集里的粒子进行局部加权,计算出中心位置,在生成建议分布时,对中权值粒子集ψm和低权值粒子集ψl中的粒子同时进行内聚运动;
准则3.4:当高权值粒子集ψh中的粒子数量极少,即mpts>length(ψh),并且中权值粒子集ψm中的粒子数量较多,即length(ψm)>threshold,表明此时跟踪效果一般,但是占据较多数量的中权值粒子仍然能够近似表示目标的位置状态,则根据局部最小均方误差准则,对中权值粒子集ψm里的粒子进行局部加权,计算出中心位置,在生成建议分布时,仅对低权值粒子集ψl中的粒子进行内聚运动。
进一步地,步骤3中极大后验准则计算公式为:
其中wk(xk)为粒子集中每个粒子对应的归一化权值,xk为k时刻的粒子样本,为满足maxwk(xk)条件的所有xk构成的集合。
进一步地,步骤3中最小均方误差准则分为以下两种:
(1)局部最小均方误差准则
通过设定一个范围R,将R内的粒子数目M统计出来,在估计目标后验状态时,仅对R内的粒子样本进行按权值加和,其计算公式如下:
其中为k时刻粒子样本中第i个粒子的权值归一化结果,为k时刻粒子样本中第i个粒子;
(2)全局最小均方误差准则
对总数为N的粒子集中所有粒子整体加权求和,计算公式为:
其中为k时刻粒子样本中第i个粒子的权值归一化结果,为k时刻粒子样本中第i个粒子。
进一步地,步骤4中状态预测遵循以下2条准则:
准则5.1:若当前时刻满足更新准则的条件,表明当前时刻能够判断目标的位置状态,则根据全局最小均方误差准则估计目标的后验状态,再将粒子集进行排列运动预测下一时刻的先验状态;
准则5.2:若当前时刻不满足更新准则中的任一条件,高权值粒子集ψh中的粒子非常少,即mpts>length(ψh),并且中权值粒子的数量也较少,即threshold>length(ψm),则根据极大后验准则估计目标的后验状态,并根据极大后验准则确定中心位置,再对所有粒子进行分离运动预测下一时刻的先验状态。
与现有技术相比,本发明具有以下有益的技术效果:
本发明方法在贝叶斯滤波的基础上,运用智能群体优化的三种运动模型估计目标的后验状态,其中内聚运动在保持了粒子多样性的情况下增加了样本的权值,分离运动和排列运动相协调能够更加准确地预测下一时刻目标的先验状态,实验结果表明,与标准粒子滤波相比,能够更加准确地估计非线性系统中的后验状态,在复杂多变的场景环境中,表现出更高的跟踪准确性。
附图说明
图1是本发明的流程示意图;
图2是采样重要性重采样粒子滤波(Sampling Importance Resampling Particle Filter,PF-SIR)算法与本发明所提出的SIF算法的性能对比图;其中,(a)为状态函数与观测函数的函数分布,(b)为本发明提出的算法与PF-SIR状态估计的结果曲线图,(c)(d)(e)(f)为将本发明提出的跟踪算法用于Basketball视频序列跟踪结果的部分关键帧截图,(c)表示部分遮挡,(d)表示大幅度遮挡,(e)表示快速移动,(f)表示目标变形。
具体实施方式
下面结合附图对本发明作进一步详细描述:
参见图1和图2,本发明提供一种智能混合群体优化滤波跟踪方法,在贝叶斯滤波的基础上,运用智能群体优化的三种运动模型估计目标的后验状态。具体思路是,传统的粒子滤波算法存在粒子退化问题,增大粒子数目虽然能解决这个问题,但相应极大地增大了计算量,本方法结合智能群体思想,将粒子根据具体的情况进行相应的运动,在保证不增加粒子数目的情况下,很好的避免粒子退化问题,其中内聚运动在保持了粒子多样性的情况下增加了样本的权值,分离运动和排列运动相协调能够更加准确地预测下一时刻目标的先验状态,比传统的粒子滤波能够更加准确地估计非线性系统中的后验状态,在复杂多变的场景环境中,表现出更高的跟踪准确性。
具体步骤如下:
步骤1、通过设定的阈值τh,τl,将粒子样本中的粒子依据权值的大小来分层,从而可根据不同层中的粒子数量来更新粒子的位置。可表示为:
其中,为k时刻粒子样本中第i个粒子的权值,τh,τl分别为粒子分层的上下阈值,ψh,ψm,ψl分别为高权值粒子集、中权值粒子集和低权值粒子集的标志。
步骤2、利用当前时刻粒子的位置和权值信息,找出目标最可能的状态,即生成合适的建议分布,从而准确地估计目标在当前时刻的位置,并根据不同层粒子的数目的多少选择是否对中层粒子进行内聚运动,最后对低层粒子进行内聚运动;在SIF算法中,遵循以下4条准则:
准则1
当高权值粒子集ψh中粒子数量较多(length(ψh)>threshold),表明在当前时刻,粒子集能充分确认目标的位置状态,为理想的跟踪效果。则根据GMMSE准则,计算出中心位置。
在生成建议分布时,考虑到粒子多样性,保留高权值粒子和中权值粒子的位置状态,只对低权值粒子集ψl中的粒子进行内聚运动。
准则2
当高权值粒子集ψh中的粒子数量较少,但大于一个一个阈值时(mpts>0,threshold>length(ψh)>mpts),并且中权值粒子集ψm中的粒子数量较多(length(ψm)>threshold)。表明在当前状态下,跟踪效果良好,但高权值粒子的周围可能拥有更高的权值。则根据LMMSE准则,对高权值粒子集ψh里的粒子局部加权,计算出中心位置。其中阈值mpts之所以要大于0,是为了防止所提取的特征(Feature Extractor)不能充分代表目标的状态,即可能出现极个别粒子并不能表示目标位置状态,但是依据观测模型所计算出的权值却较大。
在生成建议分布时,保留中权值粒子的位置状态,只对低权值粒子集ψl中的粒子进行内聚运动。
准则3
当高权值粒子集ψh中的粒子数量较少但大于一定阈值(mpts>0,threshold>length(ψh)>mpts),并且中权值粒子集ψm中的粒子数量较少(threshold>length(ψm))。则根据LMMSE准则,对高权值粒子集里的粒子进行局部加权,计算出中心位置。
在生成建议分布时,对中权值粒子集ψm和低权值粒子集ψl中的粒子同时进行内聚运动。
准则4
当高权值粒子集ψh中的粒子数量极少(mpts>length(ψh)),并且中权值粒子集ψm中的粒子数量较多(length(ψm)>threshold)。表明此时跟踪效果一般,但是占据较多数量的中权值粒子仍然可以近似表示目标的位置状态。则根据LMMSE准则,对中权值粒子集ψm里的粒子进行局部加权,计算出中心位置。
在生成建议分布时,只对低权值粒子集ψl中的粒子进行内聚运动。
步骤3:状态估计
通常可以根据最小均方误差(MMSE)准则或极大后验(MAP)准则进行状态估计,将条件均值或具有极大后验概率密度的状态作为系统状态的估计值,即对内聚运动后的粒子重新计算修正状态更新估计的目标的位置,作为目标的真实位置输出;
MAP准则计算公式为:
其中wk(xk)为粒子集中每个粒子对应的归一化权值,xk为k时刻的粒子样本,为满足maxwk(xk)条件的所有xk构成的集合。MMSE准则又分为以下两种:
局部最小均方误差(LMMSE)准则通过设定一个范围R,将R内的粒子数目M统计出来。在估计目标后验状态时,仅对R内的粒子样本进行按权值加和,其计算公式如下:
其中为k时刻粒子样本中第i个粒子的权值归一化结果,为k时刻粒子样本中第i个粒子。
全局最小均方误差(GMMSE)准则对总数为N的粒子集中所有粒子整体加权求和,计算公式为:
其中为k时刻粒子样本中第i个粒子的权值归一化结果,为k时刻粒子样本中第i个粒子。
步骤4:状态预测
设计先验分布函数,预测下一时刻估计目标的状态,即根据不同层粒子的数目的多少,对粒子进行排列运动或者分离运动。在本发明方法(SIF算法)中,遵循以下2条准则:
准则5
若当前时刻满足更新准则的条件,表明当前时刻能够判断目标的位置状态。则根据GMMSE准则估计目标的后验状态,再将粒子集进行排列运动预测下一时刻的先验状态。
准则6
若当前时刻不满足更新准则中的任一条件,高权值粒子集ψh中的粒子非常少(mpts>length(ψh)),并且中权值粒子的数量也较少(threshold>length(ψm))。则根据极大后验准则估计目标的后验状态,并根据MAP准则确定中心位置,再对所有粒子进行分离运动预测下一时刻的先验状态。
三种运动方式如下所示:
(1)内聚运动
根据已有粒子的权值,让权值较低的粒子移动至权值较大的区域,从而产生更可靠的重要性密度函数。为了提高鲁棒性,粒子的移动方法如下:
coh(xk):xk=xk-1+(a+(b-a)*rand)*(xk-1-xc)
其中xk为粒子在k时刻时的位置状态,xk-1为前一时刻的位置状态,xc为平均的中心位置,由相应的更新准则决定。rand为0到1的随机数,a和b为预设常数,其中a≤1≤b,b-a的值越小,内聚速度越快,但粒子多样性越差,反之b-a的值越大,内聚速度越慢,但粒子多样性越好。
(2)分离运动
在当前时刻无法准确确定目标位置时,让所有粒子进行分离运动,目的是为了下一时刻能够尽可能多地涵盖目标的可能状态。粒子的移动方法如下:
spa(xk):xk=xk-1+λ*rand(xc-xk-1)
其中xk为粒子在k时刻的位置,xk-1为前一时刻的位置状态,xc为平均的中心位置,由相应的更新准则决定。为目标的平均位移,rand为0到1的随机数,λ为预设常数,可取λ≤1,λ值越大,分离程度越大,全局搜索能力越强,但局部搜索能力越弱,相反,λ越小,分离程度越小,全局搜索能力越差,但局部搜索能力越强。
(3)排列运动
排列运动目的是在当前时刻能够准确估计目标位置的情况下,预测下一时刻目标位置。我们采用状态转移概率密度作为排列运动的运动模型,即:
xk~p(xk|xk-1)
在实际运用于目标跟踪中,系统状态转移的物理运动模型有很多,比如变加速运动,变减速运动,加速运动等。为了计算方便,在本发明的算法中使用匀速运动模型。
图2中(a)为状态函数与观测函数的函数分布。由图可知,在时刻5至时刻20,目标的观测模型z与状态转移模型x的峰值重叠,此时似然函数处于先验分布的尾部,测精度较高,因此粒子的权值集中于少数粒子,多数粒子的权值趋向于零,因而粒子滤波出现了严重的粒子退化现象。虽然PF-SIR算法通过重采样能减少退化现象,但是却相应的降低了粒子多样性,从图2中(b)可以看出跟踪效果明显下降。由于本发明的SIF算法充分利用当前时刻的观测信息,将权值较低的粒子通过内聚运动移动到了权值较大的区域,在增加粒子权值的同时仍然有较好的粒子多样性,因此状态估计效果明显好于PF-SIR算法。图2中(c)(d)(e)(f)列出智能群体优化算法在Basketball视频集中实验结果部分帧截图。在Basketball视频序列中,在12帧时,目标出现部分遮挡;在16帧时,目标出现大幅度遮挡,SIF通过准则3对高权值粒子集里的粒子进行局部加权,有效的处理了遮挡问题。在107帧左右,目标出现快速移动;在186帧之后,目标出现大尺度平面外旋转,本发明的SIF算法仍未丢失目标,目标跟踪速度每秒10帧左右。