您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“opencv怎么實(shí)現(xiàn)卡爾曼濾波”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“opencv怎么實(shí)現(xiàn)卡爾曼濾波”吧!
卡爾曼濾波就是將模型預(yù)測(cè)的數(shù)據(jù)和觀測(cè)數(shù)據(jù)進(jìn)行融合,來(lái)過(guò)濾掉觀測(cè)誤差,進(jìn)而得到更精確的數(shù)據(jù)。
以一個(gè)小車在平面上走為例子,小車的程序讓它以初速度為V0,加速度為a的運(yùn)動(dòng)方式向前運(yùn)動(dòng),但由于各種誤差和原因(比如有風(fēng),或者上坡等),我們的小車并不嚴(yán)格按照這個(gè)模型走,存在噪聲(并且假設(shè)高斯分布)。
并且我們不斷的用傳感器來(lái)測(cè)量小車的位置,但傳感器也存在高斯分布的噪聲。
卡爾曼濾波主要有五大公式,在這個(gè)例子的基礎(chǔ)上,我們依次來(lái)看一下。
第一個(gè)公式:
Xk:當(dāng)前狀態(tài)描述矩陣
Fk:狀態(tài)轉(zhuǎn)移矩陣
Bk:控制矩陣
Uk:控制向量
對(duì)于小車來(lái)說(shuō),狀態(tài)描述就是它的一維的位置x,以及運(yùn)動(dòng)速度v:
狀態(tài)轉(zhuǎn)移矩陣就是從上一時(shí)刻到下一時(shí)刻之間的過(guò)渡:
我們將Fk和Xk-1相乘,就可以得到:
顯而易見,就是在小車勻速運(yùn)動(dòng)下的狀態(tài)變化了。
但我們的小車是勻加速運(yùn)動(dòng)的,我們將加速度視為控制向量Uk,因?yàn)榧铀俣仁怯刹扔烷T啊之類的產(chǎn)生的(姑且這么理解吧)。
因?yàn)槲覀冎挥幸粋€(gè)控制變量,及加速度a,所以
控制矩陣Bk就是將控制向量轉(zhuǎn)換,將控制變量體現(xiàn)到狀態(tài)Xk上:
到此為止,我們用第一個(gè)公式推導(dǎo)出了小車從上一個(gè)時(shí)刻到當(dāng)前時(shí)刻狀態(tài)的理想變化。
第二個(gè)公式:
Pk:描述狀態(tài)量之間的互相關(guān)性,是Xk的協(xié)方差矩陣,也就是Cov(Xk)
Fk:狀態(tài)轉(zhuǎn)移矩陣
Qk:外界噪聲的協(xié)方差
Pk是Xk的協(xié)方差,我們第一個(gè)公式更新了狀態(tài)向量Xk,第二個(gè)公式就是更新Xk的協(xié)方差Pk,并加上一個(gè)外界噪聲Qk。
因?yàn)槲覀冇玫氖强柭鼮V波,我們目標(biāo)對(duì)象的狀態(tài)都是呈現(xiàn)高斯分布,所以我們有兩個(gè)需要關(guān)注的變量:均值以及協(xié)方差。所以我們需要在更新了Xk,也就包含均值和方差之后,還需要更新協(xié)方差,來(lái)關(guān)注各狀態(tài)量之間的關(guān)聯(lián)程度。
第三個(gè)公式:
K:卡爾曼增益矩陣
Hk:傳感器數(shù)據(jù)
Pk :傳感器測(cè)量的噪聲的協(xié)方差
第三個(gè)公式的意義就是求出K,而K是為了在公式四五中使用,單獨(dú)拎出來(lái)并沒(méi)有什么直觀上的意義。
我們知道,卡爾曼濾波就是將傳感器的觀測(cè)數(shù)據(jù)和模型的預(yù)測(cè)數(shù)據(jù)相融合,而公式一二做的就是給出模型的預(yù)測(cè)數(shù)據(jù),公式三四五做的就是將預(yù)測(cè)數(shù)據(jù)和觀測(cè)數(shù)據(jù)相融合來(lái)得到一個(gè)新的,更準(zhǔn)確的數(shù)據(jù)。
在這兩者之間有觀測(cè)數(shù)據(jù)的采集這一步,但這不屬于卡爾曼濾波算法要做的。
而顯然兩者的重疊部分就是最優(yōu)的最可能的分布了,如何得到中間這一塊呢?就是將兩個(gè)高斯分布相乘。
兩者相乘之后(也就是融合之后),得到的大概如下圖:
為了簡(jiǎn)便,我們用一個(gè)k來(lái)簡(jiǎn)化一下:
這個(gè)k,就是我們公式三求的卡爾曼增益了?。ㄒ痪S情況下)
而后面的兩個(gè)公式,就是我們公式四五的一維表達(dá)了,不過(guò)因?yàn)槲覀儗?shí)際問(wèn)題有可能是多維的,所以我們實(shí)際的公式用矩陣表示,看著可能更復(fù)雜一些。
第四個(gè)公式:
Xk' :數(shù)據(jù)融合之后的狀態(tài)分布
Xk:模型預(yù)測(cè)的Xk狀態(tài)分布
Zk:Xk的均值
HkXk:傳感器觀測(cè)數(shù)據(jù)的均值
第五個(gè)公式:
更新狀態(tài)描述量的互相關(guān)性。
到此,相信大家對(duì)“opencv怎么實(shí)現(xiàn)卡爾曼濾波”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。