張駿 徐向華 李姣
摘 要: 針對(duì)目前夜間場(chǎng)景下尾燈提取算法存在的顏色和形狀適應(yīng)性受限問(wèn)題,提出了一種基于尾燈光暈層次特點(diǎn)驗(yàn)證的尾燈提取方法。該方法與基于顏色閾值過(guò)濾的方法、基于形狀過(guò)濾的方法以及基于機(jī)器學(xué)習(xí)的方法相比,具有較好的顏色和形狀適應(yīng)性,算法整體具備了實(shí)時(shí)性、較高的準(zhǔn)確率和較少的誤檢率。
關(guān)鍵詞: 夜間場(chǎng)景; 尾燈提??; 顏色和形狀適應(yīng)性; 光暈層次
中圖分類(lèi)號(hào):TP391.4 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2015)08-06-03
Nighttime taillight pick-up method based on halo layer structure verifying
Zhang Jun, Xu Xianghua, Li Jiao
(Hangzhou Dianzi University, Zhejiang Provincial Key Lab of Data Storage and Transmission Technology, Hangzhou, Zhejiang 310037, China)
Abstract: For current nighttime taillight pick-up algorithms, the color and shape adaptabilities are inadequate. This paper proposes a novel taillight pick-up algorithm based on the halo layer structure verifying. Compared with the current algorithms such as the color thresholding, the shape filtering and the machine learning, the algorithm proposed has a better color and shape adaptability, and has the features of real-time, high accuracy and low false positive rate.
Key words: nighttime; taillight pick-up; color and shape adaptabilities; layer structure of halo
0 引言
夜間車(chē)輛檢測(cè)可以被應(yīng)用于自動(dòng)駕駛汽車(chē)和預(yù)警系統(tǒng)等。夜間場(chǎng)景下,尾燈是前方車(chē)輛惟一明顯的特征。因此,尾燈提取是夜間車(chē)輛檢測(cè)的關(guān)鍵和基礎(chǔ)?,F(xiàn)有的基于顏色閾值過(guò)濾[1-3]的尾燈提取方法是根據(jù)尾燈的顏色特征設(shè)置顏色閾值。此類(lèi)方法實(shí)時(shí)性好,但易受環(huán)境光照和攝像頭參數(shù)等因素影響,檢測(cè)率不穩(wěn)定。基于形狀過(guò)濾的方法[4-6]基于形態(tài)過(guò)濾圖像提取尾燈。此類(lèi)方法不受圖像顏色差異影響,一般以“圓形”為過(guò)濾條件,而尾燈形狀多樣,因此其形狀適應(yīng)性較弱。由于目前尚無(wú)描述能力較好的尾燈特征,因此基于機(jī)器學(xué)習(xí)的尾燈提取方法[7, 8]檢測(cè)效果較差。綜上可見(jiàn),目前缺乏顏色和形狀適應(yīng)性均較好的尾燈檢測(cè)方法。
盡管尾燈形狀各異,但光暈具有同一個(gè)特性:緊貼白色區(qū)域分布,亮度從白色區(qū)域邊界向外依次遞減。該遞減現(xiàn)象呈現(xiàn)層次性,每一層光暈層形狀與白色區(qū)域邊界形狀相似。同時(shí),通過(guò)對(duì)比車(chē)燈對(duì)象以及非車(chē)燈對(duì)象可知:前者的光暈亮度按層次遞減,而后者的光暈亮度分布混亂。因此,通過(guò)驗(yàn)證該特性即可有效地區(qū)分二者。
1 尾燈提取
1.1 總體流程
本文算法分三步:預(yù)處理、假設(shè)產(chǎn)生和假設(shè)驗(yàn)證。在預(yù)處理步驟中,算法對(duì)圖像進(jìn)行寬泛的顏色閾值過(guò)濾;在假設(shè)產(chǎn)生步驟中,算法提取白色區(qū)域作為疑似車(chē)燈對(duì)象;在假設(shè)驗(yàn)證步驟中,算法基于疑似對(duì)象的白色區(qū)域計(jì)算其光暈的大致范圍。接下來(lái),使用光暈層次拓展(Halo Layers Expansion,HLE)算法基于白色區(qū)域邊緣向外不規(guī)則地層層拓展,精確覆蓋該對(duì)象的光暈,并得到光暈的層次結(jié)構(gòu);使用亮度遞減驗(yàn)證(Luminance Diminishing Verification,LDV)算法驗(yàn)證疑似對(duì)象的光暈亮度分布;去除未通過(guò)驗(yàn)證的對(duì)象,得到可信度較高的車(chē)燈對(duì)象。
1.2 光暈層次拓展(HLE)算法
1.2.1 光暈區(qū)域初步確定
光暈區(qū)域緊貼白色區(qū)域,面積正比于白色區(qū)域,因此基于白色區(qū)域可大致確定光暈區(qū)域。算法首先提取白色區(qū)域,計(jì)算每個(gè)區(qū)域的外接矩形,記為“內(nèi)矩形”;然后,根據(jù)內(nèi)矩形向外拓展得到一個(gè)范圍更大的矩形,記為疑似對(duì)象的“外矩形”。外矩形即為初步確定的尾燈光暈范圍。利用式⑴可通過(guò)內(nèi)矩形得到對(duì)應(yīng)的外矩形。XouterRect,YouterRect,HouterRect和WouterRect分別表示外矩形的左上角點(diǎn)的X、Y坐標(biāo),高和寬;下標(biāo)為innerRect的為內(nèi)矩形的對(duì)應(yīng)變量。
⑴
圖1(a)為源圖像,圖1(b)為閾值過(guò)濾后圖像,圖1(c)為標(biāo)示了內(nèi)矩形的圖像,圖1(d)為標(biāo)示了內(nèi)矩形和外矩形的圖像。
1.2.2 HLE算法
車(chē)燈白色高亮區(qū)域形狀各異,但同一個(gè)車(chē)燈上的光暈層的形狀都與其白色區(qū)域邊界的形狀類(lèi)似。因此,基于白色區(qū)域邊緣向外等距離層層拓展,可精確覆蓋光暈區(qū)域,同時(shí)得到其光暈區(qū)域的層次結(jié)構(gòu)。不同車(chē)燈需要拓展的層數(shù)不同,算法首先通過(guò)式⑵計(jì)算需要拓展的光暈層數(shù)Nlayers。
Nlayers=min{Hinner,Winner,14} ⑵
算法偽代碼描述如下。函數(shù)pointPolygonTest計(jì)算傳入像素點(diǎn)到白色區(qū)域邊界contour的最短距離,返回正數(shù)表示測(cè)試點(diǎn)為白色區(qū)域內(nèi)部的點(diǎn),負(fù)數(shù)則是表示外部的點(diǎn)。
Input:outerRect-疑似對(duì)象的外矩形
contour-中央白色高亮區(qū)域的輪廓
Nlayers-拓展層數(shù)
Output:layers-光暈層數(shù)據(jù)集合
for i=0 to Nlayers-1 do
layeri={}
layers[i]=layeri
end for
for i=0 to outerRect.width-1 do
for j=0 to outerRect.height-1 do
dis=pointPolygonTest(outerRect[i][j],contour)
if(dis<0 and dis?-14)
layerIndex=0-ceil(dis)
end if
if(layerIndex+1>Nlayers)
continue
end if
if(layerIndex?0)
layers[layerIndex].add(outerRect[i][j]);
end if
end for
end for
圖2展示了HLE算法的效果。圖2(a)為圓形車(chē)燈,圖2(b)為梯形車(chē)燈,圖2(c)為不規(guī)則形狀車(chē)燈。
1.3 亮度遞減驗(yàn)證(LDV)算法
尾燈光暈的亮度按層次遞減,越遠(yuǎn)離白色區(qū)域邊緣的光暈像素點(diǎn)的亮度值越低。而大部分干擾燈光或反射光的光暈亮度分布混亂。LDV算法基于這一點(diǎn),對(duì)疑似對(duì)象的光暈區(qū)域進(jìn)行驗(yàn)證,從而區(qū)分干擾對(duì)象。
圖3(a)為一個(gè)抽象車(chē)燈,放大左邊部分得到圖3(b)。圖中光暈點(diǎn)(x,y)周?chē)?個(gè)像素點(diǎn)中,亮度值最低的點(diǎn)(minP)位于更高的層數(shù)上。因此,若某對(duì)象為車(chē)燈對(duì)象,則對(duì)于位于其第i層(layer)光暈層上的任意點(diǎn)(x,y),它周?chē)?個(gè)像素點(diǎn)中亮度值最小的點(diǎn)一定是位于第i+1層或者更高的層數(shù)上?;诖艘?guī)律,算法驗(yàn)證疑似對(duì)象的每個(gè)光暈點(diǎn),統(tǒng)計(jì)該對(duì)象所有光暈點(diǎn)中滿足該條件的光暈點(diǎn)所占的比例。
圖3 驗(yàn)證依據(jù)說(shuō)明示意圖
滿足驗(yàn)證規(guī)則的點(diǎn)被稱(chēng)為“pass(通過(guò))點(diǎn)”,它們占所有光暈點(diǎn)的比例被稱(chēng)為“pass(通過(guò))率”。算法偽代碼如下。
Input:tail-疑似車(chē)燈對(duì)象,tail=(wPoints,layers,Nlayers)
Output:Ppass-pass率
SSearch={}
SSearch.add(wPoints)
Ppass=0.0
for i=0 to layers.length-1 do
for j=0 to layeri.length-1 do
minP=GetMinP(layeri[i],imgRGBfilter)
if(minP?SSearch)
Cpass=Cpass+1
end if
end for
SSearch.add(layeri)
end for
其中,tail表示輸入的疑似車(chē)燈對(duì)象,它包含:當(dāng)前對(duì)象白色區(qū)域像素點(diǎn)的集合wPoints,光暈層數(shù)據(jù)集合layers以及拓展層數(shù)Nlayers。輸出參數(shù)Ppass為當(dāng)前對(duì)象的pass率,SSearch保存當(dāng)前已經(jīng)驗(yàn)證結(jié)束的光暈點(diǎn),函數(shù)GetMinPoint搜索輸入點(diǎn)周?chē)?個(gè)像素點(diǎn),返回其中R通道值最小的像素點(diǎn),Cpass表示pass點(diǎn)計(jì)數(shù)。
圖4為車(chē)燈對(duì)象(正例)的驗(yàn)證情況,圖4(a),4(b)分別為不同形狀尾燈。其中第三張圖中的白色點(diǎn)為pass點(diǎn)。圖5為非尾燈對(duì)象(負(fù)例)的驗(yàn)證情況。圖5(a)為車(chē)牌反光,圖5(b)為廣告牌。
可見(jiàn),正例的pass率較高,負(fù)例的pass率較低。我們統(tǒng)計(jì)了各種對(duì)象的pass率,結(jié)果如圖6所示,最終確定30%為正、負(fù)例對(duì)象的區(qū)分閾值。
[場(chǎng)景\&車(chē)燈數(shù)\&算法\&檢測(cè)到的
車(chē)燈數(shù)\&檢測(cè)框\&誤檢框\&檢測(cè)率\&幀均誤檢框\&高速\&225\&T.方法\&166\&311\&145\&73.78%\&1.45\&W.方法\&61\&390\&329\&27.11%\&3.29\&本文方法\&195\&406\&211\&86.67%\&2.11\&城市\&253\&T.方法\&222\&287\&65\&78.75%\&0.65\&W.方法\&194\&1318\&1124\&76.68%\&11.24\&本文方法\&247\&591\&344\&97.63%\&3.44\&]
3 結(jié)束語(yǔ)
本文提出基于光暈層次特點(diǎn)驗(yàn)證的尾燈提取算法,利用尾燈光暈向外延伸衰減的特點(diǎn),解決了已有方法在尾燈形狀和顏色適應(yīng)性上存在的問(wèn)題。實(shí)驗(yàn)證明,在各類(lèi)場(chǎng)景下,本文方法具有更好的尾燈顏色、形狀適應(yīng)性和檢測(cè)準(zhǔn)確度。
參考文獻(xiàn):
[1] O'Malley R, Jones E, Glavin M. Rear-Lamp Vehicle Detection and
Tracking in Low-Exposure Color Video for Night Conditions[J].IEEE Transactions on Intelligent Transportation Systems,2010.11(2):453-462
[2] O Malley R, Glavin M, Jones E. Vehicle detection at night based on
tail-light detection[C].1st international symposium on vehicular computing systems,2008:2-4
[3] Thammakaroon P, Tangamchit P. Predictive brake warning at
night using taillight characteristic[C]. International Symposium on Industrial Electronics (ISIE),2009:217-221
[4] Alcantarilla P F, Bergasa L M, Jime X. Night time vehicle detection
for driving assistance lightbeam controller[C]. Intelligent Vehicles Symposium,Eindhoven,2008:291-296
[5] Alt N, Claus C, Stechele W. Hardware/software architecture of an
algorithm for vision-based real-time vehicle detection in dark environments[C].Design, Automation and Test in Europe (DATE), ACM, Munich, 2008:176-181
[6] Schamm T, von Carlowitz C, Zollner J M. On-road vehicle
detection during dusk and at night[C]. Intelligent Vehicles Symposium (IV), San Diego, CA,2010:418-423
[7] Zehang S, Bebis G, Miller R. Monocular precrash vehicle detection:
features and classifiers[J].IEEE Transactions on Image Processing,2006.15(7):2019-2034
[8] Hong C, Nanning Z, Chong S. Boosted Gabor Features Applied to
Vehicle Detection[C].18th International Conference on Pattern Recognition (ICPR),2006:662-666
[9] Chun-Che W, Shih-Shinh H, Li-Chen F. Driver assistance
system for lane detection and vehicle recognition with night vision[C]. IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2005),2005:3530-3535