国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于改進卷積神經(jīng)網(wǎng)絡的交通場景小目標檢測

2020-06-19 08:50鄭秋梅王璐璐王風華
計算機工程 2020年6期
關鍵詞:特征提取尺度卷積

鄭秋梅,王璐璐,王風華

(中國石油大學(華東) 計算機科學與技術學院,山東 青島 266580)

0 概述

隨著社會經(jīng)濟的發(fā)展與城市化進程的加快,城市人口和機動車輛日益增加,城市道路交通的擁擠與阻塞已成為大中城市中普遍存在的問題。交通車輛識別系統(tǒng)通過快速準確檢測交通道路上的機動車輛,對于維護道路交通秩序、保障道路交通安全暢通、引導車輛和行人通行等方面具有重要作用[1]。在交通目標識別過程中,小目標識別與跟蹤是研究的關鍵問題之一。目前,卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)已被廣泛應用于圖像識別與目標檢測,其避免了手工特征設計難度大的問題,且無需預處理就可從大量樣本中學習更多的特征進行目標檢測?,F(xiàn)有基于CNN的目標檢測方法主要包括基于區(qū)域的檢測方法(如R-CNN[2]、Fast R-CNN[3]、Faster R-CNN[4]等)和基于回歸的檢測方法(如YOLO[5]、YOLOv2[6]、YOLOv3[7]、SSD[8]等)。

在基于區(qū)域的檢測方法中,R-CNN采用固定尺寸的輸入圖像,訓練步驟復雜且速度慢。Fast R-CNN在R-CNN的基礎上,結合SPP-Net[9]提升了R-CNN的訓練和檢測速度,但由于其采用選擇性搜索算法[10]提取建議框,導致網(wǎng)絡檢測速度依舊無法滿足實時性要求。Faster R-CNN在Fast R-CNN的基礎上,使用RPN網(wǎng)絡提取建議框,提升了檢測精度與速度,但仍不能夠滿足實時性要求。

在基于回歸的檢測方法中,YOLO檢測速度可達到45 frame/s,由于其無需生成建議框,因此存在嚴重的定位誤差,而損失函數(shù)設計也存在不合理之處,導致部分靠得較近或尺寸較小的目標檢測精度不高。YOLOv2采用Darknet-19結構作為特征提取網(wǎng)絡,大幅提升了檢測速度,但由于其結構簡單,對于小目標的檢測精度提升仍較有限。SSD算法采用VGG[11]作為特征提取結構,利用不同卷積層的特征信息增強提取特征的表征能力,具有較高的檢測準確率,但由于SSD提取的特征單一,因此在小目標檢測方面性能仍不佳。YOLOv3在YOLOv2的基礎上,利用ResNet網(wǎng)絡[12]增加特征提取的網(wǎng)絡層數(shù),以Darknet-53結構作為特征提取網(wǎng)絡,獲得接近于ResNet101的檢測效果,ResNet網(wǎng)絡的殘差塊結構和跳躍連接機制有效解決了網(wǎng)絡加深導致的梯度彌散和梯度爆炸問題,同時特征金字塔網(wǎng)絡(Feature Pyramid Network,FPN)[13]融合多尺度特征信息,提高了檢測精度,但過深的網(wǎng)絡結構容易使得淺層特征層中的目標位置信息丟失,導致較高的漏檢率,從而不利于小目標的檢測,因此相比YOLOv2檢測速度較慢。

綜上所述,對于智能交通中小尺度車輛檢測精度仍有較大的提升空間。在復雜背景的交通圖像檢測中,淺層特征具有較高的分辨率及更強的位置信息。深層特征具有較強的語義信息,但位置信息較粗糙。隨著網(wǎng)絡結構的加深,導致淺層特征信息利用不充分,致使許多小目標位置信息丟失。另外,過于復雜和冗余的網(wǎng)絡結構以及過多的參數(shù)會導致訓練復雜、數(shù)據(jù)需求增加以及檢測速度降低[14]。

