基本原理:http://www.cnblogs.com/yangyangcv/archive/2010/05/23/1742263.html
代碼分析:http://blog.csdn.net/hujingshuang/article/details/45535423
測試過Rob Hess寫的粒子濾波跟蹤算法,效果不如opencv帶的KCF跟蹤算法。
粒子濾波其實有很多變種,Rob Hess實現的這種應該是最基本的一種,Sampling Importance Resampling (SIR),根據重要性重採樣.
基本原理: 例如Rob Hess的粒子濾波
1)初始化階段-提取跟蹤目標特徵
a.手動框選目標;
b.計算該區域色調(Hue)空間的直方圖,即爲目標的特徵。直方圖可以用一個向量來表示; (將其從BGR轉化到HSV空間,提取感興趣部分(目標)的HSV)
2) 搜索階段-放狗
a.在上一幀得到的目標附近按照高斯分佈來放狗,可以理解成,靠近目標的地方多放,遠離目標的地方少放;
b.每條狗計算它所處的位置處圖像的顏色特徵,得到一個色調直方圖,向量Vi,計算該直方圖與目標直方圖的相似性。相似性有多種度量,最簡單的一種是計算sum(abs(Vi-V)).每條狗算出相似度後再做一次歸一化,使得所有的狗得到的相似度加起來等於1.
3)決策階段
目標究竟最可能在哪裏呢?我們做次加權平均吧。設N號狗的圖像像素座標是(Xn,Yn),它報告的相似度是Wn,於是目標最可能的像素座標X = sum(Xn*Wn),Y = sum(Yn*Wn).
4)重採樣階段Resampling
.綜合所有狗的報告,一號狗處的相似度最高,三號狗處的相似度最低,於是我們要重新分佈警力,正所謂好鋼用在刀刃上,我們在相似度最高的狗那裏放更多條狗,在相似度最低的狗那裏少放狗,甚至把原來那條狗也撤回來。這就是Sampling Importance Resampling,根據重要性重採樣(更具重要性重新放狗)。
缺點:
但該算法需要用大量的樣本數量才能很好地近似系統的後驗概率密度,當面臨的環境越複雜,描述後驗概率分佈所需要的樣本數量就越多,算法的複雜度就越高。
優點:
算法的特點是跟蹤速度特別快,而且能解決目標的部分遮擋問題,在實際工程應用過程中越來越多的被使用。