(長安大學 信息工程學院,西安 710064)
隨著汽車保有量的連年增長,交通安全問題日益引起人們的重視。為此,世界各國展開了針對性研究,一些發達國家提出了智能交通系統(ITS),而美國更是提出自動駕駛理論并將相關領域研究列入國家戰略發展計劃項目。無論是智能交通系統(ITS)還是自動駕駛技術,都需要在復雜交通場景中對影響駕駛行為的相關目標進行正確、實時的捕捉與理解,而交通標志作為傳遞指示引導或警示信息的道路基礎設施,對其進行正確識別是保證智能車輛規范行駛與道路交通安全的前提,因此,對交通標志識別進行研究具有重大意義。
傳統的交通標志識別方法主要為基于顏色信息、形狀信息[1]或基于兩者結合[2-4]對其進行檢測,再用模板匹配法[5-7]實現識別功能。
然而真實自然環境中的光照、旋轉、遮擋、扭曲等影響使得交通標志識別成為一個極具挑戰的任務。
機器學習的發展使得上述問題得到了解決,傳統的機器學習方法目標特征仍根據先驗知識進行人工設計,只是在分類中應用了分類器如支持向量機( Support Vector Machine,SVM)[8]、貝葉斯分類器[9]、隨機森林,然而這種方法會導致識別結果易受特征設計質量的影響,且針對不同檢測目標需設計不同的特征,識別效果不穩定且平移擴展性差。近年來,深度學習模型[10]已在計算機視覺領域受到廣泛關注,卷積神經網絡作為深度學習模型之一,對目標檢測與識別有著良好的效果。近年來,出現了R-CNN[11]、Fast-rcnn[12]、Faster-rcnn[13]、FPN[14]、Yolo[15]、ResNet[16]、SSD[17]等區域卷積神經網絡方法,在目標檢測與識別領域取得了不俗的成績,將卷積神經網絡應用于交通標志識別是研究的熱點。
在實際交通環境中,由于目標圖像采集距離較遠,采集到的交通標志圖像往往表現出畫質模糊、分辨率低等問題。鑒于此,本文提出一種級聯ESPCN與RFCN的交通標志識別方法,通過引入ESPCN深度網絡對采集到的圖像進行超分辨率處理,再結合RFCN對超分辨圖像進行目標檢測與識別,實現低分辨率交通標志圖像的高精度檢測與識別。
由于智能車對交通標志反應時間與車輛自身運動的影響,智能車在真實交通環境中采集到的交通標志圖片通常都存在識別率低問題,對智能車的規范行駛帶來不良影響。為解決這一問題,本文提出用深度網絡對原始采集圖像做超分辨率預處理,提高識別網絡輸入圖像分辨率。
常用的超分辨率深度網絡有SRCNN[18]和DRCN[19],SRCNN在低分辨率輸入圖像上,先使用雙三次插值將其放大到目標大小,再通過三層卷積網絡做非線性映射,得到的結果作為高分辨率圖像輸出。DRCN在低分辨率輸入圖像上采用遞歸卷積網絡得到高分辨率圖像輸出。然而上述兩種網絡都是先通過上采樣插值將低分辨率輸入圖像大小進行擴展再重建,對于實現超分辨的卷積操作而言,其處理速度直接依賴于輸入圖像的大小,因此這種在超分辨操作前增加圖像大小的方法增加了計算復雜度,會降低效率,對智能車的實時性要求造成影響。因此本文采用ESPCN網絡實現圖像超分辨率處理。
ESPCN網絡結構如圖1所示。

