王弘宇,張雪芹
(華東理工大學 信息科學與工程學院,上海 200237)
傳統的交通標志檢測方法大多是基于形狀特征和顏色特征的方法,易受限于光照、天氣等自然因素或交通標志損壞、遮擋等人為因素影響,而且檢測模型的性能大多依賴于人工提取特征的好壞。近年來交通標志的檢測任務大多使用基于深度學習的方法,如YOLO[1]、SSD[2]系列和R-CNN[3]系列的檢測網絡。Rajendran等[4]在YOLO V3檢測框架中使用特征金字塔網絡(FPN)提高針對小目標交通標志的檢測精度,在德國交通標志數據集(GTSDB)上mAP可達92.2%。Dongtao等[5]通過去除原SSD算法中的高層特征圖,調整低層特征圖的長寬比,在較低層分布更多的錨框來豐富交通標志場景圖中的精細特征提高檢測精度,mAP為75.28%。Roubil等[6]將改進后的Inception v3模型作為Faster R-CNN的特征提取器以提高對交通標志小目標的檢測效果,mAP為92.99%。周等[7]引入淺層特征提取、深層特征提取和HyperNet復雜特征融合模塊對PVANet網絡進行改進,提高小目標交通標志的檢測精度,mAP為84.1%。Cheng等[8]針對交通標志小目標漏檢問題,提出設計局部上下文層獲取交通標志周圍區域信息,從而提高小目標的檢測精度,mAP最高為89.1%。Cen等[9]在基于視頻的交通標志檢測任務中,為提高對小目標檢測的精度,改進了特征生成器的模型,mAP為86%。上述方法驗證,改進檢測模型的特征提取網絡和錨框搜索機制可以有效提高檢測精度和分類效果。
上述檢測網絡均采用基于錨框檢測的方法,在離散的圖像空間中預先人工定義一組固定的長寬比不同的錨框以適應具體應用場景,但無法準確檢測到攝像機拍攝到的形狀畸變的數據,應用場景切換時需重新設計錨框。同時,這些方法需生成大量且密集的錨框,增加了計算成本。針對以上問題,本文提出基于Cascade R-CNN級聯檢測算法改進的GA-CMF R-CNN模型,采用ResneXt101(32×4d)作為特征提取網絡,采用GA-RPN生成自適應且稀疏的錨框,引入級聯的mask分支對目標所在區域進行語義分割。提高了復雜環境下小目標交通標志的檢測精度。
Cascade R-CNN是由Z. Cai等[10]提出的一個端到端的檢測網絡,它通過級聯幾個檢測網絡達到不斷優化預測結果的目的。Cascade R-CNN由特征提取網絡(backbone)、區域生成網絡RPN(region proposal network)和級聯的檢測網絡構成。其backbone采用Resnet101-FPN網絡,用于對輸入圖像進行特征提取,RPN基于圖像特征預測錨框(anchor)的形狀和位置,級聯的檢測網絡的每一級(stage)包含分類分支C和回歸分支B,通過把級聯回歸作為重采樣的機制,使每一級的輸出都能被下一級使用,從而解決兩階段檢測網絡預測的候選區域(region proposal)質量低的問題。通常,Cascade R-CNN的檢測模型在基于不同IoU閾值確定的正負樣本上訓練得到。
1.2.1 網絡結構
為實現復雜場景下小目標交通標志的高精度檢測任務,本文提出一個基于Cascade R-CNN的多任務的級聯網絡模型GA-CMF R-CNN,網絡結構如圖1所示。

圖1 GA-CMF R-CNN多任務級聯模型
在交通標志檢測問題中,GA-CMF R-CNN模型的輸入數據I為自動駕駛前置攝像頭捕捉到的交通駕駛場景圖像。與Cascade R-CNN不同的是,該模型采用ResneXt101(32×4d)-FPN代替Resnet101-FPN作為特征提取網絡,采用GA-RPN代替RPN作為區域生成網絡。通過在級聯結構的檢測網絡中加入mask分割分支,并在級聯的每一級的mask分支間引入信息流,使mask分支的特征信息得以逐層調整從而提高對小目標交通標志的檢測精度。
1.2.2 backbone特征提取網絡
backbone為特征提取網絡,輸入為任意大小的圖像,經卷積神經網絡輸出固定比例尺寸的特征圖。Cascade R-CNN 中backbone使用Resnet101網絡,為了進一步提高對小目標的特征提取能力,本文采用COCO數據集上預訓練的ResneXt101(32×4d)殘差網絡模型[11],結合特征金字塔網絡(FPN)的結構,如圖2所示。

