上学的时候每次遇到“粒子滤波”那一堆符号,我就晕菜。今天闲来无事,搜了一些文章看,终于算是理解了。下面用白话记一下我的理解。
问题表述:
某年月,警方(跟踪程序)要在某个城市的茫茫人海(采样空间)中跟踪寻找一个罪犯(目标),警方采用了粒子滤波的方法。
1. 初始化:
警方找来了一批警犬(粒子),并且让每个警犬预先都闻了罪犯留下来的衣服的味道(为每个粒子初始化状态向量S0),然后将警犬均匀布置到城市的各个区(均匀分布是初始化粒子的一种方法,另外还有诸如高斯分布,即:将警犬以罪犯留衣服的那个区为中心来扩展分布开来)。
2. 搜索:
每个警犬都闻一闻自己位置的人的味道(粒子状态向量Si),并且确定这个味道跟预先闻过的味道的相似度(计算特征向量的相似性),这个相似度的计算最简单的方法就是计算一个欧式距离(每个粒子i对应一个相似度Di),然后做归一化(即:保证所有粒子的相似度之和为1)。
3. 决策:
总部根据警犬们发来的味道相似度确定罪犯出现的位置(概率上最大的目标):最简单的决策方法为哪个味道的相似度最高,那个警犬处的人就是目标。
4. 重采样:
总部根据上一次的决策结果,重新布置下一轮警犬分布(重采样过程)。最简单的方法为:把相似度比较小的地区的警犬抽调到相似度高的地区。
上述,2,3,4过程重复进行,就完成了粒子滤波跟踪算法的全过程。