在實時小目標檢測方法中,YOLOv3結合Darknet-53結構和融合多尺度FPN結構,取得了較好的檢測性能,但YOLOv3的特征提取網(wǎng)絡過深,沒有充分利用淺層特征進行融合,并且損失函數(shù)設計也存在不合理之處,因此降低了檢測速度。本文提出改進的S-YOLOv3方法,使用ResNet網(wǎng)絡優(yōu)化YOLOv3的特征提取結構Darknet-53,增強低層特征的表征能力。應用FPN獲取目標的4個尺度特征,通過充分融合淺層特征和深層特征信息,增強小目標物體、相互遮擋物體的檢測效果。另外,改進原損失函數(shù),通過調(diào)整不同大小的目標對損失函數(shù)的影響權重,降低大目標誤差對小目標的影響,從而加速模型收斂,提升小目標檢測精度。

1 YOLOv3方法

YOLOv3方法按照特征圖的尺度劃分為S×S的網(wǎng)格,每個網(wǎng)格預測B個邊界框并對C個類別的目標進行檢測,最終輸出每類目標的邊界框并分別計算每個邊界框的置信度。置信度由每個網(wǎng)格中所包含的檢測目標概率和輸出邊界框的預測框與真實邊界框的并交比(Intersection over Union,IOU)共同確定。

YOLOv3設定每個網(wǎng)格單元預測3個anchor box,每個anchor box預測3個邊界框,每個邊界框預測4個值,分別為tx、ty、tw、th,若目標中心在單元格中相對于圖像左上角有偏移(cx,cy),如圖1所示[7],則進行修正,具體公式[14]為:

bx=σ(tx)+cx

by=σ(ty)+cy

bw=pwetw

bh=pheth

其中,pw、ph表示網(wǎng)格對應anchor box的寬和高,計算邊界框的位置,通過設定合適的置信度分數(shù),過濾低分的預測框,對剩下的預測框執(zhí)行非極大值抑制[15]處理,得到最終的預測結果。

YOLOv3方法改進了YOLOv2的Darknet-19,以更深的Darknet-53結構作為新的特征提取網(wǎng)絡,如表1所示,該特征提取網(wǎng)絡利用ResNet網(wǎng)絡的殘差塊結構和跳躍連接機制,由52個卷積層和1個全連接層組成,交替使用1×1和3×3的濾波器進行卷積。殘差塊是若干層的集合,并不是直接輸出特征表示,而是輸出特征表示和輸入之間的殘差,使用該殘差塊加上原始輸入可以得到所求的特征表示。該跳躍連接機制使得每個殘差塊只需擬合殘差,解決了反向傳播梯度彌散問題,并且降低了每個殘差塊數(shù)據(jù)擬合的復雜程度。雖然更深的網(wǎng)絡層可以提高特征提取能力,但是隨著網(wǎng)絡的加深,復雜的網(wǎng)絡結構及過多的參數(shù)會使訓練過程更繁瑣,從而增大數(shù)據(jù)需求并減慢檢測速度,因此YOLOv3采用Darknet-53結構。

表1 YOLOv3網(wǎng)絡結構

同時,YOLOv3借鑒了FPN的思想,如圖2所示,采用3個不同尺度的特征層來預測待檢測目標,輸出3個尺度規(guī)格分別為13×13、26×26、52×52的特征圖,在網(wǎng)絡輸出的后兩個特征圖上進行采樣,與網(wǎng)絡前期相應尺度的特征圖融合成有效信息進行預測。相比YOLOv2和YOLO,YOLOv3在損失一定速度的基礎上提升了檢測精度,但仍能較好地滿足實時性要求。采用多尺度融合的檢測方法對于圖像中不同尺寸的目標檢測具有較好的魯棒性,但僅利用3個尺度的特征對淺層信息的利用并不充分,會導致含細節(jié)信息的低層特征沒有得到充分利用,許多小目標的位置信息丟失,不利于小目標的檢測。

