?

基于特征融合級聯網絡的交通標識牌檢測算法

2022-06-24 10:02李學偉
計算機應用與軟件 2022年4期
關鍵詞:卷積尺度交通

魏 威 李學偉

(北京聯合大學北京市信息服務工程重點實驗室 北京 100101) (北京聯合大學機器人學院 北京 100101)

0 引 言

近年來,隨著人工智能技術的不斷發展與完善,基于深度學習的目標檢測算法在智能駕駛、視頻索引等領域得到了廣泛的應用。智能駕駛車輛在行駛過程中精準檢測并識別道路場景中的車輛、交通標識牌、信號燈等是十分重要的。城市道路中的交通標識包含了豐富的導航信息,能夠指示、警示駕駛員的駕駛行為。精準地檢測并識別交通標識對提高道路駕駛安全有十分重要的意義,是智能駕駛的重要組成部分。此外,交通標識檢測還可以應用在自適應的車輛巡航等輔助駕駛系統中。

傳統的檢測算法一般是基于機器視覺的方法,根據交通標識具有嚴格的形狀以及顏色等特點來提取特征信息,然后通過分類器進行分類識別。Cao等[1]使用HSV顏色空間進行閾值分割,然后根據形狀特征檢測交通標識。Gabriel等[2]利用顏色信息建立統計模板檢測交通路口處的交通標識。Chen等[3]通過對自適應增強和支持向量回歸技術的研究,提出了一種基于交通標志顏色、形狀和空間信息的顯著性方法。何思遠等[4]先對圖像進行灰度化、腐蝕、膨脹等處理后,再使用區域一致的顯著性方法檢測電力線路相位交通標識。這些傳統的交通標識檢測算法結構復雜,需要人為地提取特征信息,人為提取特征信息存在一定的主觀性和單一性,傳統算法具有計算復雜、實用性差等缺點。

隨著深度學習技術的不斷發展與完善,基于深度學習的檢測算法結構更加簡單高效,超越了傳統的檢測算法成為當前主流。常見的基于深度學習目標檢測算法包括R-CNN系列[5-7]、YOLO系列[8-10]、SPP-net[11]、SSD[12]等。Song等[13]提出了優化CNN網絡的交通標識檢測方法,通過增加特征圖維數和下采樣的方式增強小目標的特征。裴偉等[14]使用引入了特征融合機制的SSD算法檢測航拍圖像中的小目標。Zhang等[15]使用YOLOv2算法檢測并識別中國道路場景中的交通標識牌。陳江昀[16]使用超像素過分割方法處理圖像,然后提取分割區域的特征并進行區域合并的方式來檢測小目標。Chen等[17]改進了Lenet-5網絡的激活函數和網絡結構,并采用基于交叉熵的梯度下降算法對檢測誤差進行了優化,有效地防止了深度學習檢測網絡過度擬合,同時也提高了交通標識的檢測效率。Arcos-García等[18]通過大量實驗分析了Faster R-CNN、SSD、YOLOv2等算法在交通標識檢測上的效果。孟琭等[19]結合SSD算法、語義分割技術、數字識別技術來識別鐵軌路牌。Peng等[20]使用經典的目標檢測算法Faster R-CNN檢測并識別交通標識。Faster R-CNN、SSD、YOLOv2等算法只使用網絡中最深層的特征圖來檢測目標,最深層的特征圖中包含的小目標輪廓、紋理等特征信息較少,不利于小目標的檢測,為了能夠準確檢測小目標還需要設計更加有效的深度學習檢測模型。交通標識普遍尺度較小、部分類別的交通標識特征相似,FPN網絡[21]在檢測這些交通標識時會存在誤檢、漏檢的情況。改進的SSD[14]、YOLOv3算法在小目標檢測上速度快,但是檢測精確度還是不夠好,與FPN網絡相同在檢測尺寸很小、特征相似的交通標識時會產生誤檢、漏檢的現象。

