經典算法之粒子濾波

http://blog.csdn.net/zxia1/article/details/41680537

 

粒子濾波(PF: Particle Filter)算法起源於20世紀50年代Poor Man's Monte Carlo問題的研究,但第一個具有應用性的粒子濾波算法於1993年由Gordon等提出(“A novel Approach to nonlinear/non-Gaussian Bayesian State estimation”)。它是利用粒子集來表示概率,可以用在任何形式的狀態空間模型上。其核心思想是通過從後驗概率中抽取的隨機狀態粒子來表示其分佈情況,是一種順序重要性採樣法(Sequential Importance Sampling)。

    粒子濾波的應用非常廣泛,尤其是在目標跟蹤(“A probabilistic framework for matching temporal trajectories”)等視覺任務方面。粒子濾波算法有許多不同的改進方式。針對不同的問題,PF算法被改造以適應更好的問題。本文主要側重於目標跟蹤方面的應用。以人臉跟蹤爲例,下圖展示了粒子濾波的跟蹤結果。下面介紹下粒子濾波的基本過程:初始化概率轉移權重重計算重採樣四個階段。


圖1 人臉跟蹤

1.初始化階段

    跟蹤區域初始化。在使用粒子濾波算法進行目標跟蹤前需要選擇要跟蹤的目標物體。這個過程可以用人工劃定方法和自動識別方法。使用人工的方法可以通過鼠標在圖像區域標記出一個感興趣矩形;使用自動的方法就是利用自動的目標檢測技術,初步檢測出圖像中要跟蹤物體的大致位置。以人臉跟蹤爲例,人工方法就是鼠標劃定視頻第一幀中人臉的區域;自動方法就是可以使用人臉檢測算法檢測出人臉的初始位置。

    粒子初始化。對於本文人臉檢測的示例,粒子就是圖像中的矩形區域,主要由矩形中心(x,y)和寬高(w,h)四個變量表示。粒子初始化的步驟,就是在圖像中選擇指定數量的粒子(矩形),比如N=100個粒子。粒子初始化過程就是在圖像中隨機或指定方式放粒子。比如說,我們可以指定100個粒子初始狀態和跟蹤區域一致,即粒子參數和跟蹤區域的(x,y,w,h)相等。


2.狀態轉移階段

    使用粒子濾波算法來對目標進行跟蹤,即是通過前一次的先驗概率來估算出當前環境下的後驗概率密度,這個過程也是由粒子來完成的。具體來說,即根據上一幀中粒子的狀態(x,y,w,h)t-1,來估計出本幀中各個粒子的狀態(x,y,w,h)t。從上一幀圖像的粒子狀態轉變爲當前幀粒子的狀態,這個變異過程就叫作轉移(transmission)。粒子濾波的轉移方程跟Kalman濾波的差不多:

                                                                                                                                                         (1)

上面的是狀態轉移方程,下面的爲觀測方程,wkvk是高斯噪聲。在本文示例中,xk=(x,y,w,h)t。變量x,y,w,h可以依據公式(1)分別更新。在不同的算法中,f採用的函數也不相同。如果xk=xk-1+wk則狀態轉移方程其實是隨機遊走過程如果xk=Axk-1+wk狀態轉移方程則爲一階自迴歸方程;如果xk=A1xk-1+A2xk-2+wk則狀態轉移方程爲二階自迴歸方程


3.權重重計算階段

    轉移階段將上一幀中粒子的位置進行了轉移,得到當前幀中新的位置。但並不是所有粒子的作用都有用。也就是有些粒子並不是跟蹤區域所要所移動的位置。因此,在此階段,粒子濾波算法將對每個粒子進行打分,將得分較低的粒子刪除,將得分多的粒子生成更多的粒子(重採樣過程完成)。具體打分的方法根據不同的需求會不同,例如人臉跟蹤方法中使用距離作爲衡量的標準。將每個粒子與跟蹤區域進行相似度計算(在這裏,分別提取粒子和跟蹤區域的視覺特徵進行計算,比如顏色直方圖),使用相似度作爲相應粒子的權重。每一個粒子都需要計算其權重,並且需要將其歸一化。該階段其實也是後驗概率進行更新的過程。


4.重採樣階段

    粒子濾波算法會淘汰權值低的粒子,讓權值高的粒子來產生出更多的粒子,這就使得算法朝着權值高的地方收斂。假設有100個粒子,1號粒子的權重爲0.02而2號粒子的權重爲0.003。於是在重採樣階段,1號粒子生孩子的指標是0.02×100=2,2號粒子的指標是0.003×100=0.3,可以發現,1號粒子除了剛產生的粒子外還要再額外的產生一個粒子,而2號粒子就被剷除了。如此,最後得到的100個粒子即爲所求,然後取個加權平均就得到了目標的狀態值。


參考:

1. http://www.cnblogs.com/yangyangcv/archive/2010/05/23/1742263.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章