基于改進(jìn)SSD的車輛小目標(biāo)檢測方法
來源:《應(yīng)用光學(xué)》,作者李小寧等
?摘?要:地面車輛目標(biāo)檢測問題中由于目標(biāo)尺寸較小,目標(biāo)外觀信息較少,且易受背景干擾等的原因,較難精確檢測到目標(biāo)。圍繞地面小尺寸目標(biāo)精準(zhǔn)檢測的問題,從目標(biāo)特征提取的角度提出了一種特征融合的子網(wǎng)絡(luò)。該子網(wǎng)絡(luò)引入了重要的局部細(xì)節(jié)信息,有效地提升了小目標(biāo)檢測效果。針對尺度、角度等的變換問題,設(shè)計(jì)了基于融合層的擴(kuò)展層預(yù)測子網(wǎng)絡(luò),在擴(kuò)展層的多個(gè)尺度空間內(nèi)匹配目標(biāo),生成目標(biāo)預(yù)測框?qū)δ繕?biāo)定位。在車輛小目標(biāo)VEDAI(vehicle detection in aerial imagery)數(shù)據(jù)集上的實(shí)驗(yàn)表明,算法保留傳統(tǒng)SSD(single-shot multibox detector)檢測速度優(yōu)勢的同時(shí),在精度方面有了明顯提升,大幅提升了算法的實(shí)用性。
關(guān)鍵詞:計(jì)算機(jī)視覺;目標(biāo)檢測;深度學(xué)習(xí);車輛小目標(biāo);特征融合
引言
地面目標(biāo)檢測任務(wù)[1]中,由于目標(biāo)外觀信息較少[2-3],易受復(fù)雜背景干擾等原因,較難精確檢測到目標(biāo)[4]。目前,基于深度學(xué)習(xí)的目標(biāo)檢測算法[5-6]包括基于候選區(qū)域方法及基于回歸的方法[7]。Girshick等人最先提出R-CNN(Region-CNN)[8]檢測方法,但其存在對同一區(qū)域多次重復(fù)提取的問題。之后的Fast-RCNN[9]算法僅對原圖像進(jìn)行一次特征提取操作,由于生成候選框的Selective Search 算法[10]耗時(shí)較多,檢測速度較慢。基于區(qū)域推薦方法的另一個(gè)主流框架是Ren 等人提出的Faster R-CNN[11]。2016年,Liu Wei 等人提出了基于回歸的檢測方法SSD[12](single-shot multibox detector),去掉了區(qū)域推薦和重采樣等步驟,僅在單個(gè)步驟完成預(yù)測,顯著提升了檢測速度。
為解決小目標(biāo)檢測難點(diǎn),本文提出了一種基于擴(kuò)展融合層的目標(biāo)檢測框架,引入了重要的局部細(xì)節(jié)信息。此外,本文設(shè)計(jì)了基于融合層的擴(kuò)展層預(yù)測子網(wǎng)絡(luò),在擴(kuò)展層多個(gè)尺度空間內(nèi)匹配目標(biāo),生成目標(biāo)預(yù)測框。為解決過擬合問題,文章采用了數(shù)據(jù)集增廣,BN(batch normalization)[13]層歸一化處理的方法。最后,將本文方法與幾種主流目標(biāo)檢測算法在VEDAI[14]車輛小目標(biāo)數(shù)據(jù)集上進(jìn)行了對比實(shí)驗(yàn)。
1 相關(guān)工作
1.1 傳統(tǒng)SSD 算法
2016 年Wei Liu 提出的SSD 模型結(jié)構(gòu)包括基礎(chǔ)網(wǎng)絡(luò),附加提取層和預(yù)測層3 個(gè)部分。傳統(tǒng)SSD模型網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。基礎(chǔ)網(wǎng)絡(luò)部分提取的特征圖將作為附加提取層的輸入。
![圖片](http://file.elecfans.com/web1/M00/F1/DE/o4YBAGC24DOAHECBAAAARmu_22A208.png)
圖1 傳統(tǒng)SSD 模型網(wǎng)絡(luò)結(jié)構(gòu)圖
Fig.1 Network structure of conventional SSD model
此外,增加了conv6_1、conv6_2、conv7_1、conv7_2、conv8_1、conv8_2、conv9_1、conv9_2 共8 層附加層。附加層對基礎(chǔ)網(wǎng)絡(luò)層提取的特征圖做進(jìn)一步的卷積運(yùn)算。選取其中6 層特征層作為預(yù)測層,分別在預(yù)測層的每個(gè)位置上生成固定寬高比的邊界框預(yù)測結(jié)果。
1.2 傳統(tǒng)FPN 方法
Tsung-Yi Lin 等人提出FPN(feature pyramid networks)[15],用于目標(biāo)檢測包含2 個(gè)關(guān)鍵步驟:1) 在每個(gè)尺寸特征圖的基礎(chǔ)上,分別保留了一個(gè)包含最強(qiáng)語義信息的特征層。由這些特征層構(gòu)建出具有層級的特征金字塔結(jié)構(gòu)[16-18]。2) 采用自上而下的結(jié)構(gòu),對金字塔高層特征層逐層上采樣;再分別與下一層的特征圖橫向連接得到增強(qiáng)后的高層特征層。最后,對橫向連接金字塔的每個(gè)特征層分別計(jì)算目標(biāo)類別得分和邊框回歸。
1.3 傳統(tǒng)方法檢測小目標(biāo)存在的問題
傳統(tǒng)SSD 直接在不同特征層預(yù)測結(jié)果,忽略了不同層之間的聯(lián)系,丟失了部分重要信息,缺乏同時(shí)獲取局部細(xì)節(jié)信息和全局語義信息的能力。FPN 模型雖然通過橫向連接得到融合特征層,但其采用逐層融合的方法,大大增加了計(jì)算量,從而降低了模型的檢測速度。對小目標(biāo)識(shí)別與檢測問題而言,模型忽略了不同特征層對目標(biāo)預(yù)測貢獻(xiàn)的差異。
2 基于擴(kuò)展融合特征的小目標(biāo)檢測算法
為解決車輛小目標(biāo)識(shí)別與精確定位的問題,本文提出了基于擴(kuò)展融合特征的小目標(biāo)檢測算法,基于融合淺層特征高邊緣信息和深層特征的高語義信息的思想,設(shè)計(jì)了一種輕量化的特征融合模塊。將融合特征層經(jīng)額外的6 層卷積層擴(kuò)展得到預(yù)測子網(wǎng)絡(luò),以此作為依據(jù)預(yù)測目標(biāo)。本文網(wǎng)絡(luò)結(jié)構(gòu)中引入BN(batch normalization)層,以加速算法收斂,提升模型的泛化能力。本文算法的整體結(jié)構(gòu)如圖2 所示。
![圖片](http://file.elecfans.com/web1/M00/F1/DE/o4YBAGC24DOAHECBAAAARmu_22A208.png)
圖2 基于擴(kuò)展融合特征的目標(biāo)檢測模型結(jié)構(gòu)
Fig.2 Structure of object detection model based on extension of fused feature
2.1 特征層選擇
由于淺層特征圖具有更小的感受野,其對應(yīng)產(chǎn)生的默認(rèn)邊界框大小更適宜小目標(biāo)檢測。但其缺乏目標(biāo)分類重要的語義信息。深層特征雖包含更多語義信息,但感受野過大,對小目標(biāo)定位不夠精確。因此,考慮在高層特征中引入淺層局部細(xì)節(jié)信息。本文采用VGG-16 卷積神經(jīng)網(wǎng)絡(luò)作為特征提取網(wǎng)絡(luò),表1 為部分特征層結(jié)構(gòu)參數(shù)。
表1 部分特征層結(jié)構(gòu)參數(shù)
Table 1 Structure parameters of partial feature layer
![圖片](http://file.elecfans.com/web1/M00/F1/DE/o4YBAGC24DOAHECBAAAARmu_22A208.png)
Conv4_3 層之前的特征層,雖然具有更高的分辨率,但包含較少的語義信息,考慮將Conv4_3 層作為淺層特征融合層。更深層的特征中,結(jié)合航拍數(shù)據(jù)集中車輛小目標(biāo)特點(diǎn),選取Conv7_2 層作為高層特征融合層。
2.2 特征融合子網(wǎng)絡(luò)設(shè)計(jì)
輸入圖像映射為相同尺寸(300×300)后,經(jīng)卷積和池化等的計(jì)算,特征層尺寸逐層遞減。Conv4_3層特征層特征圖大小為38×38,維度為512 維,Conv7_2 層特征圖大小為19×19。將2 層特征圖變換為相同維度再進(jìn)行連接,得到融合特征層。特征融合子網(wǎng)絡(luò)示意圖如圖3 所示。
![圖片](http://file.elecfans.com/web1/M00/F1/DE/o4YBAGC24DOAHECBAAAARmu_22A208.png)
圖3 融合子網(wǎng)絡(luò)示意圖
Fig.3 Schematic diagram of feature fusion sub-network
分別對Conv4_3 和Conv7_2 層采用1×1 卷積層變換通道,降低原特征層維度。再對Conv7_2_new 層采用雙線性插值方法,映射為同Conv4_3 相同維度,插值后的特征層Conv7_2_inter 維度為38×38×256。將兩層特征層連接得到融合層(維度為38×38×512)。結(jié)合淺層局部細(xì)節(jié)信息和深層高語義信息的融合層作為依據(jù),預(yù)測小目標(biāo)的位置及類別。
2.3 擴(kuò)展預(yù)測子網(wǎng)絡(luò)設(shè)計(jì)
本文方法在融合層后增加BN 層以加速網(wǎng)絡(luò)收斂速度。BN 層前向傳導(dǎo)公式為
![圖片](http://file.elecfans.com/web1/M00/F1/DE/o4YBAGC24DOAHECBAAAARmu_22A208.png)
引入BN 層對輸入數(shù)據(jù)進(jìn)行歸一化操作,消除了權(quán)值放縮帶來的影響,從而避免了梯度彌散現(xiàn)象,同時(shí)進(jìn)一步提升了模型的泛化能力。傳統(tǒng)的SSD 及FPN 方法預(yù)測流程示意圖對比,如圖4所示。
圖4 SSD 及FPN 方法預(yù)測流程示意圖
Fig.4 Schematic diagram of prediction process of SSD and FPN
本文方法延續(xù)了特征金字塔的思想,在融合特征層后增加6 層卷積層,每層卷積層后緊跟一層ReLU 層。分別在擴(kuò)展層的不同尺度空間內(nèi)匹配目標(biāo),預(yù)測目標(biāo)類別得分和邊框位置。本文方法的預(yù)測流程示意圖如圖5 所示。
![圖片](http://file.elecfans.com/web1/M00/F1/DE/o4YBAGC24DOAHECBAAAARmu_22A208.png)
圖5 本文方法的預(yù)測流程示意圖
Fig.5 Schematic diagram of prediction process of our method
在擴(kuò)展預(yù)測子網(wǎng)絡(luò)中的6 層特征層做預(yù)測,對第k?層而言,默認(rèn)邊界框的縮放比例計(jì)算公式如下:
![圖片](http://file.elecfans.com/web1/M00/F1/DE/o4YBAGC24DOAHECBAAAARmu_22A208.png)
式中:Smin=0.3,表示最低層的縮放比例為0.3,Smax=0.9,則最高層的縮放比例為0.9。假設(shè)原圖像大小M×N,a?為寬高比,則每個(gè)特征層對應(yīng)默認(rèn)邊界框的寬和高的計(jì)算公式如下:
3 實(shí)驗(yàn)結(jié)果與分析
為驗(yàn)證改進(jìn)后算法在小目標(biāo)檢測問題的效果,實(shí)驗(yàn)在車輛小目標(biāo)數(shù)據(jù)集VEDAI(vehicle detection in aerial imgery)進(jìn)行實(shí)驗(yàn)測試,并與當(dāng)前主流的幾種深度學(xué)習(xí)目標(biāo)檢測方法對比結(jié)果。
3.1 VEDAI 數(shù)據(jù)集
Sebastien Razakarivony 等于2016年提出的數(shù)據(jù)集VEDAI 為衛(wèi)星航拍圖像,共包含1 210 張1 024×1 024 像素的圖像。平均每張圖像中車輛數(shù)量為5.5 個(gè),且目標(biāo)像素占圖像總像素的0.7%。圖像目標(biāo)車輛尺寸小(約40×20 像素),方向隨機(jī)且光照變化大,是小目標(biāo)檢測標(biāo)準(zhǔn)數(shù)據(jù)集之一。
3.2 模型訓(xùn)練
模型訓(xùn)練采用基于動(dòng)量的SGD(stochastic gradient descent)算法(隨機(jī)梯度下降算法)。匹配策略中,最小jaccard overlap 值為0.5。硬件平臺(tái)為:NVIDAI Titan X GPU(12 GB 顯存),PC 機(jī)操作系統(tǒng)為Ubuntu 14.04,模型訓(xùn)練框架為Caffe 框架,mini batch 尺寸為32。
初始學(xué)習(xí)率為0.000 5,20 000 次迭代后,學(xué)習(xí)率調(diào)整為5e-05,60 000 次循環(huán)后訓(xùn)練終止。權(quán)值衰減系數(shù)為0.000 5,動(dòng)量因子為0.9。
3.3 測試結(jié)果
測試階段選取數(shù)據(jù)集中248 張圖片作為測試集驗(yàn)證檢測效果。召回率和mAP 是目標(biāo)檢測2 個(gè)重要指標(biāo)。召回率和準(zhǔn)確率的計(jì)算公式分別如下:
![圖片](http://file.elecfans.com/web1/M00/F1/DE/o4YBAGC24DOAHECBAAAARmu_22A208.png)
式中:TP?代表分類正確的正樣例;FP?為分類錯(cuò)誤的正樣例;FN?為分類錯(cuò)誤的負(fù)樣例。準(zhǔn)確率隨召回率變化構(gòu)成PRC(precision-recall curve)曲線,平均精度mAP(mean average precision)則為曲線與坐標(biāo)圍成的面積,計(jì)算公式如下:
![圖片](http://file.elecfans.com/web1/M00/F1/DE/o4YBAGC24DOAHECBAAAARmu_22A208.png)
將主流目標(biāo)檢測方法與本文方法在VEDAI 數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)對比,結(jié)果如表2 所示。
表2 不同檢測模型在VEDAI 數(shù)據(jù)集上的檢測結(jié)果對比
Table 2 Comparison of detection results on VEDAI of different models
由表2 可知,對于VEDAI 數(shù)據(jù)集中像素為1 024×1 024 的圖像檢測,改進(jìn)后模型達(dá)到最高的召回率和平均檢測精度(mAP),分別為74.6%和56.2%,其較傳統(tǒng)SSD 算法在車輛目標(biāo)檢測精度上有了顯著提升(約10%)。表3 為不同檢測模型檢測速度對比結(jié)果,基于區(qū)域推薦的方法Fast R-CNN檢測速度最慢,為0.4 fps,而Faster R-CNN 較其略快,檢測速度為5.4 fps。基于回歸方法SSD(VGG-16)檢測速度為19.2 fps。圖6(a)為不同檢測模型檢測精度和速度分布圖。
表3 不同檢測模型檢測速度對比
Table 3 Comparison of detection speed of different models
![圖片](http://file.elecfans.com/web1/M00/F1/DE/o4YBAGC24DOAHECBAAAARmu_22A208.png)
![圖片](http://file.elecfans.com/web1/M00/F1/DE/o4YBAGC24DOAHECBAAAARmu_22A208.png)
圖6 不同檢測模型檢測結(jié)果對比
Fig.6 Comparison of detection results of different detection models
圖6(b)為改進(jìn)SSD 算法與傳統(tǒng)SSD 算法隨迭代次數(shù)增加,檢測精度的變化趨勢。約在25 000次迭代后,檢測精度值保持平穩(wěn)上升,由圖6 可知,改進(jìn)后算法精度較傳統(tǒng)SSD 有了顯著的提升。圖7 展示了改進(jìn)算法在VEDAI 數(shù)據(jù)集上的部分檢測結(jié)果。
![圖片](http://file.elecfans.com/web1/M00/F1/DE/o4YBAGC24DOAHECBAAAARmu_22A208.png)
圖7 VEDAI 數(shù)據(jù)集部分檢測效果
Fig.7 Partial detection results on VEDAI dataset
測試結(jié)果表明,本文提出的算法較傳統(tǒng)SSD等主流目標(biāo)檢測算法,對VEDAI 數(shù)據(jù)集的平均檢測精度顯著提升,算法采用單個(gè)步驟內(nèi)預(yù)測目標(biāo),保留了傳統(tǒng)SSD 算法檢測速度快的優(yōu)勢。融合子網(wǎng)絡(luò)有效地利用了淺層特征層中豐富的局部細(xì)節(jié)信息及深層特征層的高語義信息,因此模型的泛化能力得到提升。
4 結(jié)論
為提高車輛小目標(biāo)檢測效果,本文提出了基于擴(kuò)展融合特征的小目標(biāo)檢測方法。該方法結(jié)合小目標(biāo)尺寸較小、依賴局部細(xì)節(jié)信息等特點(diǎn)設(shè)計(jì)了融合子網(wǎng)絡(luò),融合了高局部信息的淺層特征信息與高語義信息的深層特征。此外,本文設(shè)計(jì)了基于擴(kuò)展金字塔的預(yù)測網(wǎng)絡(luò),在多個(gè)尺度空間匹配目標(biāo),提升了目標(biāo)檢測效果。為解決模型過擬合問題,本文引入BN 層提高了模型的泛化能力。改進(jìn)算法有效地提升了車輛小目標(biāo)檢測精度,同時(shí),具有更高穩(wěn)定性和魯棒性。下一步,將對模型中權(quán)值進(jìn)行研究,以提升算法在復(fù)雜背景下的檢測性能。
審核編輯:符乾江
評論