羅 山,李平安
(攀枝花學院 交通與汽車工程學院,四川攀枝花617000)
先進的交通標志識別技術是實現(xiàn)輔助駕駛和無人駕駛的關鍵技術之一;可以輔助司機判斷周圍道路狀況,減輕負擔,顯著提高駕駛的安全性和舒適性。國內外學者對交通標志識別做了很多研究,李翔等[1]提出了基于Hu不變矩的識別方法,但Hu不變矩含有大量的冗余信息;魏艷艷提出一種基于幅值譜和神經(jīng)網(wǎng)絡的交通標志識別算法[2],較好解決了所獲取的標志圖像與實際交通標志圖像之間的幾何失真問題,提高了識別率;田秋紅[3]等提出了基于Zernike矩特征的識別方法,Zernike矩只能提取圖像的全局特征,無法描述圖像;楊斐提出了分塊圖象特征與BP神經(jīng)網(wǎng)絡相結合的識別方法,但只對33幅圖像進行處理[4],該方法魯棒性較差。
針對目前交通標志識別方法存在的不足,本文提出一種改進的交通標志識別算法。采用顏色概率與局部模板進行交通標志檢測,去除部分冗余信息,并且能夠識別各種形狀的交通標志;利用融合改進的MDA和MPCA進行特征值提取,能夠解決投影矩陣的求解問題;加入L2正則化和dropout結構改進BP神經(jīng)網(wǎng)絡。同時,選用德國交通標志庫作為訓練和識別對象,樣本容量大,更具有代表性;并對實際場景中的交通標志進行測試,驗證算法的有效性。
具體識別流程見圖1所示。
圖1 交通標志識別流程
為減少亮度的影響,在RGB顏色模型中,采用式(1)對顏色坐標進行歸一化處理[5]。
在交通標志己知的條件下,該像素點出現(xiàn)的概率 p(r,g|sign)服從二維高斯分布,即 p(r,g|sign)~N(μ1,μ2),根據(jù) Bayes規(guī)則,對于對于圖像上的任意一點(r(i,j),g(i,j)),可能的交通標志的后驗概率為:
式中,p(sign)—某點是交通標志的概率,p(r,g)—某點是(r,g)顏色的概率。
通過對顏色概率的建模,得到二值化圖像,但是需要將二值化圖像的所有區(qū)域進行分割,以此來判斷是否為交通標志區(qū)域。
在對檢測到的圖像進行邊緣檢測和形態(tài)學處理之后,還需要對邊緣選取的影像進行確認,在確認時,以目標圖像作為模板與原圖像的各個子區(qū)域圖像做比較,當目標和模板的相似性達到某一程度時,認為該子區(qū)域上的圖像與模板匹配,即該一子區(qū)域含有目標。
基于融合顏色概率模型和局部模板的交通標志檢測算法主要有三個步驟:
(1)通過顏色概率模型對可能是交通標志的像素進行提取,除掉不屬于交通標志類別的顏色特征;(2)采用局部模板對交通標志進一步確認;
(3)在原始尺度下進行三次連續(xù)的重采用以減少匹配過程耗時。其原理大致如下:先在分辨率最低的圖像中進行一次粗匹配,根據(jù)相似程度去除明顯不是交通標志的目標,同時,也就獲得了可能的交通標志目標,在這個基礎上,對該可能的交通標志目標再進行三次連續(xù)的匹配,便可以得到所需要的交通標志目標[5]。
融合改進的MPCA、MDA的特征提取原理是在原張量數(shù)據(jù)空間的n-mode中找到一組正交矢量,要求這組矢量能最大化的表示原張量在n-mode下的平均平方方差,然后將張量從原張量空間投影到新的張量空間得到新的張量,再在新形成的張量數(shù)據(jù)空間的n-mode中找到一組Qn個正交矢量,要求這組矢量能最大化的表示新的張量在n-mode下的類間平均平方方差,最小化的表示原張量在n-mode下的類內平均平方方差,則投影新張量就是構成原張量的目標特征張量,且完成了數(shù)據(jù)的冗余度去除[6]。特征提取算法主要有兩步:
(1)訓練圖像數(shù)據(jù),構建交通標志的特征張量子空間;
(2)將訓練圖像投影到特征張量子空間上形成特征張量。
針對BP神經(jīng)網(wǎng)絡在訓練過程中出現(xiàn)的“過擬合”現(xiàn)象,對神經(jīng)網(wǎng)絡進行L2正則化和添加dropout結構的方式進行優(yōu)化,L2正則化指的是權值向量w中各個元素的平方和然后再求平方根,神經(jīng)網(wǎng)絡在擬合過程中通常都傾向于讓權值盡可能小,最后構造一個所有參數(shù)都比較小的模型。而dropout結構讓一半的隱含層節(jié)點值為0,整個dropout過程就相當于對很多個不同的神經(jīng)網(wǎng)絡取平均。這種方式減少了特征檢測器(隱含層節(jié)點)間的相互作用,在前向傳播的時候,讓某個神經(jīng)元的激活值以一定的概率p停止工作,這樣可以使模型泛化性更強。
交通標志圖像歸一化為大小48×48,因此輸入層節(jié)點數(shù)為2304;單隱含層的節(jié)點數(shù)為100,雙隱含層的節(jié)點數(shù)分別為500和100,隱含層激活函數(shù)選擇Sigmoid函數(shù);輸出層節(jié)點數(shù)為43;初始權值為[-1,1]內的隨機數(shù),迭代次數(shù)為200,學習率1,L2正則化系數(shù)1e-4,dropout系數(shù)0.5;單次放入迭代圖片數(shù)100,訓練集標簽數(shù)43,測試集標簽數(shù)43。
本文選用德國GTSRB數(shù)據(jù)集[7],數(shù)據(jù)集包含的43類交通標志是在不同天氣條件、不同的光強度、不同的遮擋水平和不同的分辨率下采集所得,其中有39209個訓練樣本和12630個測試樣本,樣本圖像包含標記區(qū)域和10%的周圍區(qū)域。
各狀態(tài)下的期望輸出與實際輸出如圖2、3、4、5所示(其中,紅色表示期望輸出,藍色表示實際輸出):
圖2 直接訓練
圖3 增加dropout結構訓練
圖4 增加L2正則化訓練
圖5 增加L2和dropout訓練
神經(jīng)網(wǎng)絡改進前后交通標志識別結果如表1所示。
表1 交通標志識別結果對比
從表1可知,加入L2正則化或dropout的BP神經(jīng)網(wǎng)絡對交通標志訓練、分類和識別均有良好效果,識別率有較大提高;而同時加入L2正則化和dropout結構后的神經(jīng)網(wǎng)絡性能更好,識別率進一步提高,其實際輸出和預期輸出更為貼近,無過多“過擬合”標簽數(shù),實現(xiàn)了交通標志的分類識別。而且,改進的神經(jīng)網(wǎng)絡不受交通標志形狀影響,只要該類型的交通標志在GTSRB數(shù)據(jù)集中均能實現(xiàn)識別。
為了檢驗改進的BP神經(jīng)網(wǎng)絡能否在一定程度上滿足實際的需要,需要對網(wǎng)絡進行測試,在測試時,用兩種方式測試:
①選取交通標志庫中的4張圖片如圖6,將其大小設置為48×48進行網(wǎng)絡測試,測試結果見圖7。
圖6 用于網(wǎng)絡測試的圖片
圖7 測試結果
將測試結果與前述用于神經(jīng)網(wǎng)絡訓練的訓練集內相應類數(shù)對比,說明交通標志識別準確。
②將自然場景下獲取的4幅交通標志圖如圖8,進行預處理、分割定位并將其大小設置為48×48進行網(wǎng)絡測試,測試結果見圖9。
圖8 自然場景下的4幅交通標志圖
圖9 測試結果
前述用于神經(jīng)網(wǎng)絡訓練的訓練集內第7類為限速80 km/h標志、第33類為禁止駛入標志,從測試結果可知交通標志識別錯誤,其原因是該交通標志不屬于交通標志數(shù)據(jù)集。而另外兩類屬于交通標志數(shù)據(jù)集,識別正確。
為減少BP神經(jīng)網(wǎng)絡“過擬合”現(xiàn)象,在網(wǎng)絡中增加了L2正則化和dropout結構,通過在誤差函數(shù)上加約束和忽略一半的特征檢測器的方式使模型泛化性更強,訓練效果得到進一步提高,識別效果好。另外,改進后的神經(jīng)網(wǎng)絡不需要人工分析交通標志形狀、顏色,方法簡單,魯棒性好。