一種汽車防追尾方法與流程
2024-02-13 06:58:15 2
本發明涉及計算機視覺和慣性導航領域,尤其涉及到一種汽車防追尾方法。
背景技術:
隨著人們生活條件的不斷提高,汽車逐步走進千家萬戶,給人們出行帶來極大的方便。但隨著汽車普有量不斷增多,給交通帶來的壓力也隨之而增大,駕駛員為了爭取時間常會加大油門駕駛,以致汽車追尾的情況時有發生。
為了判斷是否存在追尾隱患,現有的技術利用安裝在汽車上的攝像頭提供的圖像信息進行檢測,從而給出告警信息。
例如,在專利文獻(cn106080381a一種基於圖像識別檢測的汽車防追尾的預警系統)中,記載有通過使用圖像處理技術檢測是否存在汽車追尾隱患從而發出告警信息的方法。在該文獻中,通過圖像拍攝模塊獲取汽車尾部圖像信息,圖像識別模塊識別圖像中的信息;然後通過控制模塊提取汽車can總線數據綜合前兩個模塊的信息處理結果判斷是否存在追尾隱患,最後通過預警模塊發出預警信息。
但是,該專利文獻採用的基於圖像識別技術實現的汽車防追尾的預警系統過於簡單,未能充分利用圖像提供的大量信息,例如,並沒有通過相關技術獲得圖像中檢測到的汽車在現實物理空間中的距離信息。
技術實現要素:
本發明的目的在於克服現有技術的不足,提供一種可靠性和準確性高、告警發出速度快的汽車防追尾方法。
為實現上述目的,本發明所提供的技術方案為:包括以下步驟:
(1)標定攝像頭;
(2)對相機中的圖像作圖像識別,識別圖像中汽車;
(3)通過系統函數time調取獲取該幀圖像時的時間,求取圖像中前後兩車之間的距離;
(4)重複步驟(2)-(3),通過計算獲得連續兩幀圖像之間的時間間隔t=difftime(tq+1,tq)以及連續兩幀圖像中每幀圖像前後兩車之間的距離dq、dq+1,求取前後兩車當前的相對速度vt;
(5)從汽車的慣性導航系統中獲取汽車當前加速度a和當前行駛速度vc,並通過當前行駛速度求取兩車該保持的安全距離ds;
(6)若第二幀圖像車距dq+1小於安全距離ds,則進入步驟(6),否則進入下一幀圖像處理;
(7)綜合前後兩車的相對速度vt、汽車當前加速度a、當前速度下應保持的安全距離ds和第二幀圖像車距dq+1即當前兩車測得的距離dq+1判斷是否存在追尾事故發生的安全隱患,並及時持續地發出警告;
(8)重複步驟(2)-(7)直到汽車停止。
進一步地,所述標定攝像頭包括以下步驟:
(1用安裝在汽車中的攝像頭拍攝多張含有多個角點的棋盤圖;
(2使用opencv中的api對攝像頭進行標定獲得攝像頭的內參;
(3調整攝像頭,記錄此時攝像頭的俯仰角α,偏航角β、高度h、圖像像素點到世界坐標的變換矩陣
(4測量攝像頭到汽車前沿的距離l。
進一步地,所述內參包括fx、fy、cx和cy,其中,fx為每個像素在相機坐標系中橫向的物理長度;fy為每個像素在相機坐標系中縱向的物理長度;cx和cy為主點坐標。
進一步地,所述變換矩陣計算公式如下:
其中,c1=cos(α),c2=cos(β),s1=sin(α),s2=sin(β)。
進一步地,所述步驟(3)圖像中前後兩車之間的距離通過以下步驟求取:找出圖像中汽車兩個後輪與地面接觸處的兩個中點a和b,求出該a和b之間的中點c(u,v),並對中點c(u,v)做逆透視變換還原為世界坐標系的坐標g(x,y,h,1),從而求得兩車的距離y-l。
進一步地,所述安全距離ds的求解公式為其中,s為駕駛員反應階段和制動作用階段的距離,為不同路面的附著係數。
進一步地,所述判斷是否存在追尾隱患的步驟如下:
1)若a>0和vt<0;則發出存在嚴重追尾隱患警告;
2)若a>0和vt≥0;則發出存在追尾隱患;
3)若a≤0和vt<0;則發出存在追尾隱患;
4)若a≤0和vt≥0;則兩車距離逐漸拉開,不發出追尾警告。
與現有技術相比,本方案的原理以及相應的有益效果如下:
1.對圖像的處理除了識別圖像中的汽車外,利用逆透視變換的方法求取兩車的距離,充分地利用圖像中的信息,大大提高測距的準確性。
2.依據前面的汽車在真實地物理空間中的位置信息、兩車的相對加速度、以及當前行駛速度下該保持的安全距離綜合判斷是否存在追尾隱患,使發出的告警信息具有較高可靠性。
3.每幀圖像求取兩車距離時只用到一個點做逆透視變換,運算量小,運算速度快,使告警信息更快提示出來,讓駕駛員有充足的時間作反應。
附圖說明
圖1為本發明的軟體算法流程圖。
具體實施方式
下面結合具體實施例對本發明作進一步說明:
參見附圖1所示,本實施例所述的一種汽車防追尾方法,包括以下步驟:
(1)標定攝像頭;
(1用安裝在汽車中的攝像頭拍攝多張含有多個角點的棋盤圖;
(2使用opencv(一個基於bsd許可(開源)發行的跨平臺計算機視覺庫)中的api對攝像頭進行標定獲得攝像頭的內參fx、fy、cx和cy,其中,fx為每個像素在相機坐標系中橫向的物理長度;fy為每個像素在相機坐標系中縱向的物理長度;cx和cy為主點坐標;
(3調整攝像頭,記錄此時攝像頭的俯仰角α,偏航角β、高度h、圖像像素點到世界坐標的變換矩陣
其中,c1=cos(α),c2=cos(β),s1=sin(α),s2=sin(β);
(4測量攝像頭到汽車前沿的距離l;
(2)對相機中的圖像作圖像識別,識別圖像中汽車,通過系統函數time調取獲取該幀圖像時的時間tq;
(3)從圖像的汽車中提取兩個點的坐標,分別為汽車尾部左右兩個車輪與地面接觸的中點a和b;
(4)求取a和b的中點c(u,v);
(5)使用計算機視覺的逆透視變換計算c(u,v)在世界坐標系的坐標g(x,y,h,1);
(6)計算兩車的距離dq=y-l;
(7)重複步驟(2)-(6)對下一幀圖像做重複操作獲得該幀圖像測得的兩車距離dq+1以及獲取該幀圖像時的時間tq+1;
(8)通過計算獲得連續兩幀圖像之間的時間間隔t=difftime(tq+1,tq)以及連續兩幀圖像中每幀圖像前後兩車之間的距離dq、dq+1,計算此時兩車的相對速度vt=(dq+1-dq)/t;
(9)從加速度計中獲取當前加速度a;
(10)獲取當前汽車的當前速度vc;
(11)求取當前速度下前後兩車應該保持的安全距離ds;
s為駕駛員反應階段和制動作用階段的距離,為不同的路面的附著係數;
(12)若dq+1<ds,則進行步驟(13),否則進入步驟(14);
(13)綜合加速度a、安全距離ds、兩車相對速度vt和當前測得的兩側距離dq+1做如下判斷是否存在追尾隱患:
1)若a>0和vt<0;則發出存在嚴重追尾隱患警告;
2)若a>0和vt≥0;則發出存在追尾隱患;
3)若a≤0和vt<0;則發出存在追尾隱患;
4)若a≤0和vt≥0;則兩車距離逐漸拉開,不發出追尾警告;
(14)進入下一幀圖像處理;
(15)重複步驟(2)-(14)直到汽車停止。
本實施例對圖像的處理除了識別圖像中的汽車外,利用逆透視變換的方法求取兩車的距離,充分地利用圖像中的信息,大大提高測距的準確性。
另外,本實施例依據前面的汽車在真實地物理空間中的位置信息、兩車的相對加速度、以及當前行駛速度下該保持的安全距離綜合判斷是否存在追尾隱患,使發出的告警信息具有較高可靠性。
最後,本實施例中每幀圖像求取兩車距離時只用到一個點做逆透視變換,運算量小,運算速度快,使告警信息更快提示出來,讓駕駛員有充足的時間作反應。
以上所述之實施例子只為本發明之較佳實施例,並非以此限制本發明的實施範圍,故凡依本發明之形狀、原理所作的變化,均應涵蓋在本發明的保護範圍內。