kalman濾波器各項參數及矩陣的設置

簡單來說,卡爾曼濾波器的實現是一個迭代過程,使用上一次的結果預測當前的值,同時使用觀測值修正當前值,得到最優結果。

幾個重要的公式如下:

這裏主要是參考一篇論文:Fully Automatic, Real-Time Vehicle Tracking for Surveillance Video,分析其中的卡爾曼濾波器的實現。
這裏估計值x是十維的向量,考慮兩幀的信息就可以得到包括加速度在內的初始值,之後交由卡爾曼濾波器自己迭代更新。
y是觀測值(在論文中是z),由檢測結果、背景切割、LK光流法得到,用於修正估計值x。
矩陣F是由相鄰幀之間的運動規律得到,例如當前幀的位置和速度的值可以由以下公式得到:

矩陣H用來將x轉化爲y的形式,即各元素的含義相同,維數相同。

矩陣Q是噪聲協方差,論文中是對角線上元素爲10^-5的矩陣。
矩陣∑(論文中爲P)的初始值爲單位矩陣,之後由公式迭代更新。
矩陣R也爲噪聲協方差,論文中是對角線上元素爲10^-1的矩陣。
K是濾波增益陣,它首先權衡預測狀態協方差矩陣 Σ 和觀測值矩陣R的大小,並以此來覺得我們是更傾向於相信預測模型還是詳細觀測模型。如果相信預測模型多一點,那麼這個殘差的權重就會小一點。反之亦然,如果相信觀察模型多一點,這個殘差的權重就會大一點。不僅如此,濾波增益陣還負責把殘差的表現形式從觀測域轉換到了狀態域。例如本題中觀測值 Z 僅僅是一個一維的向量,狀態 x 是一個二維的向量。所以在實際應用中,觀測值與狀態值所採用的描述特徵或者單位都有可能不同,顯然直接用觀測值的殘差去更新狀態值是不合理的。而利用卡爾曼係數,我們就可以完成這種轉換。例如,在小車運動這個例子中,我們只觀察到了汽車的位置,但K裏面已經包含了協方差矩陣P的信息(P裏面就給出了速度和位置的相關性),所以它利用速度和位置這兩個維度的相關性,從位置的殘差中推算出了速度的殘差。從而讓我們可以對狀態值 x 的兩個維度同時進行修正。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章