圖1 ESPCN網絡架構
主要由卷積神經網絡層與亞像素卷積層構成,在輸入的低分辨率圖像上應用一個L層卷積神經網絡生成低分辨率特征圖,然后應用亞像素卷積層對低分辨率特征圖進行上采樣生成高分辨率圖像。
共L層的卷積神經網絡其前L-1層可以描述為:
f1(ΙLR;W1;b1)=φ(W1*ΙLR+b1),
fl(ΙLR;W1:l;b1:l)=φ(Wl*fl-1(ΙLR)+bl)
(1)
其中:Wl,bl,l∈(1,L-1)分別是可學習的權重和偏置,Wl是大小為nl-1×nl×kl×kl的二維卷積張量,其中nl是第l層的特征數量,kl是第l層的卷積核數量,偏置bl是長度為nl的向量,激活函數φ逐元素應用且固定。在本文中,激活函數采用TanH函數,Tanh函數的零均值性與本文ESPCN網絡層數低、梯度消失問題不明顯的特征都使得Tanh函數可以滿足訓練與實用要求。在經過卷積神經網絡層后,得到nl張與輸入圖像大小相同的特征圖,將特征圖送入亞像素卷積層進行上采樣。
亞像素卷積層由兩部分架構組成,一個卷積層及后續的排列像素結構。卷積層部分輸出r2張與輸入圖像大小一致的低分辨率卷積特征圖,其中r為上采樣因子,即圖像的放大倍數,再將特征圖按照公式:
ΙSR=fL(ΙLR)=PS(WL*fL-1(ΙLR)+bL)
(2)
進行重新排列,其中ΡS是一個將大小為H×W·r2的元素重新排列為rH×rW大小的運算符,重排列ΡS的數學描述為:
PS(T)x,y=T|x/r|,|y/r|,r·mod(y,r)+mod(x,r)
(3)
其本質就是將低分辨率特征按照特定位置,周期性的插入到高分辨率圖像中。這樣總的像素數即可與希望得到的高分辨率圖像像素數一致,將像素進行重新排列后即可得到高分辨率圖像。
交通標志由于采集距離存在低分辨率情況,考慮實時應用性,若卷積層數過多或圖像放大倍數過高會造成實時性低,因此選取L=2,r=3。
卷積神經網絡結構如圖2所示(這里的卷積網絡包括卷積網絡層及亞像素卷積層中的卷積網絡部份),經過卷積后得到32共9張特征圖,從每張特征圖同一空間位置各取一個像素進行重新排列,拼接形成一個3*3的區域,對應于高分辨率圖像中的一個3*3大小的子塊如圖3所示。

圖2 卷積神經網絡層結構圖

圖3 重排列示意圖
通過使用亞像素卷積層,實現了圖像從低分辨率到高分辨率放大的過程。由于在網絡輸出層才進行了上采樣,與在輸入層網絡直接上采樣的其余超分辨網絡架構相比,本文方法在訓練和測試時都大大降低了復雜度,效率較高。
本文采用RFCN深度架構作為交通標志識別網絡,RFCN網絡是一種基于區域的全卷積深度網絡結構,經典的區域卷積網絡Faster-rcnn[13],實際上是將整個網絡結構分成了3個子網絡,用于在整張圖像上做卷積提取特征的子網絡1與用于產生感興趣區域候選框的子網絡2都與區域無關,只有用于分類或對候選框進行回歸的子網絡3基于區域, ROI 池化層用于將前兩層子網絡與第三層網絡銜接起來,但ROI池化層的插入會導致網絡結構不再具備平移不變性,影響目標的檢測,為解決這一問題,RFCN在提取特征的卷積層與生成候選區域的RPN網絡之間加入位置敏感得分映射,生成位置相關特征并將目標的位置信息融合進ROI池化層,使得ROI 池化層前后網絡都具備平移不變性,對分類需要的特征平移不變性與檢測需要的目標平移不變性都做出準確響應,提升網絡檢測效果。同時,由于RFCN是完全卷積的,幾乎所有的計算都在整個圖像上共享,其檢測速度較于Faster-rcnn也有很大提高。
RFCN網絡結構如圖4所示,整體結構與Faster-rcnn相近,采用RPN結合檢測兩個部分,分別進行候選區域提取與檢測,細分為基礎卷積層、位置敏感預測層、RPN層、ROI pooling層與決策層,RPN層與原始設計類似,進行前景背景分離,而在RFCN結尾連接著ROI池化層,用于產生對應于每一個ROI區域的分數。