根據以上分析,本文提出一種基于特征融合級聯網絡的算法來檢測交通標識牌。算法在Faster R-CNN框架的基礎上,首先對低分辨率的高層特征圖進行兩倍的上采樣,然后將兩倍上采樣后的特征圖與高分辨率的低層特征圖進行融合,這樣就能夠同時利用低層特征圖中豐富的特征信息與高層特征圖中豐富的語義信息來檢測交通標識。我們使用ResNet50[22]網絡作為算法的特征提取網絡,并將錨尺寸大小定為32×32、64×64、128×128的三種尺度,提升尺度小的交通標識檢測準確率。為了能夠解決尺度小、特征相似的交通標識誤檢問題,算法在特征融合網絡后級聯了一個改進的GoogLeNet網絡進行交通標識的精準分類。算法將特征融合網絡檢測到的交通標識去除背景并放大后送入改進的GoogLeNet網絡進行精準分類,最終把檢測的結果信息返回原圖并輸出。將改進的算法與現在主流的目標檢測算法在Tsinghua-Tencent 100k(TT100k)交通標識數據集[23]上對比實驗,結果表明本文算法對標識牌檢測的精準率更高、檢測效果更好。2018年,我們使用該算法參加了由國家自然科學基金委員會主辦的“中國智能車未來挑戰賽”——離線測試,在該比賽的交通信號檢測項目中取得了全國第一名的成績。

1 特征融合級聯網絡

算法使用ResNet50網絡作為特征提取網絡,ResNet50網絡的殘差模塊可以有效減輕深度網絡梯度爆炸和梯度消失的問題。算法在Faster R-CNN檢測框架基礎上加入了特征融合模塊,將特征提取網絡提取到的特征信息進行融合,同時利用低層特征圖中豐富的特征信息與高層特征圖中豐富的語義信息來檢測交通標識。將錨尺寸大小定為32×32、64×64、128×128的三種尺度,提升尺度小的交通標識檢測的準確率。為了解決交通標識誤分類問題,算法在特征提取網絡后級聯了一個改進的GoogLeNet網絡。將特征融合網絡檢測到的目標去除背景并放大后送入改進的GoogLeNet網絡進行分類,最終把結果信息返回并輸出。算法在GoogLeNet網絡中的Inception模塊上增加三個3×3卷積操作和相應的降采樣層,以提取更多的潛在特征。圖1為提出的檢測算法的框架結構。

圖1 特征融合級聯網絡模型結構

1.1 檢測框架基本結構

算法使用Faster R-CNN作為基本框架,Faster R-CNN目標檢測算法由卷積層、RPN網絡層、ROI層、全連接層組成。Faster R-CNN算法先使用卷積層對輸入的圖像進行特征提取,生成并得到特征圖;接著將特征圖送入RPN網絡中生成目標建議區域;再是ROI層通過遍歷的方式,將建議區域在特征圖上生成映射,并生成固定大小的目標候選區域特征圖;大小固定的目標候選區域特征圖在經過全連接層的全連接后,分類器會對目標進行具體分類,并通過目標在特征圖中的位置信息獲取目標的精確位置。圖2是以ResNet50為骨架網絡的Faster R-CNN基本結構。

圖2 Faster R-CNN結構

不同的特征提取網絡會影響最終的目標檢測效果,算法選取ResNet50網絡作為特征提取網絡。ResNet50網絡在前饋網絡的結構上,增加了跳躍連接來跨過一些層的連接。每有一個這樣跳躍連接就產生一個殘差模塊,ResNet50網絡通過殘差學習的方式解決了深度網絡退化的問題。圖3為ResNet50網絡中的殘差單元結構。

圖3 ResNet50網絡中殘差結構

1.2 特征融合