圖2 YOLOv3中的FPN多尺度融合

2 S-YOLOv3方法

2.1 特征提取網(wǎng)絡

受ResNet網(wǎng)絡結構的跳躍連接機制和殘差塊結構的啟發(fā),本文特征提取網(wǎng)絡在原始YOLOv3 Darknet-53結構的基礎上進行改進,構建Darknet-50結構。過渡層為交替使用的1×1和3×3卷積層,使用1×1的卷積層有助于平滑提取的特征,避免下采樣過程中丟失更多的特征信息。在特征提取的卷積過程中繼續(xù)利用ResNet結構進行恒等映射與殘差分支,注重淺層特征信息的提取,同時去除YOLO檢測層前的兩組卷積層,簡化網(wǎng)絡結構。在保證檢測滿足實時性要求的前提下,提升檢測精度并降低漏檢率。

本文設計的Darknet-50網(wǎng)絡結構如表2右側所示,左側為原始YOLOv3的Darknet-53結構。改進后的特征提取網(wǎng)絡Darknet-50更加注重淺層特征的信息提取,去除了冗余的卷積層,過渡層增加的1×1卷積層可以有效避免下采樣過程中丟失更多的特征信息,進一步增強目標特征的判別能力。

表2 改進前后的YOLOv3網(wǎng)絡結構對比

2.2 多尺度融合

在復雜背景的圖像檢測中,小目標一般只有幾十甚至幾個像素,特征提取網(wǎng)絡從這些少量像素中能提取出的語義信息非常有限。在特征提取過程中,淺層特征具有較高的分辨率及更強的位置信息,深層特征具有較強的語義信息,但位置信息比較粗糙。根據(jù)圖像梯度上升法[16],利用不同層提取出的特征對原始圖像進行重構,得到的含細節(jié)信息的低層特征比含語義信息的高層特征更有助于目標檢測。原YOLOv3使用3個不同尺度的特征圖來預測待檢測目標,輸出3個尺度規(guī)格分別為13×13、26×26和52×52的特征圖,在網(wǎng)絡輸出的后兩個特征圖上進行采樣,與網(wǎng)絡前期相應尺寸的特征圖融合成有效信息進行預測。但是,僅利用3個尺度的特征對淺層信息的利用并不充分,會導致許多小目標的信息丟失。

本文對YOLOv3中多尺度檢測模塊進行改進,從原3個尺度檢測擴展為4個尺度,構成4個分支結構,如圖3所示,輸入尺寸為416×416,每個分支共享從ResNet網(wǎng)絡中提取的特征,并對13×13、26×26、52×52的分支進行兩倍上采樣操作,將上采樣后的特征層與淺特征層進行級聯(lián),在4個尺度的融合特征圖上分別進行獨立檢測。改進后的多尺度融合可以從淺層特征層中學習較強的位置特征,融合上采樣后的深層特征進行更細粒度的檢測。通過融合更多尺度的淺層特征信息,增強特征金字塔的表征能力,提升小目標的檢測精度,降低漏檢率,并通過非極大值抑制算法去除冗余框。其中,YOLOv3沿用了YOLOv2采用的K-means聚類方式初始化anchor box,不同于Faster R-CNN和SSD的人工設定,可以更加符合本身數(shù)據(jù)的特點。在目標檢測過程中,anchor box數(shù)量和大小直接影響檢測精度和速度,因此anchor參數(shù)設定十分重要。通過k-means聚類[17]選取合適的IOU可使模型在召回率和精確度之間取得平衡。根據(jù)IOU和anchor box之間的關系,本文采用12個anchor box。

圖3 S-YOLOv3檢測過程

2.3 損失函數(shù)

對于YOLOv3損失函數(shù),文獻[7]中沒有進行具體說明,本文根據(jù)開源Darknet及對比YOLOv2,得出YOLOv3損失函數(shù)為:

