田 晟,宋 霖
(華南理工大學(xué) 土木與交通學(xué)院,廣東 廣州 510641)
近年來,自動駕駛領(lǐng)域的研究迅速發(fā)展,交通標(biāo)志識別作為智能交通系統(tǒng)的重要研究方向之一,其準(zhǔn)確性對于自動駕駛的安全性至關(guān)重要,對交通標(biāo)志進(jìn)行特征提取并通過分類器識別可以進(jìn)一步提高行車安全。交通標(biāo)志早期的主要識別方法有模板匹配法——Alam等[1]通過傳統(tǒng)的模板匹配法簡單快速實現(xiàn)交通標(biāo)志識別,通過模板在圖像像素點上進(jìn)行搜索匹配?;跈C(jī)器學(xué)習(xí)的方法在圖像識別領(lǐng)域也取得了較大進(jìn)展,主要采用人工進(jìn)行特征提取和機(jī)器學(xué)習(xí)相結(jié)合的方法。交通標(biāo)志特征主要有SIFT(scale-invariant feature transform)、HOG(histogram of oriented gradient)、LBP(local binary patterns)等[2],人工實現(xiàn)特征提取用于去除無用信息,并將這些特征輸入分類器進(jìn)行識別,如支持向量機(jī)、K近鄰(KNearest Neighbor)、隨機(jī)森林、Adaboost(adaptive boosting)等[3-8]基于機(jī)器學(xué)習(xí)的算法。韓習(xí)習(xí)等[9]提出一種多特征融合并利用支持向量機(jī)分類的方法,Da Silva等[10]的隨機(jī)森林法,Xu等[11]的Adaboost方法均取得了較好的識別效果,但都需一定的經(jīng)驗知識。
深度學(xué)習(xí)無需較多人工處理,網(wǎng)絡(luò)提取的深度特征可以更全面適應(yīng)于交通標(biāo)志,識別準(zhǔn)確率高,近些年在目標(biāo)分割、目標(biāo)檢測、目標(biāo)分類[12-15]等領(lǐng)域發(fā)展較為迅速。Li等[16]利用一種多層特征融合的方法,將全局特征和局部特征進(jìn)行融合,以此改進(jìn)Lenet網(wǎng)絡(luò),準(zhǔn)確率相比未改進(jìn)Lenet提高了3.03%;Stallkamp等[17]在德國交通標(biāo)志數(shù)據(jù)庫GTSRB(German traffic sign benchmarks)中提出的卷積神經(jīng)網(wǎng)絡(luò)(CNN)較人眼識別率提高了0.24%;Zhang等[18]從預(yù)測精度和時間出發(fā),提出輕量級深度學(xué)習(xí)模型教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò),且可應(yīng)用于移動嵌入式設(shè)備;Zhou等[19]在GTSRB數(shù)據(jù)集上,在卷積層后增加池化和Dropout機(jī)制以改善單個VGG模型;He等[20]提出ResNet模型以用于解決模型訓(xùn)練過程中隨著網(wǎng)絡(luò)層數(shù)加深導(dǎo)致的預(yù)測效果退化現(xiàn)象;鄧文軒等[21]引入注意力機(jī)制提出圖像分類降維方法;Gámez Serna等[22]匯總了歐洲多國的交通標(biāo)志數(shù)據(jù)集,在此數(shù)據(jù)集的基礎(chǔ)上比較LeNet5、IDSIA、URV等5種卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)的分類性能;Xu等[23]用直方圖均衡化方法增強(qiáng)圖像細(xì)節(jié),并利用卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)交通標(biāo)志識別;Sapijaszko等[24]利用DWT和DCT 2種變換實現(xiàn)特征提取,利用多層感知機(jī)在TSRD(traffic sign recogntion database)數(shù)據(jù)集上的最優(yōu)準(zhǔn)確率達(dá)到94.90%。公開模型通過大量實驗得到,對數(shù)據(jù)進(jìn)行特征提取進(jìn)而完成相應(yīng)的任務(wù),目前單個模型的預(yù)測已較為成熟,對模型集成的方法還有待進(jìn)一步深入。
集成學(xué)習(xí)可以實現(xiàn)分類器結(jié)合,從而提升分類效果,主要存在串行和并行集成2類,串行的代表算法是Boosting系列算法,并行的主要代表是Bagging和隨機(jī)森林(random forest),都具有較好的數(shù)據(jù)適應(yīng)性。鄺先驗等[25]基于Adaboost算法實現(xiàn)混合交通道路上車輛的識別;Tong等[26]采取的CNN-SVM方法速度快,準(zhǔn)確率較高;張功國等[27]利用SVM分類器代替Softmax,將改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)與SVM分類器集成,實現(xiàn)單幅交通標(biāo)志測試時間僅1.32 ms;屈治華等[28]利用CapsNet作為基分類器構(gòu)建Bagging集成框架,以提升算法的整體預(yù)測精度;Palak等[29]對目前存在的主要方法進(jìn)行總結(jié),并指出還存在更多模型方法可進(jìn)行實驗嘗試,在部分小批量數(shù)據(jù)集上遷移學(xué)習(xí)效果并不比其他模型的效果更好。為進(jìn)一步改善類別預(yù)測精度,本文將改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于交通標(biāo)志特征提取,利用Bagging集成分類器實現(xiàn)交通標(biāo)志分類,得到一個用于道路交通標(biāo)志識別較新的參考方案。
卷積神經(jīng)網(wǎng)絡(luò)是通過模擬生物神經(jīng)系統(tǒng)進(jìn)行特殊設(shè)計的一種網(wǎng)絡(luò)模型,主要包含輸入層、卷積層、池化層、全連接層以及輸出層,在圖像特征提取過程中不需要人工思考具體特征,可直接用于二維圖像處理,可作用于原始輸入數(shù)據(jù),例如圖像的像素值。卷積神經(jīng)網(wǎng)絡(luò)與其他神經(jīng)網(wǎng)絡(luò)最大的區(qū)別是在整個網(wǎng)絡(luò)結(jié)構(gòu)中引入卷積層,可以作為中間隱層的特征輸入,在圖像分類問題中,一般輸入主要是圖像尺寸和通道數(shù)的乘積,輸出層神經(jīng)元的節(jié)點個數(shù)是根據(jù)具體任務(wù)設(shè)計的,輸出層可以是單個或多個分類器的集成。
在機(jī)器學(xué)習(xí)領(lǐng)域,大部分任務(wù)都存在一定的相關(guān)性,因此通過某種方式將已有模型的參數(shù)載入新模型,優(yōu)化模型學(xué)習(xí)效率,實現(xiàn)相應(yīng)項目需求存在一定的參考價值。在交通標(biāo)志識別任務(wù)中,考慮加載大型數(shù)據(jù)集ImageNet上訓(xùn)練好的特征參數(shù),將已有參數(shù)作為初始訓(xùn)練權(quán)重,并將圖像數(shù)據(jù)歸一化至[0,1],消除部分樣本數(shù)據(jù)的影響,進(jìn)而訓(xùn)練整個模型,實現(xiàn)交通標(biāo)志識別領(lǐng)域的遷移學(xué)習(xí)。本文采用VGG16和ResNet50進(jìn)行遷移學(xué)習(xí)對比。
為準(zhǔn)確估計交通標(biāo)志類別,通過將淺層網(wǎng)絡(luò)處采用2層卷積層,利用最大池化進(jìn)行下采樣,添加Dropout隨機(jī)失活某些神經(jīng)元節(jié)點,以改進(jìn)最早提出的卷積神經(jīng)網(wǎng)絡(luò)Lenet模型。為尋求應(yīng)用于中小型數(shù)據(jù)集較好的網(wǎng)絡(luò)模型。改進(jìn)的網(wǎng)絡(luò)模型設(shè)計共包含4層卷積層、2層最大池化層、1層flatten展平層、2層全連接層、1層Softmax分類層,采用交叉熵?fù)p失函數(shù)和Adam優(yōu)化器用于模型訓(xùn)練。為實現(xiàn)不同分類器的分類效果對比測試,可提取全連接層的特征用于其他分類器測試,提出的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 卷積神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)
集成學(xué)習(xí)通過某種策略結(jié)合多個個體學(xué)習(xí)器提高整體的泛化性能以完成學(xué)習(xí)任務(wù)。在機(jī)器學(xué)習(xí)分類任務(wù)中,常用的集成學(xué)習(xí)方法主要有串行和并行2種方式,目前較流行的集成方法有Boosting、Bagging、Stacking等。串行的Boosting提升算法主要有通過更改每一次迭代過程中實例的權(quán)重實現(xiàn)更好地擬合,和使用新的分類器去擬合之前分類器預(yù)測殘差的方法2類;由于在測試過程中多數(shù)模型過擬合,為降低數(shù)據(jù)噪聲的影響,本文采用裝袋法(Bagging),即在CNN網(wǎng)絡(luò)提取的特征條件下,采用軟投票機(jī)制,將分類器估算的類別概率在所有單個分類器上求平均得出概率最高的類別,以聚合不同的分類器進(jìn)行類別預(yù)測。
集成學(xué)習(xí)的預(yù)測結(jié)果一般優(yōu)于單個預(yù)測器,常用的集成方式是訓(xùn)練一組單個決策樹分類器并通過投票機(jī)制得到最終預(yù)測結(jié)果。集成的個體分類器可以是同種類型的,也可以集成不同類型的學(xué)習(xí)器。為進(jìn)一步探索有效方案,設(shè)計一種異質(zhì)集成方法,訓(xùn)練集樣本采取交通標(biāo)志的圖像數(shù)據(jù),每輪利用有放回抽樣方式從樣本中選取數(shù)據(jù),分別對單個分類器進(jìn)行訓(xùn)練,且采用并行集成方式實現(xiàn)最終類別概率預(yù)測。并行集成結(jié)構(gòu)如圖2所示。
圖2 Bagging集成基本結(jié)構(gòu)
Bagging集成用于不同種類的分類器上,利用有樣本放回的采樣方式對樣本特征數(shù)據(jù)實現(xiàn)多次采樣,通過模型聚合以降低單個分類器較高的方差,獲得比單個分類器更好的類別預(yù)測性能。
Logistic回歸模型在二分類及多分類問題上目前已經(jīng)得到十分廣泛的應(yīng)用,具有計算速度快、實現(xiàn)簡單、穩(wěn)健性良好的特點,對數(shù)據(jù)條件要求較低,但較容易欠擬合。該模型主要是利用最大似然估計法對模型參數(shù)進(jìn)行估計,通過修改Logistic損失函數(shù)以得到Logistic回歸的多分類版本,回歸模型可以表示為
(1)
式中:Z=β0+β1X1+ …+βnXn;β0表示常數(shù)項,β1,β2, …,βn表示回歸系數(shù),X1,X2, …,Xn表示特征變量。
K近鄰算法根據(jù)距離待預(yù)測樣本最近的K個鄰居樣本的類別,獲取待預(yù)測樣本類別的最大概率值。首先通過歐式距離公式計算出K個鄰居樣本與待預(yù)測樣本A的距離,計算公式可以表示為
(2)
式中:p是樣本特征向量的維度;x和y是2個不同的特征向量。然后取距離樣本最近K個點記為B,最終計算B中樣本的類別預(yù)測數(shù)量,取預(yù)測類別概率最大的作為樣本A的類別預(yù)測結(jié)果。該分類算法的理論較為成熟,具有對異常值不敏感的優(yōu)點,但其計算復(fù)雜性高,空間復(fù)雜度較高。
1995年,Vapnik最早提出支持向量機(jī)(SVM),通過劃分超平面以區(qū)分樣本類別,具有良好的泛化能力。在提出的方法中,CNN全連接層的Softmax激活函數(shù)改用SVM作為最終分類器之一。非線性SVM將CNN層輸出的特征數(shù)據(jù)作為輸入,構(gòu)建最大軟間隔分離超平面,在高維特征空間里完成最終的交通標(biāo)志分類,優(yōu)化目標(biāo)的數(shù)學(xué)模型為:
(3)
式中:C為引入的懲罰參數(shù),ξi為松弛變量,xi為第i個樣本點的坐標(biāo),yi為第i個樣本點的類別,w和b為待求解的參數(shù),N為樣本點的總數(shù)。K(xi,xj)=Φ(xi)×Φ(xj)為核函數(shù),以替換線性支持向量機(jī)對偶問題形式中的內(nèi)積,將線性支持向量機(jī)擴(kuò)展到非線性支持向量機(jī),得到對偶問題是
(4)
式中:α為拉格朗日乘子。首先通過偏導(dǎo)求解對偶問題得到最優(yōu)參數(shù)α*,然后求原始問題最優(yōu)解w*和b*,并通過使用高斯徑向基核函數(shù)K(xi,xj)=exp(-‖xi-xj‖2/2σ2)替代內(nèi)積,以分類決策函數(shù)判別樣本x的類別,構(gòu)建的分類決策函數(shù)為
(5)
本文提出一種基于CNN網(wǎng)絡(luò)和Bagging模型融合的交通標(biāo)志識別算法。該算法面向?qū)嶋H工程應(yīng)用,通過盡量減少神經(jīng)網(wǎng)絡(luò)中卷積層的數(shù)量提高運行速度,利用CNN網(wǎng)絡(luò)提取特征,構(gòu)建基于Bagging的集成學(xué)習(xí)模型,所有進(jìn)行實驗的模型均采用交叉熵函數(shù)作為損失函數(shù)。
在經(jīng)過預(yù)處理的交通標(biāo)志圖像數(shù)據(jù)集上,通過卷積神經(jīng)網(wǎng)絡(luò)提取特征,以Bagging方式集成多項Logistic、K近鄰和SVM分類器實現(xiàn)對交通標(biāo)志的識別,利用不同分類模型各自優(yōu)勢,對多個分類器實現(xiàn)投票表決,保存各模型的參數(shù)和預(yù)測結(jié)果,實現(xiàn)對模型的效果評估,實驗表明利用提取的特征進(jìn)行多模型集成分類時在驗證集和測試集上有較好的效果,其中交通標(biāo)志識別算法的流程見圖3。
圖3 基于CNN-Bagging的交通標(biāo)志識別算法流程
為了確定模型不同時期的效果,采用類別預(yù)測的準(zhǔn)確率(Accuracy)、損失值(Loss)和調(diào)和平均數(shù)(F1-Score)作為評價指標(biāo)。
1)準(zhǔn)確率的計算公式可以表示為
(6)
式中:NTP指預(yù)測標(biāo)簽和真實標(biāo)簽都為正例;NTN指預(yù)測標(biāo)簽和真實標(biāo)簽都為反例;NFN是指預(yù)測的是反例而實際是正例;NFP是指預(yù)測是正例而實際是反例。
2)損失值函數(shù)主要是將真實類別做獨熱編碼,并與預(yù)測類別概率的對數(shù)值相乘,對每個類別求和后取相反值,具體計算公式為
(7)
式中:i是第i個樣本;j是第j個類;t是真實標(biāo)簽;p是卷積神經(jīng)網(wǎng)絡(luò)分類層求出的第j個類的預(yù)測值。
3)F1-Score為預(yù)測準(zhǔn)確率和召回率的調(diào)和平均值,范圍是0~1,數(shù)值越大表明模型效果越好,具體計算公式為
(8)
式中:ηPrecision為預(yù)測準(zhǔn)確率,指模型預(yù)測為正樣本的結(jié)果中,實際標(biāo)簽是正樣本所占的百分比;ηRecall指召回率,指所有實際標(biāo)簽為正樣本的結(jié)果中,預(yù)測為正樣本所占的百分比。
本文采用公開的國內(nèi)交通標(biāo)志數(shù)據(jù)庫CTSD(Chinese traffic sign database)中用于交通標(biāo)志識別的數(shù)據(jù)集TSRD(traffic sign recogntion database),該數(shù)據(jù)庫共包含6 164幅交通標(biāo)志圖像,其中,訓(xùn)練數(shù)據(jù)庫包含4 170張不同種類的交通標(biāo)志圖像,測試集交通標(biāo)志圖像共1 994張。該數(shù)據(jù)集主要由警告標(biāo)志、指示標(biāo)志及禁令標(biāo)志組成,各標(biāo)志的尺寸大小不一致,數(shù)據(jù)庫中所有圖像都標(biāo)注了符號和類別信息。利用Python隨機(jī)選取數(shù)據(jù)庫中24張圖像,顯示出此數(shù)據(jù)庫的部分交通標(biāo)志見圖4。
圖4 TSRD部分交通標(biāo)志
TSRD交通標(biāo)志數(shù)據(jù)庫共有58個類別,具體每個類別的交通標(biāo)志種類數(shù)見圖5。圖5中橫軸是指交通標(biāo)志類別所對應(yīng)的編號種類,如編號數(shù)0指限速5 km/h,編號數(shù)30是指自行車道,編號數(shù)50是指有人看守鐵路道口交通標(biāo)志,縱軸是指每個類別交通標(biāo)志的圖像數(shù)量,可以看出訓(xùn)練集中第9類、第25類和第53類的圖像數(shù)量較少,第28個類別機(jī)動車道指示牌數(shù)據(jù)量最多,其他類別的標(biāo)志數(shù)量明顯少于該類,故需對部分圖像數(shù)據(jù)進(jìn)行擴(kuò)充處理,得到更加大的數(shù)據(jù)庫用于模型訓(xùn)練。
圖5 TSRD訓(xùn)練集交通標(biāo)志種類分布
圖6是測試集的交通標(biāo)志種類分布圖,測試集的交通標(biāo)志圖像分布于訓(xùn)練集大致相同,總測試集數(shù)量約為訓(xùn)練集的1/2,訓(xùn)練集和測試集的比例分布存在一定優(yōu)化空間,在圖像預(yù)處理時需要加強(qiáng)訓(xùn)練集,以實現(xiàn)網(wǎng)絡(luò)提取適用于最終測試集評估的特征。
圖6 TSRD測試集交通標(biāo)志種類分布
由于交通標(biāo)志的類別數(shù)不均衡,測試集中部分類別的交通標(biāo)志數(shù)據(jù)集樣本較少,為獲取更多圖像數(shù)據(jù),防止模型過擬合,通過網(wǎng)絡(luò)爬蟲技術(shù)爬取對應(yīng)數(shù)量較少的交通標(biāo)志以實現(xiàn)數(shù)據(jù)集的擴(kuò)充。首先設(shè)置初始URL(uniform resource locator),并修改請求的headers偽裝成瀏覽器訪問,正則解析以匹配圖像的具體內(nèi)容,利用Requests模塊獲取圖像保存至文件夾,最終通過人工方式篩選所需圖像,爬取網(wǎng)絡(luò)交通標(biāo)志圖像的流程如圖7所示。
圖7 交通標(biāo)志圖像爬蟲流程
在嘗試使用圖像增強(qiáng)如圖像偏移、隨機(jī)縮放圖像范圍、設(shè)置剪切角、隨機(jī)旋轉(zhuǎn)操作對訓(xùn)練集進(jìn)行擴(kuò)充之后,將其應(yīng)用在模型訓(xùn)練過程中反而出現(xiàn)預(yù)測效果變差的現(xiàn)象,為了不丟失圖像顏色信息,以及防止翻轉(zhuǎn)圖像產(chǎn)生一些不必要的錯誤信息,主要對圖像進(jìn)行縮放變換以進(jìn)一步擴(kuò)充數(shù)據(jù)集,實現(xiàn)交通標(biāo)志圖像數(shù)據(jù)集的增強(qiáng),以改善圖像的樣本多樣性,同時經(jīng)過數(shù)據(jù)集歸一化處理可以適應(yīng)于神經(jīng)網(wǎng)絡(luò)訓(xùn)練,通過Python語言隨機(jī)選取一些圖像進(jìn)行展示,其中部分圖片的處理效果如圖8所示。
圖8 圖像縮放變換
在進(jìn)行遷移學(xué)習(xí)時需適當(dāng)調(diào)節(jié)輸入特征尺寸以滿足模型訓(xùn)練條件,根據(jù)keras官方網(wǎng)站上的說明,VGG16和ResNet50模型的圖像輸入尺寸不小于32×32,為保證公平性,將所有模型的輸入圖像大小設(shè)置為32×32,實驗時將圖像的尺寸縮放為遷移學(xué)習(xí)模型的網(wǎng)絡(luò)輸入標(biāo)準(zhǔn)尺寸,在數(shù)據(jù)輸入之前,還需要對圖像數(shù)據(jù)進(jìn)行歸一化處理,將所有的像素值縮放到同一個尺度,以使圖像在經(jīng)過相同參數(shù)的歸一化處理后變?yōu)橄嗤问綐?biāo)準(zhǔn)圖像,卷積神經(jīng)網(wǎng)絡(luò)得以提取更加穩(wěn)定的圖像特征。
總之,通過網(wǎng)絡(luò)爬蟲對不均勻的TSRD數(shù)據(jù)集進(jìn)行擴(kuò)充,主要爬取部分?jǐn)?shù)量特別少的標(biāo)志類別,然后調(diào)用keras.preprocessing.image模塊中的ImageDataGenerator類,以圖像縮放變換為主要方法實現(xiàn)數(shù)據(jù)集的進(jìn)一步擴(kuò)充,防止模型訓(xùn)練可能產(chǎn)生的擬合不足現(xiàn)象,數(shù)據(jù)擴(kuò)充后具體訓(xùn)練部分每個類別的交通標(biāo)志如圖9所示。
圖9 TSRD擴(kuò)充訓(xùn)練集交通標(biāo)志種類分布
本實驗使用基于Python語言的Keras深度學(xué)習(xí)框架,硬件環(huán)境CPU為 Intel(R)Core(TM)i5-9400F@2.90 GHz,GPU為 NVIDIA GeForce GTX 1050 Ti顯卡,操作系統(tǒng)為Windows10,Python 版本為3.8.3,利用Pycharm集成開發(fā)環(huán)境進(jìn)行編譯,實驗結(jié)果曲線采用matplotlib模塊可視化。
為了減少網(wǎng)絡(luò)訓(xùn)練所用時間,將CNN圖像輸入尺寸大小利用resize函數(shù)統(tǒng)一為32×32×3的RGB(red-green-blue)3通道彩色圖像,用卷積層提取特征作為基分類器的輸入,通過調(diào)用機(jī)器學(xué)習(xí)庫中sklearn模塊對數(shù)據(jù)集劃分,在擴(kuò)充訓(xùn)練集上將80%的數(shù)據(jù)集用于模型訓(xùn)練,20%作為驗證。為保障訓(xùn)練的模型性能,數(shù)據(jù)劃分過程中將數(shù)據(jù)集隨機(jī)打亂,其中特征數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)為數(shù)組形式,同時將標(biāo)簽進(jìn)行One-Hot編碼以適應(yīng)模型訓(xùn)練結(jié)構(gòu)。
CNN網(wǎng)絡(luò)模型設(shè)計的各層參數(shù)見表1,調(diào)用Keras深度學(xué)習(xí)框架下的函數(shù)構(gòu)建模型,通過callbacks回調(diào)函數(shù)保存訓(xùn)練過程中每一個訓(xùn)練時期的模型參數(shù)文件用于測試集的測試,同時為防止模型過擬合,通過網(wǎng)絡(luò)正則化,采用Dropout方式隨機(jī)失活網(wǎng)絡(luò)模型中的部分神經(jīng)元,設(shè)置卷積層的隨機(jī)丟棄概率值為0.25,密集連接層為0.5,為減少運行內(nèi)存消耗,將單次訓(xùn)練批次大小設(shè)置為32,另外訓(xùn)練次數(shù)epoch設(shè)置為50。
表1 CNN網(wǎng)絡(luò)模型各層參數(shù)描述
模型訓(xùn)練過程中,將卷積神經(jīng)網(wǎng)絡(luò)最后一層卷積層提取的512維特征向量作為多項Logistic、K近鄰和SVM的輸入,通過Bagging集成方式以提高單個模型的泛化能力,但此種措施訓(xùn)練時間較長,因此改用最后一層全連接層未經(jīng)Softmax激活的輸出特征,作為最終用于分類器投票集成的特征輸入。通過在訓(xùn)練集上對不同分類器集成的大量對比實驗,最終選取3個基分類器進(jìn)行裝袋法的模型融合實現(xiàn)各分類器優(yōu)點的充分利用;另外,用于對比的網(wǎng)絡(luò)模型VGG16和ResNet50輸入圖像大小均為32×32×3,VGG16所有卷積核大小都是一致的,相對于Alexnet增加了網(wǎng)絡(luò)深度用以提升預(yù)測性能,網(wǎng)絡(luò)層級共16層,ResNet50是一個共50層的殘差卷積網(wǎng)絡(luò),最主要的改進(jìn)是殘差塊設(shè)計,通過設(shè)置卷積步長實現(xiàn)特征矩陣的大小變換,以1×1卷積核實現(xiàn)特征矩陣的維度變換。由于TSRD數(shù)據(jù)集的樣本量較小,采取已有的在ImageNet數(shù)據(jù)集上訓(xùn)練得到的模型,根據(jù)類別數(shù)量修改最后一層參數(shù),并對整個網(wǎng)絡(luò)進(jìn)行訓(xùn)練是一種高效的學(xué)習(xí)方式。本文將基于卷積神經(jīng)網(wǎng)絡(luò)的Bagging融合模型和分別以VGG16、ResNet50網(wǎng)絡(luò)作為基礎(chǔ)架構(gòu)的經(jīng)典模型進(jìn)行比較,用以驗證該模型的性能。
為比較基于卷積神經(jīng)網(wǎng)絡(luò)的Bagging融合模型與其他網(wǎng)絡(luò)的性能,在Win10環(huán)境下訓(xùn)練4個網(wǎng)絡(luò)模型。不同模型訓(xùn)練過程中驗證集訓(xùn)練準(zhǔn)確率和損失值如圖10和圖11所示??梢钥闯?,隨著訓(xùn)練次數(shù)不斷增加,模型在訓(xùn)練過程驗證集上的預(yù)測準(zhǔn)確率總體上呈現(xiàn)上升趨勢,交叉熵?fù)p失值在前30個時期下降后大部分?jǐn)?shù)值都趨于0,故可得出各模型在交通標(biāo)志數(shù)據(jù)集上的訓(xùn)練過程中均取得了較好的擬合效果。
圖10 訓(xùn)練過程驗證集準(zhǔn)確率
圖11 訓(xùn)練過程驗證集損失值
本文提出的方法主要根據(jù)多次不同實驗得到預(yù)測結(jié)果,通過保留預(yù)測結(jié)果較好的分類器模型,實現(xiàn)對多個分類器中的參數(shù)選取,其中,多項Logistic回歸模型的優(yōu)化算法采取liblinear,隨機(jī)種子數(shù)設(shè)置為42,作為分類器1用于類別預(yù)測;K近鄰方法作為分類器2,方法中的參數(shù)K值根據(jù)人工探索設(shè)定為5;SVM分類器作為分類器3,核函數(shù)采用默認(rèn)的高斯徑向基函數(shù),該函數(shù)可將數(shù)據(jù)映射至高維空間,在高維空間中解決在低維空間中出現(xiàn)的線性不可分問題。在分類器確定的條件下,最終通過Voting Classifier機(jī)制,設(shè)置分類器的權(quán)重比為2∶1∶1,以實現(xiàn)分類器的最終輸出結(jié)果融合,圖12和圖13為4個網(wǎng)絡(luò)模型在測試集上的準(zhǔn)確率和交叉熵?fù)p失值對比。
圖13 測試集預(yù)測損失值
從圖12可以看出,在曲線相對穩(wěn)定后測試集上的準(zhǔn)確率低于驗證集,出現(xiàn)明顯的過擬合現(xiàn)象,CNN網(wǎng)絡(luò)和CNN-Bagging集成網(wǎng)絡(luò)在前期的預(yù)測效果相對較低,但隨著迭代次數(shù)的增加,預(yù)測準(zhǔn)確率不斷上升。與其他基礎(chǔ)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)相比,所提出的CNN-Bagging集成模型對交通標(biāo)志圖像的識別準(zhǔn)確率最高,更適用于小型交通標(biāo)志數(shù)據(jù)集的學(xué)習(xí)。
圖12 測試集預(yù)測準(zhǔn)確率
從圖13可以看出,測試集預(yù)測損失值隨著迭代次數(shù)的不斷增加,損失值開始逐漸下降,具有更好的擬合效果。圖14是測試集的F1-Score曲線,與準(zhǔn)確率曲線的走勢大致相同,同樣發(fā)現(xiàn)CNN-Bagging集成模型的效果優(yōu)于其他模型,實驗通過已保存的預(yù)測效果最優(yōu)模型,得到了最優(yōu)模型下的準(zhǔn)確率和損失值,并以最優(yōu)的模型預(yù)測結(jié)果作為交通標(biāo)志分類任務(wù)的評價指標(biāo),各模型的具體結(jié)果見表2。
圖14 測試集F1-Score值
表2 模型最優(yōu)解
從表2可以看出,基于改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)和Bagging模型融合相對經(jīng)典的神經(jīng)網(wǎng)絡(luò)模型VGG16和ResNet50在較小的交通標(biāo)志數(shù)據(jù)集上有較大的性能提升,改進(jìn)的模型、未改進(jìn)的CNN模型、ResNet和VGGNet遷移學(xué)習(xí)的預(yù)測準(zhǔn)確率分別為93.00%、81.01%、82.55%和61.45%。本文提出的融合模型在TSRD交通標(biāo)志數(shù)據(jù)庫的效果比VGG16和ResNet50更好的原因為:1)改進(jìn)的網(wǎng)絡(luò)融合模型結(jié)合了平面卷積神經(jīng)網(wǎng)絡(luò)和機(jī)器學(xué)習(xí)分類器及集成模型的優(yōu)點,具有結(jié)構(gòu)簡單且預(yù)測結(jié)果較準(zhǔn)確的特點。2)經(jīng)典VGG16和ResNet50網(wǎng)絡(luò)是用于實現(xiàn)大型數(shù)據(jù)庫的相應(yīng)任務(wù),其網(wǎng)絡(luò)結(jié)構(gòu)一般較復(fù)雜而且較深,在對大多數(shù)中小型數(shù)據(jù)庫進(jìn)行實驗時,通常會出現(xiàn)過擬合現(xiàn)象,導(dǎo)致在測試集上的分類預(yù)測效果較低。另外,此數(shù)據(jù)集的優(yōu)化還存在進(jìn)一步需要改進(jìn)的地方,后續(xù)將嘗試用裁剪方式或者較流行的算法弱化數(shù)據(jù)集的背景部分,強(qiáng)化圖像數(shù)據(jù)的前景部分。模型還存在一定的改進(jìn)空間,特別是用于提取特征的基礎(chǔ)模型,在后續(xù)研究中需要進(jìn)一步提升模型性能,以提升整體預(yù)測準(zhǔn)確率。
交通標(biāo)志的識別準(zhǔn)確率受到多種因素影響,不同的交通標(biāo)志數(shù)據(jù)集對模型訓(xùn)練的效果存在較大影響,為進(jìn)一步提升識別準(zhǔn)確率,防止模型過擬合,利用網(wǎng)絡(luò)爬蟲和圖像增強(qiáng)方式對原始數(shù)據(jù)集進(jìn)行擴(kuò)充,通過添加Dropout層隨機(jī)失活部分神經(jīng)元,使用Relu激活函數(shù)代替Sigmoid以解決可能的梯度消失問題,減少整個模型的計算量。本文利用改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)的方法實現(xiàn)高質(zhì)量圖像特征自動提取,并通過Bagging模型融合對公開的交通標(biāo)志數(shù)據(jù)庫進(jìn)行分類識別,以便為自動駕駛交通標(biāo)志識別提供一定的可參考方案。在Win10環(huán)境下實驗發(fā)現(xiàn),與經(jīng)典神經(jīng)網(wǎng)絡(luò)相比,改進(jìn)的方法在交通標(biāo)志識別數(shù)據(jù)庫上取得較好效果,測試集準(zhǔn)確率達(dá)到了93.00%,相對于未改進(jìn)的卷積模型提升了11.99個百分點,說明改進(jìn)的方法有助于進(jìn)一步提升類別的識別準(zhǔn)確率。
由于交通標(biāo)志數(shù)據(jù)庫中一些圖片存在雨霧等自然天氣及其他意外損壞情況,在訓(xùn)練時未對特定圖像進(jìn)行去霧等預(yù)處理操作,采取的是較為原始的圖像數(shù)據(jù),故對預(yù)測精度存在一定影響,后續(xù)將考慮進(jìn)一步加強(qiáng)前期數(shù)據(jù)預(yù)處理的工作。國內(nèi)外學(xué)者在實時交通圖像方面的研究較少,對于如何實現(xiàn)快速定位和實時分類以實現(xiàn)自動駕駛的需求還存在一定挑戰(zhàn),研究方法種類眾多,在實時道路的環(huán)境中實現(xiàn)快速分類任務(wù)也是未來重要研究方向之一。