輸入的圖片在卷積層中提取特征時會經過五個卷積塊(分別記為Conv1至Conv5)。由于圖片在經過每個卷積塊時分辨率會減小,從而該卷積塊提取到的特征圖中目標特征信息就會減少,容易造成小目標的特征信息缺失,不利于交通標識牌的檢測。在特征提取網絡中,淺層特征圖中包含了小目標豐富的顏色、形狀等特征信息,但是包含的語義信息很少;而深層特征圖包含了小目標豐富的語義信息,但包含的特征信息很少?,F在主流的深度學習目標檢測方法,大多只使用了最深層的特征圖來檢測目標,所以對小目標檢測的精準度不高。為了能夠更精準地檢測交通標識,算法將各個卷積塊提取到的特征圖進行特征信息融合。

多層特征圖的信息融合方法是把語義強的高層特征圖進行上采樣,與卷積后的低層特征圖中對應的元素相加,于是高層特征圖包含了低層特征圖中目標的特征信息。這樣就能夠同時利用高層低分辨率特征圖的語義信息和低層高分辨率特征圖中目標的特征信息來檢測交通標識。將輸入的圖像在經過卷積塊Conv1卷積后的輸出記為C1(C2、C3、C4、C5同理)。特征信息融合的具體操作過程是:首先使用一個1×1的卷積塊對C5卷積,獲取低分辨率的特征圖P5;再將P5經過兩倍的上采樣與經過1×1卷積后的C4對應元素相加;最后將兩層元素相加后的結果經過一個3×3卷積塊的卷積后得到P4(P2、P3同理)。最后一步中3×3的卷積操作是為了消除低分辨率的特征圖在上采樣過程中產生的混疊效應。由于龐大的內存占用,這里不將C1放入到特征金字塔中。圖4為特征融合模塊結構。

圖4 特征融合模塊

1.3 區域建議網絡

RPN網絡能夠同時預測每個位置中對象的概率信息和邊界信息。建立一個RPN網絡需要額外增加兩個卷積層,一個卷積層用來編碼每個卷積圖位置,將其轉換成特征向量;另一個在卷積圖的位置上輸出目標概率和回歸n個區域建議框參數化坐標。RPN網絡使用的特征信息是由特征提取網絡提供的,解決了使用選擇性搜索速度慢的問題。RPN的具體操作是使用一個窗口在特征圖上進行平移,將平移產生的向量送到平行的全連接分類層和全連接位置回歸層,獲取目標的分類信息和位置信息。圖5為RPN網絡結構,在每個滑動窗口的中心對應k個錨。窗口在移動到每個位置時會得到預測的候選區域和位置回歸層坐標信息,并通過分類層獲取候選區域是檢測目標的概率。針對大部分交通標識牌尺寸小的情況,算法中錨尺寸大小定為32×32、64×64、128×128的三種尺度,并且每個尺度都有長寬比為1 ∶2、1 ∶1和2 ∶1的三種比例,即整個特征金字塔共有九種錨。

圖5 RPN網絡結構

1.4 目標精準分類

一般交通標識在原圖像中的尺寸很小特征不明顯,在經過多次卷積操作后尺寸會持續減小,特征信息更加不明顯。此外在城市道路中存在大量與交通標識特征相似的宣傳標語和廣告牌,這些都會嚴重影響交通標識的準確分類。準確地分類交通標識需要將圖片充分放大,放大后的圖像中目標特征信息更為明顯,能夠有效地解決誤分類的問題。但是在深度學習算法中,直接將圖片放大后經常會造成圖片太大無法計算的問題。算法先使用深度網絡檢測出交通標識在圖像中的位置,然后根據位置信息得到去除背景后的交通標識,再將交通標識放大后送到級聯的分類網絡中進行精準分類,就可以有效地解決這個問題。