圖4 RFCN網絡結構
在ResNet101的基礎上,去除原有的平均池化層與最后的全卷積層,只保留前100層的卷積層并在后面接一個1*1*1024的全卷積層生成改進ResNet101作為基礎網絡。卷積層最后,在特征圖上用k2(C+1)個1024*1*1的卷積核去卷積即可得到k2(C+1)個大小為W×H的位置敏感分數圖,其中C+1表示ROI可能屬于的目標類別(其中C為數據集中類別數目,1為背景類)。
為了將位置信息顯式編碼到每個ROI中,用一個規則的網格將每個ROI區域劃分成k×k個塊,在第(i,j)個塊中,僅在第(i,j)個得分圖上進行位置敏感ROI池化操作:
(4)
其中:rc(i,j)是第(i,j)個塊對第C類的池化響應,zi,j,c是k2(C+1)張分數圖中的一張,(x0,y0)是ROI的左上角塊,n是塊中的像素個數,θ是所有可學習的網絡參數。在圖4中可以看到,位置敏感分數圖用k2個色塊表示,分別與ROI中的k2個區域相對應。然后得到的k2個池化位置敏感分數圖上進行投票決策,得到最終分類。
同時,采用一個4k2維卷積層作為邊界框回歸。在這4k2圖上做位置敏感ROI池化,再每個ROI上得到一個4k2維的向量,再通過平均投票轉換為一個4維向量。這個四維向量是邊界框回歸t=(tx,ty,tw,th)的參數。綜合上述預測每類的置信度就得到了物體類別與坐標位置。
與1.2節中做同樣需求考慮,本文取k=3,則得到9×(C+1)個位置敏感分數圖,用9個顏色不同、大小為W×H的色塊表示,每個色塊的厚度為C+1,如圖5所示。

圖5 色塊示意圖
9個色塊對應于ROI中的9個位置區域,上左、上中、上右、中左、中中、中右、下左、下中、下右,且表示不同位置目標存在的概率值,最左邊色塊對應表示上左位置,最右邊色塊對應表示下右位置。得到某個ROI對應的色塊集合后,在每個色塊中取出其相應位置區域的一個小方塊,將這9個小方塊按照其對應位置組成新的立方塊,即可得到一個厚度為C+1的k2大小的立方塊,對這個新的立方塊進行池化,得到k2大小的方塊,如圖6所示。

圖6 位置敏感預測與池化層示意圖
為了簡化計算,投票決策選用簡單的平均分算法,對于每個ROI得到一個C+1維的向量:
rc(θ)=∑i,jrc(i,j|θ)
(5)
然后我們計算不同類別的softmax響應:
(6)
通過這樣的方式得到每個類的最終得分,實現目標分類識別。
同時,根據邊界回歸框可以確定每個檢測框的左上角頂點位置及其長寬—即確定出檢測框的具體位置,結合目標分類結果即可得到交通標志的位置及其類別,實現交通標志的識別。
3.1.1 數據集建立
為了驗證提出網絡的有效性,構建GTSDB與TSD-max數據集混合的聯合數據集作為訓練與檢測數據集,GTSDB是德國交通標志檢測基準庫,包含43組共1509張標志圖像及900張實景圖像,其中有794張標志圖像與國內交通標志一致或相似性大,選取共530張標志圖像及600張實景圖像為訓練數據集,264張標志圖像及300張實景圖像為測試數據集,TSD-max數據集是由西安交通大學車載攝像機實時采集,從中選取交通信號標志檢測的數據,共包含120組實景圖像,每組圖像數量平均為40張,選取其中80組圖像作為訓練數據集,40組圖像作為檢測數據集,初始數據集共有訓練數據4330張,測試數據2164張,數據量較小,會導致訓練模型分類性能不好。
3.1.2 數據集增強
為了提升網絡識別性能與泛化能力并防止過擬合,對訓練數據集進行數據增強。選用旋轉變換、隨機裁剪兩種方式進行數據增強,具體增強方式為對標志數據做旋轉增強與裁剪增強,對實景圖像只做旋轉增強。旋轉變換指的是對訓練數據集中圖像進行隨機任意角度(0-360°)的旋轉,結合實際應用需求,本文選擇旋轉角度為-45°~45°,一個數據圖像經過旋轉增強會增加6個數據;隨機裁剪指的是選擇一定大小的窗口對原始圖像進行剪切,對于大小為W*H的輸入圖像,我們選擇0.5 W*0.5 H大小的窗口實現裁剪,一個數據圖像經過隨機裁剪增強會增加6個數據。
經過數據增強處理后,原始數據集被擴充為包含303103張訓練數據,15148張測試數據的擴展數據集,擴展數據集的數據量可以訓練一個性能較好的模型架構。
交通標志數據通常由很多類別組成,而其中部分類別如限速標志、指示標志等含有大量圖像,而部分禁令標志類包含圖像極少,以本文選用的GTSDB標志類數據為例,各類標志數量情況如下。
因此,若將所有訓練圖像放入一個圖像列表依次進行訓練,由于小數量類別圖像較于大數量類別圖像參與訓練的機會更少,訓練后的模型對大數量類別的檢測識別性能遠優于小數量類別。本文選用平衡采樣策略解決這一問題,在訓練時,把所有訓練圖像按照類別進行分組,每一類生成一個圖像列表,從各個類別所對應的圖像列表中隨機選擇圖像進行訓練以保證每個類別參與訓練的機會較為均衡。

