硕037班刘文3110038020 2011/4/20交互式多模型仿真与分析IMM算法与GBP算法的比较,算法实现和运动目标跟踪仿真,IMM算法的特性分析交互式多模型仿真与分析一、 算法综述由于混合系统的结构是未知的或者随机突变的,在估计系统状态参数的同时还需要对系统的运动模式进行辨识,所以不可能通过建立起一个固定的模型对系统状态进行效果较好的估计。
针对这一问题,多模型的估计方法提出通过一个模型集{}(),1,2,,j M m j r ==中不同模型的切换来匹配不同目标的运动或者同一目标不同阶段的运动,达到运动模式的实时辨识的效果。
目前主要的多模型方法包括一阶广义贝叶斯方法(BGP1),二阶广义贝叶斯方法(GPB2)以及交互式多模型方法等(IMM )。
这些多模型方法的共同点是基于马尔科夫链对各自的模型集进行切换或者融合,他们的主要设计流程如下图:M={m1,m2,...mk}K 时刻输入值的形式图一 多模型设计方法其中,滤波器的重初始化方式是区分不同多模型算法的主要标准。
由于多模型方法都是基于一个马尔科夫链来切换与模型的,对于元素为r 的模型集{}(),1,2,,j M m j r ==,从0时刻到k 时刻,其可能的模型切换轨迹为120,12{,,}k i i i ktrace k M m m m =,其中ki k m 表示K-1到K 时刻,模型切换到第k i 个,k i 可取1,2,,r ,即0,ktraceM 总共有k r 种可能。
再令121,,,,k k i i i i μ+为K+1时刻经由轨迹0,ktrace M 输入到第1k i +个模型滤波器的加权系数,则输入可以表示为0,112112|,,,,|,,,ˆˆˆkk trace k k ki M k ki i i i k ki i i x xμ++=⋅∑可见轨迹0,ktrace M 的复杂度直接影响到算法计算量和存储量。
虽然全轨迹的模式切换在理论上是最优的,但是其在k-1到k 一个时间间隔的计算量(121,,,,k k i i i i μ+的更新次数,滤波次数)就能达到k r 这个数量级,现实中根本无法实现。
为了解决这一问题,目前的次优方法都是通过变换0,ktrace M 模型切换轨迹的形式,在保证估计精度的情况下,减少算法计算量和存储量的。
具体的GPB1,GPB2,IMM 算法,是采用截断0,ktrace M 的方式简化全轨迹的重初始化,下面给出他们与全轨迹方法重初始化的数据流图:全轨迹IMMGPB1GPB2M1M2M3M1M2M3M1M2M3M1M2M3K-1时刻估计K 时刻估计输入输出节点模型滤波器K-1图二 多模型算法重初始化数据流图从图上,我们可以看出,IMM 的方法其实是直接截断0,ktrace M ,每一时刻k 都与k-2时刻没有计算关系,k-1到k 时刻相当于模型轨迹重新从K-1时刻开始即,12,1{,}k k i i IMM k k trace trace k k M fM fm m ---==,其中2,k k trace fM -,11k i k fm --是为了与2,k ktrace M -和11k i k m --相区别,分别代表假的从k-2时刻到k 时刻的模型切换轨迹,以及k-1时刻的假模型滤波过程,后面会详细说明,这样121,,,,k k k i i i i i μμ-=,而一个时间间隔内1,k kii μ-的更新次数为2r 的数量级,滤波次数为r 的数量级,相较于全轨迹算法大大减少计算量。
而GPB1的方法不仅是和IMM 一样截断了0,k trace M ,还把估计融合结果作为不同模型重初始化的输入,这样再考虑其模型转换轨迹时就只用考虑一个时间间隔的情况即1,{}k i IMM k ktrace trace k M M m -==,12,,,k k i i i i μμ=,一个时间间隔内k i μ更新次数为r 的数量级,滤波次数也为r 的数量级。
GPB2算法是二阶的GPB 方法,截断了0,ktrace M 时考虑两个时间间隔的情况,每一时刻K 的滤波结果,相当于是k-2时刻的个模型的融合估计结果(k-1时刻的重初始化值)经过所有可能的路径,分别得到k-1到k 时间间隔内经由各模型滤波的融合结果,这样12,1{,}k k i i IMM k ktrace trace k k M M m m ---==,121,,,,k k k i i i i i μμ-=一个时间间隔内1,k k i i μ-的更新次数为2r 的数量级,由于是每次估计是2r 个滤波器并行滤波,所以,也为滤波次数2r 的数量级。
图二与其实际的过程稍有出入,这是由于图中的结构不是跌带的,而是把实际的时刻标出,时刻相同的实际中是重叠的部分。
给出不同多模型算法的比较的总结,如下表:表一 不同多模型算法的比较注意到IMM 重初始化时并没有用到融合的估计结果而是用上次滤波的r 个输出,这可以解释为什么IMM 拥有与GPB1相当的计算量却有着与GPB2相当的精度。
首先,从得到每一时估计值的滤波次数来看,IMM 实际上只做了r 次滤波,是一阶的算法。
但是从两个时间间隔来考虑,k-2时刻的各个滤波模型的输出结果本来可以看成做一次滤波然后得到的结果,是k-2时刻输入经由各模型得到的,所以用11k i k fm --来表示,然后这些结果要进过一次实际的滤波过程ki k m 。
也就是说在滤波这一层面上来看IMM 算法是IMM trace M 的一个两时间间隔的切断,但是和真正的两时间间隔的切断GPB2算法又不同,所以轨迹用2,k k trace fM -表示,2,k k trace fM -可以理解为是2,k k trace M -的一个较容易得到的近似。
这可能是其精度与GPB2接近的原因。
而从12,,,ki i i μ的更新次数角度来看IMM 并没有比GPB2算法少。
但是总的计算量IMM 应该是接近GPB1的(每一时间间隔滤波次数与GPB1相同)。
二、 仿真设计1.目标运动模式的描述为了简便,选取目标做一维的直线运动,其运动状态向量为()123Tx x x x =,1x 、2x 、3x 分别代表位移,速度,加速度。
2.模型选择实验模型集选择了CA 和CV 两个模型。
CV 模型1k k k k k x F x w +=+Γ其中,10010000k T F ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,2/20k T T ⎡⎤⎢⎥Γ=⎢⎥⎢⎥⎣⎦,k w =a(t) CA 模型1k k k k k x F x w +=+Γ其中,21/201001k T T F T ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,32/6/2k T T T ⎡⎤⎢⎥Γ=⎢⎥⎢⎥⎣⎦,k w =a ’(t) 3.滤波参数初始化:采样周期T=1,一步转移概率矩阵P=[0.95 0.05;0.05 0.95],两个模型初始概率都为1/2。
过程噪声~(010)w N ,量测噪声~(010000)v N 。
monto-carlo 仿真次数为10。
三、 结果与分析a) 初始状态:()010001000Tx =IMM 的RMSE 位置分量IMM 的RMSE 速度分量分析:➢ a 运动属于变化相对较频繁的方式,IMM 算法对目标位置的估计均方误差在100左右波动,由于目标位置量达到10的5次方的数量级,这样的误差还是可以接受的,体现就是目标轨迹与估计图中估计值基本上都很靠近其真实轨迹。
而目标速度估计的均方误差也是在100左右波动,而目标速度最后是达到10的3次方数量级,所以这个误差还是很大的,其体现就是运动估计图中预量测误差与IMM 估计误差比较IMM 的RMSE 位置分量单用CV 的RMSE位置分量单用CA 的RMSE 位置分量运动轨迹图与估计曲线测点不停在真实轨迹附近波动,波动频率高,幅度大。
➢ 明显可以看出这种情况下IMM 效果好于单一模型估计算法。
b) 初始状态:()001000Tx =IMM 的RMSE 位置分量IMM 的RMSE 速度分量量测误差与IMM 估计误差比较分析:➢ b 运动变化相对平缓,但与a 比较在位置估计误差均方差和速度估计均方差的波动范围上没有明显的区别,但感觉b 中曲线的起伏稍大,振荡频率相对较小。
➢ b 情况下IMM 算法效果明显好于单一模型估计算法。
c) 初始状态:()0010040Tx =IMM 的RMSE 位置分量单用CV 的RMSE 位置分量单用CA 的RMSE 位置分量IMM 的RMSE 位置分量IMM 的RMSE 速度分量IMM的RMSE位置分量IMM的RMSE速度分量量测误差与IMM估计误差比较IMM的RMSE位置分量单用CV的RMSE位置分量单用CA的RMSE位置分量分析:➢ c 运动是很平缓的运动,与a ,b 比较在位置估计误差均方差和速度估计均方差的波动范围上没有明显的区别➢ c 情况下IMM 算法效果明显好于单一模型估计算法。
d) 初始状态:()005000Tx =-,做角速度为-0.05的正弦运动。
4运动轨迹图与估计曲线IMM 的RMSE 位置分量IMM 的RMSE 速度分量量测误差与IMM 估计误差比较IMM的RMSE位置分量单用CV的RMSE位置分量单用CA的RMSE位置分量4运动轨迹图与估计曲线运动轨迹图与估计曲线分析:➢d运动是剧烈变化的运动,其速度加速度每一时刻都在改变,但与a,b,c比较在位置估计误差均方差和速度估计均方差的波动范围上没有明显的区别。
而轨迹图中实际轨迹曲率较大的地方,估计误差较大。
➢ d 情况下IMM 算法效果明显好于单一模型估计算法。
此外改变一步转移概率矩阵P ’=[0.85 0.15;0.15 0.85]重新做仿真a 得到:一步转移概率矩阵P ’ 一步转移概率矩阵P分析:➢ 相对于P ,P ’这个一步转移概率矩阵使得k-1时刻选用的模型,在k 时刻跳变到另一个不同的模型概率变大,估计结果可能更趋向于两个模型的平均值。
由图上可以看出P ’中,误差起伏较小小振荡快。
起伏小代表误差相对恒定,不会突然变化,说明相对适应性较好,不会出现大的偏差,振荡快,代表误差时大时小不能非常准确贴近目标,拟合性差。
结合a 的运动方式改变频繁,选用P ’感觉好些。
另对a 运动改变模型初始概率[0 1]和[1 0]结果如下图:[1 0][0 1][0.5 0.5]分析➢ 对比a 的图,可以发现初始概率选[0 1](开始单用CV )比选择其他两组初始概率的情况好,结合a的运动模式,开始做的是CV运动,而CV模型是对CV运动较好的拟合,所以会得到以上结果。
此外,在实验过程中出现的某些现象进行分析:➢在实验室通过观察ca,cv模型单独滤波与IMM滤波的比较,发现IMM估计曲线一直是介于ca,cv估计曲线之间的。