本發(fā)明涉及智能交通,特別涉及一種基于紅外識(shí)別的車輛狀態(tài)監(jiān)控方法。
背景技術(shù):
近年來(lái),隨著全球交通需求增大,各類城市道路交通設(shè)施資源有限,交通供給與需求不平衡,給城市交通帶來(lái)巨大的壓力。在我國(guó),無(wú)證違章駕車、不合格車輛上路行駛、駕駛員疲勞駕車、酒后駕車、超載、超速等是引發(fā)交通事故的原因。已有的道路交通事故分析表明,與駕駛員主觀因素有關(guān)的事故百分率占近95%。真正造成嚴(yán)重車禍的原因最終還是歸結(jié)于交通參與者本身,從而一套全面的交通安全輔助系統(tǒng)就顯得尤為重要。近幾年,計(jì)算機(jī)技術(shù)迅速發(fā)展,使用攝像頭來(lái)客觀的判別具體的行車環(huán)境成為可能,數(shù)字圖像處理技術(shù)日趨完善,使用數(shù)字計(jì)算機(jī)處理所獲取的視覺(jué)信息越來(lái)越準(zhǔn)確快速。傳統(tǒng)的汽車芯片制造中,采用單片機(jī)控制。在單片機(jī)內(nèi)的軟件仍然使用最低級(jí)的匯編語(yǔ)言。采用單線程運(yùn)行方式,資源利用率低。智能交通系統(tǒng)的引入,汽車行車安全預(yù)警的作用越來(lái)越受到重視,功能越來(lái)越強(qiáng)大,同時(shí)帶來(lái)的也是任務(wù)處理量,計(jì)算量的增大。因此僅僅靠單片機(jī)的芯片控制已經(jīng)不能適應(yīng)汽車的安全制造。
技術(shù)實(shí)現(xiàn)要素:
為解決上述現(xiàn)有技術(shù)所存在的問(wèn)題,本發(fā)明提出了一種基于紅外識(shí)別的車輛狀態(tài)監(jiān)控方法,包括:
對(duì)車載嵌入式操作系統(tǒng)進(jìn)行剪裁,基于所述操作系統(tǒng)來(lái)加載驅(qū)動(dòng)和第三方圖像軟件處理庫(kù),然后將編譯后的輔助駕駛預(yù)警系統(tǒng)移植到嵌入式芯片中,所述輔助駕駛預(yù)警系統(tǒng)基于夜間紅外圖像對(duì)前車車距進(jìn)行監(jiān)控。
優(yōu)選地,所述輔助駕駛預(yù)警系統(tǒng)包括以下模塊:
圖像獲取模塊,用于從攝像頭獲取紅外圖像,再進(jìn)行圖像的顏色空間轉(zhuǎn)換和預(yù)處理,將檢測(cè)到的紅外圖像傳送至其他模塊;車道檢測(cè)模塊:識(shí)別紅外圖像中的車道標(biāo)線,判斷自身是否在安全車道范圍內(nèi),如果不是,則發(fā)出報(bào)警;車距檢測(cè)模塊,通過(guò)獲取的視頻幀,對(duì)紅外圖像進(jìn)行一系列處理,確定前車或障礙物在圖像中的位置,對(duì)距離進(jìn)行判斷,如果小于安全距離,則發(fā)出警報(bào);車輛報(bào)警模塊,對(duì)前述功能模塊出現(xiàn)危險(xiǎn)狀況時(shí),發(fā)出報(bào)警;圖像顯示模塊,用于從圖像上給出距離提示,給用戶提供可視結(jié)果;
所述方法還包括,在服務(wù)器端安裝交叉編譯環(huán)境,首先設(shè)置環(huán)境變量,在服務(wù)器端進(jìn)行程序編寫(xiě)及生成二進(jìn)制鏡像,而在嵌入式開(kāi)發(fā)板端加入了相應(yīng)的硬件及驅(qū)動(dòng),進(jìn)行應(yīng)用程序的運(yùn)行,其中車距檢測(cè)模塊與車道檢測(cè)模塊采用多線程,使用同一個(gè)視頻流圖像來(lái)源,使用計(jì)時(shí)器類開(kāi)啟線程,當(dāng)計(jì)時(shí)器觸發(fā)時(shí)產(chǎn)生一個(gè)信號(hào),以這種方式運(yùn)行的計(jì)時(shí)器類,采用互斥鎖機(jī)制實(shí)現(xiàn)線程之間的通信;如果一個(gè)線程擁有互斥鎖,則其他線程此時(shí)不能夠?qū)ζ湓L問(wèn),只能處于休眠狀態(tài),直到該線程將鎖釋放解鎖。
優(yōu)選地,在車距檢測(cè)過(guò)程中,在已檢測(cè)出車道的基礎(chǔ)上劃分ROI,建立圖像掩模,對(duì)于紅外圖像中兩條車道的直線為y=k1x+b1和y=k2x+b2,對(duì)N×M維圖像I(x,y),設(shè)置圖像掩模M(x,y)同樣為N×M的二值圖像,為全1矩陣,其生成規(guī)則為:
M(x,y)=1 y<k1x+b1且y>k2x+b2
M(x,y)=0 其它
將車輛紅外圖像進(jìn)行向量塊劃分,設(shè)定計(jì)算得到Ii=I(xi,yi)點(diǎn)的5×5鄰域光流向量為Vi=(ui,vi),則得到圖像光流場(chǎng)Y(x,y),其中的每一個(gè)場(chǎng)方向覆蓋原圖像中對(duì)應(yīng)位置的5×5鄰域;當(dāng)M(xi,yi)=1時(shí),Y(xi,yi)=(ui,vi);
為進(jìn)行單一閾值分割,將光流向量在x、y兩個(gè)方向的分量u、v進(jìn)行融合,得到融合標(biāo)量圖P(x,y):
對(duì)P(xi,yi)進(jìn)行區(qū)域劃分,得到紅外圖像中車輛運(yùn)動(dòng)對(duì)比區(qū)域。
本發(fā)明相比現(xiàn)有技術(shù),具有以下優(yōu)點(diǎn):
本發(fā)明提出了一種基于紅外識(shí)別的車輛狀態(tài)監(jiān)控方法,在嵌入式芯片中實(shí)現(xiàn)了機(jī)動(dòng)車安全檢測(cè),提高了行車安全預(yù)警性能,能夠在任務(wù)處理量將計(jì)算量下實(shí)現(xiàn)實(shí)時(shí)計(jì)算和預(yù)警。
附圖說(shuō)明
圖1是根據(jù)本發(fā)明實(shí)施例的基于紅外識(shí)別的車輛狀態(tài)監(jiān)控方法的流程圖。
具體實(shí)施方式
下文與圖示本發(fā)明原理的附圖一起提供對(duì)本發(fā)明一個(gè)或者多個(gè)實(shí)施例的詳細(xì)描述。結(jié)合這樣的實(shí)施例描述本發(fā)明,但是本發(fā)明不限于任何實(shí)施例。本發(fā)明的范圍僅由權(quán)利要求書(shū)限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細(xì)節(jié)以便提供對(duì)本發(fā)明的透徹理解。出于示例的目的而提供這些細(xì)節(jié),并且無(wú)這些具體細(xì)節(jié)中的一些或者所有細(xì)節(jié)也可以根據(jù)權(quán)利要求書(shū)實(shí)現(xiàn)本發(fā)明。
本發(fā)明的一方面提供了一種基于紅外識(shí)別的車輛狀態(tài)監(jiān)控方法。圖1是根據(jù)本發(fā)明實(shí)施例的基于紅外識(shí)別的車輛狀態(tài)監(jiān)控方法流程圖。
本發(fā)明在車輛行駛過(guò)程中車輛檢測(cè),實(shí)時(shí)測(cè)距。首先對(duì)嵌入式操作系統(tǒng)進(jìn)行剪裁,加載驅(qū)動(dòng),然后將編譯好的系統(tǒng)進(jìn)行移植。加載第三方圖像軟件處理庫(kù)后,進(jìn)行應(yīng)用軟件的編寫(xiě)和掛載,然后移植到嵌入式芯片中。采用自適應(yīng)閾值的方法對(duì)候選邊緣點(diǎn)檢測(cè)提取車輛邊緣進(jìn)而提取車輛,從而計(jì)算出車距。
本發(fā)明在服務(wù)器端安裝交叉編譯環(huán)境,首先設(shè)置環(huán)境變量,在服務(wù)器端進(jìn)行程序編寫(xiě)及生成二進(jìn)制鏡像,而在嵌入式開(kāi)發(fā)板端進(jìn)行應(yīng)用程序的運(yùn)行。因此本發(fā)明的輔助駕駛預(yù)警系統(tǒng)的程序在嵌入式開(kāi)發(fā)板上加入了相應(yīng)的硬件及驅(qū)動(dòng)。
本發(fā)明的輔助駕駛預(yù)警系統(tǒng)使用攝像頭采集夜間紅外圖像,然后在操作系統(tǒng)的基礎(chǔ)上,進(jìn)行應(yīng)用編寫(xiě),包括以下模塊:
圖像獲取模塊:從攝像頭獲取紅外圖像,再進(jìn)行圖像的顏色空間轉(zhuǎn)換和預(yù)處理,將檢測(cè)到的紅外圖像傳送至其他模塊。
車道檢測(cè)模塊:識(shí)別紅外圖像中的車道標(biāo)線,判斷自身是否在安全車道范圍內(nèi),如果不是,則發(fā)出報(bào)警。
車距檢測(cè)模塊:通過(guò)獲取的視頻幀,對(duì)紅外圖像進(jìn)行一系列處理,確定前車或障礙物在圖像中的位置,對(duì)距離進(jìn)行判斷,如果小于安全距離,則發(fā)出警報(bào)。
車輛報(bào)警模塊:該模塊的功能是對(duì)前述功能模塊出現(xiàn)危險(xiǎn)狀況時(shí),發(fā)出報(bào)警。
圖像顯示模塊:從圖像上給出距離提示,給用戶提供可視結(jié)果。
其中車距檢測(cè)模塊與車道檢測(cè)模塊使用同一個(gè)視頻流圖像來(lái)源,因此采用多線程編程實(shí)現(xiàn)。本發(fā)明使用計(jì)時(shí)器類開(kāi)啟線程。當(dāng)計(jì)時(shí)器觸發(fā)時(shí)產(chǎn)生一個(gè)信號(hào),以這種方式運(yùn)行的計(jì)時(shí)器類,采用互斥鎖機(jī)制實(shí)現(xiàn)了線程之間的通信。如果有一個(gè)線程擁有互斥鎖,則其他線程此時(shí)不能夠?qū)ζ湓L問(wèn),只能處于休眠狀態(tài),直到該線程將鎖釋放解鎖。
對(duì)于車道檢測(cè),本發(fā)明提出的檢測(cè)方法利用車道顏色和方向這兩種已知的特征,對(duì)顏色特征進(jìn)行加權(quán)處理,結(jié)合方向顯著性特征,共同分割車道位置,繼而提取車道標(biāo)識(shí)特征點(diǎn),對(duì)候選點(diǎn)進(jìn)行擬合,得到車道區(qū)域。
由于透視原理,道路成像過(guò)程中所得到的車道總會(huì)相交于某一點(diǎn),并且實(shí)際為平行線的兩條車道會(huì)在紅外圖像中呈現(xiàn)為π/3和2π/3兩條相交線,根據(jù)這一特征對(duì)進(jìn)行方向約束,使顯著圖疊加方向特征,可以更加清晰地表示車道的顯著特征。
對(duì)于方向α和尺度β,定義濾波核函數(shù):
其中a=xcosα+ysinα,b=-xsinα+ycosα,c=2.2。對(duì)車道而言,選取π/3和2π/3兩個(gè)方向兩個(gè)尺度下的核函數(shù)進(jìn)行卷積,設(shè)I(x,y)為圖中(x,y)點(diǎn)的值,I與方向?yàn)棣梁统叨葹棣孪碌暮撕瘮?shù)卷積,定義為:
在z=(x,y)點(diǎn)的卷積結(jié)果分為實(shí)部與虛部?jī)刹糠?,將響?yīng)值取為實(shí)部與虛部的平方和:
Iα,β(z)=Re(Gα,β(z)2)+Im(Gα,β(z)2)
某一方向α下的響應(yīng)值定義為該方向不同尺度β的變換結(jié)果的融合,為均勻得到兩個(gè)尺度的信息,取不同尺度結(jié)果的平均值,最后得到的融合結(jié)果,對(duì)于各個(gè)不同方向的區(qū)域響應(yīng)各不相同,與紅外圖像紋理方向相同的區(qū)域響應(yīng)相對(duì)較強(qiáng),而與紅外圖像紋理方向相悖的區(qū)域響應(yīng)相對(duì)較弱。
根據(jù)車道具有已知的較明顯的顏色特征,在顏色顯著圖生成過(guò)程中對(duì)指定顏色像素進(jìn)行顯著度增強(qiáng),然后在經(jīng)過(guò)顏色特征增強(qiáng)的顯著圖基礎(chǔ)上進(jìn)行區(qū)域?qū)Ρ榷缺容^,得到基于區(qū)域?qū)Ρ榷鹊娘@著圖。即在顏色空間上,對(duì)某一個(gè)像素,計(jì)算它到其他所有像素之間的距離總和,便得到了該像素在全局分辨率下的顯著圖。
在圖像I中像素點(diǎn)Ik在利用顏色對(duì)比度作為顯著性度量方法的顯著值計(jì)算如下:
S(Ik)=∑1≤j≤nfjD(Ik,Ij)
其中D(Ik,Ij)為像素Ik和Ij在Luv顏色空間中的顏色距離。n為紅外圖像中包含的所有各類顏色的總數(shù),fj是具有像素點(diǎn)Ik顏色的所有像素點(diǎn)的數(shù)量。
設(shè)顏色顯著圖為S,方向顯著圖設(shè)為R,為進(jìn)一步凸顯車道,需將顏色顯著圖和方向顯著圖相融合。分別對(duì)顏色顯著圖和方向顯著圖做正則化處理。
N(S)=(S-min(S))/(max(S)-min(S))
式中max(S),min(S)分別代表顯著圖中的最大和最小值。
在此基礎(chǔ)上,將兩者做融合處理得到總顯著圖SR。
SR=N(S)×N(R)
對(duì)顯著圖進(jìn)行二值化處理,得到分割圖像。故而從圖像中心線開(kāi)始檢索,選取顯著圖近景處1/3為ROI,提取兩條車道特征點(diǎn),設(shè)為(xi,yi)(i=0,1,2,...,n)。如果函數(shù)y=F(x)對(duì)應(yīng)的參數(shù)方程為y=kx+b,對(duì)任意特征點(diǎn)(xi,yi)對(duì)應(yīng)目標(biāo)直線的誤差為ε=F(xi)-yi,則所有特征點(diǎn)對(duì)應(yīng)的誤差平方和如下所示:
上式取得最小值的函數(shù)即為所要求的直線參數(shù)。
對(duì)于車距檢測(cè),首先要識(shí)別提取紅外圖像中的前方車輛。本發(fā)明采用一種近似圓形滑窗進(jìn)行邊緣檢測(cè)。將近似圓形滑窗在待檢測(cè)的灰度紅外圖像上滑動(dòng),滑窗內(nèi)部給予編號(hào)的每個(gè)像素點(diǎn)的灰度值都將與滑窗中心像素的灰度值進(jìn)行比較。如果滑窗內(nèi)某點(diǎn)像素的灰度值與中心灰度的差值小于設(shè)定的閾值t,則確定該點(diǎn)與滑窗中心點(diǎn)有相同的灰度,滑窗內(nèi)所有與中心有相同灰度的值的總和構(gòu)成相似區(qū)域。
將坐標(biāo)(xc,yc)表示滑窗的中心坐標(biāo)。采用相似比較函數(shù)如下:
c(x,y)=exp[-[[I(x,y)-I(xc,yc)]/2]6]
I(x,y)為坐標(biāo)x,y的灰度;
則相似區(qū)域的大小計(jì)算為:
一般情況下,閾值t決定了能夠提取的特征點(diǎn)的特征數(shù)量。本發(fā)明在不同對(duì)比度下對(duì)t值自適應(yīng)選擇:在圓形滑窗內(nèi),通過(guò)累加滑窗內(nèi)像素值來(lái)確定滑窗內(nèi)像素與滑窗中心像素差值的閾值t。計(jì)算方法如下:
對(duì)于給定的近似圓形滑窗,sum表示累加變量,img(i,j)(k)表示中心像素在源圖像中的第i行第j列,k表示滑窗中的第k個(gè)像素。
則第k個(gè)像素的閾值t為:
t=sum/n(xc,yc)
sum通過(guò)累加滑窗像素的方法使t值計(jì)算有了局部對(duì)比度的響應(yīng)特性,對(duì)于滑窗內(nèi)的像素,t值在增大,可以除去大部分對(duì)比度較小的復(fù)雜背景,保留目標(biāo),很好的分離目標(biāo)與背景,并細(xì)化邊緣,因此能較準(zhǔn)確的保留車輛邊緣。
求出第k個(gè)像素與中心像素的差值,與t作比較,若小于等于t則,相似區(qū)域加1,最后判斷相似區(qū)域與閾值g的大小,若小于g,則當(dāng)前像素為邊緣點(diǎn),將當(dāng)前像素值設(shè)為255,否則,當(dāng)前像素不是邊緣點(diǎn),將其設(shè)為0。
在上述邊緣檢測(cè)前,先進(jìn)行初步篩選,只對(duì)候選邊緣點(diǎn)做邊緣檢測(cè),篩選方法如下:
首先以中心像素點(diǎn)為中心,計(jì)算垂直線段兩端的像素差,并與預(yù)先設(shè)置的差值閾值Th進(jìn)行比較,邊緣出現(xiàn)在灰度對(duì)比度大的像素點(diǎn),因此大于Th的灰度像素點(diǎn)作為候選邊緣點(diǎn),反之,小于Th的點(diǎn)則被認(rèn)為是內(nèi)部像素點(diǎn)準(zhǔn)備去除。
視頻圖像中的車輛在圖像中的形狀呈現(xiàn)一定的規(guī)則,一般都是有比例的長(zhǎng)方形,因此本發(fā)明采用形狀特征作為檢測(cè)車輛依據(jù)。車輛是有線條的規(guī)則的,頂和底部水平線,兩側(cè)垂直邊等在圖像中經(jīng)過(guò)處理后,都會(huì)呈現(xiàn)一定的直線等特征。
針對(duì)復(fù)雜行車環(huán)境,本發(fā)明選擇形狀特征和邊界特征作為提取車輛位置的特征。首先本發(fā)明對(duì)圖像進(jìn)行剪裁,只對(duì)近景進(jìn)行車輛檢測(cè),然后對(duì)紅外圖像進(jìn)行增強(qiáng)處理,包括膨脹,腐蝕等算法。為了進(jìn)一步確定車輛位置,使用車輛的形狀特征,排除背景引起的誤測(cè)。
可選地,在車距檢測(cè)中,通過(guò)對(duì)每一個(gè)光流向量模的大小的分類進(jìn)行車輛分割,得到前車位置。
在已檢測(cè)出車道的基礎(chǔ)上可以劃分ROI,建立圖像掩模,如果紅外圖像中兩條車道的直線為y=k1x+b1和y=k2x+b2,對(duì)于N×M維圖像I(x,y),設(shè)置圖像掩模M(x,y)同樣為N×M的二值圖像,為全1矩陣。其生成規(guī)則如下所示。
M(x,y)=1 y<k1x+b1且y>k2x+b2
M(x,y)=0 其它
車輛在紅外圖像中的覆蓋面積遠(yuǎn)遠(yuǎn)大于一個(gè)像素塊,所以要將圖像進(jìn)行向量塊劃分,設(shè)定計(jì)算得到Ii=I(xi,yi)點(diǎn)的5×5鄰域光流向量為Vi=(ui,vi),則可以得到圖像光流場(chǎng)Y(x,y),其中的每一個(gè)場(chǎng)方向覆蓋原圖像中對(duì)應(yīng)位置的5×5鄰域。當(dāng)M(xi,yi)=1時(shí),Y(xi,yi)=(ui,vi)
為了進(jìn)行單一閾值分割,將光流向量在x、y兩個(gè)方向的分量u、v進(jìn)行融合,得到融合標(biāo)量圖P(x,y):
對(duì)P(xi,yi)進(jìn)行區(qū)域劃分,得到紅外圖像中車輛運(yùn)動(dòng)對(duì)比區(qū)域,為之后的預(yù)警計(jì)算提供可靠保障。
綜上所述,本發(fā)明提出了一種基于紅外識(shí)別的車輛狀態(tài)監(jiān)控方法,在嵌入式芯片中實(shí)現(xiàn)了機(jī)動(dòng)車安全檢測(cè),提高了行車安全預(yù)警性能,能夠在任務(wù)處理量將計(jì)算量下實(shí)現(xiàn)實(shí)時(shí)計(jì)算和預(yù)警。
顯然,本領(lǐng)域的技術(shù)人員應(yīng)該理解,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算系統(tǒng)來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算系統(tǒng)上,或者分布在多個(gè)計(jì)算系統(tǒng)所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算系統(tǒng)可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)系統(tǒng)中由計(jì)算系統(tǒng)來(lái)執(zhí)行。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
應(yīng)當(dāng)理解的是,本發(fā)明的上述具體實(shí)施方式僅僅用于示例性說(shuō)明或解釋本發(fā)明的原理,而不構(gòu)成對(duì)本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。此外,本發(fā)明所附權(quán)利要求旨在涵蓋落入所附權(quán)利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修改例。