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