程雅慧, 蔡 烜, 馮 瑞
1(復(fù)旦大學(xué) 計(jì)算機(jī)科學(xué)技術(shù)學(xué)院, 上海 201203)
2(上海視頻技術(shù)與系統(tǒng)工程研究中心, 上海 201203)
3(復(fù)旦大學(xué) 上海市智能信息處理實(shí)驗(yàn)室, 上海 201203)
4(物聯(lián)網(wǎng)技術(shù)研發(fā)中心, 上海 201204)
車輛檢測(cè)[1]在計(jì)算機(jī)視覺領(lǐng)域是一個(gè)很重要的研究課題, 如智能交通, 自動(dòng)駕駛等. 近年來, 業(yè)內(nèi)已提出了很多基于深度學(xué)習(xí)的車輛檢測(cè)算法, 實(shí)際應(yīng)用表明,基于深度學(xué)習(xí)的方法比傳統(tǒng)手工提取特征方法更加有效.
基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)(Region-based Convolutional Neural Network, RCNN)是一種典型的基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法, 在車輛檢測(cè)領(lǐng)域被廣泛使用. 基于RCNN框架, 通過卷積神經(jīng)網(wǎng)絡(luò)提取給定的候選目標(biāo)區(qū)域特征, 用于預(yù)測(cè)目標(biāo)類別和目標(biāo)位置. Faster-RCNN算法通過在RCNN最后一層卷積層提取出的特征同時(shí)用于候選目標(biāo)框的生成和最終的目標(biāo)檢測(cè).
研究發(fā)現(xiàn), 隨著網(wǎng)絡(luò)層數(shù)的不斷增加, 卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network, CNN)能很好地學(xué)習(xí)低層特征和高層語義特征. 高層卷積層在分類任務(wù)方面比定位任務(wù)具有更好的性能, 有學(xué)者[2,3]試圖結(jié)合多種低/高層卷積層用于目標(biāo)檢測(cè), 盡管這些方法不同程度上改善了目標(biāo)檢測(cè)性能, 但是在有不同尺度的車輛檢測(cè)方面, 多個(gè)不同尺寸的車輛檢測(cè)精度無法達(dá)到平衡. 特別地, 相對(duì)于大尺寸目標(biāo), 這些方法在小尺寸目標(biāo)檢測(cè)方面表現(xiàn)不盡人意.
本文提出了一種適用于小尺寸車輛的檢測(cè)算法,即基于組合目標(biāo)框提取結(jié)構(gòu)的擴(kuò)張全卷積神經(jīng)網(wǎng)絡(luò)(Dilated Fully Convolutional Network With Grouped Proposals, DFCN-GP). 圖 1為 DFCN-GP的算法框架,算法包括用于圖像特征提取的擴(kuò)展卷積網(wǎng)絡(luò)(Dilated Convolutional Network, DCN)、組合目標(biāo)框提取網(wǎng)絡(luò)(Grouped Region Proposal Network, GRPN), 以及用于車輛檢測(cè)的全卷積網(wǎng)絡(luò)(Fully Convolutional Network,F(xiàn)CN)三部分.
圖1 DFCN-GP算法框架圖
本文方法的主要貢獻(xiàn)為: 1)提出了兩組組合方式,即混合從低層到高層卷積層的特征圖, 并將兩組混合特征應(yīng)用到區(qū)域目標(biāo)框提取網(wǎng)絡(luò), 同時(shí)生成候選車輛區(qū)域. 與現(xiàn)有方法不同, 這種組合結(jié)構(gòu)更多地聚焦低層卷積層的特征. 2)將低層和高層特征產(chǎn)生的目標(biāo)候選框進(jìn)行融合, 有利于收集不同尺度的候選目標(biāo)框, 降低目標(biāo)丟失率. 3)將最后一層卷積層改成擴(kuò)張卷積層并把步長(zhǎng)改為1, 使最后一層卷積層的特征圖擁有更大的尺寸和感受野, 可同時(shí)用于目標(biāo)框提取網(wǎng)絡(luò)和車輛檢測(cè)網(wǎng)絡(luò), 進(jìn)而在候選目標(biāo)框的生成和最終目標(biāo)檢測(cè)中更多的細(xì)節(jié)信息. 上述改進(jìn)可使模型能有效檢測(cè)圖像中較小的車輛目標(biāo).
在實(shí)驗(yàn)部分, 將本文提出的網(wǎng)絡(luò)模型與現(xiàn)有最新的網(wǎng)絡(luò)模型在UA-DETRAC車輛數(shù)據(jù)集上進(jìn)行對(duì)比.實(shí)驗(yàn)結(jié)果顯示, 本文方法取得了71.56% mAP, 超越了現(xiàn)有最好方法的結(jié)果. 此外本文提出的網(wǎng)絡(luò)模型同樣通過控制變量對(duì)比試驗(yàn), 證明了組合特征提取方式和擴(kuò)張卷積設(shè)置的有效性.
本文論文剩余部分安排如下: 第1節(jié)討論了提出的算法模型, 第2節(jié)對(duì)本文算法進(jìn)行了實(shí)驗(yàn)并對(duì)結(jié)果進(jìn)行了分析, 第3節(jié)為總結(jié)全文.
本文提出一種用于車輛檢測(cè)的端到端學(xué)習(xí)網(wǎng)絡(luò)(DFCN-GP), 可從不同的卷積層級(jí)中實(shí)現(xiàn)候選目標(biāo)框的提取和車輛檢測(cè). 如圖1所示, 網(wǎng)絡(luò)的前向路徑包括以下幾個(gè)步驟:
Step1. 圖像特征提取. 利用Resnet-101和擴(kuò)張卷積層提取輸入圖像的特征, 用于后續(xù)目標(biāo)框的提取和車輛檢測(cè).
Step2. 區(qū)域候選目標(biāo)框提取. 提出一種兩組組合方式, 即從不同卷積層生成候選目標(biāo)框.
Step3. 車輛分類和定位. 利用多任務(wù)學(xué)習(xí)方式, 在最后一層擴(kuò)張卷積層同時(shí)判別候選框是否為車輛以及估計(jì)車輛的位置.
通過DCN從輸入圖像中提取車輛信息特征. 具體地, 本文的特征提取網(wǎng)絡(luò)基于改進(jìn)的ResNet-101[4]結(jié)構(gòu). 與傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練不同, ResNet利用殘差結(jié)構(gòu)實(shí)現(xiàn)更為有效的模型訓(xùn)練, 在圖像分類和目標(biāo)檢測(cè)任務(wù)中性能優(yōu)異.
如圖1所示, 本文的特征提取網(wǎng)絡(luò)包括5個(gè)殘差結(jié)構(gòu), 分別標(biāo)注為根據(jù)原生ResNet-101的設(shè)置, 每個(gè)殘差塊會(huì)連接步長(zhǎng)為2的卷積層. 因此, 原生ResNet-101網(wǎng)絡(luò)中每個(gè)殘差塊的特征圖步長(zhǎng)分別是 {2 ,4,8,16,32}, 即給定X×Y大小的輸入圖像, 則最后的卷積層的特征圖, 輸出大小為X/32×Y/32. 當(dāng)用于目標(biāo)框提取和車輛檢測(cè)時(shí),C5的尺寸相對(duì)于原始圖像的細(xì)節(jié)信息過小, 而且容易丟失小目標(biāo).
為了解決上述問題, 考慮從一下兩個(gè)方面對(duì)網(wǎng)絡(luò)進(jìn)行改進(jìn): 1)改變后的卷積層步長(zhǎng), 將步長(zhǎng)2改為步長(zhǎng)1, 進(jìn)而增加最后一層卷積層的特征圖大小. 通過這樣方式,直接接在后面, 不加任何下采樣處理. 2)基于文獻(xiàn)[5]的思路, 應(yīng)用擴(kuò)張卷積的思想, 增加的感受野, 最終網(wǎng)絡(luò)的5個(gè)殘差塊的步長(zhǎng)變?yōu)?/p>
在此步驟中, 算法從提取的特征圖中產(chǎn)生候選的目標(biāo)框, 這個(gè)過程由區(qū)域目標(biāo)框提取(Region Proposal Network, RPN)這樣的子網(wǎng)絡(luò)完成. 正如文獻(xiàn)[6]中討論的那樣, 較高層的特征圖包含更多的高級(jí)語義信息, 而較低層的特征圖包含更多的細(xì)節(jié)信息. 為了更好地發(fā)現(xiàn)圖像中不同尺度的車輛目標(biāo), 本文旨在探索不同級(jí)別的特征圖所包含的信息以及更多地聚焦在小目標(biāo)檢測(cè)上. 為了這個(gè)目的, 本文發(fā)明一個(gè)基于組合的區(qū)域目標(biāo)框提取網(wǎng)絡(luò), 用來結(jié)合兩組卷積特征圖. 這兩個(gè)組分別被命名為group-high和group-low. 在每個(gè)組中,RPN網(wǎng)絡(luò)在兩個(gè)不同尺度級(jí)別上同時(shí)生成固定框(anchors).
上述用于目標(biāo)框提取的網(wǎng)絡(luò)模型對(duì)現(xiàn)有方法進(jìn)行了優(yōu)化和提升: 原生RPN網(wǎng)絡(luò)僅從最后一層卷積層上計(jì)算目標(biāo)框, 同時(shí)也使用了多尺度的anchors. 有研究[2,3,7]提出結(jié)合形成特征圖, 即超-特征(Hyper Feature), 然而, 盡管 Hyper Feature 結(jié)合了低層和高層的信息, 但對(duì)車輛檢測(cè), 尤其是對(duì)小目標(biāo)車輛的檢測(cè)性能不佳, 本文提出的“兩組”策略在車輛檢測(cè)任務(wù)中會(huì)帶來更高的召回率.
在前述步驟的基礎(chǔ)上, 可通過FCN判別提取框是否為車輛, 并估計(jì)估計(jì)車輛的準(zhǔn)確位置坐標(biāo). 為此, 模型首先通過PS-ROI pooling[8]操作在上裁剪出感興趣區(qū)域, 然后再接上兩個(gè)分支的全卷積網(wǎng)絡(luò). 第一個(gè)分支實(shí)現(xiàn)分類, 即對(duì)裁剪出的區(qū)域打分. 第二個(gè)分支實(shí)現(xiàn)位置預(yù)測(cè), 即對(duì)有目標(biāo)的區(qū)域生成一個(gè)8維的向量(前景/背景).
在模型訓(xùn)練階段, 本文的目標(biāo)是最小化多任務(wù)損失函數(shù), 包括分類和定位兩個(gè)部分. 具體為給定標(biāo)簽值和預(yù)測(cè)值 {s,s?}和候選框的補(bǔ)償值{t,t?}, 目標(biāo)檢測(cè)損失函數(shù)定義如下:
在公式(2)中,A=(Ax,Ay,Aw,Ah)由anchor計(jì)算得到, 而G=(Gx,Gy,Gw,Gh)是代表標(biāo)簽的目標(biāo)框. 根據(jù)文獻(xiàn)[9]中的設(shè)置, 平衡的缺省值為1.
相對(duì)于常規(guī)Resnet-101模型,本文模型直接預(yù)測(cè)車輛是通過改良的具有大尺寸和大感受野的特征圖. 我們發(fā)現(xiàn)在改良過的上預(yù)測(cè)會(huì)比Hyper Feature效果更好.
在實(shí)驗(yàn)部分, 首先設(shè)計(jì)控制變量對(duì)比實(shí)驗(yàn)驗(yàn)證本文網(wǎng)絡(luò)各組成部分的有效性, 然后將本文模型與其他典型模型進(jìn)行對(duì)比. 算法模型在UA-DETRAC[10]數(shù)據(jù)集上訓(xùn)練模型, 該數(shù)據(jù)集由10個(gè)視頻組成, 視頻由Cannon EOS 550D的攝像機(jī)在中國(guó)北京和天津兩座城市共24個(gè)不同的位置錄制而成. 視頻每秒25幀且像素為960×540, 數(shù)據(jù)集總共超過14萬幀. 數(shù)據(jù)集中共有8250個(gè)車輛, 121萬個(gè)車輛矩形框被標(biāo)注.
對(duì)輸入數(shù)據(jù), 首先將訓(xùn)練圖片歸一化, 將圖片短邊歸一化為540. 提取圖像特征的共享卷積層初始參數(shù)設(shè)置為在Imagenet上訓(xùn)練的Resnet-101參數(shù), 其余層的初始參數(shù)采用0均值, 0.01方差的高斯隨機(jī)數(shù).
在區(qū)域目標(biāo)框提取網(wǎng)絡(luò)訓(xùn)練階段, 本文將與任何標(biāo)簽框面積重疊比率(Intersection-Over-Union, IOU)大于0.7的候選提取框設(shè)置為含有目標(biāo)的候選框. 將與任何標(biāo)簽框的IOU小于0.3的候選提取框設(shè)置為不含目標(biāo)的框.
在目標(biāo)檢測(cè)網(wǎng)絡(luò)訓(xùn)練部分, 本文將與任何標(biāo)簽框的IOU大于0.6的候選提取框設(shè)置為含目標(biāo)的候選框.將與任何標(biāo)簽框的IOU小于0.6的候選提取框設(shè)置為不含目標(biāo)的框. 在測(cè)試階段, 目標(biāo)檢測(cè)網(wǎng)絡(luò)部分應(yīng)用NMS來合并有重疊的候選框.
在訓(xùn)練過程中, 將批大小設(shè)置為128, 總迭代次數(shù)設(shè)置為9萬輪. 學(xué)習(xí)率初始值為1e-3, 每3萬輪迭代乘以系數(shù)0.1. 在算法效率方面, 本文的模型在測(cè)試階段處理一張圖像(9 60×540)需0.4 s.
對(duì)于區(qū)域提取目標(biāo)框網(wǎng)絡(luò)和檢測(cè)網(wǎng)絡(luò)來說, 輸入設(shè)置對(duì)最終檢測(cè)效果至關(guān)重要. 下面針對(duì)不同特征圖的結(jié)合方式設(shè)置了幾組控制變量對(duì)比試驗(yàn), 并討論其效果.
2.2.1 區(qū)域提取目標(biāo)框網(wǎng)絡(luò)輸入設(shè)置
本文嘗試了不同卷積層的結(jié)合對(duì)目標(biāo)框提取的影響. 表1為使用不同卷積層作為RPN的輸入對(duì)應(yīng)的提取框召回率, 以及其最終的檢測(cè)率. 目標(biāo)包括小/中/大車輛尺寸. 最后一列為最終的檢測(cè)精度(Average Precision,AP). 行(a)是將結(jié)合在一起作為RPN的輸入.通過設(shè)置6種提取框的尺度, 分別為從結(jié)果可以看出, 小目標(biāo)的召回率明顯小于中等目標(biāo)和大目標(biāo)的召回率. 行(b)是將C3,C4,C5結(jié)合在一起作為RPN的輸入, 同樣也是設(shè)置6種提取框的尺度. 從結(jié)果可以發(fā)現(xiàn)大目標(biāo)的召回率明顯提升,但小目標(biāo)及中等目標(biāo)的召回率大幅度下降. 和行(b)相比, 行(c)簡(jiǎn)單地結(jié)合低層特征C1,C2來預(yù)測(cè)小目標(biāo)和中等目標(biāo)框. 本文對(duì)于高層的融合特征圖設(shè)置5種目標(biāo)框尺度為 {3 22,642,1282,2562,5122}, 對(duì)于低層融合特征設(shè)置2種目標(biāo)框尺度為 {1 62,322}. 從結(jié)果可以看出,中等和小目標(biāo)的召回率有了輕微的提升, 但是沒有融合高層語義特征使得小目標(biāo)并不能正確的分類出來.最終在行(d)中, 本文提供了自己提出網(wǎng)絡(luò)的結(jié)果. 同樣對(duì)高層融合特征設(shè)置5種目標(biāo)框尺度, 對(duì)低層融合特征設(shè)置2種目標(biāo)框尺度. 最終發(fā)現(xiàn)本文的融合策略可以大幅度改善小目標(biāo)和中等目標(biāo)的召回率, 并且維持大目標(biāo)的召回率基本不變. 本文提出的融合方法在目標(biāo)框提取中對(duì)于尋找各種尺寸的目標(biāo)框達(dá)到一個(gè)很好的平衡. 另外, 最終本文方法的檢測(cè)精度(行(d))也同樣高于其它模型.
表1 不同卷積層特征圖的結(jié)合方法作為RPN網(wǎng)絡(luò)的輸入在UA-DETRAC驗(yàn)證數(shù)據(jù)集上目標(biāo)的召回率
2.2.2 全卷積檢測(cè)網(wǎng)絡(luò)的輸入設(shè)置
這部分實(shí)驗(yàn)了不同卷積層的特征會(huì)怎樣影響最終的檢測(cè)結(jié)果. 平均檢測(cè)精度(AP)結(jié)果如表2所示. 行(a-d)直接在單個(gè)卷積層C1,C3或上檢測(cè)目標(biāo). 從表中可以發(fā)現(xiàn), 利用高層特征(行(c, d))作為輸入比利用低層特征特征作為輸入要取得更好的檢測(cè)效果. 這樣說明相比于低層特征, 高層特征在檢測(cè)任務(wù)中更加有效. 注意到行(d)是本文提出網(wǎng)絡(luò)的設(shè)計(jì), 和行(c)不同點(diǎn)僅在于的特征圖尺寸和感受野要大. 行(d)比行(c)結(jié)果更好證明了將步長(zhǎng)改為1以及擴(kuò)張卷積思想的引入是非常有效的. 行(e)也例舉了C1-C3-C5(Hyper Feature)融合特征作為檢測(cè)網(wǎng)絡(luò)輸入的結(jié)果. 結(jié)果顯示改良的(×16)能更好地檢測(cè)目標(biāo), 同時(shí)也說明在檢測(cè)網(wǎng)絡(luò)中引入低層特征可能會(huì)帶來更多噪聲, 并不適合檢測(cè)任務(wù).
表2 經(jīng)過ROI池化操作后不同的卷積特征圖作為最終全卷積檢測(cè)網(wǎng)絡(luò)的輸入在UA-DETRAC驗(yàn)證數(shù)據(jù)集上平均精度
將本文的模型與其他現(xiàn)有目標(biāo)檢測(cè)模型對(duì)比(UA-DETRAC測(cè)試集). 用來對(duì)比的檢測(cè)模型包括DPM[11], ACF[12], R-CNN[13], Faster-RCNN[14],CompACT[15]和EB. ACF和DPM是經(jīng)典的目標(biāo)檢測(cè)方法. ACF基于一種加速框架而DPM基于SVM(支持向量機(jī)). R-CNN和Faster-RCNN都是基于區(qū)域提取的目標(biāo)檢測(cè)卷積神經(jīng)網(wǎng)絡(luò). CompACT通過一種級(jí)聯(lián)的方式檢測(cè)目標(biāo). EB是基于Faster-RCNN的改良算法, 增加一個(gè)額外的精調(diào)網(wǎng)絡(luò).
表3列出了不同方法在不同子測(cè)試集上的檢測(cè)精度. 之前最好的檢測(cè)網(wǎng)絡(luò)是EB(獲ICME2017最佳論文), 通過對(duì)比發(fā)現(xiàn), 本文方法在全集上的AP為71.56%.注意到本文提出的方法在不同子類別上的檢測(cè)精度也是最高的. 圖2展示了不同檢測(cè)方法的精度-召回率曲線圖. 這同樣說明相比于其他方法, 本文方法具有明顯的優(yōu)越性. 圖3圖形化展示了一些方法在UA-DETRAC數(shù)據(jù)集上的檢測(cè)結(jié)果, 可以看出本文方法對(duì)于不同尺度的車輛以及不同的天氣條件下都具有出色的檢測(cè)效果.
表3 和其他先進(jìn)的方法在UA-DETRAC測(cè)試集上的檢測(cè)結(jié)果
圖2 對(duì)比檢測(cè)算法在UA-DETRAC測(cè)試集上的精度-召回率曲線
圖3 本文提出的車輛檢測(cè)算法在UA-DETRAC測(cè)試集上的結(jié)果(紅色框標(biāo)出)
本文提出了一種新的車輛檢測(cè)算法DFCN-GP. 通過在目標(biāo)框提取和車輛檢測(cè)中引入了兩組卷積層特征圖和擴(kuò)張卷積層, 實(shí)現(xiàn)了小目標(biāo)車輛檢測(cè)精度的大幅度提升. 控制變量對(duì)比試驗(yàn)和與先進(jìn)模型對(duì)比的實(shí)驗(yàn)結(jié)果驗(yàn)證了本文算法的有效性.