表1 GTSDB標志類數據數量情況
同時,交通標志采集的位置不同會導致數據集中樣本目標大小相差較大,造成識別結果不魯棒,本文選用多尺度訓練作為網絡訓練策略。對于一幅給定的待訓練圖像,將圖像縮放到不同尺度(本文選擇放縮至6個不同尺度)作為訓練圖像送入網絡進行訓練。通過這種多尺度訓練策略,使得參與訓練的交通標志目標大小分布更為均衡,進而模型對不同尺度的目標檢測識別時更具魯棒性。
本文在網絡訓練時選取的各訓練參數如表2所示。

表2 訓練參數
為了驗證與分析模型的優劣性,本文采用識別率、召回率、識別時間及PR曲線(P表示精度(查準率)、R表示召回率(查全率))作為評價參數分析本文模型的識別效果,識別率代表所有正確被檢測數據占所有實際被檢測數據的比例,召回率代表所有正確被檢測數據占所有應該檢測到數據的比例,其具體計算如下:
其中:TP為真陽率,即檢測圖像中為交通標志且被正確識別為交通標志的圖像比率,FP為假陽率,即檢測圖像中不是交通標志但被識別為交通標志的圖像比率,FN為假陰率,即檢測圖像中為交通標志但被錯誤識別為其他類別的圖像比率。
選取單塊GPU作為測試硬件平臺,具體環境配置為Ubuntu 16.04系統、CUDA 8.0和cudnn,框架為caffe框架。
本文采用的是級聯ESPCN與RFCN的識別方法,ESPCN網絡用于對模糊的輸入圖像做超分辨率處理,將交通標志部分提取出來,輸入圖像與處理后圖像對比如圖7所示。

圖7 交通標志處理對比圖
由處理結果可以看出,經過ESPCN網絡的超分辨率處理,檢測目標-道路交通標志從低分辨率變為高分辨率,基于ESPCN的超分辨率處理同時應用于訓練圖像與測試圖像,基于高分辨率圖像的網絡訓練提升網絡識別性能,同時高分辨輸入測試圖像大大提高了檢測與識別精度。
基于RFCN的目標檢測識別效果如圖8所示。

圖8 部分檢測識別結果圖
由檢測識別結果可看出,本文提出的算法對交通標志目標具有良好的檢測識別效果。
在相同的訓練集、測試集及硬件配置條件下,根據精度、召回率及識別時間三個評價參數對本文算法與經典深度學習算法進行對比,結果如表3所示。

表3 不同算法檢測效果對比
為了更全面的表征各算法間檢測識別效果的對比,作PR曲線如圖9所示。

圖9 各檢測算法pr曲線對比圖
復雜交通場景中的交通標志檢測與識別是實現智能交通系統(ITS)與自動駕駛技術的關鍵與基礎,針對智能車真實交通環境中采集的交通標志圖片通常較為模糊的問題且識別率低的問題,本文提出一種級聯ESPCN與RFCN的交通標志檢測與識別方法,首先對輸入圖像進行超分辨率處理,再利用深度網絡架構對其進行檢測與識別。針對訓練過程,采用數據增強的方法對訓練數據集進行擴展,同時選用平衡采樣和多尺度訓練的網絡訓練策略。實驗結果表明,針對模糊的交通標志目標圖像,采用本文方法可以得到較好的識別效果,與現有其余基于深度學習的網絡架構相比,其檢測精度較高且實時性更好,可以滿足智能駕駛中對交通標志的檢測要求,為智能駕駛的決策與控制提供了重要依據。