【Tracking】单目标跟踪(粒子滤波及kalman滤波)

Kalman滤波

过程

卡尔曼滤波对模型的预测值和实际的观测值进行加权,迭代计算出未来的状态,具体过程如下:

  1. 使用上一次的最优状态估计和最优估计误差去计算这一次的先验状态估计和先验误差估计;
  2. 使用1得到的本次先验误差估计和测量噪声,得到卡尔曼增益;
  3. 使用1,2步骤得到所有先验误差估计和测量噪声,得到本次的最优估计。

其中的先验为根据以往的经验去推断,后验则为得到结果后再进行修正,卡尔曼增益作用为将“粗略估计”变为“最准确的估计”。卡尔曼滤波最需要解决的问题在于如何使得噪声的干扰最小。

核心思想

卡尔曼滤波实质上是参数化的贝叶斯模型,根据当前的测量值和上一刻的预测值与误差,计算得到当前的最优量,再预测下一刻的量。且其输入变量都是输入变量的线性组合,卡尔曼滤波器可以从最小均方差的角度推断出,也可以从贝叶斯推断的角度来推导。

参数说明

  1. 当测量噪声的协方差过大时,也就是襒和襑中的值过大时,会使得目标踪的效果变差,由于噪声的干扰,会使得其中的跟踪难度加大,从而使得跟产生偏移。
  2. 当状态转移矩阵襁过大时,会出现难以收敛的情况,也就是目标跟踪完全失效,无法得到目标的位置,而这是因此计算下一次目标的位置时,即预测下一个目标的位置时,会通过与状态转移矩阵计算得到,因此状态转移矩阵襁不宜过大,应该取一个合适大小的值。
  3. 同样观测矩阵襈初始值也不能过大,会出现刚开始时跟踪,但是到后面跟踪框会飘移到其他地方,这里我认为是当观测矩阵初始值过大时,其校正效果不是很好,因此后期的目标跟踪会完全失效。

粒子滤波

Sampling Importance Resampling

  • 初始化阶段提取跟踪目标特征,该阶段需要人工指定跟踪目标,程序计算跟踪目标的特征,可以采用目标的颜色特征,即该区域色调空间的直方图,即为目标的特征。直方图可以用一个向量来表示,因此目标特征即为襎褪褱的向量。
    搜索阶段则是在掌握了目标的特征之后,释放较多的粒子(partical),有多种释放的方法

    1. 均匀释放:在整个平面上均匀地放置粒子;
    2. 在上一帧得到的目标附近按照高斯分布来放,即靠近目标的地方会放多点,远离目标的地方会少放点。
  • 重采样阶段上根据第二阶段所获得的相似度重新放置粒子相似度高的地方放置较多的粒子,在相似度小的地方放置较少的粒子,可以重复多次这个过程,如果为了节省时间,则可以只用重采样一次。即根据重要性重采样。

  • 状态转移阶段,对上一阶段多次重采样后所获得的粒子计算下一时刻的位置。

  • 观测阶段上,首先计算出概率颜色直方图,计算每个粒子和目标的巴士距离,更新每个粒子的权重。

  • 决策阶段即每个粒子都能够获得一个和目标的相似度,这个相似度体
    现了该区域是目标的置信度,可以把所有例子使用相似度加权后的结果作
    为目标可能的位置。

图10中黑色的球即是我们这次想要跟踪的目标,而其中蓝色的线即为球所在的中心,而红色的框格包裹住了圆球,在初始化时,需要对目标进行特征提取,在后面的重采样过程中判断特征的相似性。

参数说明

  • 在进行粒子滤波地过程中,先对目标进行了选取,选取的过程中会使得背景也有一部分进入,该框定的目标是用于后面重采样的时候分析特征相似度时所需,当方框进入的背景图案过多时,则在目标跟踪时,会产生跟踪漂移,使得跟踪效果大大降低,当进入的背景图案很少且包裹住了整个目标时,则跟踪效果是很好的。但是该代码只是一个矩形框,而物体是圆形的,因此产生了一定的误差,当检测框变为圆形时,效果应该更好。
  • 同时参数粒子的个数也是影响跟踪效果的一个重要的地方,当粒子数越多时,所得到的跟踪效果更好。粒子数是用来进行特征相似度检测的,当相似度过高时,则该处即为目标位置。可以明显看出,划线当粒子数为1000时,检测效果即划线的光滑程度是最好的。但是同样也有缺点,即速度会大大降低,因此,粒子数太多不太适合实时监测。
  • 参数同样包括提取区域目标色彩直方图的颜色空间位数,但是通过改变参数,并没有发现太大的变化,有可能这个参数对整体结果是不产生影响的。

实验结果分析

  • 从结果进行比较可以看出卡尔曼滤波与粒子滤波在相同时间下,也就是粒子滤波在该有限的粒子数下目标跟踪的效果没有卡尔曼滤波的好。
  • 但是当粒子数达到了2000以上时,粒子滤波的效果非常好,对比于卡尔曼滤波,跟踪效果略占优。但是当其在1000个粒子以下时,明显是卡尔曼滤波跟踪效果更好。
  • 但是其中在粒子滤波中并没有使用圆形的检测框,而采用了矩形的检测框,因此在初始化跟踪目标时,部分背景同时被当作了目标,因此跟踪效果是不如圆形检测框。

你可能感兴趣的:(计算机视觉,计算机视觉,python,机器学习,人工智能,算法)