粒子群滤波在很多领域都有应用,例如他可以求函数的最有解、在图像中可以实现目标的跟踪等,今天我便是要讲讲它的目标跟踪,本人也是初学,参考了很多大大的博客,文章后面贴链接,侵权请通知删除,欢迎评论交流或邮箱:lingrobepy@gmail.com。
粒子群滤波实现的步骤:
1、随机分布粒子。
2、计算该粒子的最优值。
3、计算全部粒子的最优值。
4、根据模型,更新各个粒子下一步的位置。
5、一直迭代重复2、3、4的步骤最终得出目标的最优解。
上面的便是粒子群在求最优解中的应用,而目标跟踪与其步骤类似,也是不断的计算误差,根据模型更新粒子位置。
粒子群滤波目标跟踪实现步骤:
1、初始化随机分布粒子。
2、计算各个粒子与目标模板的误差。
3、取最优的n个并计算概率。
4、根据n个的最优粒子的概率重新分布粒子,并更新模板。
5、不断重复2、3、4便可实现目标的动态跟踪。
以上步骤便是目标跟踪的步骤,实验证明该方案的追踪效果不错,但是粒子数多的话很难实现实时跟踪,因此本人使用的是直方图为特征值来实现误差计算以及使用openmp来实现多核cpu并行计算。,实验证明可以实现实时跟踪,因为是采用了直方图,貌似是不在像素层面操作,因此即使目标有些许遮挡也可实现追踪,本方法的介绍先到这,过几天整理好代码再解释。