基于OpenCv卡爾曼濾波器的車(chē)載向前碰撞預(yù)警方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及車(chē)載向前碰撞預(yù)警方法,尤其涉及一種基于OpenCv卡爾曼濾波器的車(chē)載向前碰撞預(yù)警方法及系統(tǒng)。
【背景技術(shù)】
[0002]現(xiàn)有的車(chē)載向前碰撞預(yù)警方法的誤差較大,識(shí)別效果較差。
【發(fā)明內(nèi)容】
[0003]為了解決現(xiàn)有技術(shù)中的問(wèn)題,本發(fā)明提供了一種精度高的基于OpenCv卡爾曼濾波器的車(chē)載向前碰撞預(yù)警方法及系統(tǒng)。
[0004]本發(fā)明提供了一種基于OpenCv卡爾曼濾波器的車(chē)載向前碰撞預(yù)警方法,包括以下步驟:
51、對(duì)存儲(chǔ)器中的車(chē)道模板進(jìn)行匹配;
52、對(duì)車(chē)距以及角度進(jìn)行預(yù)測(cè);
53、判斷車(chē)距、角度是否超出閥值;
54、如果超出閥值,則報(bào)警,如果沒(méi)有超出閥值,則更新存儲(chǔ)器中的車(chē)道模板并返回步驟SI。
[0005]作為本發(fā)明的進(jìn)一步改進(jìn),步驟SI中:通過(guò)差分算法根據(jù)車(chē)道模板匹配圖形,確定其相似度,定義一個(gè)變量,保存其相似度,當(dāng)相似度大于0.85時(shí),確定匹配成功。
[0006]作為本發(fā)明的進(jìn)一步改進(jìn),步驟S2中的預(yù)測(cè)過(guò)程包括:調(diào)用成員函數(shù)predict得到當(dāng)前狀態(tài)變量的估計(jì)值,其卡爾曼濾波器由向前推算狀態(tài)變量方程、向前推算誤差協(xié)方差方程首先構(gòu)造,得到下一個(gè)時(shí)間狀態(tài)的預(yù)先估計(jì);其過(guò)程調(diào)用成員函數(shù)predict的當(dāng)前變量的估計(jì)值、卡爾曼增益方程所計(jì)算的卡爾曼增益、后驗(yàn)協(xié)方差方程計(jì)算的后驗(yàn)協(xié)方差,可對(duì)下一次的結(jié)果進(jìn)行預(yù)測(cè)。
[0007]作為本發(fā)明的進(jìn)一步改進(jìn),向前推算狀態(tài)變量方程為:X(k|k-l) =A X(k-l|k-l)+BU(k),其中,A:狀態(tài)轉(zhuǎn)移矩陣;B:單位矩陣;Q:高斯噪聲協(xié)方差矩陣;P:后驗(yàn)錯(cuò)誤協(xié)方差矩陣單位矩陣;X:狀態(tài)變量;Z:實(shí)際上的測(cè)量結(jié)果;U:觀測(cè)時(shí)噪音;R:測(cè)量噪音的協(xié)方差矩陣。
[0008]作為本發(fā)明的進(jìn)一步改進(jìn),向前推算誤差協(xié)方差方程為:P (k I k-1) =A P (k-11 k-1)A’+Q,其中,A:狀態(tài)轉(zhuǎn)移矩陣;B:單位矩陣;Q:高斯噪聲協(xié)方差矩陣;P:后驗(yàn)錯(cuò)誤協(xié)方差矩陣單位矩陣;X:狀態(tài)變量;Z:實(shí)際上的測(cè)量結(jié)果;U:觀測(cè)時(shí)噪音;R:測(cè)量噪音的協(xié)方差矩陣。
[0009]作為本發(fā)明的進(jìn)一步改進(jìn),卡爾曼增益方程為:Kg(k)= p(k|k-l) H’ / (HP (k I k-1) H’ + R),其中,A:狀態(tài)轉(zhuǎn)移矩陣;B:單位矩陣;Q:高斯噪聲協(xié)方差矩陣;P:后驗(yàn)錯(cuò)誤協(xié)方差矩陣;1:單位矩陣;X:狀態(tài)變量;Z:實(shí)際上的測(cè)量結(jié)果;U:觀測(cè)時(shí)噪音;R:測(cè)量噪音的協(xié)方差矩陣。
[0010]作為本發(fā)明的進(jìn)一步改進(jìn),下一次結(jié)果的預(yù)測(cè)方程為:x(k|k)= X(kIk-1)+Kg(k)(Z(k)-H X(k I k-1)),其中,A:狀態(tài)轉(zhuǎn)移矩陣;B:單位矩陣;Q:高斯噪聲協(xié)方差矩陣;P:后驗(yàn)錯(cuò)誤協(xié)方差矩陣;1:單位矩陣;X:狀態(tài)變量;Z:實(shí)際上的測(cè)量結(jié)果;U:觀測(cè)時(shí)噪音;R:測(cè)量噪音的協(xié)方差矩陣。
[0011]作為本發(fā)明的進(jìn)一步改進(jìn),后驗(yàn)協(xié)方差方程為:P(k |k)= (1-Kg (k) H) P (k I k-1),其中,A:狀態(tài)轉(zhuǎn)移矩陣;B:單位矩陣;Q:高斯噪聲協(xié)方差矩陣;P:后驗(yàn)錯(cuò)誤協(xié)方差矩陣;1:單位矩陣;X:狀態(tài)變量;Z:實(shí)際上的測(cè)量結(jié)果;U:觀測(cè)時(shí)噪音;R:測(cè)量噪音的協(xié)方差矩陣。
[0012]本發(fā)明還提供了一種基于OpenCv卡爾曼濾波器的車(chē)載向前碰撞預(yù)警系統(tǒng),包括微處理器、攝像頭、報(bào)警器、圖像處理器和存儲(chǔ)器,其中,所述微處理器分別與所述攝像頭、報(bào)警器、圖像處理器連接,所述圖像處理器與所述存儲(chǔ)器連接。
[0013]本發(fā)明的有益效果是:通過(guò)上述方案,提高了識(shí)別精度。
【附圖說(shuō)明】
[0014]圖1是本發(fā)明一種基于OpenCv卡爾曼濾波器的車(chē)載向前碰撞預(yù)警方法的流程圖;
圖2是本發(fā)明一種基于OpenCv卡爾曼濾波器的車(chē)載向前碰撞預(yù)警方法的流系統(tǒng)的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0015]下面結(jié)合【附圖說(shuō)明】及【具體實(shí)施方式】對(duì)本發(fā)明進(jìn)一步說(shuō)明。
[0016]圖2中的附圖標(biāo)號(hào)為:微處理器100 ;攝像頭200 ;報(bào)警器300 ;圖形處理器400 ;存儲(chǔ)器500。
[0017]如圖1所示,一種基于OpenCv卡爾曼濾波器的車(chē)載向前碰撞預(yù)警方法,包括以下步驟:
51、通過(guò)opencv 庫(kù)函數(shù)分別初始化 ransit1nMatrix ;measurementMatrix ;processNoiseCov ;measurementNoiseCov ;errorCovPost,等值于矩陣,對(duì)存儲(chǔ)器中的車(chē)道模板進(jìn)行匹配;
52、對(duì)車(chē)距以及角度進(jìn)行預(yù)測(cè),其過(guò)程實(shí)現(xiàn)為調(diào)用成員函數(shù)correct用觀測(cè)值來(lái)對(duì)測(cè)量值進(jìn)行矯正;
53、判斷車(chē)距、角度是否超出閥值;
54、如果超出閥值,則報(bào)警,如果沒(méi)有超出閥值,則更新存儲(chǔ)器中的車(chē)道模板并返回步驟SI。
[0018]OpenCV 的全稱(chēng)是:0pen Source Computer Vis1n Library。OpenCV 是一個(gè)基于(開(kāi)源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù),可以運(yùn)行在Linux、Windows和Mac OS操作系統(tǒng)上。它輕量級(jí)而且高效——由一系列C函數(shù)和少量C++類(lèi)構(gòu)成,同時(shí)提供了 Python、Ruby、MATLAB等語(yǔ)言的接口,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺(jué)方面的很多通用算法。
[0019]步驟SI中:通過(guò)差分算法根據(jù)車(chē)道模板匹配圖形,確定其相似度,定義一個(gè)變量,保存其相似度,當(dāng)相似度大于0.85時(shí),確定匹配成功。
[0020]步驟S2中的預(yù)測(cè)過(guò)程包括:調(diào)用成員函數(shù)predict得到當(dāng)前狀態(tài)變量的估計(jì)值,其卡爾曼濾波器由向前推算狀態(tài)變量方程、向前推算誤差協(xié)方差方程首先構(gòu)造,得到下一個(gè)時(shí)間狀態(tài)的預(yù)先估計(jì);其過(guò)程調(diào)用成員函數(shù)predict的當(dāng)前變量的估計(jì)值、卡爾曼增益方程所計(jì)算的卡爾曼增益、后驗(yàn)協(xié)方差方程計(jì)算的后驗(yàn)協(xié)方差,可對(duì)下一次的結(jié)果進(jìn)行預(yù)測(cè)。
[0021]向前推算狀態(tài)變量方程為:X(k|k_l)=A X (k-11 k-1)+B U(k);向前推算誤差協(xié)方差方程為:P (k I k-1) =A P (k-11 k-1) A’+Q ;卡爾曼增益方程為:Kg(k)= p(k|k-l) Η’/ (Η P (k I k-1) H’ + R);下一次結(jié)果的預(yù)測(cè)方程為:X(k|k)= X (