圖2 backbone網絡結構
圖2中,自下而上的路徑即指卷積神經網絡的前饋計算過程, {C2,C3,C4,C5} 是ResneXt101(32×4d)殘差網絡conv2、conv3、conv4和conv5這4個階段的輸出。FPN自上而下的路徑可以看作執行次數較少的二倍上采樣過程,在像素點之間采用內插值法使得各層上采樣后的特征圖尺寸相同。通過橫向連接,即對卷積神經網絡中生成的對應層的特征圖進行1×1的卷積操作,將自下而上生成的特征圖和二倍上采樣得到的結果相融合,最后用3×3的卷積核對每個融合結果進行卷積以消除當前層的混疊效應,得到對應的生成特征 {P2,P3,P4,P5}。
1.2.3 GA-RPN
Cascade R-CNN目標檢測網絡依賴區域生成網絡RPN產生固定尺寸比例的錨框,通過訓練和預測得到含有目標信息的候選區域。RPN通常需要依靠生成密集的先驗框來提高召回率,并且在檢測任務中需根據交通標志的大小來人工預設錨框的尺度和長寬比。考慮交通標志具有大小不均勻且稀疏的特點,本文提出使用GA-RPN生成稀疏且形狀任意的先驗框從而提高模型性能。

(1)

(2)


圖3 GA-RPN網絡結構
1.2.4 mask分支及其信息流
通常mask分支用于對目標所在區域進行語義分割。為了提高檢測精度,同時輸出檢測和分割結果,在Cascade R-CNN網絡的每一級中引入mask分支M,并在不同級的mask分支間引入信息流,使mask分支的特征信息得以逐層調整,通過將每一級的mask特征嵌入并饋送到下一級以提高mask分支的預測結果,進而提高檢測精度。


(3)

M分支間的信息流設計如圖4所示。

圖4 Mask分支結構
級聯mask分支間的信息流可表示為
(4)

1.2.5 GA-CMF R-CNN模型損失函數
GA-CMF R-CNN網絡的訓練損失函數如下
(5)
(6)
(7)
1.2.6 GA-CMF R-CNN算法實現流程
設模型輸入圖像為I,GA-CMF R-CNN算法步驟如下:
步驟1 輸入任意大小的圖像I;
步驟2 圖像I通過由ResneXt101(32×4d)-FPN特征提取器輸出圖像特征FI;

步驟4 通過池化層pool的區域特征提取操作,整合GA-RPN的輸出的anchor和預測特征圖F′I及圖像特征FI,獲得目標區域特征圖;
步驟5 級聯實例分割網絡對目標區域特征圖進行分類和邊界框的回歸以修正anchor,mask分支對交通標志進行分割操作;
步驟6 輸出交通標志檢測和分割結果。
2.1.1 德國交通標志數據集
實驗數據集使用GTSDB Dataset。GTSDB Dataset 是一個針對交通標志檢測的數據集,用于對計算機視覺,模式識別和基于圖像的駕駛員輔助領域的單張圖像進行檢測評估。該數據集由包含1206個交通標志的900張完整圖像組成,圖像大小為1360*800,交通標志尺寸為16×16到128×128不等。每張圖像中都包含0個或多個交通標志。標志分為4個大類別,即強制類、禁止類、危險類和其它類。根據重要性,本文只檢測前三大類。數據集內含有白天和黃昏和多種氣候條件下,不同類型道路(高速公路、農村、城市)的交通場景圖片。圖5數據展示了陰天、強光、逆光和復雜街道背景條件下的駕駛場景。