算法使用GoogLeNet網絡作為交通標識的精準分類網絡,GoogLeNet網絡中包含了一系列的Inception模塊。Inception模塊在一定程度上解決了深度網絡容易過擬合、梯度消失的問題。Inception模塊根本方法是將全連接以及卷積都轉化為稀疏連接,這樣產生的數據是稠密數據,既增加了神經網絡表現能力,又能保證計算資源的使用效率。Inception模塊先使用一個1×1卷積降低通道聚合信息后再計算,更高效地利用了計算資源。GoogLeNet采取全局均值池化,解決了傳統CNN網絡中最后的全連接層參數過于復雜造成泛化能力差的問題。為了能夠提取更多的交通標識潛在特征信息,本文算法在Inception模塊中增加三個3×3卷積操作和相應的降采樣。圖6為算法中改進后的Inception結構。

圖6 Inception模塊結構

2 實驗結果與分析

本文算法的實驗環境平臺:操作系統為Ubuntu 16.04,顯卡型號為NVIDIA-TITANxp,計算機內存為16 GB,開發框架為Caffe。為了驗證算法的性能,該算法在TT100k交通標識數據集[23]上進行測試驗證。TT100k是由清華大學和騰訊聯合發表的交通標識數據集,其中共有10萬幅圖像(包括3萬幅有交通標識的圖像和7萬幅沒有交通標識的圖像),包含了221種類別的交通標識牌。圖像的分辨率為2 048×2 048像素,交通標識牌的大小從15×15到128×128像素不等,數據集劃分為訓練集和測試集。TT100k數據集以城市道路作為采集場景,在我國的5個城市取景(包括不同時間段的市中心和郊區)。

本文選取了FPN[21]、YOLOv3[10]和Faster R-CNN[7]三種算法與本文算法在TT100K上進行對比實驗。FPN網絡是特征融合網絡的代表性算法,它能夠兼顧不同尺度的目標,對多尺度的目標及小目標有較好的檢測性能。YOLOv3是在較小尺度目標檢測方面有較好效果的算法,在多尺度目標檢測上也有一定的效果。Faster R-CNN是常用的目標檢測算法,應用在各種類型的目標檢測上。因此選取以上三種深度學習的目標檢測算法與本文算法進行對比實驗。

2.1 定量分析

為了能夠科學地評價檢測性能,本文使用平均精確度均值(mean Average Precision,mAP)來衡量,這是目標檢測領域常用指標。在二元檢測中會有下面四種情況:原本為正樣本檢測為正例,記為TP;原本為正樣本檢測為負樣本,記為FN;原為負樣本檢測為正樣本,記為FP;原為負樣本檢測為負樣本,記為TN。精確率(Precision,記為P)用來表示檢測為正例的樣本中有多少真正是正樣本的比例,召回率(Recall,記為R)是指在所有正樣本中被檢測為正例的比例。它們的計算方法分別為:

(1)

(2)

以精確率和召回率分別為縱、橫軸坐標做曲線,曲線所圍起來的面積就是平均精確度(Average Precision,AP)。在交通標識檢測中,每類都可以根據上述方法求出AP值,AP值越高則該類交通標識檢測效果就越好。mAP是所有類別的交通標識檢測的AP值的平均值,mAP值越高,表示交通標識的整體檢測效果越好。

表1中數據為四種檢測算法在訓練時的參數值。TT100k數據集中共有221種類別的目標,包括“限速”“警告”“禁止”等交通標識牌的細分類。但是其中大部分類別的交通標識數據量極少,甚至有幾類交通標識的數量只有幾個。這極大影響檢測算法的訓練和交通標識檢測的準確率,本文選取了其中30類數據量較多且常見的交通標識進行實驗。

表1 模型訓練時參數

在Faster R-CNN算法中錨大小為128×128、256×256和512×512的三種尺度和1 ∶1、1 ∶2、2 ∶1的三種寬高比的9種錨框。FPN算法中錨大小為32×32、64×64、128×128、256×256和512×512的五種尺度和1 ∶1、1 ∶2、2 ∶1的三種寬高比的15種錨框。為了提升尺度小的交通標識檢測的準確率,算法提出將錨尺寸大小定為32×32、64×64、128×128的三種尺度和1 ∶1、1 ∶2、2 ∶1的三種寬高比的錨框。并通過實驗觀測在相同寬高比下不同尺度的錨框對檢測結果的影響,從而選出最優的錨框尺度。表2中實驗數據為在TT100k數據集中不同尺度的錨框的檢測結果,實驗結果表明錨框尺度在32×32、64×34和128×128下效果最好,故本文算法使用該尺度的錨框。

