摘 要: 鑒于紅綠燈在城市交通中占有的重要地位,,通過(guò)圖像處理設(shè)計(jì)一個(gè)系統(tǒng)來(lái)輔助駕駛員判別紅綠燈。首先通過(guò)圖像采集及圖像預(yù)處理的方法獲得源圖像,,然后再設(shè)立紅綠燈主要特征訓(xùn)練集,,用邊緣跟蹤的方法框選出紅綠燈類(lèi)似目標(biāo),對(duì)類(lèi)似目標(biāo)進(jìn)行特征提取,,再與標(biāo)準(zhǔn)模板做對(duì)比,,確定為目標(biāo)后標(biāo)出各個(gè)燈的位置。最后通過(guò)圖像坐標(biāo)讀取各個(gè)燈的顏色分量,,比較燈的各色分量,,從而確定每一個(gè)燈的顏色。識(shí)別完成后將識(shí)別結(jié)果通過(guò)數(shù)字顯示或聲音提示的方式輸出以提醒駕駛員注意紅綠燈的變化,。
關(guān)鍵詞: 紅綠燈,;模式識(shí)別;圖像處理,;智能交通
隨著我國(guó)經(jīng)濟(jì)的快速發(fā)展,各個(gè)城市的機(jī)動(dòng)車(chē)輛數(shù)量迅速增加,,道路交通也隨之日益復(fù)雜,,交通指揮系統(tǒng)所承受的壓力越來(lái)越大。紅綠燈多處于交通樞紐地帶,,負(fù)責(zé)指揮交通,,因此紅綠燈的識(shí)別顯得尤為重要。然而有些駕駛員因疲勞或其他原因而未能及時(shí)注意到紅綠燈的變化,,從而釀成諸多慘劇,。本文通過(guò)圖像處理及顏色判別而設(shè)計(jì)的紅綠燈自主識(shí)別系統(tǒng)可以提醒駕駛員注意紅綠燈變化,繼而有望降低事故發(fā)生率,。
1 設(shè)計(jì)思路
本系統(tǒng)設(shè)計(jì)主要由圖像采集,、圖像預(yù)處理,、紅綠燈定位、顏色判別及輸出顯示等模塊組成,,如圖1所示,。首先用安裝在車(chē)頂或車(chē)內(nèi)的攝像機(jī)對(duì)前方場(chǎng)景進(jìn)行實(shí)時(shí)圖像采集。由于攝像機(jī)跟隨車(chē)輛一起運(yùn)動(dòng),,因此采集到的圖像難免會(huì)產(chǎn)生一些噪聲,,這就需要進(jìn)行圖像預(yù)處理,以便于之后的目標(biāo)提取,。設(shè)計(jì)編碼程序從采集到的圖像中定位提取出紅綠燈的位置,,再定位出各個(gè)燈的坐標(biāo),然后對(duì)提取的目標(biāo)進(jìn)行顏色判定,,將結(jié)果通過(guò)顯示器輸出,。結(jié)果輸出可以多元化,例如可以用數(shù)字顯示器表示各個(gè)燈的顏色,,也可以用聲音提醒,;若在顏色判定的同時(shí)進(jìn)行數(shù)字讀取,還可以實(shí)現(xiàn)紅綠燈倒計(jì)時(shí)報(bào)時(shí)提醒,。由于數(shù)字是實(shí)時(shí)變化的,,因此數(shù)字提取涉及的條件較復(fù)雜且成功率尚未達(dá)到要求,本文暫且不對(duì)此模塊做研究,。
2 圖像采集
圖像采集需要在車(chē)頂或車(chē)內(nèi)前方安裝一款攝像機(jī),,對(duì)汽車(chē)前方進(jìn)行實(shí)時(shí)圖像采集。攝像機(jī)選擇條件是像素高,、處理速度快,、價(jià)格便宜。經(jīng)過(guò)綜合考慮,,車(chē)載攝像機(jī)需要符合的各方面要求及部分規(guī)格數(shù)據(jù)如下:
(1)帶彩色顯示屏車(chē)載錄像儀,,可即錄即看;
(2)鏡頭角度:90°,;
(3)感光芯片:1/4 color CMOS,;
(4)拍攝像素:1 280×720/720×480/640×480 pixels;
(5)拍攝文件格式:錄像AVI格式,,拍照J(rèn)PG格式,,可連接電腦或在導(dǎo)航儀、手機(jī)等設(shè)備上即時(shí)播放,;
(6)支持幀率調(diào)節(jié)以節(jié)省空間或錄制最優(yōu)質(zhì)圖像功能,;
(7)支持SD/SDHC/MMC卡存儲(chǔ)拍攝,支持32 GB存儲(chǔ)卡,;
(8)帶有數(shù)字化部件,,可以直接將數(shù)字圖像通過(guò)計(jì)算機(jī)端口(如并口,、USB接口)或標(biāo)準(zhǔn)設(shè)備(如磁盤(pán)驅(qū)動(dòng)器)傳送給計(jì)算機(jī)。
3 圖像預(yù)處理
圖像采集之后,,通過(guò)攝像機(jī)固有的模數(shù)轉(zhuǎn)換部件完成圖像數(shù)字化,,通過(guò)端口輸入微處理器。
因?yàn)閿z像頭是隨汽車(chē)運(yùn)動(dòng)的,,因此采集到的圖像難免會(huì)出現(xiàn)邊緣模糊,。另外由于空氣狀況、日照變化,、電磁等干擾,,再加上圖像采集過(guò)程中會(huì)受到噪聲的影響,會(huì)使采集到的圖像變得模糊,,如圖2所示,,因此圖像采集完畢后需要進(jìn)行圖像預(yù)處理。
對(duì)于隨即干擾所產(chǎn)生的椒鹽噪聲可以用中值濾波處理[1],。圖3為圖2所示圖像經(jīng)中值濾波后的效果圖,。中值濾波是一種局部平均平滑技術(shù),對(duì)于脈沖干擾和椒鹽的抑制效果較好,。其濾波原理是:對(duì)一個(gè)滑動(dòng)的窗口內(nèi)的諸像素灰度排序,,用其中值代替窗口中心像素(x,y)原來(lái)的灰度,,若窗口中的像素有偶數(shù)個(gè),,則取兩個(gè)中間值的平均。
對(duì)于圖像邊緣模糊問(wèn)題可以用高通濾波方法處理,。圖像中的邊沿或線條與圖像頻譜中的高頻分量相對(duì)應(yīng),,因此可以用高通濾波的方法使低頻分量得到抑制,從而增強(qiáng)高頻分量使圖像邊沿或線條變得清晰[1],。理想高通濾波器的轉(zhuǎn)移函數(shù)為:
4 紅綠燈定位
圖像預(yù)處理完畢后進(jìn)入目標(biāo)定位階段,,需要在整幅圖像中定位出目標(biāo)(即紅綠燈),并標(biāo)記出各個(gè)燈的位置,。由于現(xiàn)實(shí)中圖像背景復(fù)雜,,光照不均勻,因此在采集到的圖片中準(zhǔn)確地定位紅綠燈的出現(xiàn)是整個(gè)系統(tǒng)的前提,。
事先對(duì)紅綠燈進(jìn)行特征設(shè)定,紅綠燈特征之一是:版面多為黑色,,即顏色較深,,灰度值較低;另一特征是大多數(shù)紅綠燈外形固定,,分橫豎兩種(本文以橫著的紅綠燈作為說(shuō)明,,豎著的類(lèi)同),,可以用訓(xùn)練與學(xué)習(xí)的方法,先搜集一些紅綠燈樣本,,進(jìn)行特征標(biāo)記[2]后存入訓(xùn)練集,,捕捉到待確定目標(biāo)后與樣本對(duì)比,相似度達(dá)到一定程度即認(rèn)為是目標(biāo),。對(duì)于樣品的特征設(shè)定有多種方法,,這里介紹一種簡(jiǎn)單的模板法[3]。首先框定樣品的寬度和高度,,對(duì)樣品進(jìn)行二值化和邊緣提取,,再將樣品的長(zhǎng)度和寬度N等分,構(gòu)成一個(gè)N×N均勻小區(qū)域,,對(duì)于每一個(gè)小區(qū)域內(nèi)的黑像素個(gè)數(shù)進(jìn)行統(tǒng)計(jì),,除以該小區(qū)域的面積總數(shù),所得值超過(guò)一個(gè)閾值標(biāo)定為1,,未超過(guò)的小區(qū)域標(biāo)定為0,,如圖4所示。這樣做的好處是針對(duì)同一形狀,、不同大小的樣品得到的特征值相差不大,,有能力對(duì)同一形狀、不同大小的樣品視為同類(lèi),。這樣不論攝像機(jī)距離物體遠(yuǎn)近都可以識(shí)別物體,。
執(zhí)行時(shí)先對(duì)采集到的圖像進(jìn)行大范圍相關(guān)搜索,由于紅綠燈外框基本為黑色,,灰度值變化不大,,用邊緣跟蹤[4]的方法尋找出紅綠燈外圍邊框,結(jié)果如圖5所示,。邊緣跟蹤從起始點(diǎn)開(kāi)始跟蹤,,直到跟蹤的后續(xù)點(diǎn)回到起始點(diǎn)。邊緣跟蹤方法的基本原理是:確定一個(gè)灰度值較低的像素作為起始點(diǎn),,從左上角0點(diǎn)方向開(kāi)始跟蹤,,即用0點(diǎn)方向的鄰近像素與起始點(diǎn)比較,若灰度值相差不大,,則視為同一物體,,把此點(diǎn)作為新的起始點(diǎn),將跟蹤方向逆轉(zhuǎn)90°作為新的跟蹤方向繼續(xù)跟蹤,;若灰度值與起始點(diǎn)相差很大,,則認(rèn)為不是同一物體,將跟蹤方向順時(shí)針旋轉(zhuǎn)45°,,沿新的跟蹤方向繼續(xù)跟蹤,。重復(fù)上述方法,,直到檢測(cè)點(diǎn)回到最開(kāi)始的檢測(cè)點(diǎn)為止,此時(shí)將跟蹤圈定的目標(biāo)定位待確定目標(biāo),。確定待確定目標(biāo)后對(duì)其進(jìn)行二值化與邊緣提取,,再與樣本訓(xùn)練集里的樣本做比較。相似度超過(guò)一個(gè)閾值則認(rèn)為是目標(biāo),,記錄目標(biāo)像素坐標(biāo),。若相似度小于閾值,則認(rèn)為是非目標(biāo),。確定出紅綠燈位置后繼續(xù)與樣本對(duì)比,,確定出各個(gè)燈的位置。
具體流程如下:
(1)對(duì)訓(xùn)練集中的樣本進(jìn)行特征提取并存儲(chǔ),。
(2)對(duì)預(yù)處理后的圖像做搜索,,用邊界跟蹤的方法圈定類(lèi)目標(biāo)物體。
(3)將圈定的物體與樣本集里的樣本做比較,,相似度超過(guò)一定閾值則認(rèn)為是目標(biāo),。將目標(biāo)像素坐標(biāo)標(biāo)定存儲(chǔ)。
(4)通過(guò)與樣本目標(biāo)對(duì)比,,標(biāo)定出各個(gè)燈的位置并標(biāo)記存儲(chǔ)坐標(biāo),。
流程如圖6所示。
5 顏色判別及輸出顯示
根據(jù)德國(guó)物理學(xué)家赫姆霍茲(Helinholtz)的三原色理論[5]可知,,各種顏色是由不同比例的三原色混合而成的,,也就是說(shuō)數(shù)字圖像中色彩是由R、G,、B三個(gè)基本色組成的,,被稱(chēng)為是與設(shè)備相關(guān)的色彩空間。其中紅,、綠可以組成黃色,;藍(lán)、綠組成青色,;紅,、藍(lán)組成品紅色[6]。由此可以根據(jù)圖像中各個(gè)燈所在位置像素的R,、G,、B分量來(lái)判斷燈的顏色。具體實(shí)現(xiàn)方法如下:首先讀入像素地址并標(biāo)定起始像素坐標(biāo),,從上到下,、自左而右地逐個(gè)判別該像素的顏色。比較各像素的顏色分量:若R>G+B,此像素為紅色,,紅色像素?cái)?shù)量加1,總像素?cái)?shù)量加1,;若G>R+B,,此像素為綠色,綠色像素?cái)?shù)量加1,,總像素?cái)?shù)量加1,;若R、G分量大致相等且大于閾值T1,,則此燈為黃色,,黃色像素?cái)?shù)量加1,總像素?cái)?shù)量加1,;若以上情況都不是,,此像素未亮,總像素?cái)?shù)量加1,。然后計(jì)算各色像素與總像素的比值,,通過(guò)比較得出比值最大者。最后判斷最大的比值是否大于閾值T2,,若大于則此燈顏色為比值最大的量,,否則認(rèn)為此燈未亮。
具體實(shí)現(xiàn)流程如圖7所示,。
對(duì)于輸出,,可以選擇一種點(diǎn)陣LCD顯示器,根據(jù)辨別結(jié)果分別在相應(yīng)的位置輸出“紅”,、“綠”,、“黃”等字眼。另外可以連接上警鈴,,當(dāng)紅燈出現(xiàn)時(shí)發(fā)出聲音提醒車(chē)主注意,。
參考文獻(xiàn)
[1] 楊枝靈,王開(kāi).Visual C++數(shù)字圖象獲取處理及實(shí)踐應(yīng)用[M].北京:人民郵電出版社,,2003:175-190.
[2] 李志清,,施智平,李志新,,等.結(jié)構(gòu)相似度稀疏編碼及其圖像特征提取[J].模式識(shí)別與人工智能,,2010,23(1):12-19.
[3] 楊淑瑩,,李蘭友.圖像模式識(shí)別—VC++技術(shù)實(shí)現(xiàn)[M].北京:清華大學(xué)出版社,,2005:37-52.
[4] 周寧寧,趙正旭,翁素文.圖像的中介邊緣檢測(cè)方法[J]. 中國(guó)圖象圖形學(xué)報(bào),,2010,,15(3):36-42.
[5] 薛朝華.顏色科學(xué)與計(jì)算機(jī)測(cè)色配色實(shí)用技術(shù)[M].北京:化學(xué)工業(yè)出版社,2004:90-112.
[6] 綦科,,張大方,,謝冬青.基于顏色梯度特性的彩色圖像隱寫(xiě)分析[J].通信學(xué)報(bào),2011,,32(1):23-27.