圖5 GTSDB數據集圖片樣例
實驗將數據集分成訓練集和測試集,其中600張作為訓練集(846個交通標志),300張作為測試集(360個交通標志)。訓練集包含396個違禁類(59.5%),114個(17.1%)強制類和156個(23.4%)危險類交通標志樣本,測試集包含161個禁止類,49個強制類和63個危險類交通標志。實驗根據交通標志的大小將其分為大、中、小3類,尺寸小于32像素定義為小目標,大于32像素小于46像素定義為中目標,大于46像素定義為大目標。
2.1.2 評估指標
實驗采用的評估指標如下:
(1)召回率R(Recall)和平均召回率AR(Average Recall)
式中:TP為真正例(true positives),FN為假陰例(false negatives)。AR即計算測試N張圖片召回率的均值。
(2)平均精度AP(average precision)和平均精度均值mAP(mean average precision)根據PASCAL VOC2010標準

式中:P為檢測精度,r是檢測N張圖像的召回率,N為測試集中所有圖片的個數,P(K)表示檢測k張圖片的精度值,Δr(k)表示調整IoU閾值后,檢測圖片個數從k-1變化到k時召回率r的變化情況,mAP即計算AP的均值。
以在COCO數據集上訓練的ResneXt101(32×4d)作為預訓練模型,基于遷移學習訓練GA-CMF R-CNN 模型。實驗中,GA-CMF R-CNN算法采用SGD隨機梯度下降優化器對模型進行訓練。根據實驗環境配置,默認學習率lr=0.0025, 動量因子momentum=0.9,權重衰減因子weightdecay=0.0001,批大小batchsize=1。學習率優化策略采用warmup的方法,即設置起始學習率lr=1.0/3,warmupiters=500 (初始的500次迭代中學習率線性增加)。其中實驗一、實驗二和實驗三訓練epoch=24,設置在epoch為16和23時自動調整學習率。實驗四epoch=12,在epoch為8和11時自動調整學習率。
實驗運行在裝有Intel Core i7-7700 CPU和NVIDIA GEFORCE GTX 1070 GPU的電腦上,該GPU具有1920 CUDA內核。
2.2.1 實驗一:消融實驗
本實驗的目的是為了驗證GA-CMF R-CNN模型每個改進部分的有效性。實驗在GTSDB數據集上進行,實驗結果見表1。
表1中,模型1~模型4的backbone采用Resnet101-FPN(標識為*),模型5的backbone采用ResneXt101(32×4d)-FPN(標識為**)。APL、APM和APS分別代表大、中和小3類目標的AP值,APP、APMA和APD分別表示對禁止類、強制類和危險類三大類目標的AP值。
從表1可以看出,Cascade R-CNN網絡加入mask分支、mask分支信息流和GA-RPN后,模型對大、中、小目標的檢測精度,對強制、禁止和危險類的識別精度均有所提升。其中,加入mask分支后,對大、中和小目標的檢測精度分別提高了6.8%、1.2%和1.9%;加入GA-RPN后,對大和小目標的檢測精度分別提高了0.7%和9.5%,采用ResneXt101(32×4d)-FPN后,對數據集中占比較少的強制類和危險類的檢測AP值分別提高了3.64%和3.46%。可見,改進模型的各部分對檢測精度的提高均有效。

