參考:
1. 基本思想
粒子濾波本質上是一種表示概率分布的方法,思想和蒙特卡洛方法近似。蒙特卡洛方法是用頻率來近似概率,而粒子濾波方法中是使用粒子分布的密集程度來近似表示概率分布,這種方法可以形象的表示為向乙個帶磁力的平面拋灑鐵粉,磁力大(概率大)的地方鐵粉就比較密集。同樣的,如果粒子帶權重的話,也可以通過權重的大小來表示概率密度的分布。而後一種帶權重的表示方法也被用於粒子濾波跟蹤過程中。
而目標跟蹤,就是在得到觀測(當前幀的影象)之後,對狀態(目標的位置)的後驗概率的估計。當然,數學原理上是用貝葉斯濾波那一套從頭開始推到相當複雜,但是在實際使用的時候,要做各種簡化的假設(馬爾可夫假設、高斯分布假設等等),最終得到乙個比較簡單的形式。
2. 基本步驟
一般粒子濾波的步驟簡化到最後分為以下三步:
a. 初始化粒子,當前粒子一般權重相等,在目標附近高斯分布
b. 得到新一幀的影象,根據此幀影象,對原來的粒子的權重進行調整,得到乙個狀態的估計,確定當前目標位置(加權平均,或取權重最大的粒子等)
c. 粒子的演化,回到b
不考慮數學基礎(也就是不解決「為什麼這樣就可以」的問題)的話,其實就是這麼簡單。
3. 重取樣
上述基本的粒子濾波過程有這樣乙個問題:在粒子演化的過程中,容易出現乙個粒子的權重特別大,而其他粒子的權重都特別小,以至於對最終結果都沒有影響,這樣的話很大一部分的計算量就耗費在了對最終結果沒什麼影響的粒子上了。這是粒子濾波的一種退化。
解決這一問題的方法有很多,經常用到的就是重取樣的方法。
重取樣,就是在上述退化現象很嚴重的時候,重新生成一遍粒子,當然,也可以每一幀影象都重新生成一遍粒子。生成粒子的原則是,以舊粒子的權重為概率生成新粒子,得到新粒子的權重相同。那麼,在權重很大的舊粒子附近就會出現很多個新粒子,而在權重較小的舊粒子附近的新粒子就會很少,甚至沒有。重取樣過後,所有粒子的權重相同,對最終結果的影響也相同,這就解決了粒子濾波的退化問題。
粒子濾波的核心思想是隨機取樣+重要性重取樣。既然我不知道目標在**,那我就隨機的撒粒子吧。撒完粒子後,根據特徵相似度計算每個粒子的重要性,然後在重要的地方多撒粒子,不重要的地方少撒粒子。所以說粒子濾波較之蒙特卡洛濾波,計算量較小。
粒子濾波目標跟蹤
1 初始化階段 提取跟蹤目標特徵 該階段要人工指定跟蹤目標,程式計算跟蹤目標的特徵,比如可以採用目標的顏色特徵。具體到rob hess的 開始時需要人工用滑鼠拖動出乙個跟蹤區域,然後程式自動計算該區域色調 hue 空間的直方圖,即為目標的特徵。直方圖可以用乙個向量來表示,所以目標特徵就是乙個n 1的...
從meanshift目標跟蹤到粒子濾波
在初學均值漂移演算法的時候,有個總體印象,就是演算法希望通過尋找密度最大的位置作為收斂位置,用白話講,其實就是要找乙個區域內的重心而已,這個重心為什麼不是區域的所有粒子的平均呢?因為每個粒子還帶個權重,這個權重我們用物理力學中的重心公式想想就明白,權重代表每個粒子對重心的貢獻程度,那麼,做個最極端的...
粒子濾波在目標跟蹤的應用
一直都覺得粒子濾波是個挺牛的東西,每次試圖看文獻都被複雜的數學符號搞得看不下去。乙個偶然的機會發現了rob hess 實現的這個粒子濾波。從 入手,一下子就明白了粒子濾波的原理。根據維基百科上對粒子濾波的介紹 粒子濾波其實有很多變種,rob hess實現的這種應該是最基本的一種,sampling i...