賈世杰,劉金環(huán),于夢晗,祁曉婷
(大連交通大學(xué) 電氣信息學(xué)院,遼寧 大連 116028)*
目前,隨著汽車的普及,汽車的安全輔助駕駛已經(jīng)成為國內(nèi)外研究的焦點(diǎn).其中前方車輛的檢測是汽車智能輔助駕駛系統(tǒng)的一個(gè)關(guān)鍵部分[1].通過視覺獲得前方車輛的信息是目前智能車輛研究的重點(diǎn)和熱點(diǎn).基于視覺的前方車輛檢測方法很多,大部分方法都是在整幅圖像中進(jìn)行車輛檢測,但在復(fù)雜場景中,背景會對車輛的檢測產(chǎn)生干擾.實(shí)際上,在檢測前方車輛的過程中,只需要檢測本車所在車道內(nèi)行駛的前方車輛,而不用去檢測本車道以外的范圍,因此,可以通過檢測車道線來確定檢測車輛的搜索范圍,而不需要獲取整個(gè)圖片的所有信息,這樣不僅大大降低了運(yùn)算量,縮短了檢測的時(shí)間,也排除了本車道以外的無關(guān)區(qū)域中的各種干擾信息對車輛檢測的不利影響,提高了檢測車輛的正確率.因此,本文提出了基于車道線的前方車輛檢測方法,在檢測出車道線的基礎(chǔ)上,利用車輛底部陰影特征來搜索前方車輛.本文算法整體流程圖如圖1所示.
圖1 算法流程圖
目前,Hough變換是車道線檢測方法中應(yīng)用最為廣泛的方法之一,其基本思想是點(diǎn)與線的對偶性[2],即圖像空間中的每一個(gè)點(diǎn)對應(yīng)于參數(shù)空間中的一條直線,同一條直線上的所有點(diǎn)所對應(yīng)的參數(shù)空間中的直線相交于一點(diǎn),從而將圖像中的直線變換到參數(shù)空間的聚集點(diǎn).基于Hough變換的車道線檢測基本過程如下.
根據(jù)所采集的圖像觀察可知,圖像上邊1/3部分多為天空等無關(guān)信息,為了能減少運(yùn)算量提高運(yùn)行速度,本文只對圖像下面2/3部分進(jìn)行計(jì)算,因此本文將圖像的下面2/3部分作為感興趣區(qū)域(ROI,Regin of Interesting)來提高系統(tǒng)的實(shí)時(shí)性.
將RGB彩色圖像轉(zhuǎn)變?yōu)榛叶葓D像,然后進(jìn)行邊緣檢測.Hough變換檢測的效果直接受邊緣檢測的準(zhǔn)確性的影響.本文首先采用Otsu算法[3]進(jìn)行分割,這樣可以根據(jù)灰度化后的圖像信息自適應(yīng)的產(chǎn)生閾值對圖像進(jìn)行二值化,將車道從背景中分離出來,避免了人為設(shè)定閾值的難題.然后采用Sobel算子進(jìn)行邊緣檢測.Sobel算子計(jì)算量小,算法簡單,在邊緣增強(qiáng)效果、抑制噪聲能力方面都比較好,但提取的邊緣較粗.圖像預(yù)處理效果如圖2所示.
圖2 圖像預(yù)處理
在基于車載系統(tǒng)的道路視頻圖像中,兩條車道線分別分布在圖像中心線的兩側(cè),其角度在一定范圍內(nèi)變化.因此建立車道線模型[4]如圖3所示.由于左右車道線的位置基本固定在一定的范圍內(nèi),θ1的取值范圍為30°~ 70°.對于模型 a,θ2的取值為 -20°~-70°;對于模型b,θ2的取值為110°~ 160°,可將 θ2的取值統(tǒng)一為110°~ 160°.這樣設(shè)置后Hough變換的計(jì)算量僅為之前的一半[5],也減少了干擾的直線,提高了正確率.
圖3 車道直線的極坐標(biāo)模型
Hough變換檢測車道線的具體步驟如下:
(1)搜索預(yù)處理后圖像空間中的白色像素;
(2)將檢測到的白色像素點(diǎn)(xi,yi)轉(zhuǎn)換到極坐標(biāo)空間,坐標(biāo)方程是ρ=xicosθ+yisinθ,采用左車道 θ∈ (30,70),右車道 θ∈ (110,160),其中ρ代表原點(diǎn)到直線的距離,θ代表直線與水平軸的夾角;
(3)在極坐標(biāo)空間中,對(ρ,θ)單元進(jìn)行投票累加,即 H(ρ,θ)=H(ρ,θ)+1 .找到 H(ρ,θ)的局部最大值,對滿足(ρ,θ)的邊緣點(diǎn)進(jìn)行標(biāo)注;
(4)最后,根據(jù)邊緣點(diǎn)在該方向上的稠密度來判斷該直線是否為真.
根據(jù)上述步驟可知,Hough變換就是將圖像預(yù)處理后的圖像中的邊緣點(diǎn)轉(zhuǎn)換到極坐標(biāo)空間的累加陣列的多個(gè)單元中,然后計(jì)算各單元的累加值以獲得局部極值,從而檢測出車道線.
本車所在車道區(qū)域通過上面車道線的檢測已經(jīng)確定,下面就在所確定的ROI即兩車道線內(nèi)搜索前方車輛.通過觀察視頻圖像可以發(fā)現(xiàn),在正常光照的白天中,在道路表面無遮擋物陰影的環(huán)境下,車輛底部會在道路上產(chǎn)生陰影,道路區(qū)域的灰度值要比車底陰影區(qū)域的灰度值高一些,因此在道路與陰影的交界處會產(chǎn)生階躍性邊緣,灰度會產(chǎn)生突變,其特征較為明顯[6],將灰度化后的圖像進(jìn)行Sobel邊緣檢測后,在車輛底部將有一條較為明顯的邊緣.針對這種情況,本文分為兩步進(jìn)行車輛檢測,第一步是根據(jù)車輛底部陰影特征進(jìn)行水平邊緣檢測,第二步是根據(jù)車輛的對稱性進(jìn)一步確認(rèn)車輛位置.
分別在灰度化后的圖像和邊緣檢測后的圖像的ROI內(nèi),從下到上,從左到右依次逐點(diǎn)掃描每一個(gè)像素.找到水平邊緣的起點(diǎn)位置Pstart(x,y)和終點(diǎn)位置Pend(x,y).邊緣點(diǎn)必須同時(shí)滿足這兩個(gè)條件,即在灰度化的圖像中灰度值小于100,在邊緣檢測后的圖像中大于50時(shí),則判定該像素點(diǎn)是邊緣點(diǎn).在逐點(diǎn)掃描過程中,水平邊緣不能斷,其線段長度達(dá)到一定長度時(shí),方可假設(shè)它為車輛底部陰影.
確定車輛底部后,可根據(jù)車輛的對稱性進(jìn)一步確定車輛的位置,從而提高車輛檢測的正確性.車輛的垂直邊緣具有嚴(yán)格的對稱性,且不易受外界環(huán)境影響,具有較強(qiáng)的穩(wěn)定性和明顯性[8].因此本文根據(jù)車輛的垂直邊緣的對稱性進(jìn)一步驗(yàn)證車輛.
采用Sobel垂直邊緣檢測得到垂直邊緣增強(qiáng)圖像,在此基礎(chǔ)上,計(jì)算垂直邊緣的對稱性測度.為減少運(yùn)算量,本文將車輛假設(shè)矩形框,其列方向上垂直邊緣投影均值視為橫坐標(biāo)的一維函數(shù)g(x):
式中:s(x,y)為邊緣檢測后像素點(diǎn)(x,y)處的垂直邊緣值,ystart和yend分別為車輛假設(shè)矩形局域的上、下邊界.
任意函數(shù)都可以寫成奇函數(shù)和偶函數(shù)之和的形式,并且其對稱的程度可以由二者權(quán)重的相對大小反映出來[9].設(shè)對稱軸的水平位置為矩形區(qū)域的數(shù)直中軸xs=(xstart+xend)/2,矩形框的寬w=xend-xstart.建立以 xs為原點(diǎn)的新坐標(biāo)系u(-w/2≤u≤w/2),則x和u的變換關(guān)系為:
對于一定的w和xs,函數(shù)g(x)=g(xs=u)的奇函數(shù)分量和偶函數(shù)分量分別為:
奇函數(shù)分量 O(u,xs)的均值為零,偶函數(shù)E(u,xs)>0,其均值大于0,因此要將偶分量進(jìn)行歸一化處理,使其均值為零,可得:
因此,可得二者的能量函數(shù)分別為:
利用能量函數(shù)對矩形區(qū)域的對稱度測量為:
測度s的范圍為[-1,1],當(dāng)s=1表示目標(biāo)完全對稱,s=-1時(shí),表示目標(biāo)完全不對稱,參數(shù)xs、w與測度是相互對應(yīng)的.
由于在路面和背景中也有可能存在對稱性,只通過測量目標(biāo)的垂直邊緣對稱性會產(chǎn)生一定的誤差.車輛的紋理相對于路面的紋理要復(fù)雜,可以根據(jù)這一特征用信息熵值的對稱性測度[10]來進(jìn)一步驗(yàn)證目標(biāo).
設(shè)灰度圖像中的灰度級為0-255,其信息熵的表達(dá)式為:
圖像區(qū)域的信息熵的值越大,表示信息量越豐富,對于本文所處理的灰度圖像來說,則說明區(qū)域紋理特征越明顯,車輛存在的可能性就越大.H(l)的可能取值為[0,5.545],本文將閾值設(shè)置為3,即當(dāng)H(l)大于等于3時(shí),認(rèn)為目標(biāo)區(qū)域包含車輛.
卡爾曼濾波即Kalman濾波,是一種遞推線性最小方差估計(jì),它對環(huán)境的平穩(wěn)性不做要求,只要確保其正交性原理成立,就能快速的遞推出最優(yōu)解.目前,它是解決目標(biāo)跟蹤問題最廣泛應(yīng)用的方法之一.
本文采用卡爾曼濾波的方法對前方運(yùn)動車輛進(jìn)行跟蹤.Kalman濾波器根據(jù)當(dāng)前所檢測目標(biāo)的狀態(tài)值,利用遞推方法和狀態(tài)方程估計(jì)目標(biāo)的下一狀態(tài)值,不僅縮小了目標(biāo)的搜索范圍,提高了檢測的正確率,而且解決了目標(biāo)短暫性消失的這一問題,也解決了對連續(xù)視頻幀中同一目標(biāo)的重復(fù)檢測問題,提高了整個(gè)系統(tǒng)的效率.
為了驗(yàn)證算法的有效性,本文在配置了1.80 GHz CPU Intel(R)Core(TM)i7,8.0 GB 內(nèi)存和windows 8操作系統(tǒng)的計(jì)算機(jī)上,采用VS2013平臺和開源計(jì)算機(jī)視覺庫OpenCV,實(shí)現(xiàn)了本文算法,并分別對晴天和陰天情況下的兩段交通視頻進(jìn)行車輛檢測實(shí)驗(yàn),所處理視頻的分辨率為856×480,幀速為30幀/s.前方車輛檢測結(jié)果示例如圖4所示,視頻車輛檢測結(jié)果如表1.
圖4 前方車輛檢測結(jié)果示例
表1 視頻車輛檢測結(jié)果
實(shí)驗(yàn)結(jié)果表明,本文的算法能夠比較穩(wěn)定準(zhǔn)確的檢測出車輛,通過Kalman濾波進(jìn)行車輛跟蹤能夠顯著提高檢測速度.
本文提出了一種基于車道線的車輛檢測跟蹤方法,利用改進(jìn)的Hough變換檢測車道線,縮小了檢測車輛的區(qū)域.然后,采用基于梯度特征的車底部陰影檢測算法初步定位車輛,利用車輛的邊緣對稱性進(jìn)一步驗(yàn)證車輛的位置,提高了系統(tǒng)的健壯性.最后,使用Kalman濾波預(yù)測產(chǎn)生新的車輛區(qū)域,增強(qiáng)了系統(tǒng)的檢測效率.但當(dāng)車道線檢測有誤時(shí),會直接影響到檢測車輛的正確性,這是今后進(jìn)一步要解決的問題.
[1]魯威威,肖志濤,雷美琳.基于單目視覺的前方車輛檢測與測距方法研究[J].電視技術(shù),2011,35(1):125-128.
[2]HOUGH P V C.Method and means for recognizing complex patterns:U.S.,3,069,654[P].1962-12-18.
[3]吳一全,潘喆.2維最大類間平均離差閾值選取快速遞推算法[J].中國圖象圖形學(xué)報(bào),2009(3):471-476.
[4]李明,黃華,夏建剛.基于Hough變換的車道檢測改進(jìn)算法研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2012,33(4):1638-1642.
[5]JIA XIN.Study on lane recognition method of intelligent vehicle visual detection[D].Changchun:Jilin University PhD Thesis,2008.
[6]RIEHARD B.Hitelligent vehicle applications world wide[J].IEEE Intelligent Systems,2000,15(1):78-80.
[7]潘燕.基于車載攝像頭的前方運(yùn)動車輛檢測與跟蹤方法研究[D].安徽:合肥工業(yè)大學(xué),2012.
[8]齊美彬,潘燕,張銀霞.基于車底陰影的前方運(yùn)動車輛檢測[J].電子測量與儀器學(xué)報(bào),2012,26(1):54-59.
[9]施樹明,儲江偉,李斌,等.基于單目視覺的前方車輛探測方法[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2004,35(4):5-8.
[10]史忠科,曹力.交通圖像檢測與分析[M].北京:科學(xué)出版社,2007:212-215.
[13]張建明,張玲增,劉志強(qiáng).一種結(jié)合多特征的前方車輛檢測與跟蹤方法[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(5):220-223.
[14]林麗晨.基于車載攝像機(jī)高速公路車距測量系統(tǒng)的研究[D].天津:天津大學(xué),2005.