表1 在GTSDB數據集上的消融實驗結果/%
2.2.2 實驗二:參數實驗
backbone網絡作為特征提取網絡,其特征提取的優劣對后續檢測結果影響很大。由于實驗采用的GTSDB數據集的訓練圖像僅有600張,為防止訓練時產生過擬合問題,采用基于共享參數的遷移學習方法對backbone為ResneXt101(32×4d)-FPN的GA-CMF R-CNN網絡模型進行調參,保證模型具有較快的收斂速度。
ResneXt101(32×4d)網絡在COCO數據集上預訓練,并將預訓練過的模型參數及權重遷移至GA-CMF R-CNN 模型中。采用frozen stages方法固定ResneXt101(32×4d)網絡的conv層參數。frozenstages為-1代表參數完全傳遞,frozenstages為1,2,3分別代表固定ResneXt101(32×4 d)卷積神經網絡的前C2,C3和C4層的參數,后面的參數值隨機初始化進行訓練。實驗結果見表2。
表2中fps和Memory分別代表檢測速率和內存消耗。表2顯示,當frozenstages設置為1時,GA-CMF R-CNN模型的檢測效果最佳,檢測速度和模型對Memory的大小需求適中。因此,后續實驗取frozenstages=1。
2.2.3 實驗三:對比實驗
本實驗將所提GA-CMF R-CNN模型與文獻[13]中的R-FCN、Faster R-CNN、YOLO V2和SSD網絡進行對比。其中,R-FCN和Faster R-CNN檢測框架的backbone為Resnet 101,SSD檢測框架的backbone采用Inception V2。實驗結果見表3。
從表3看出,本文所提的GA-CMF R-CNN模型無論是針對大、中和小交通標志,還是禁止類、強制類和危險類交通標志,其檢測精度均高于對比模型。特別是相較于一階段網絡YOLO V2和SSD,mAP分別提高19.3%和32%;對小目標交通標志,檢測精度分別提升50.7%和66.8%。相較于二階網絡Faster R-CNN、R-FCN,mAP有3%左右的提升;對小目標交通標志,檢測精度分別提升22.8%和33.3%檢測精大幅提升。在檢測速度上,SSD、Faster R-CNN和R-FCN以及本文所提算法均未達到實時檢測要求;YOLO V2盡管可以達到實時檢測效果,但其檢測精度偏低。考慮不同于無人或輔助駕駛中,行人和車輛等檢測任務是為了實現及時避障,對實時性有著很高的要求。小目標交通標志檢測,通常是輔助行駛車輛在較遠距離逼近目標過程中識別出道路指示。在該任務中,高精度識別目標相比實時檢測更為重要。因此,本文所提算法滿足小目標交通標志的檢測要求。綜合考慮,本文所提的GA-CMF R-CNN模型具有較好的性能,尤其對復雜駕駛環境中的小目標檢測,精度大幅提升。

表2 不同frozen stages下模型檢測結果/%及其性能參數

表3 在GTSDB測試集上的對比實驗結果/%
2.2.4 實驗四:CCTSDB數據集上的實驗
GTSDB Dataset數據集樣本數量較少,為了進一步驗證本文所提方法的有效性,本實驗在CCTSDB[14]數據集上驗證并評估。CCTSDB是中國交通標志數據集,包含圖片近15 000張、交通標志近60 000個,分為指示標志、禁令標志和警告標志三大類。通過放射變換、椒鹽噪聲、平移縮放及亮度等圖像變換方法對有限的圖像進行處理,以模擬攝像機拍攝到的真實駕駛場景。實驗中,圖像經處理大小為1360*800,采用和GTSDB數據集相同的方法將交通標志定義為大、中、小3類,訓練集包含15 723張圖像,測試集包含400張圖像。實驗結果如圖6所示。
圖6給出了GA-CMF R-CNN模型在指示標志、禁令標志和警告標志3種類別,以及大、中、小3種尺寸交通標志上的檢測結果。可以看出,AP值均接近98%,并測得其mAP值為98.8%。進一步驗證了GA-CMF R-CNN檢測模型的有效性,同時說明該模型適用于中國交通標志的檢測任務,具有普適性。
為了進一步展示GA-CMF R-CNN模型對小目標交通標志檢測的效果,下面給出部分在復雜多變駕駛場景下對小交通標志檢測效果圖,如圖7所示。

圖6 CCTSDB數據集測試各大類的平均精度值
圖7中,圖7(a)~圖7(c)分別為GTSDB數據集中城市、鄉村、高速公路下小目標交通標志檢測結果。圖7(d) ~圖7(f)分別為CCTSDB數據集中城市、鄉村、高速公路下小目標交通標志檢測結果。圖7(g)~圖7(i)分別為陰暗模糊環境下的小目標交通標志檢測結果。可以看到,GA-CMF R-CNN模型能適用于各種較復雜環境下的檢測。

圖7 小目標交通標志檢測效果
本文針對自動和輔助駕駛中小目標交通標志高精度檢測問題,提出一個基于Cascade R-CNN級聯檢測網絡的GA-CMF R-CNN多任務級聯檢測模型,該網絡在級聯檢測網絡中加入了級聯分割分支,并引入信息流,采用ResneXt101(32×4d)和GA-RPN作為網絡模型的特征提取網絡和區域生成網絡,實現了對交通標志檢測精度,尤其是小目標交通標志檢測精度的提高。未來,可進一步考慮優化該模型框架以提高檢測的速度。