表2 不同尺度錨框的檢測結果

表3中實驗數據是將本文算法與FPN、YOLOv3和Faster R-CNN算法對比實驗的結果數據,以上四種算法在TT100k數據集上進行了對比實驗。根據表3中的數據顯示,本文算法平均精準度均值(mAP)為85.3%,而FPN的mAP為83.5%,YOLOv3的則為81.8%,Faster R-CNN的平均精準度均值為71.3%。結果顯示本文算法與FPN算法相比平均精準度提高了2百分點左右,與YOLOv3算法相比平均精準度提高了3百分點左右,證明了本文算法的有效性。表4中實驗數據為在TT100k交通標識數據集上,幾種常見交通標識在以上四種檢測算法下的平均精度(AP)值。

表3 各模型平均精準度

表4 幾種常見交通標識的平均檢測精度

續表4

2.2 定性分析

為了更直觀地展示實驗效果,將本文算法與FPN、YOLOv3和Faster R-CNN三種算法的對比實驗結果可視化。場景均是選自TT100k交通標識數據集,分為強光照射場景、弱光照射場景和夜晚場景。場景中準確檢出的交通標識均用正方形(□)框標出、漏檢的交通標識均用正三角形(△)框標出、誤檢交通標識均用倒三角形(▽)框標出,使用的算法從左到右依次為:Faster R-CNN、YOLOv3、FPN和本文算法,如圖7所示。

(a) 強光照射場景

(b) 弱光照射場景

(c) 夜晚場景圖7 交通標識檢測結果對比

在強光照射場景中:光照強烈,攝像機距交通標識的距離較遠,目標數量較多,交通標識基本都很小。在弱光照射場景中:光照較弱,攝像機距交通標識的距離較近,存在少量中等尺度交通標識和數量較多的尺度小的交通標識。在夜晚場景中:光照很弱,攝像機距交通標識的距離較近,交通標識的尺度大多為中等大小。在以上三種場景中,Faster R-CNN會有較多的目標漏檢;YOLOv3能夠準確檢測出大部分的交通標識,但是會有部分誤檢和漏檢情況;FPN能夠檢測出極大部分的交通標識,會存在少量小尺度的交通標識的誤檢和漏檢;本文算法基本能夠檢測全部的交通標識,極少情況下會出現誤檢和漏檢現象。

3 結 語

本文提出一種基于深度學習級聯網絡的交通標識牌檢測算法,將算法在TT100k交通標識數據集上測試驗證,并與FPN、YOLOv3、Faster R-CNN三種算法進行對比。該算法在TT100k上平均檢測精度為85.3%,與FPN算法相比提高了2百分點左右,與YOLOv3算法相比提高了3百分點左右。實驗結果表明,本文提出的級聯網絡模型在交通標識檢測上有效。2018年,我們使用該算法參加了由國家自然科學基金委員會主辦的“中國智能車未來挑戰賽”——離線測試,并在交通信號標識檢測項目中取得了全國第一名的成績。此外實驗中發現該算法檢測速度比較慢,距離交通標識的實時性檢測仍有差距。如何在不降低檢測精準度的條件下精簡網絡結構、降低運算量,將是我們未來的主要研究方向。

猜你喜歡
卷積尺度交通
基于全卷積神經網絡的豬背膘厚快速準確測定
環境史衰敗論敘事的正誤及其評判尺度
基于FPGA的卷積神經網絡加速優化方法
基于圖像處理與卷積神經網絡的零件識別
基于深度卷積網絡與空洞卷積融合的人群計數
以長時間尺度看世界
9
圖說交通
發達交通之磁懸浮列車
閱讀理解三則
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合