劉戀,譚臺哲
(廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院,廣州510006)
交通標(biāo)志的檢測與識別在近幾年已經(jīng)成為了計(jì)算機(jī)視覺領(lǐng)域和智能交通系統(tǒng)的研究重點(diǎn)。交通標(biāo)志通常帶有比較突出的信息,從顏色上講,主要分為黃色、紅色、藍(lán)色,從形狀上看,主要包括圓形,方形和三角形,從功能而言,交通標(biāo)志主要涵蓋了警告標(biāo)志、禁止標(biāo)志和提醒標(biāo)志。目前對于交通標(biāo)志的研究主要包括兩個(gè)階段:檢測與識別。首先從含有交通標(biāo)志的圖像中準(zhǔn)確的分割出交通標(biāo)志,進(jìn)而對潛在的交通標(biāo)志進(jìn)行識別并分類。目前,該研究領(lǐng)域涉及到的數(shù)據(jù)集主要包括德國GTSDB 數(shù)據(jù)集[1]、中國CTSD 數(shù)據(jù)集[2]、Tsinghua-Tencent 100K 數(shù)據(jù)集、3D 圖像數(shù)據(jù)集KITTI 等。
對于交通標(biāo)志檢測與識別的研究方法大體上可以分為傳統(tǒng)目標(biāo)檢測算法和目前比較熱門的深度學(xué)習(xí)方法。傳統(tǒng)的目標(biāo)檢測算法大多需要使用人工特征圖提取感興趣區(qū)域,再對感興趣區(qū)域進(jìn)行篩選,最后使用分類器進(jìn)行識別分類。同時(shí)傳統(tǒng)方法大多需要利用交通標(biāo)志的顏色、形狀等信息,由于交通標(biāo)志圖像的生成伴隨著復(fù)雜的交通環(huán)境以及天氣,因此對特征圖的要求比較高,同時(shí)在特征圖的設(shè)計(jì)上也就十分復(fù)雜,手動生成特征圖無法滿足研究需求。從特征而言,主要包括HSV 顏色空間[3]、梯度直方圖特征[4]等,特征提取手段上主要有SIFT 變換[5]、Hough 變換[6]等。Liang 等人[7]針對交通標(biāo)志的形狀特征設(shè)計(jì)了一套模板進(jìn)行匹配,Wang等人[8]利用梯度直方圖以及支持向量機(jī)分類器進(jìn)行研究。目前深度學(xué)習(xí)方法已經(jīng)在圖像識別和目標(biāo)檢測領(lǐng)域成為了主要研究手段,其中卷積神經(jīng)網(wǎng)絡(luò)可以從大量的樣本中學(xué)習(xí)到相當(dāng)豐富的特征同時(shí)不需要進(jìn)行圖像預(yù)處理,從而避免了手動設(shè)計(jì)特征圖的困難。目前使用最多的卷積神經(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é)合交通標(biāo)志邊界特征進(jìn)行研究。本文基于卷積神經(jīng)網(wǎng)絡(luò),提出多級識別分類的算法對潛在的目標(biāo)進(jìn)行分類識別。
在交通標(biāo)志檢測階段基于AlexNet[14]和RPN 網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行檢測,目的是從圖像中分割出含有交通標(biāo)志的區(qū)域。AlexNet 是一種經(jīng)典的CNN 網(wǎng)絡(luò)架構(gòu),AlexNet 網(wǎng)絡(luò)由有5 層卷積層,和3 層全聯(lián)接層構(gòu)成,最后一個(gè)全聯(lián)接層得到各類別概率,AlexNet 使用ReLU 作為激活層,代替tanh。為了獲得較為準(zhǔn)確的交通標(biāo)志分割圖像,本文采用了RPN(Region Proposal Network)候選區(qū)域生成網(wǎng)絡(luò)對交通標(biāo)志進(jìn)行分割。
圖1 交通標(biāo)志圖介紹
圖2 AlexNet網(wǎng)絡(luò)結(jié)構(gòu)圖
圖3 RPN網(wǎng)絡(luò)結(jié)構(gòu)圖
本實(shí)驗(yàn)在AlexNet 網(wǎng)絡(luò)中的每一個(gè)池化層之前都增加了Batch Normalization[15]層進(jìn)行歸一化操作,式(1)為歸一化公式。因?yàn)樯顚由窠?jīng)網(wǎng)絡(luò)在做非線性變換前的激活輸入值會隨著網(wǎng)絡(luò)深度加深,其分布逐漸發(fā)生偏移,導(dǎo)致訓(xùn)練收斂比較慢,而Batch Normalization 就是通過一定的規(guī)范化手段,使得每層神經(jīng)網(wǎng)絡(luò)中任意的神經(jīng)元的輸入值都滿足標(biāo)準(zhǔn)正態(tài)分布,也就是把越來越偏的分布強(qiáng)制拉回比較標(biāo)準(zhǔn)的分布,使得激活輸入值落在非線性函數(shù)對輸入比較敏感的區(qū)域,避免梯度消失問題產(chǎn)生,而且梯度變大意味著學(xué)習(xí)收斂速度快,能大大加快訓(xùn)練速度。
測試時(shí)均值和方差采取訓(xùn)練時(shí)的移動平均距離,具體如下:
(1)當(dāng)測試或預(yù)測時(shí),每次只會傳入單個(gè)數(shù)據(jù),此時(shí)模型會使用全局統(tǒng)計(jì)量代替批統(tǒng)計(jì)量。
(2)訓(xùn)練每個(gè)batch 時(shí),都會得到一組(均值,方差)。
(3)全局統(tǒng)計(jì)量就是對這些均值和方差求其對應(yīng)的數(shù)學(xué)期望,具體公式如下:
其中μi和σi分別表示第i 輪批處理保存的均值和標(biāo)準(zhǔn)差,m 為批處理大小,系數(shù)用于計(jì)算無偏方差估計(jì),此時(shí)BN(x)改變?yōu)椋?/p>
其中γ為訓(xùn)練參數(shù),β為迭代步長。
在識別階段,首先對RPN 網(wǎng)絡(luò)檢測到的可行性候選區(qū)域進(jìn)行尺寸調(diào)整,得到大小為64×64 的潛在目標(biāo)區(qū)域并且灰度化,從而降低在卷積操作中的復(fù)雜化。再將其作為輸入值傳遞到SVM 分類器[16]。SVM 分類器首先按照交通標(biāo)志固有的顏色、形狀進(jìn)行粗分類。其次,本實(shí)驗(yàn)設(shè)計(jì)了一個(gè)較為輕量級的卷積神經(jīng)網(wǎng)絡(luò)作為識別階段的精分類器,該分類器一共包含9 層,其中4 層卷積層,3 層池化層和2 層全連接層。為了學(xué)習(xí)到更為豐富的交通標(biāo)志特征,摒棄了傳統(tǒng)層疊網(wǎng)絡(luò),在卷積層中使用多卷積核進(jìn)行計(jì)算,同時(shí)為了避免引入多卷積核導(dǎo)致的模型參數(shù)過多,在Inception 網(wǎng)絡(luò)[17]中添加了大小為1×1 的卷積核。
圖4 Inception網(wǎng)絡(luò)結(jié)構(gòu)圖
為了驗(yàn)證本文算法的可行性,在研究了大量參考文獻(xiàn)及相關(guān)數(shù)據(jù)集后,本文進(jìn)行了大量的實(shí)驗(yàn)對比,主要與傳統(tǒng)計(jì)算機(jī)視覺算法和已有的深度學(xué)習(xí)算法進(jìn)行比較。本實(shí)驗(yàn)基于Linux 系統(tǒng),在Intel Core i7-7960,兩個(gè)2080TiGPU,內(nèi)存32G 的計(jì)算機(jī)上進(jìn)行。
在對比相關(guān)數(shù)據(jù)集后,本文選用Tsinghua-Tencent 100K 數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。Tsinghua-Tencent 100K是由清華大學(xué)和騰訊公司共同推出的中國交通標(biāo)志數(shù)據(jù)集,該數(shù)據(jù)集從10 萬個(gè)騰訊街景全景圖中創(chuàng)建了一個(gè)大型交通標(biāo)志基準(zhǔn),它提供包含30000 個(gè)交通標(biāo)志實(shí)例的100000 幅交通標(biāo)志圖像,圖像尺寸為2048×2048,其中包含交通標(biāo)志的圖像有9000 張,基本涵蓋了光照強(qiáng)度和各種天氣情況,同時(shí)也存在損壞、遮擋等問題圖像。在本文的實(shí)驗(yàn)中采用10 折交叉驗(yàn)證法,即將9000 張交通標(biāo)志圖像均分為10 份,共進(jìn)行10 次實(shí)驗(yàn),每次選取1 份作為測試集,剩下的作為訓(xùn)練集。
本文對比了SIFT 變換加SVM 分類方法,HSV 顏色變換加SVM 算法以及R-CNN、Faster R-CNN 以及YOLO1 等深度學(xué)習(xí)算法,實(shí)驗(yàn)結(jié)果數(shù)據(jù)在下表1 中呈現(xiàn)。通過實(shí)驗(yàn)結(jié)果分析得出,在精確度和召回率上本文算法較傳統(tǒng)方法和深度學(xué)習(xí)方法都有極大的提高。同時(shí)傳統(tǒng)算法暴露出無法有效的解決遮擋、損壞等問題,而且存在大量漏檢。
表1 檢測實(shí)驗(yàn)結(jié)果數(shù)據(jù)
實(shí)驗(yàn)證明,較傳統(tǒng)Inception 網(wǎng)絡(luò)而言,引入1×1 卷積核之后模型收斂更快,相比R-CNN、Faster R-CNN、YOLO,本文算法在精確度上也有很好的表現(xiàn),在時(shí)效性上本文算法也有很好的表現(xiàn),基本能夠達(dá)到實(shí)時(shí)檢測的相關(guān)要求。
表2 識別實(shí)驗(yàn)結(jié)果數(shù)據(jù)
本實(shí)驗(yàn)結(jié)合目前計(jì)算機(jī)視覺領(lǐng)域的重點(diǎn)研究方向,對交通標(biāo)志的檢測與識別進(jìn)行深入研究,提出了一種新的解決方法。該算法基于卷積神經(jīng)網(wǎng)絡(luò)算法,在設(shè)計(jì)CNN 網(wǎng)絡(luò)結(jié)構(gòu)上使用Batch Normalization 來處理,對每一層的輸入值進(jìn)行歸一化操作,使得模型在后續(xù)的計(jì)算中能夠快速收斂并且在很大程度上避免梯度消失和模型過擬合化。在設(shè)計(jì)卷積核上,為了使模型學(xué)習(xí)到更為豐富的特征,使用多個(gè)卷積核進(jìn)行卷積操作,以獲得不同尺度的特征,同時(shí)使用1×1 的卷積核操作避免引入多卷積核計(jì)算時(shí)帶來的參數(shù)過多的問題。最后通過大量實(shí)驗(yàn)對比,證明本文所提出的方法在時(shí)效性和識別準(zhǔn)確率上都有很好的表現(xiàn)。對于未來的工作,仍需要對相關(guān)領(lǐng)域進(jìn)行深入研究進(jìn)一步提高時(shí)效性和準(zhǔn)確率,同時(shí)也需要對小目標(biāo)檢測進(jìn)行深入研究。