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

圖1 交通標志圖介紹

圖2 AlexNet網絡結構圖

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

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

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

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

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

表1 檢測實驗結果數據
實驗證明,較傳統Inception 網絡而言,引入1×1 卷積核之后模型收斂更快,相比R-CNN、Faster R-CNN、YOLO,本文算法在精確度上也有很好的表現,在時效性上本文算法也有很好的表現,基本能夠達到實時檢測的相關要求。

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