陳 蓉,羅 山
(攀枝花學(xué)院智能制造學(xué)院,四川 攀枝花 617000)
交通信號(hào)燈識(shí)別系統(tǒng)最關(guān)鍵的環(huán)節(jié)是定位和識(shí)別。文獻(xiàn)[1]利用簡(jiǎn)單的圖像處理方法來(lái)提取駕駛場(chǎng)景中的交通燈候選區(qū)域,然后提出了 DA-Faster R-CNN算法對(duì)候選區(qū)域中的交通燈進(jìn)一步檢測(cè)識(shí)別。文獻(xiàn)[2]在各種顏色空間中利用信號(hào)燈的顏色先進(jìn)行分割得到感興趣區(qū)域,然后再通過(guò)信號(hào)燈所特有的形狀特征等進(jìn)行進(jìn)一步的判定。文獻(xiàn)[3]利用MATLAB先將霧化不清的圖像采用暗通道先驗(yàn)去霧改進(jìn)算法進(jìn)行預(yù)處理,將處理后的圖像轉(zhuǎn)化成HSV圖像,利用HSV圖像特性進(jìn)行顏色識(shí)別,并利用MATLAB平臺(tái)進(jìn)行驗(yàn)證。這些算法較復(fù)雜,運(yùn)算量大。
依據(jù)交通燈圖像的特征,本文通過(guò)Sobel邊緣檢測(cè)算法提取圖像邊緣;然后采用數(shù)學(xué)形態(tài)學(xué)的膨脹腐蝕操作進(jìn)行處理,填充小孔、移除小目標(biāo),進(jìn)行區(qū)域填充,從而完成交通燈的定位;最后利用HSV色彩空間的顏色特性,進(jìn)行交通燈定位區(qū)域的色彩增強(qiáng)和識(shí)別。
Sobel邊緣檢測(cè)算子是像素圖像邊緣檢測(cè)中最重要的算子之一,此運(yùn)算符包含兩組3×3矩陣,它們是橫向和縱向的?;驹硎菍⑵渑c圖像進(jìn)行卷積,得到橫向和縱向亮度差的近似值,即可分別得出橫向及縱向的亮度差分近似值。Sobel邊緣檢測(cè)算法[4]相對(duì)簡(jiǎn)單,實(shí)際應(yīng)用效率高于Canny邊緣檢測(cè)效率,雖然邊緣檢測(cè)不如Canny準(zhǔn)確,但在很多實(shí)際應(yīng)用中,Sobel邊緣是首選,特別是對(duì)于高效率的要求,而精細(xì)的紋理不是很在意。
該算子使用兩個(gè)3×3的矩陣算子分別和原始圖片進(jìn)行卷積,分別得到橫向Gx和縱向Gy的梯度值,如果梯度值大于某一個(gè)閾值,則認(rèn)為該點(diǎn)為邊緣點(diǎn)。如果以A代表原始圖像,Gx及Gy分別代表橫向及縱向梯度值,如式1所示:
(1)
圖像的每一個(gè)像素點(diǎn)的梯度值大小為:
(2)
定義一個(gè)閾值Gmax(這里定義Gmax=150),如果G比Gmax大則可以認(rèn)為該點(diǎn)是一個(gè)邊緣點(diǎn),則設(shè)置這個(gè)點(diǎn)為白色,否則該點(diǎn)為黑色。這樣就得到了邊緣檢測(cè)的圖像,結(jié)果如圖1所示,圖1(a)為原圖像,圖1(b)為邊緣圖像。
圖1 邊緣檢測(cè)結(jié)果
由于采集的圖像往往含有較多的干擾信息,如行人、車輛以及其他路標(biāo)等,在光線暗的時(shí)候也會(huì)存在許多噪點(diǎn),為了排除車輛的車燈、建筑透出的燈等細(xì)雜質(zhì)以及噪聲物體的干擾,對(duì)交通燈圖像進(jìn)行數(shù)學(xué)形態(tài)學(xué)處理以消除噪聲?;镜男螒B(tài)學(xué)處理的公式如下[5],其中A為原圖像,B為結(jié)構(gòu)元素。
1) 腐蝕運(yùn)算AΘB=∩{A-b|b∈B}
2) 膨脹運(yùn)算A⊕B=∪{A+b|b∈B}
3) 開(kāi)運(yùn)算AοB=(AΘB)⊕B
4) 閉運(yùn)算A·B=(A⊕B)ΘB
首先將圖像先進(jìn)行腐蝕后再膨脹處理。腐蝕操作可以消除物體的邊緣點(diǎn),其他細(xì)小干擾會(huì)被認(rèn)為是邊緣點(diǎn),會(huì)整個(gè)被刪除;然后再進(jìn)行膨脹操作,處理后留下的較為大的物體會(huì)恢復(fù)到原來(lái)大小,小物體則被清除了。
然后采用形態(tài)學(xué)進(jìn)行區(qū)域分析,對(duì)腐蝕膨脹處理后的圖像進(jìn)行區(qū)域填充,填補(bǔ)小孔洞,移除小目標(biāo),從而獲得表示信號(hào)燈框位置的連通區(qū)域,如圖2所示。最后用矩形框標(biāo)注出定位的交通信號(hào)燈。
圖2 信號(hào)燈框位置的連通區(qū)域
根據(jù)交通燈的結(jié)構(gòu)可知,交通燈矩形框中的三個(gè)顏色,由上而下分別是紅燈、黃燈、綠燈,因此每個(gè)定位所得到的黑色矩形框中只會(huì)有一種色彩信息,干擾少,易識(shí)別。利用HSV顏色空間的特性,將圖像從RGB空間轉(zhuǎn)換到HSV空間處理,以識(shí)別信號(hào)燈顏色狀態(tài)。RGB空間轉(zhuǎn)換到HSV空間的步驟[6]為:
1) RGB圖像歸一化:
(3)
2) RGB轉(zhuǎn)換為HSV:
(4)
3) 色調(diào)計(jì)算:
(5)
4) 飽和度計(jì)算:
(6)
5) 明度計(jì)算:
V=Cmax
(7)
RGB轉(zhuǎn)換為HSV顏色表如表1所示。
表1 RGB轉(zhuǎn)換為HSV
根據(jù)表1的顏色值的對(duì)應(yīng)關(guān)系,將定位后燈框區(qū)域轉(zhuǎn)換成HSV顏色空間并只保留紅色(或者綠色)的通道,再對(duì)信號(hào)燈的顏色狀態(tài)進(jìn)行判斷,并標(biāo)記在原圖上,得到識(shí)別結(jié)果。圖3是識(shí)別綠色信號(hào)燈的結(jié)果。
圖3 顏色識(shí)別
為了檢驗(yàn)算法的有效性與實(shí)用性,采集了不同場(chǎng)景、不同地區(qū)各時(shí)段的交通燈圖像進(jìn)行實(shí)驗(yàn),采用Matlab軟件進(jìn)行仿真,部分實(shí)驗(yàn)結(jié)果如圖4所示,用矩形框及“紅色”、“綠色”的英文單詞表示識(shí)別出的顏色狀態(tài)。在實(shí)驗(yàn)過(guò)程中,發(fā)現(xiàn)在天氣暗的時(shí)候二值圖像存在許多雜點(diǎn),呈現(xiàn)出無(wú)規(guī)則的形狀,且相鄰圖像塊之間界限不明顯。對(duì)于上述存在的問(wèn)題,本文利用腐蝕、膨脹、開(kāi)閉運(yùn)算等形態(tài)學(xué)處理,并利用該方法通過(guò)大量實(shí)驗(yàn)以選擇合適的結(jié)構(gòu)元素及大小對(duì)圖像進(jìn)行優(yōu)化處理。
圖4 交通信號(hào)燈識(shí)別結(jié)果
從圖4可以看出,該方法對(duì)白天、夜晚、陰天、不同光照等情況下的信號(hào)燈識(shí)別效果良好,均能準(zhǔn)確判別出顏色狀態(tài)。采用不同的數(shù)據(jù)集進(jìn)行測(cè)試可以很好地驗(yàn)證算法的準(zhǔn)確性,獲得高的識(shí)別率,同時(shí)運(yùn)算量小。
為減小識(shí)別算法的運(yùn)算量,提出一種結(jié)合數(shù)學(xué)形態(tài)學(xué)與HSV顏色空間的交通信號(hào)燈識(shí)別方法。該方法首先將圖像轉(zhuǎn)換成灰度圖像,減少顏色通道便于后續(xù)算法的計(jì)算,然后對(duì)轉(zhuǎn)換后的圖像進(jìn)行邊緣檢測(cè),對(duì)邊緣圖像進(jìn)行形態(tài)學(xué)處理,以消除小目標(biāo)并填補(bǔ)孔洞,隨后再進(jìn)行膨脹腐蝕操作以獲得連通區(qū)域。對(duì)定位后的圖像去掉不閉合的面,得到交通信號(hào)燈框的面,選中對(duì)應(yīng)區(qū)域轉(zhuǎn)換到HSV空間,直接去掉多余背景,確定出符合紅色和綠色條件的區(qū)域,計(jì)算紅色和綠色的區(qū)域面積,最后得到交通信號(hào)燈的顏色狀態(tài)。該方法具有算法簡(jiǎn)單、運(yùn)算量小、識(shí)別準(zhǔn)確率高的特點(diǎn)。但對(duì)于非常復(fù)雜的場(chǎng)景,會(huì)出現(xiàn)識(shí)別矩形框大,識(shí)別不準(zhǔn)確的現(xiàn)象,還需要進(jìn)一步研發(fā)出更優(yōu)的算法,以獲得更精確的識(shí)別結(jié)果。