一、背景介紹:
? ? 卡爾曼濾波無論是在單目標(biāo)還是多目標(biāo)領(lǐng)域都是很常用的一種算法,將卡爾曼濾波看作一種運(yùn)動(dòng)模型,用來對(duì)目標(biāo)的位置進(jìn)行預(yù)測(cè),并且利用預(yù)測(cè)結(jié)果對(duì)跟蹤的目標(biāo)進(jìn)行修正,屬于自動(dòng)控制理論中的一種方法。
? ? 在對(duì)視頻中的目標(biāo)進(jìn)行跟蹤時(shí),當(dāng)目標(biāo)運(yùn)動(dòng)速度較慢時(shí),很容易前后兩幀的目標(biāo)進(jìn)行關(guān)聯(lián),如下:
? ? 如果目標(biāo)運(yùn)動(dòng)速度比較快,或者進(jìn)行隔幀檢測(cè)時(shí),在后續(xù)幀中,目標(biāo)A已運(yùn)動(dòng)到前一幀B所在的位置,這時(shí)再進(jìn)行關(guān)聯(lián)就會(huì)得到錯(cuò)誤的結(jié)果,將A(new)和B關(guān)聯(lián)在一起。
?
? ? 為了解決這個(gè)問題,就可以利用卡爾曼濾波,用卡爾曼濾波來預(yù)測(cè)下一幀A和B可能出現(xiàn)的位置,然后進(jìn)行距離計(jì)算。
? ??
?二、原理介紹:
? ? 在某一時(shí)刻小車的狀態(tài)可以表示為一個(gè)向量:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? 雖然此時(shí)小車的狀態(tài)比較可信,但無論是計(jì)算還是檢測(cè)都會(huì)存在一定的誤差,所以我們只能認(rèn)為當(dāng)前狀態(tài)是其真實(shí)狀態(tài)的一個(gè)最優(yōu)估計(jì)。
? ? 為了解釋,我們不妨認(rèn)為當(dāng)前的狀態(tài)服從高斯分布,且狀態(tài)位于分布中心μ處:
? ? 可以用一個(gè)協(xié)方差矩陣Pk來表示數(shù)據(jù)之間的相關(guān)性和離散程度:(對(duì)角線上是變量自身的方差,其余是不同變量之間的協(xié)方差)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? 預(yù)測(cè)下一刻的狀態(tài):
? ①小車做勻速運(yùn)動(dòng)
? ? 通過k-1時(shí)刻的位置和速度,可以預(yù)測(cè)下一個(gè)時(shí)刻的狀態(tài)為:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? 寫成矩陣的形式:? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? 此處的Fk就是狀態(tài)轉(zhuǎn)移矩陣。
②小車做勻加速或者勻減速運(yùn)動(dòng):
? ? 那么下一時(shí)刻的狀態(tài)為:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? 寫成矩陣的形式:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? 其中,Bk是狀態(tài)控制矩陣,uk-1是狀態(tài)控制向量。很明顯,前者表明的是加速減速如何改變小車的狀態(tài),而后者則表明控制的力度大小和方向。
? ? 考慮系統(tǒng)的外部影響:
? ? 外界有很多影響因素能夠?qū)π≤嚨臓顟B(tài)產(chǎn)生影響,比如風(fēng)速、地面摩擦等等,在這里我們假設(shè)外部的不確定因素對(duì)小車造成的系統(tǒng)狀態(tài)誤差wk服從高斯分布。于是卡爾曼濾波中完整的狀態(tài)預(yù)測(cè)方程更新如下:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? 以上是預(yù)測(cè)方程的推理,下面我們來推理觀測(cè)方程:
? ? 小車當(dāng)前的狀態(tài)和小車傳感器上測(cè)量出來的結(jié)果應(yīng)該具備某種特定的關(guān)系,假設(shè)這個(gè)關(guān)系通過矩陣表示為H,如下圖在k時(shí)刻所示:
? ? 這是傳感器測(cè)量出來的結(jié)果,H是一個(gè)關(guān)系矩陣,vk是傳感器傳來的測(cè)量噪聲(大小不可測(cè))
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? 這就是卡爾曼濾波的觀測(cè)方程。
? ? 于是我們從預(yù)測(cè)方程和觀測(cè)方程拿到了兩組Xk:
? ? 并且得到卡爾曼濾波器公式:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
?
? ? 其中,G是卡爾曼增益。G=1就是完全相信觀測(cè)的結(jié)果。G=0就是完全相信預(yù)測(cè)出來的結(jié)果。
? ? 我們要做的就是取一個(gè)k值,讓兩者加權(quán)平均出來一個(gè)相對(duì)來說方差小的結(jié)果,來作為計(jì)算出來最接近真實(shí)值的結(jié)果。
? ? 用文字來描述就是:
?1.卡爾曼增益 = ( 當(dāng)前估計(jì)協(xié)方差的平方 / ( 當(dāng)前估計(jì)協(xié)方差的平方 + 當(dāng)前測(cè)量方差的平方))文章來源:http://www.zghlxwxcb.cn/news/detail-621066.html
?2.真實(shí)結(jié)果 = 估計(jì)值 + 卡爾曼增益 * ( 測(cè)量值 - 估計(jì)值)?文章來源地址http://www.zghlxwxcb.cn/news/detail-621066.html
三、卡爾曼濾波總結(jié)
到了這里,關(guān)于卡爾曼濾波介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!