loga(pi(ci))+(1-p′i(c))loga(1-pi(c))]

在YOLOv3原損失函數(shù)中,坐標誤差采用平方和損失函數(shù),置信度和分類誤差采用二元交叉熵損失函數(shù)。交叉熵損失可以避免誤差較小時的梯度消失問題,只有當預測值和實際值無限接近時,loss才能趨近于0,平方差損失在進行梯度下降計算時會出現(xiàn)梯度彌散,導致學習速率下降,并且使用交叉熵可以避免梯度消散問題。

理論上損失函數(shù)應盡量保證大邊界框的偏差重要性小于小邊界框的偏差重要性,而原損失函數(shù)由于直接預測邊界框的寬度和高度差的平方,因此當目標的寬高比很小時,邊界框的寬度重要性容易被低估,即大的待檢測對象會對損失函數(shù)產(chǎn)生更大的影響,而小的待檢測對象的損失函數(shù)通常會被忽略,在面對較小的待檢測目標時,邊界框可能無法捕獲目標,使得損失函數(shù)的輸出較小,從而對檢測精度產(chǎn)生影響。

針對上述問題,本文損失函數(shù)的改進思想為:對檢測目標的寬度和高度部分進行加權,考慮真實目標邊框的尺寸,降低大目標誤差對小目標檢測效果的影響,使得小目標和大目標對損失函數(shù)的影響程度相同。改進后的損失函數(shù)為:

(1-c′i)loga(1-ci)-

(1-c′i)loga(1-ci)-

(1-p′i(c))loga(1-pi(c))]

改進損失函數(shù)的坐標誤差不僅使用平方和損失,而且考慮真實邊框的尺寸,根據(jù)檢測目標的大小調(diào)整其在損失函數(shù)中的權重,這樣改進后的損失函數(shù)在面對較小的目標時,不會因其誤差過小而被忽略,也不會因大目標物體的誤差過大而掩蓋小目標物體的誤差,進一步修正了損失函數(shù)的準確性,加速了模型收斂,從而有效提升小尺寸目標檢測的準確率。

3 模型訓練

3.1 數(shù)據(jù)集設置

KITTI[18]由德國卡爾斯魯厄理工學院和豐田美國技術研究院聯(lián)合創(chuàng)辦。KITTI數(shù)據(jù)集是目前國際上最大的自動駕駛場景下的計算機視覺算法評測數(shù)據(jù)集,包含市區(qū)、鄉(xiāng)村和高速公路等場景中采集的真實圖像數(shù)據(jù),每張圖像最多有15輛車和30個行人,并且有不同程度的遮擋和截斷,數(shù)據(jù)分布如圖4所示。

圖4 KITTI數(shù)據(jù)分布

本文將實驗數(shù)據(jù)集按照Pascal VOC[19]數(shù)據(jù)集格式進行整理,按比例將數(shù)據(jù)分為訓練集和測試集。KITTI數(shù)據(jù)集中的原始數(shù)據(jù)被分為Road、City、Residential、Person和Campus 5類典型樣本,具體細分為Car、Van、Person、Truck、Pedestrian、Cyclist、Tram和Misc類別。本文實驗選用4個類別標簽:Car,Van,Truck和Tram,選取該數(shù)據(jù)集中的7 481張圖片作為實驗數(shù)據(jù),如表3所示,其中,4 000張用于驗證數(shù)據(jù)集,3 481張用于測試數(shù)據(jù)集。

表3 實驗數(shù)據(jù)分布

3.2 訓練過程

將提取卷積特征的Darknet-50先在ImageNet上進行預訓練,縮短訓練時間。縮放輸入圖像至416×416,在Darknet-50殘差網(wǎng)絡中提取特征,使用4個不同尺度的卷積特征層預測車輛位置和坐標類型。本文選用分批梯度下降法[20]尋找損失函數(shù)的最小值,通過K-means聚類算法自動生成合適的anchor box。在KITTI數(shù)據(jù)集上,S-YOLOv3選用4個尺度的12個anchor box,分別為(12,26)、(15,45)、(24,23)、(29,51)、(33,81)、(35,54)、(46,100)、(54,67)、(87,105)、(105,170)、(150,245)、(165,321)。

