鹹魚了好久。。。。起來接著學習。
上來就又被先驗後驗搞蒙了,重新理解一下:
先驗概率:根據以往經驗和分析得到的概率,它往往作為「由因求果」問題中的「因」出現。
後驗概率:指在得到「結果」的信息後重新修正的概率,是「執果尋因」問題中的「因」。
最大的區別就在於結果/當前觀測在後驗概率中已知,在先驗概率中未知。
1. 後端要做什麼?
前端能夠根據相鄰的兩幅圖像判斷出此時此刻的位姿,是暫時的;那麼後端需要對前端測量以及計算的結果進行矯正,不僅用過去的信息,也用未來的信息更新自己,希望能夠得到一個長時間的正確狀態。
前面有講過,在運動方程和觀測方程中,如果把位姿和路標看成隨機變數,就可以把問題變為已知觀測數據和運動數據情況下,如何確定狀態量的分佈問題,是一個狀態估計問題。假設雜訊和狀態量服從高斯分佈,只需要估計它的均值和方差,即可確定狀態量的分佈。
完成後端優化可以使用濾波器,也可以使用非線性優化,本講對兩種方法都做了推導。
2. 濾波器推導
先做一些符號的定義和鋪墊:
把位姿和路標寫在一起,記為: ,用新符號寫運動方程和觀測方程,為: 。
需要求解的是後驗概率問題,即在已知0時刻的狀態、1:k時刻的觀測下,k時刻的狀態分佈,寫為 ,根據貝葉斯法則,將後驗概率展開為似然和先驗概率的乘積,寫為 。
先驗概率中k時刻的狀態 受到前面0:k-1時刻狀態的影響,對先驗概率進行展開,可以寫為 ,在進行濾波器模型推導時,假設馬爾可夫性(k時刻狀態只與k-1時刻狀態有關,與之前狀態無關)。可以根據馬爾可夫性對先驗概率的展開式進行化簡,積分中第一個概率化簡為 ,第二個概率化簡為 (運動方程中k時刻狀態只受到k-1時刻的狀態和k時刻的運動數據相關)。
2.1 卡爾曼濾波器(線性高斯系統)
在線性高斯系統中,用線性方程描述運動方程和觀測方程,寫為 ,記雜訊服從零均值高斯分佈: ,令 表示後驗, 表示先驗。
因為各隨機變數服從高斯分佈,誤差服從零均值高斯分佈,根據高斯分佈的特性(後面解釋)和觀測方程、運動方程,可以分別寫出似然和先驗的分佈:
把先驗均值和方差記為
根據後驗、似然、先驗的關係,有:
高斯分佈底數為e,比較等式兩邊的指數項(不考慮常數項)有,
比較兩邊的係數,經過一系列推導可以得到後驗均值和方差的表達式。
整個卡爾曼濾波的過程為: