劉戀,譚臺哲
(廣東工業(yè)大學計算機學院,廣州510006)
交通標志的檢測與識別在近幾年已經(jīng)成為了計算機視覺領(lǐng)域和智能交通系統(tǒng)的研究重點。交通標志通常帶有比較突出的信息,從顏色上講,主要分為黃色、紅色、藍色,從形狀上看,主要包括圓形,方形和三角形,從功能而言,交通標志主要涵蓋了警告標志、禁止標志和提醒標志。目前對于交通標志的研究主要包括兩個階段:檢測與識別。首先從含有交通標志的圖像中準確的分割出交通標志,進而對潛在的交通標志進行識別并分類。目前,該研究領(lǐng)域涉及到的數(shù)據(jù)集主要包括德國GTSDB 數(shù)據(jù)集[1]、中國CTSD 數(shù)據(jù)集[2]、Tsinghua-Tencent 100K 數(shù)據(jù)集、3D 圖像數(shù)據(jù)集KITTI 等。
對于交通標志檢測與識別的研究方法大體上可以分為傳統(tǒng)目標檢測算法和目前比較熱門的深度學習方法。傳統(tǒng)的目標檢測算法大多需要使用人工特征圖提取感興趣區(qū)域,再對感興趣區(qū)域進行篩選,最后使用分類器進行識別分類。同時傳統(tǒng)方法大多需要利用交通標志的顏色、形狀等信息,由于交通標志圖像的生成伴隨著復雜的交通環(huán)境以及天氣,因此對特征圖的要求比較高,同時在特征圖的設(shè)計上也就十分復雜,手動生成特征圖無法滿足研究需求。從特征而言,主要包括HSV 顏色空間[3]、梯度直方圖特征[4]等,特征提取手段上主要有SIFT 變換[5]、Hough 變換[6]等。Liang 等人[7]針對交通標志的形狀特征設(shè)計了一套模板進行匹配,Wang等人[8]利用梯度直方圖以及支持向量機分類器進行研究。目前深度學習方法已經(jīng)在圖像識別和目標檢測領(lǐng)域成為了主要研究手段,其中卷積神經(jīng)網(wǎng)絡(luò)可以從大量的樣本中學習到相當豐富的特征同時不需要進行圖像預處理,從而避免了手動設(shè)計特征圖的困難。目前使用最多的卷積神經(jīng)網(wǎng)絡(luò)主要包括R-CNN[9]、Faster R-CNN[10]、YOLO[11]等。Hamed 等人[12]基于GTSDB 數(shù)據(jù)集提出了結(jié)合滑動窗口的卷積神經(jīng)網(wǎng)絡(luò)的方法,Staudenmaier 等人[13]基于神經(jīng)網(wǎng)絡(luò),利用貝葉斯分類器結(jié)合交通標志邊界特征進行研究。本文基于卷積神經(jīng)網(wǎng)絡(luò),提出多級識別分類的算法對潛在的目標進行分類識別。
在交通標志檢測階段基于AlexNet[14]和RPN 網(wǎng)絡(luò)結(jié)構(gòu)進行檢測,目的是從圖像中分割出含有交通標志的區(qū)域。AlexNet 是一種經(jīng)典的CNN 網(wǎng)絡(luò)架構(gòu),AlexNet 網(wǎng)絡(luò)由有5 層卷積層,和3 層全聯(lián)接層構(gòu)成,最后一個全聯(lián)接層得到各類別概率,AlexNet 使用ReLU 作為激活層,代替tanh。為了獲得較為準確的交通標志分割圖像,本文采用了RPN(Region Proposal Network)候選區(qū)域生成網(wǎng)絡(luò)對交通標志進行分割。

圖1 交通標志圖介紹

圖2 AlexNet網(wǎng)絡(luò)結(jié)構(gòu)圖

圖3 RPN網(wǎng)絡(luò)結(jié)構(gòu)圖
本實驗在AlexNet 網(wǎng)絡(luò)中的每一個池化層之前都增加了Batch Normalization[15]層進行歸一化操作,式(1)為歸一化公式。因為深層神經(jīng)網(wǎng)絡(luò)在做非線性變換前的激活輸入值會隨著網(wǎng)絡(luò)深度加深,其分布逐漸發(fā)生偏移,導致訓練收斂比較慢,而Batch Normalization 就是通過一定的規(guī)范化手段,使得每層神經(jīng)網(wǎng)絡(luò)中任意的神經(jīng)元的輸入值都滿足標準正態(tài)分布,也就是把越來越偏的分布強制拉回比較標準的分布,使得激活輸入值落在非線性函數(shù)對輸入比較敏感的區(qū)域,避免梯度消失問題產(chǎn)生,而且梯度變大意味著學習收斂速度快,能大大加快訓練速度。

測試時均值和方差采取訓練時的移動平均距離,具體如下:
(1)當測試或預測時,每次只會傳入單個數(shù)據(jù),此時模型會使用全局統(tǒng)計量代替批統(tǒng)計量。
(2)訓練每個batch 時,都會得到一組(均值,方差)。
(3)全局統(tǒng)計量就是對這些均值和方差求其對應(yīng)的數(shù)學期望,具體公式如下:

其中μi和σi分別表示第i 輪批處理保存的均值和標準差,m 為批處理大小,系數(shù)用于計算無偏方差估計,此時BN(x)改變?yōu)椋?/p>

其中γ為訓練參數(shù),β為迭代步長。
在識別階段,首先對RPN 網(wǎng)絡(luò)檢測到的可行性候選區(qū)域進行尺寸調(diào)整,得到大小為64×64 的潛在目標區(qū)域并且灰度化,從而降低在卷積操作中的復雜化。再將其作為輸入值傳遞到SVM 分類器[16]。SVM 分類器首先按照交通標志固有的顏色、形狀進行粗分類。其次,本實驗設(shè)計了一個較為輕量級的卷積神經(jīng)網(wǎng)絡(luò)作為識別階段的精分類器,該分類器一共包含9 層,其中4 層卷積層,3 層池化層和2 層全連接層。為了學習到更為豐富的交通標志特征,摒棄了傳統(tǒng)層疊網(wǎng)絡(luò),在卷積層中使用多卷積核進行計算,同時為了避免引入多卷積核導致的模型參數(shù)過多,在Inception 網(wǎng)絡(luò)[17]中添加了大小為1×1 的卷積核。

圖4 Inception網(wǎng)絡(luò)結(jié)構(gòu)圖
為了驗證本文算法的可行性,在研究了大量參考文獻及相關(guān)數(shù)據(jù)集后,本文進行了大量的實驗對比,主要與傳統(tǒng)計算機視覺算法和已有的深度學習算法進行比較。本實驗基于Linux 系統(tǒng),在Intel Core i7-7960,兩個2080TiGPU,內(nèi)存32G 的計算機上進行。
在對比相關(guān)數(shù)據(jù)集后,本文選用Tsinghua-Tencent 100K 數(shù)據(jù)集進行實驗。Tsinghua-Tencent 100K是由清華大學和騰訊公司共同推出的中國交通標志數(shù)據(jù)集,該數(shù)據(jù)集從10 萬個騰訊街景全景圖中創(chuàng)建了一個大型交通標志基準,它提供包含30000 個交通標志實例的100000 幅交通標志圖像,圖像尺寸為2048×2048,其中包含交通標志的圖像有9000 張,基本涵蓋了光照強度和各種天氣情況,同時也存在損壞、遮擋等問題圖像。在本文的實驗中采用10 折交叉驗證法,即將9000 張交通標志圖像均分為10 份,共進行10 次實驗,每次選取1 份作為測試集,剩下的作為訓練集。
本文對比了SIFT 變換加SVM 分類方法,HSV 顏色變換加SVM 算法以及R-CNN、Faster R-CNN 以及YOLO1 等深度學習算法,實驗結(jié)果數(shù)據(jù)在下表1 中呈現(xiàn)。通過實驗結(jié)果分析得出,在精確度和召回率上本文算法較傳統(tǒng)方法和深度學習方法都有極大的提高。同時傳統(tǒng)算法暴露出無法有效的解決遮擋、損壞等問題,而且存在大量漏檢。

表1 檢測實驗結(jié)果數(shù)據(jù)
實驗證明,較傳統(tǒng)Inception 網(wǎng)絡(luò)而言,引入1×1 卷積核之后模型收斂更快,相比R-CNN、Faster R-CNN、YOLO,本文算法在精確度上也有很好的表現(xiàn),在時效性上本文算法也有很好的表現(xiàn),基本能夠達到實時檢測的相關(guān)要求。

表2 識別實驗結(jié)果數(shù)據(jù)
本實驗結(jié)合目前計算機視覺領(lǐng)域的重點研究方向,對交通標志的檢測與識別進行深入研究,提出了一種新的解決方法。該算法基于卷積神經(jīng)網(wǎng)絡(luò)算法,在設(shè)計CNN 網(wǎng)絡(luò)結(jié)構(gòu)上使用Batch Normalization 來處理,對每一層的輸入值進行歸一化操作,使得模型在后續(xù)的計算中能夠快速收斂并且在很大程度上避免梯度消失和模型過擬合化。在設(shè)計卷積核上,為了使模型學習到更為豐富的特征,使用多個卷積核進行卷積操作,以獲得不同尺度的特征,同時使用1×1 的卷積核操作避免引入多卷積核計算時帶來的參數(shù)過多的問題。最后通過大量實驗對比,證明本文所提出的方法在時效性和識別準確率上都有很好的表現(xiàn)。對于未來的工作,仍需要對相關(guān)領(lǐng)域進行深入研究進一步提高時效性和準確率,同時也需要對小目標檢測進行深入研究。