本發(fā)明涉及一種基于單目視覺的前方車輛檢測和測距算法,該方法提出了機(jī)器視覺與先驗(yàn)知識和幾何算法相結(jié)合的方法進(jìn)行車輛檢測,屬于圖像處理和機(jī)器視覺領(lǐng)域,可應(yīng)用于準(zhǔn)確高效的檢測出前方車輛并準(zhǔn)確測量車距。
背景技術(shù):
道路交通事故給人民生命財(cái)產(chǎn)和國民經(jīng)濟(jì)帶來了巨大損失,而交通事故主要是由于車輛間沒有保持安全距離造成的。由此可見,及時(shí)檢測當(dāng)前車輛與前方車輛之間的距離并做出預(yù)警作為高級駕駛輔助系統(tǒng)中的一部分具有非常重要的意義。
在機(jī)器視覺進(jìn)行車輛檢測與跟蹤方面,主要分為兩類:一類是基于立體視覺,一類是基于單目視覺?;诹Ⅲw視覺的檢測方法采用對極幾何規(guī)則測量兩個(gè)目標(biāo)之間的距離,由于復(fù)雜的特征匹配,該方法需要很大的存儲空間,比較長的計(jì)算時(shí)間,而且對外界噪聲和光線比較敏感;基于單目視覺的檢測方法僅需要一個(gè)攝像頭,不需要考慮特征匹配問題,因此,該方法具有成本低,實(shí)時(shí)性好等優(yōu)點(diǎn),適用于車輛安全輔助駕駛領(lǐng)域。
在單目視覺車輛測距方面,主要有三類方法:基于成像模型的方法;基于幾何關(guān)系的推導(dǎo)方法;基于數(shù)學(xué)回歸建模測距的方法。車輛檢測中基于成像模型用到的參數(shù)主要包括利用車身的影子、車燈、車身框架、車身的對稱性結(jié)構(gòu)等?;趲缀侮P(guān)系的推導(dǎo)方法用到的技術(shù)主要是建立車輛的數(shù)學(xué)模型,然后利用模型匹配方法實(shí)現(xiàn)車輛檢測。基于機(jī)器學(xué)習(xí)的算法主要用到神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)和貝葉斯算法等技術(shù)。這些方法主要受車輛實(shí)際寬度、精確測量相機(jī)視野角與俯仰角、前期數(shù)據(jù)采集分析并計(jì)算數(shù)學(xué)模型的影響。
為了解決當(dāng)前車輛檢測和測距中存在的對光線敏感,實(shí)時(shí)性和精確性較差等問題,我們提出了一種利用車牌區(qū)域測量兩車距離的健壯的車距測量方法。通過Tsai兩步算法獲取相機(jī)內(nèi)部參數(shù),然后,兩車之間距離通過相機(jī)內(nèi)部參數(shù)與車牌的大小和四個(gè)頂點(diǎn)計(jì)算得到。實(shí)驗(yàn)表明本方法能準(zhǔn)確有效的檢測出不同路況下的車輛并準(zhǔn)確測量車距,滿足實(shí)時(shí)性要求。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是克服現(xiàn)有技術(shù)的上述不足,提出了一種基于單目視覺的前方車輛檢測與測距方法,該方法能夠準(zhǔn)確有效地檢測出不同天氣情況下的車輛,同時(shí)還能準(zhǔn)確測量車距。為此,本發(fā)明采用如下的技術(shù)方案:
1.獲取檢測圖像并進(jìn)行灰度化;
2.提取車牌區(qū)域;
3.獲取車牌四個(gè)頂點(diǎn)坐標(biāo);
4.采用Tsai兩步算法校正相機(jī)內(nèi)部參數(shù);
5.基于矩形測量理論,計(jì)算兩車之間的距離;
本發(fā)明具有如下技術(shù)特點(diǎn):
1.方法簡單,易于實(shí)施。本發(fā)明利用機(jī)器視覺和幾何測量理論相結(jié)合的算法,通過對車輛前置攝像頭拍攝的圖片信息進(jìn)行分析計(jì)算,即可計(jì)算前后兩車之間的距離,計(jì)算速度高,不需要高精度的儀器設(shè)備,方法簡單實(shí)用。
2.準(zhǔn)確性高。本發(fā)明在檢測過程中,基于前車的車牌區(qū)域進(jìn)行測距,誤檢率較小,不容易受周圍環(huán)境的影響,提高了檢測精度。
3.對不同天氣和路況能夠滿足視覺車輛檢測、測距與實(shí)時(shí)性要求。
附圖說明
圖1:本發(fā)明總體方案流程圖。
圖2:由原始圖像得到車牌區(qū)域的過程。
圖3:車牌的投影圖像
具體實(shí)施方式
本發(fā)明的流程圖如圖1所示,首先將車載攝像機(jī)采集的視頻圖像變換為HSV顏色空間圖像,然后選取適當(dāng)?shù)念伾撝?,將彩色圖像轉(zhuǎn)化為二值圖像,再利用濾波技術(shù)濾除與車牌底色無關(guān)的背景像素點(diǎn),增強(qiáng)牌照部位的像素信息。最后用投影法確定車牌的邊界位置,根據(jù)邊界位置把車牌從原圖像中提取出來,完成車牌提取部分。對提取的車牌邊界進(jìn)行線性化得到車牌區(qū)域的頂點(diǎn)坐標(biāo)。利用Tsai兩步算法和棋盤和算法對相機(jī)進(jìn)行內(nèi)部參數(shù)校正,最后利用得到的相機(jī)內(nèi)部參數(shù)和車牌的四個(gè)頂點(diǎn)運(yùn)用P4P算法進(jìn)行車距測量。
1.圖像獲取及灰度化
本實(shí)驗(yàn)采用的數(shù)據(jù)是從車輛前置攝像頭拍攝得到,相機(jī)安裝在車輛內(nèi)部前擋風(fēng)玻璃后視鏡下方,距離地面高度為1.2m。視頻采集于城郊快速路和高速公路。
(1)顏色空間的選擇
要處理彩色圖像,首先要選取合適的顏色空間。一般圖像常采用RGB三元彩色空間表示,但RGB三色空間中兩點(diǎn)間的歐氏距離與顏色距離不成線性比例。為了更好地進(jìn)行彩色牌照的分割,通過實(shí)驗(yàn),本發(fā)明采用了HSV顏色空間。其中H參數(shù)表示色彩信息,即所處的光譜顏色的位置。該參數(shù)用一角度量來表示,紅、綠、藍(lán)分別相隔120°,互補(bǔ)色分別相差180°。S代表純度,為一比例值,范圍從0~1,它表示成所選顏色的純度和該顏色最大的純度之間的比率。S=0時(shí),只有灰度。V表示色彩的明亮程度,范圍從0~1,它和光強(qiáng)度之間并沒有直接地聯(lián)系。
根據(jù)HSV顏色空間的定義,對于任3個(gè)在[0,1]范圍內(nèi)的R、G、B值,其對應(yīng)HSV顏色空間中的V、S、H分量可以由下面給出的公式計(jì)算:
根據(jù)RGB空間到HSV空間的轉(zhuǎn)換關(guān)系,可以得到圖像轉(zhuǎn)換后每一個(gè)像素的色彩信息H,其中R、G、B分別為點(diǎn)像素的紅、綠、藍(lán)三色刺激值。
(2)彩色圖像的二值化
為了提高圖像處理的速度,將輸入的彩色圖像變換成二值圖像。變換方法為:設(shè)h(x,y)表示輸入圖像f中的點(diǎn)(x,y)在HSV顏色空間中H的值。Hf(x,y)是任一選中的代表車牌底色的點(diǎn)(x,y)在HSV顏色空間的H值。則有:如果H(x,y)∈[Hf(x,y)(1-k),Hf(x,y)(1+k)],則N=N+1,其中,k為計(jì)算的寬容度,k∈[0,1];N是計(jì)數(shù)器,計(jì)算符合條件的點(diǎn)數(shù)。經(jīng)過以上過程,得到了如下定義的車牌底色二值圖像。
(3)濾波消噪
經(jīng)過轉(zhuǎn)換的二值圖像,存在一定的噪聲干擾,為了突出二值圖像的牌照區(qū)域特征,我們使用空間聚類技術(shù)對二值圖像進(jìn)行消噪和區(qū)域連通處理,具體做法是:
①將圖像分成k*k個(gè)區(qū)域,每個(gè)區(qū)域的大小為m×n;
②對每個(gè)區(qū)域R,按照如下定義進(jìn)行變換
其中其次,對車牌區(qū)域進(jìn)行區(qū)域連通。連通的目的是去除一些不必要的背景區(qū)域,保留目標(biāo)區(qū)域。通常連通區(qū)域的分析采用種子填充算法,但種子填充算法存在著壓棧過多、速度過慢,不適合進(jìn)行實(shí)時(shí)處理。為此,我們采用一種由Haralic與Shapirot提出的二維連通分析方法,簡稱H-S連通分析方法。
2.車牌的定位與提取
經(jīng)過濾波處理的二值圖像,車牌區(qū)域明顯突出,這就為車牌的定位與分割作好了準(zhǔn)備?;谒俣鹊目紤],我們應(yīng)用投影法定位提取車牌區(qū)域。具體算法描述如下:
(1)對經(jīng)過二值轉(zhuǎn)換處理的車牌圖像進(jìn)行水平投影,即把二值圖像再水平方向上統(tǒng)計(jì)其賦值為1的像素。
(2)牌照區(qū)的上下邊界定位。取一閾值(設(shè)為T1),自下而上掃描。將水平投影值大于T1的行取出,可以認(rèn)為這是車牌區(qū)域的下邊界,并命名為y1。因?yàn)?,通過實(shí)驗(yàn)發(fā)現(xiàn)大部分的圖片中存在這樣的一行:這一行大于閾值而且經(jīng)過車牌區(qū)域。然后繼續(xù)進(jìn)行掃描,將水平投影值小于T1的位置記下,可以認(rèn)為這是牌照區(qū)的上邊界,命名為y2。然而,y1和y2不一定是真正的車牌區(qū)域的上邊界與下邊界。為了確認(rèn)提取的區(qū)域含有車牌區(qū)域,加入了判斷式y(tǒng)2-y1≥t1。And.y2-y1≤t2,其中t1與t2是對大量圖片進(jìn)行測試而得到的車牌高度經(jīng)驗(yàn)值。經(jīng)過判斷,如果滿足條件就可以認(rèn)為y1、y2是牌照區(qū)的上下邊界,否則,y1:=y(tǒng)2,重新開始掃描。ylow=y(tǒng)1;yhigh=y(tǒng)2。
(3)對二值圖像進(jìn)行垂直投影。垂直投影是在垂直方向上統(tǒng)計(jì)其賦值為1的像素?cái)?shù)。
(4)定位牌照區(qū)的左右邊界。用與(2)類似的方法,設(shè)一閾值為T2,自左向右掃描,將垂直投影大于和小于T2的列位置標(biāo)記為x1和x2,為了確認(rèn)提取的區(qū)域含有車牌區(qū)域,同樣加入了判斷式x2-x1≥s1.and.x2-x1≤s2,s1與s2是車牌寬度經(jīng)驗(yàn)值。經(jīng)過判斷,如果滿足條件就可以認(rèn)為x1、x2是牌照區(qū)的左右邊界,否則,x1:=x2,重新開始掃描。xleft=x1;xright=x2。得到牌照的左右邊界xleft,xright。
(5)根據(jù)牌照區(qū)的四個(gè)邊界值,ylow,yhigh,xleft,xright在原圖像中提取車牌,如圖2中c所示。最終提取灰度化后的結(jié)果如圖2中d所示。
3.相機(jī)內(nèi)部參數(shù)校正
首先對相機(jī)定義一個(gè)三維坐標(biāo)系O-XYZ,對圖像定義一個(gè)二維坐標(biāo)系O0-uv和一個(gè)世界坐標(biāo)系O’-X’Y’Z’,如圖3所示。其中A1,A2,A3,A4是實(shí)際車牌的四個(gè)頂點(diǎn),而a1,a2,a3,a4是車牌映射到圖像上對應(yīng)的四個(gè)頂點(diǎn)。圖3中d1,d2,d3,d4分別是OA1,OA2,OA3和OA4的長度。在世界坐標(biāo)系中,任何點(diǎn)P(X’,Y’Z’),對應(yīng)的二維(u,v)映射和三維坐標(biāo)(X,Y,Z)之間的關(guān)系,可以表述為:
其中K是相機(jī)內(nèi)部參數(shù),我們采用一種與Tsai模型類似的帶有徑向畸變的針孔模型,改進(jìn)如下:
其中k為畸變系數(shù),(u0,v0)是主點(diǎn)。K可以表示為:
K通過經(jīng)典的Tsai兩步算法和棋盤格算法得到。
4.距離測量
由第二步和第三步得到車牌的頂點(diǎn)和相機(jī)的內(nèi)部參數(shù),我們利用P4P算法得到前后兩車之間的距離,算法可以表示如下:
其中,cosθ12,cosθ23,cosθ34和cosθ14分別在ΔOa1a2,ΔOa2a4,ΔOa3a4和ΔOa1a4中計(jì)算如圖3所示。W和H是一個(gè)車牌對應(yīng)的常量,由于國內(nèi)小車車牌的尺寸為寬度440,高度140,所以這里W和H分別取440和140。
通過對式(6)的求解可以得到d1,d2,d3和d4的值,我們利用幾何知識就可以得到前后兩車之間的距離doo':
本發(fā)明提出一種基于單目視覺的前方車輛檢測與測距方法,該方法將機(jī)器視覺與幾何理論相結(jié)合利用車牌區(qū)域?qū)崿F(xiàn)車距測量。準(zhǔn)確有效的檢測出不同天氣情況下的車輛,同時(shí)還能準(zhǔn)確測量車距,解決了單一利用基于先驗(yàn)知識的方法對光照敏感的問題以及基于機(jī)器視覺的方法產(chǎn)生過多誤檢的問題,滿足智能車輛控制的實(shí)時(shí)性要求。