為增強對比性,在整個訓練過程中初始值設置參考YOLOv3,最大迭代為50 000次,初始化學習率為0.001,batch_size為64,decay為0.000 5,momentum為0.9。根據(jù)損失下降的趨勢,適當調(diào)節(jié)學習率和batch_size值,直至訓練數(shù)據(jù)集輸出的損失函數(shù)值小于等于閾值或達到設置的最大迭代次數(shù)時停止訓練,得到已訓練的S-YOLOv3網(wǎng)絡。

4 實驗結果與分析

4.1 多尺度融合改進效果測試

為比較卷積神經(jīng)網(wǎng)絡在改進尺度檢測模塊前后的效果,本文在YOLOv3網(wǎng)絡中進行多尺度融合檢測實驗,并在KITTI數(shù)據(jù)集中進行測試,結果顯示尺度檢測從原來的3個尺度改為4個尺度后,查全率從91.47%提高到93.97%,平均精度均值(Mean Average Precision,mPA)如圖5所示??梢钥闯?增加到4個尺度后的YOLOv3檢測mPA比3個尺度的YOLOv3有提升,說明改進后的4個尺度模塊對提高查全率和查準率均有較好效果。

圖5 YOLOv3在不同尺度時的平均精度均值對比

圖6為3個尺度和4個尺度的YOLOv3在KITTI數(shù)據(jù)集上對圖像的檢測效果。可以看出,4個尺度的YOLOv3可以檢測到遠處更多的較小車輛的位置信息,提高了查全率,較3個尺度的YOLOv3檢測效果更好。

圖6 3個尺度和4個尺度的YOLOv3檢測效果對比

4.2 損失函數(shù)改進效果測試

為驗證改進的損失函數(shù)對于目標檢測的性能,實驗在保證其他參數(shù)不變的情況下訓練原始YOLOv3和改進損失函數(shù)的S-YOLOv3檢測模型,對比兩個檢測模型的迭代次數(shù)與收斂效果,如圖7所示,改進損失函數(shù)后的檢測模型收斂速度更快。

圖7 損失函數(shù)-迭代次數(shù)曲線圖

在KITTI數(shù)據(jù)集上進行測試,如表4所示,YOLOv3在其他結構均不做改動的情況下,僅通過修改損失函數(shù)mPA就可得到1%左右的性能提升,且對小目標的檢測效果提升更顯著。根據(jù)表4結果顯示,本文改進的損失函數(shù)可以調(diào)整檢測大目標和小目標的損失影響權重,縮短收斂時間,學習效果更好,目標平均檢測精度優(yōu)于原損失函數(shù)。

表4 KITTI數(shù)據(jù)集測試結果

4.3 整體網(wǎng)絡結構改進效果測試

通過整合以上所有改進過程,形成S-YOLOv3網(wǎng)絡。實驗對比Fast R-CNN[3]、Faster R-CNN[4]、YOLO[5]、YOLOv2[6]、YOLOv3[7]、SSD[8]、S-YOLOv3等方法在KITTI數(shù)據(jù)集上的檢測效果,通過檢測速度和mAP評價指標評估本文提出的S-YOLOv3方法的性能,如表5所示。

表5 8種檢測方法在KITTI數(shù)據(jù)集上的效果對比

根據(jù)實驗結果得出,本文S-YOLOv3方法在滿足實時性要求的前提下,在KITTI數(shù)據(jù)集4個標簽類檢測中以52.45 frame/s檢測速度獲得了93.30%的平均檢測精度,雖然檢測速度低于SSD(300×300)方法的58.32 frame/s,但mAP高于SSD約12%,這是因為本文采用ResNet改進特征提取網(wǎng)絡和損失函數(shù)并融合多尺度檢測算法,通過增強小目標特征信息并調(diào)整大目標損失對小目標損失的影響,提高小目標檢測精度,在滿足實時性要求的同時提升了平均檢測精度。

