張 昭,姚國(guó)愉,李雪純,張佳樂
(西安郵電大學(xué) 通信與信息工程學(xué)院,陜西 西安 710121)
車輛目標(biāo)檢測(cè)[1-2]在智能交通、智能駕駛、交通安全等方面發(fā)揮著重要作用,其任務(wù)是通過圖像處理技術(shù)識(shí)別出車輛目標(biāo)在圖像中的具體坐標(biāo)位置。如今,車輛目標(biāo)檢測(cè)算法雖然對(duì)正常的目標(biāo)車輛大小的檢測(cè)效果達(dá)到了一定標(biāo)準(zhǔn),但對(duì)遠(yuǎn)距離小目標(biāo)的檢測(cè)性能均未達(dá)到應(yīng)有的效果,并且對(duì)遠(yuǎn)距離小目標(biāo)的檢測(cè)在交通疏導(dǎo)和交通安全上都起著至關(guān)重要的作用,可以達(dá)到緩解交通壓力和降低交通事故的作用。在交通場(chǎng)景復(fù)雜性的背景下,遠(yuǎn)距離小目標(biāo)車輛檢測(cè)存在一定難度。
為了應(yīng)對(duì)這些挑戰(zhàn),目標(biāo)檢測(cè)技術(shù)在不斷的發(fā)展,目標(biāo)檢測(cè)算法在最初的開發(fā)階段是基于手工特征的,但局限在提取特征能力比較弱,于是,由于深度學(xué)習(xí)的效果明顯,便成為了目標(biāo)檢測(cè)的主流方法。最初,AlexNet[3]由Krizhevsky 等人提出,隨后,在卷積神經(jīng)網(wǎng)絡(luò)框架的不斷改進(jìn)和創(chuàng)新下,VGG[4]以及ResNet[5]網(wǎng)絡(luò)等優(yōu)秀網(wǎng)絡(luò)框架先后被提出,為深度學(xué)習(xí)方法在圖像檢測(cè)識(shí)別的應(yīng)用奠定了堅(jiān)實(shí)的基礎(chǔ)。
車輛目標(biāo)檢測(cè)深度學(xué)習(xí)算法被分為兩類:分別是基于two stage 方法和基于one stage 方法?;趖wo stage的車輛檢測(cè)方法分為兩步進(jìn)行,第一步使用某種圖像分割算法提出候選區(qū)域,第二步再將這些候選區(qū)域進(jìn)一步進(jìn)行分類以及位置校準(zhǔn)得到最終的檢測(cè)結(jié)果。2014年,Girshick 等人提出了 R-CNN 算法[6],到 2015年提出的空間金字塔池化結(jié)構(gòu)(Spatial Pyramid Pooling,SPP)[7],再到Girshick 等人提出的 Fast R-CNN 算法[8],最后到Ren 等人提出的Faster R-CNN 算法[9],這是基于two stage 的最優(yōu)秀的經(jīng)典算法,但由于網(wǎng)絡(luò)深度過深,對(duì)小目標(biāo)的特征提取較差。隨后,基于one stage 方法的車輛檢測(cè)方法出現(xiàn),雖然網(wǎng)絡(luò)框架更簡(jiǎn)易,但其用檢測(cè)精度換取了檢測(cè)速度的提升,同樣由于網(wǎng)絡(luò)深度較高,對(duì)底層的空間特征表達(dá)較差,所以對(duì)小目標(biāo)車輛檢測(cè)性較差。
faster R-CNN 雖然是基于two stage 的目標(biāo)檢測(cè)方法,但它的特征網(wǎng)絡(luò)主要都是共享的,并且網(wǎng)絡(luò)是端到端,檢測(cè)速度可以應(yīng)用到實(shí)際,所以我們選擇了基于two stage 的優(yōu)秀經(jīng)典算法faster R-CNN 作本文框架的基礎(chǔ),提出反卷積反向特征融合faster R-CNN 算法,首先對(duì)faster R-CNN 算法的特征提取網(wǎng)絡(luò)進(jìn)行改進(jìn),選用在網(wǎng)絡(luò)深度和網(wǎng)絡(luò)性能均表現(xiàn)良好的ResNet-101 網(wǎng)絡(luò)替換原VGG 網(wǎng)絡(luò),提取出表達(dá)性能更豐富的特征,且結(jié)合FPN 網(wǎng)絡(luò)特點(diǎn)提出反卷積反向特征融合結(jié)構(gòu),將特征提取網(wǎng)絡(luò)的各層次的提取結(jié)果進(jìn)行自上向下和自左向右的特征融合,提高了遠(yuǎn)距離小目標(biāo)這種對(duì)分辨率要求較高的低層特征信息的特征提取和表達(dá)能力,提高網(wǎng)絡(luò)對(duì)不同場(chǎng)景下檢測(cè)的精確度,特別是對(duì)小目標(biāo)的精確度;最后,將網(wǎng)絡(luò)中的ReLU 激活函數(shù)改進(jìn)為Mish 激活函數(shù),用整個(gè)區(qū)域的光滑曲線解決ReLU 函數(shù)會(huì)丟失一部分信息的問題,以整體提高網(wǎng)絡(luò)對(duì)車輛目標(biāo)的精確度、穩(wěn)定性和魯棒性。
圖1 本文算法整體框架
本文為了提高遠(yuǎn)距離小目標(biāo)的檢測(cè)效果,在faster R-CNN 算法的基礎(chǔ)上,對(duì)特征提取網(wǎng)絡(luò)進(jìn)行改進(jìn),并將網(wǎng)絡(luò)中的ReLU 激活函數(shù)改進(jìn)為Mish 激活函數(shù),構(gòu)成了如圖1 所示的本文算法整體框架。本文算法分為四個(gè)階段:(1)輸入圖片經(jīng)過特征提取網(wǎng)絡(luò)得到四個(gè)多尺度融合后的feature maps;(2)分別經(jīng)過RPN 網(wǎng)絡(luò)生成不同大小和比例的候選區(qū)域;(3)分別經(jīng)過RoI pooling 層對(duì)候選區(qū)域和經(jīng)過特征提取網(wǎng)絡(luò)的共享特征圖進(jìn)行處理,并融合后輸出大小統(tǒng)一的特征圖(proposal feature map);(4)對(duì)proposal feature map 經(jīng)過softmax 分類得到具體類別,經(jīng)過邊框回歸修正物體的精確位置。
對(duì)faster R-CNN 算法的特征提取網(wǎng)絡(luò)進(jìn)行改進(jìn),選用ResNet-101 網(wǎng)絡(luò)和提出的反卷積反向特征融合結(jié)構(gòu)相結(jié)合,提高了遠(yuǎn)距離小目標(biāo)這種對(duì)分辨率要求較高的信息的特征提取和表達(dá)能力。
2.2.1 ResNet-101 網(wǎng)絡(luò)
選用在網(wǎng)絡(luò)深度和網(wǎng)絡(luò)性能均表現(xiàn)良好的ResNet網(wǎng)絡(luò)替換原先的VGG 網(wǎng)絡(luò),使用了殘差模塊,不僅減輕了深層網(wǎng)絡(luò)的訓(xùn)練難度,而且有效的改善了網(wǎng)絡(luò)的梯度消失或梯度爆炸問題。本文選用的是ResNet-101 網(wǎng)絡(luò)結(jié)構(gòu),分為5 個(gè)卷積塊,第一個(gè)卷積塊是由一個(gè)7*7 大小、通道數(shù)為64、步長(zhǎng)為2 的卷積核構(gòu)成,第二個(gè)卷積塊中由一個(gè)3*3、步長(zhǎng)為2 的最大池化層,和3 個(gè)如圖1 所示的殘差塊級(jí)聯(lián),輸出通道數(shù)為256,第三個(gè)卷積塊由四個(gè)殘差塊級(jí)聯(lián),輸出通道數(shù)為512,第四個(gè)卷積塊由23 個(gè)卷積塊級(jí)聯(lián),輸出通道數(shù)為1024,第五個(gè)卷積塊由3 個(gè)卷積塊級(jí)聯(lián),輸出通道數(shù)為2048,最后加上一個(gè)全連接層,共101 層網(wǎng)絡(luò)(101 層中不包含激活函數(shù)層和池化層)。
2.2.2 反卷積反向連接融合結(jié)構(gòu)
針對(duì)提高遠(yuǎn)距離小目標(biāo)車輛這種小分辨率的信息的特征提取和特征表達(dá),并且本文網(wǎng)絡(luò)層次較深,直接對(duì)深層次提取到的特征進(jìn)行處理,會(huì)因?yàn)樘卣髦袦\層特征圖語(yǔ)義信息較少,而影響網(wǎng)絡(luò)檢測(cè)的精確度。并且參考到FPN 的特點(diǎn),即對(duì)網(wǎng)絡(luò)中淺層和深層特征圖包含信息的再利用,因?yàn)闇\層特征圖語(yǔ)義信息較少,但包含空間位置信息較為豐富。使用淺層特征能夠使分析出小目標(biāo)車輛的位置信息更加準(zhǔn)確,而深層特征圖中提取到的特征語(yǔ)義信息相對(duì)豐富,在識(shí)別分類上能夠有更佳的表現(xiàn)。所以,在FPN 的基礎(chǔ)上,修改上采樣為反卷積,提出反卷積反向連接融合結(jié)構(gòu)。通過反向連接和橫向連接將深層特征圖的語(yǔ)義信息有效地與淺層特征相結(jié)合,使得融合后的特征圖具有準(zhǔn)確預(yù)測(cè)遠(yuǎn)距離小目標(biāo)的能力。本文特征提取網(wǎng)絡(luò)中的反卷積反向特征融合結(jié)構(gòu)如圖2 所示:
圖2 反卷積反向特征融合結(jié)構(gòu)
輸入圖像經(jīng)過自下向上的路徑進(jìn)行卷積塊的處理,得到五個(gè)層次的特征映射,由于深一層的卷積塊輸出的特征映射尺寸比淺一層的小一倍,所以基于FPN 中自頂向下的中的下一層輸入應(yīng)經(jīng)過上一層的2 倍上采樣得到與左側(cè)路徑平級(jí)的特征映射尺寸,然后再進(jìn)行融合;但由于上采樣僅僅是對(duì)低分辨率特征圖的一個(gè)簡(jiǎn)單的擴(kuò)充,對(duì)特征的逆向的表達(dá)性能與左側(cè)提取到的特征聯(lián)系性較差,會(huì)丟失一些信息,所以提出用反卷積替換上采樣,因?yàn)榉淳矸e是卷積的一個(gè)逆過程,對(duì)信息的丟失會(huì)大大減少;最后,經(jīng)融合后的特征層P2、P3、P4、P5 分別經(jīng)過RPN 層和 RoI pooling 層,在 proposal feature map 上進(jìn)行合并。
反卷積將特征圖不僅達(dá)到放大一倍的效果,還使經(jīng)過融合的特征保持與融合前的特征的緊密聯(lián)系,提高整個(gè)特征提取網(wǎng)絡(luò)多尺度的特征表達(dá)。由于經(jīng)過反卷積后的特征圖大小為原來的2 倍,所以padding 的計(jì)算公式如式1 所示:
其中 p 為 padding,o 為反卷積后的特征圖大小,k 為卷積核大小,s 為步長(zhǎng)。
針對(duì)ReLU 激活函數(shù)的硬零邊界和過于簡(jiǎn)易的非線性處理的問題,選用Mish 激活函數(shù)來替代,兩種函數(shù)的數(shù)學(xué)公式如式2 和式3 所示:
Mish 激活函數(shù)在負(fù)值區(qū)域有輕微的允許,并在整個(gè)區(qū)域的梯度都是光滑的,不會(huì)像ReLU 激活函數(shù)那樣,丟失掉一部分信息,并且Mish 激活函數(shù)在深層次網(wǎng)絡(luò)中準(zhǔn)確性和穩(wěn)定性更好,且提高了網(wǎng)絡(luò)的泛化能力。
實(shí)驗(yàn)環(huán)境:操作系統(tǒng)為Windows 10,CPU 為英特爾Core i5-7300HQ @ 2.50GHz 四核,GPU 為 NVIDIA GeFo rce GTX 1050,顯存4 GB,深度學(xué)習(xí)框架為Tensorflow 框架。在訓(xùn)練階段,初始learning_rate 設(shè)為0.001,momentum設(shè)為 0.9,weight_decay 設(shè)為 0.0005,batch_size 設(shè)為 32,max_iters 設(shè)為 10000。
由于大型公開數(shù)據(jù)集(如VOC 數(shù)據(jù)集等)中目標(biāo)檢測(cè)的種類過多,包含車輛圖片較少,對(duì)網(wǎng)絡(luò)訓(xùn)練效果較差,所以,需要通過制作更加豐富的數(shù)據(jù)集來訓(xùn)練目標(biāo)檢測(cè)網(wǎng)絡(luò)的參數(shù),并提高網(wǎng)絡(luò)對(duì)車輛目標(biāo)檢測(cè)的專業(yè)性。本文制作小目標(biāo)車輛圖像庫(kù)的步驟如下:
(1)搜集來自西安市多處天橋上拍攝的車輛圖片和大型公開數(shù)據(jù)集UA-DETRAC(主要拍攝于北京和天津的道路過街天橋,并已進(jìn)行了手動(dòng)標(biāo)注)的部分圖片,共4196張圖片,包含白天、夜晚、稀疏、密集等綜合場(chǎng)景以達(dá)到豐富圖像庫(kù)場(chǎng)景的目的,并且緊密貼合交通道路實(shí)際情況,小目標(biāo)車輛圖像庫(kù)部分示例如圖 3 中(a)、(b)、(c)、(d)所示。
(2)將所有圖片均通過labelImg 標(biāo)注工具進(jìn)行手工標(biāo)注,標(biāo)注效果圖部分示例如圖4 所示,包含不同尺寸的目標(biāo),生成標(biāo)注文件。
(3)將圖像庫(kù)按8:1:1 比例分為訓(xùn)練集、驗(yàn)證集和測(cè)試集,建立了VOC 格式的數(shù)據(jù)集,以備進(jìn)行小目標(biāo)車輛檢測(cè)實(shí)驗(yàn)。
在道路交通背景下,車輛目標(biāo)檢測(cè)結(jié)果的精確位置起著至關(guān)重要的作用,并且本文目標(biāo)檢測(cè)是二分類的問題,所以,本文使用AP(Average Precision)來衡量網(wǎng)絡(luò)對(duì)于車輛目標(biāo)檢測(cè)的性能。AP 值是由查準(zhǔn)率Precision 和召回率Recall 在不同閾值下構(gòu)成的P(R)曲線下的面積經(jīng)過插值求解計(jì)算得到的,數(shù)學(xué)公式如式4 所示:
圖3 小目標(biāo)車輛圖像庫(kù)部分示例
圖4 標(biāo)注效果圖部分實(shí)例
maxk1≥kP(k1)表示對(duì)于某個(gè)召回率 R,所有召回率不小于R 中的查準(zhǔn)率最大值,ΔR(k)表示召回率的變化值。
查準(zhǔn)率和召回率的計(jì)算公式如式5 和式6 所示,TP為測(cè)試集中正確識(shí)別車輛的檢測(cè)框個(gè)數(shù),F(xiàn)P 為測(cè)試集中錯(cuò)誤識(shí)別車輛的檢測(cè)框個(gè)數(shù),F(xiàn)N 為測(cè)試集中未識(shí)別出車輛的標(biāo)注框個(gè)數(shù),且TP 與FN 之和為所有標(biāo)注框的個(gè)數(shù)。
利用上述實(shí)驗(yàn)數(shù)據(jù)集分別對(duì)已經(jīng)經(jīng)過ImageNet 圖像庫(kù)預(yù)訓(xùn)練的faster R-CNN、YOLOv3 和本文提出的改進(jìn)算法模型進(jìn)行訓(xùn)練和測(cè)試。faster R-CNN 是在two-stage 目標(biāo)檢測(cè)方法中具有代表性的經(jīng)典算法,在精度和檢測(cè)速度均達(dá)到了實(shí)際應(yīng)用的標(biāo)準(zhǔn),YOLOv3 是在one stage 目標(biāo)檢測(cè)算法中的具有代表性經(jīng)典算法,所以,本文對(duì)在faster R-CNN 基礎(chǔ)上提出的反卷積反向特征融合faster R-CNN、faster R-CNN 和 YOLOv3 在測(cè)試集上進(jìn)行對(duì)比實(shí)驗(yàn),對(duì)比三種算法在綜合場(chǎng)景下對(duì)不同大小目標(biāo)車輛的檢測(cè)精度;本文借鑒了MS COCO 數(shù)據(jù)集,對(duì)大目標(biāo)、中等目標(biāo)、小目標(biāo)的范圍進(jìn)行了定義,如表1 所示:
表1 目標(biāo)大小區(qū)分定義
圖5 所示為faster R-CNN、YOLOv3 和本文算法的車輛檢測(cè)效果對(duì)比。
圖5 三種算法的車輛檢測(cè)效果
圖5(a)所示為faster R-CNN 檢測(cè)效果圖,可看出雖然在精確度上已經(jīng)達(dá)到了一定的標(biāo)準(zhǔn),但會(huì)對(duì)小目標(biāo)車輛出現(xiàn)漏檢的情況,并且明顯能觀察出越小的目標(biāo)車輛檢測(cè)效果越差;圖5(b)所示為YOLOv3 檢測(cè)效果圖,YOLOv3算法中結(jié)合了多尺度融合預(yù)測(cè),可以觀察到小目標(biāo)車輛檢測(cè)效果有所提升,并具有一定的檢測(cè)精度,但相對(duì)于faster R-CNN,對(duì)大分辨率目標(biāo)的精確位置檢測(cè)稍差;圖5(c)所示為本文提出的反卷積反向特征融合faster RCNN 算法的檢測(cè)效果,可看出不僅能保證大分辨率目標(biāo)的檢測(cè)精度,并且經(jīng)過特征提取網(wǎng)絡(luò)和激活函數(shù)層的改進(jìn),提高了小分辨率目標(biāo)的特征提取效果。
三種算法在測(cè)試集上的檢測(cè)結(jié)果如表2 所示。
表2 三種算法在測(cè)試集上的檢測(cè)結(jié)果
由表2 可以對(duì)比出,本文算法在綜合場(chǎng)景下的AP值均高于 faster R-CNN 和 YOLOv3,且 faster R-CNN 的AP 值高于YOLOv3;在目標(biāo)尺寸方面,雖然faster RCNN 對(duì)大目標(biāo)和中等目標(biāo)的檢測(cè)精度優(yōu)于YOLOv3,但YOLOv3 對(duì)小目標(biāo)的檢測(cè)精度優(yōu)于faster R-CNN,然而,本文算法在三個(gè)尺寸目標(biāo)的檢測(cè)精度都高于另外兩種算法;本文算法針對(duì)小目標(biāo)車輛檢測(cè)比f(wàn)aster R-CNN、YOLOv3 分別提高了5.72%、2.10%;綜合場(chǎng)景下本文算法的 AP 值比 faster R-CNN、YOLOv3 分別提高了2.18%、2.98%。
本文提出了反卷積反向特征融合faster R-CNN 算法,與faster R-CNN 和YOLOv3 算法相比,選用ResNet-101 網(wǎng)絡(luò)和提出的反卷積反向特征融合結(jié)構(gòu)相結(jié)合,來改進(jìn)faster R-CNN 算法的特征提取網(wǎng)絡(luò),提高了遠(yuǎn)距離小目標(biāo)這種對(duì)分辨率要求較高的低層信息的特征提取和表達(dá)能力;其次,利用Mish 激活函數(shù)替換網(wǎng)絡(luò)中的ReLU激活函數(shù),提高整體網(wǎng)絡(luò)的精確度、穩(wěn)定性和魯棒性;通過實(shí)驗(yàn)驗(yàn)證,本文算法在綜合場(chǎng)景下的檢測(cè)精度均有不同程度的提高,尤其是對(duì)小目標(biāo)的車輛檢測(cè)效果提升更突出。在未來的工作中,應(yīng)該提高小目標(biāo)車輛檢測(cè)網(wǎng)絡(luò)在光照和遮擋等情況下的泛化能力。