標籤:
粒子濾波確實是一個挺複雜的東西,從接觸粒子濾波到現在半個多月,博主哦勒哇看了N多篇文章,查略了嗨多資料,很多內容都是看了又看,細細斟酌。今日,便在這裡驗證一下自己的修鍊成果,請各位英雄好漢多多指教。
講粒子濾波之前,還得先講一個叫”貝葉斯濾波”的東西,因為粒子濾波是建立在貝葉斯濾波的基礎上的哩。說太多抽象的東西也很難懂,以目標跟蹤為例,直接來看這東西是怎麼回事吧:
1. 首先咋們建立一個動態系統,用來描述跟蹤目標在連續時間序列上的變換情況。簡單一點,我們就使用目標的位置(x,y)作為這個動態系統的狀態吧。
那怎麼描述呢?
我們使用狀態xt來描述系統在時刻t的狀態,在這個例子中,xt=(xt,yy);使用yt表示在時刻t目標的觀測值。這裡請注意,xt是我們建立的模型中,目標的位置,而目標的實際位置不一定與之相等。舉個簡單的例子就是:一部小車做勻加速直線運動,xt是我們用公式計算出來的小車的位置,yt是我們用GPS定位到的位置。
由於誤差的存在,光靠理論公式計算得出來的結果肯定是有偏差的。但是,GPS又卡又慢,要靠它來完成我們的目標跟蹤貌似也不是很靠譜。那我們做一下折衷吧,先用理論計算得到目標的位置,然後用觀測值進行修正,使得我們的模型更加完美。
額!完美嗎?不害臊!你理論得出來的不準確,然後還要靠又卡又慢的GPS來修正,還好意思跟我說完美!你怎麼不上天,跟太陽肩並肩。再說了,你修正後的位置還不一定是準確了,要我說目標也可能就在計算到的位置,也可能在它東邊、西邊、南邊、北邊、東南邊......
哢哢哢!行行行,我錯了還不行麼。你這人真是急躁,喝口茶消消氣,再聽我細細說來。前面那位大爺說的在理,咋們得聽,嗯,我猜他應該是太陽的後裔,哈哈哈!跑題了。
是啊!目標的位置可能在好多個位置,有各種可能性,畢竟我們並沒有得到一個準確的值。咦!那我們可以用機率來描述啊!這種不確定性不就是機率論裡面說的那些東西嗎?天呐,我好激動,修鍊多年的機率論終於派上用場了。而且你看哦,用觀測值yt對xt進行修正,這不就是說先得到先驗機率p(xt),然後擷取到更加豐富的資訊yt後,對先驗機率進行修正,得到後驗機率p(xt|yt)嗎?哇哇哇!貝葉斯,貝葉斯,這就是貝葉斯啊,條件機率啊!!!
2. 貝葉斯濾波
嗯嗯嗯,對對對,樓上正解。從貝葉斯理論的觀點來看,狀態估計問題(目標跟蹤,訊號濾波)就是根據之前一系列已有資料y1:t(後驗只是)遞推計算出目前狀態xt的可信度。這個可信度就是機率公式p(xt|y1:t)。貝葉斯濾波通過預測和更新這兩個步驟來遞推計算xt的可信度。
預測過程是利用系統模型預測狀態xt的先驗機率密度,也就是通過已有的先驗知識對未來系統的狀態進行猜測,
更新過程是利用新的觀測值yt對先驗機率密度進行修正,得到後驗機率密度。
3. 公式及推導
貝葉斯濾波的公式是醬紫的:
預測:
更新:
在推導之前,一些預備知識還是要的。貝葉斯公式(就是條件機率公式啦),全機率公式,樣本空間的概念和完備事件組的概念。這些知識對推導過程的理解尤為重要,建議各位先瞭解一下這些概念。
還要提一下,動態系統中的狀態轉移問題,一般都先假設其服從一階馬爾科夫(Markov)模型,即
①當前時刻的狀態xt只與上一時刻的狀態xt-1有關;
②t時刻的觀測值yt只與當前的狀態xt有關。
下面進行貝葉斯濾波公式的推導:
預測:
哈哈!博主比較懶,直接了,字比較醜,見諒見諒。第一行是一個全機率公式的應用,然後第二第三第四行都是條件機率啦!最後一行是根據假設①來著。
這裡你可能有一個問題,既然都說前時刻的狀態xt只與上一時刻的狀態xt-1有關,跟yt沒半毛錢關係,即p(xt|xt-1)。那你弄一個p(xt|y1:t-1)是幾個意思?
莫說你要問了,我當初可是也糾結了好久。說到底,這兩個機率公式含義不一樣。p(xt|xt-1)是純粹根據模型進行預測(計算),啪,xt-1進去,公式一算,xt出來了,簡單明了。p(xt|y1:t-1)這一個呢,是說既然我們已經拿到了一組資料,這些資料跟系統狀態也是有關係的,那我們就可以根據這些資料來猜呀,只是猜測而已呐。(樓主yy:那... 你猜我猜不猜?)
更新:
第三行是根據假設②,其他的全都是條件機率公式的應用。
這裡你應該跟我一樣,也還有一個問題,就是既然yt只與xt有關,那分母的p(yt|y1:t)為什麼不直接寫成p(yt)啊!!!
關於這個問題,其實,我也不知道。要不你們也研究一下咯,然後拜託告訴我一聲。
However,當貝葉斯濾波碰到了粒子濾波,這些推導完全不重要。哈哈哈!就是說我們推了半天沒用,好想哭。。。
粒子濾波使用N個加權的樣本(即粒子)來近似表示後驗機率密度p(xt|y1:t)。因為有些問題系統狀態變換很難建模嘛,公式都沒有,xt沒法產生啊!所以就撒樣本唄,用樣本的分布來近似狀態xt的真實分布。
預知後事如何,請聽下回分解。
從貝葉斯到粒子濾波——Round 2