圖8顯示了本文S-YOLOv3與YOLOv3方法在KITTI數(shù)據(jù)集上的檢測結果對比。可以看出,對于同一圖像中的車輛目標檢測,本文S-YOLOv3方法在查準率和查全率方面均具有較好效果,尤其體現(xiàn)在小目標檢測中。

圖8 S-YOLOv3與YOLOv3方法在KITTI數(shù)據(jù)集 上的檢測結果對比

4.4 結果分析

本文在上述實驗結果的基礎上,將選用的4類標簽數(shù)據(jù)按照尺寸大小分為小目標、中等目標以及大目標[21],分類原則為(0,32]、(32,96]、(96,416)。按照該策略評估本文檢測方法對小目標的檢測效果,實驗以查全率(Recall)和查準率(Precision)為評估指標。通過比較P-R曲線下面積(Area Under Curve,AUC),驗證本文方法的性能。圖9~圖11顯示了在KITTI數(shù)據(jù)集上使用5種檢測方法對大小不同的3個類別目標檢測的P-R曲線??梢钥闯?本文改進的S-YOLOv3方法獲得了最佳性能,雖然在面對中等目標和大目標時與YOLOv3和SSD(300×300)方法相當,但是在小目標檢測中,AUC值均高于其他方法,驗證了本文方法的有效性,且在小目標車輛檢測中性能提升明顯。

圖9 小目標類的P-R曲線圖

圖10 中等目標類的P-R曲線圖

圖11 大目標類的P-R曲線圖

5 結束語

本文針對YOLOv3方法在小目標檢測中速度較慢的問題,提出改進的城市交通車輛檢測方法S-YOLOv3。利用ResNet網(wǎng)絡和多尺度卷積特征圖優(yōu)化特征提取網(wǎng)絡及融合更多尺度的特征層,并改進損失函數(shù)調(diào)整大小目標對損失值的影響權重,同時利用K-means算法生成anchor box。在KITTI數(shù)據(jù)集上的實驗結果表明,本文方法通過融合深層語義特征增強特征金字塔的表征能力,從而加速模型收斂,保證實時的檢測速度,并且在車輛檢測精度方面優(yōu)于現(xiàn)有目標檢測方法。后續(xù)將在不同數(shù)據(jù)集上進行實驗以加強檢測模型的泛化能力,同時將側重圖像特征及數(shù)據(jù)增強的研究,通過增加不同尺寸輸入圖像的檢測提高模型魯棒性。

猜你喜歡
特征提取尺度卷積
基于3D-Winograd的快速卷積算法設計及FPGA實現(xiàn)
財產(chǎn)的五大尺度和五重應對
卷積神經(jīng)網(wǎng)絡的分析與設計
基于Gazebo仿真環(huán)境的ORB特征提取與比對的研究
從濾波器理解卷積
基于Daubechies(dbN)的飛行器音頻特征提取
基于傅里葉域卷積表示的目標跟蹤算法
Bagging RCSP腦電特征提取算法
宇宙的尺度
基于MED和循環(huán)域解調(diào)的多故障特征提取
丰原市| 五莲县| 红河县| 韩城市| 措美县| 长武县| 海盐县| 铜川市| 呼和浩特市| 阿拉善盟| 库车县| 罗山县| 定边县| 铜山县| 美姑县| 冀州市| 屏南县| 康乐县| 富顺县| 县级市| 蓝田县| 千阳县| 西吉县| 凤翔县| 韶山市| 肥东县| 沿河| 灌阳县| 延寿县| 清涧县| 华安县| 西乡县| 甘南县| 黄陵县| 通许县| 东乡族自治县| 玉溪市| 门头沟区| 瑞昌市| 五河县| 镇平县|