基于改進(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 所示?;A(chǔ)網(wǎng)絡(luò)部分提取的特征圖將作為附加提取層的輸入。
圖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)識別與檢測問題而言,模型忽略了不同特征層對目標(biāo)預(yù)測貢獻(xiàn)的差異。
2 基于擴(kuò)展融合特征的小目標(biāo)檢測算法
為解決車輛小目標(biāo)識別與精確定位的問題,本文提出了基于擴(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 所示。
圖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
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 所示。
圖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)公式為
引入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 所示。
圖5 本文方法的預(yù)測流程示意圖
Fig.5 Schematic diagram of prediction process of our method
在擴(kuò)展預(yù)測子網(wǎng)絡(luò)中的6 層特征層做預(yù)測,對第k?層而言,默認(rèn)邊界框的縮放比例計(jì)算公式如下:
式中: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。硬件平臺為: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ì)算公式分別如下:
式中:TP?代表分類正確的正樣例;FP?為分類錯(cuò)誤的正樣例;FN?為分類錯(cuò)誤的負(fù)樣例。準(zhǔn)確率隨召回率變化構(gòu)成PRC(precision-recall curve)曲線,平均精度mAP(mean average precision)則為曲線與坐標(biāo)圍成的面積,計(jì)算公式如下:
將主流目標(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?;诨貧w方法SSD(VGG-16)檢測速度為19.2 fps。圖6(a)為不同檢測模型檢測精度和速度分布圖。
表3 不同檢測模型檢測速度對比
Table 3 Comparison of detection speed of different models
圖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é)果。
圖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ù)雜背景下的檢測性能。
審核編輯:符乾江
評論
查看更多