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