戴坤,許立波,黃世旸,李鋆鈴
浙大寧波理工學(xué)院計(jì)算機(jī)與數(shù)據(jù)工程學(xué)院,寧波 315000
目標(biāo)檢測是近些年來計(jì)算機(jī)視覺和深度學(xué)習(xí)的研究熱點(diǎn)之一,在工業(yè)檢測、智能交通和人臉識(shí)別等領(lǐng)域有著廣泛的應(yīng)用。比較流行的目標(biāo)檢測算法主要分為兩類:一類是兩階段(two-stage)算法,如R-CNN(region convolutional neural network) (Girshick等,2014)、Fast R-CNN (Girshick,2015)、OHEM(online hard example mining)(Shrivastava等,2016)、Faster R-CNN (Ren等,2017)和Mask R-CNN(He等,2020)等,該類方法需要先產(chǎn)生目標(biāo)候選框,然后再對候選框做分類與回歸任務(wù)。另一類是單階段(one-stage)算法,如YOLO(you only look once)(Redmon等,2016)、SSD(single shot multibox detector)(Liu等,2016)等,該類方法使用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)直接預(yù)測不同目標(biāo)的類別與位置。兩種方法各有優(yōu)劣,兩階段算法的準(zhǔn)確率一般高于單階段算法,但單階段算法的速度優(yōu)于兩階段算法。目前在實(shí)際應(yīng)用中,速度與性能兼?zhèn)涞膯坞A段算法得到了更多的青睞。另外,以CornerNet(corner network)(Law和Deng,2020)和CenterNet(center network)(Zhou等,2019)為代表的anchor-free模型力圖拋開錨框而基于關(guān)鍵點(diǎn)做出檢測與匹配,也達(dá)到了相當(dāng)好的效果,但離基于錨框的檢測方法尚有少許差距。
最早的單階段算法是Redmon等人(2016)提出的基于回歸問題求解的YOLO算法,隨后原作者又提出YOLO的改進(jìn)版本YOLOv2(Redmon和Farhadi,2017),效率和準(zhǔn)確率得到進(jìn)一步提升。Liu等人(2016)結(jié)合YOLO的高效和Faster R-CNN候選區(qū)域方法,提出了新的單階段算法SSD,它在不同的特征圖中生成預(yù)測框并且進(jìn)行回歸,有效地兼顧準(zhǔn)確率和效率。Fu等人(2017)提出一種基于SSD模型改進(jìn)的DSSD(de-convolution single shot detector)算法,通過對原來特征圖進(jìn)行反卷積操作生成新的特征圖,充分利用了淺層的特征,并且將骨干網(wǎng)絡(luò)換成表征能力更強(qiáng)的ResNet(residual neural network)(He等,2016)網(wǎng)絡(luò)。Jeong等人(2017)提出另一種基于SSD模型改進(jìn)的RSSD(rainbow single shot detector)算法,將SSD的初始特征圖進(jìn)行池化和反卷積處理,并且將處理后生成的特征圖融合,使特征圖同時(shí)擁有正向和反向的信息,算法在PASCAL VOC(pattern analysis, statistical modelling and computational learning visual object classes)數(shù)據(jù)集中準(zhǔn)確率與DSSD相當(dāng),但檢測速度(frame per second,F(xiàn)PS)達(dá)到35幀/s,遠(yuǎn)超過DSSD。之后YOLOv3 (Redmon和Farhadi,2018)模型被提出,相對于YOLOv2,準(zhǔn)確率得到大幅度上升且速度沒有下降。Lin等人(2020)提出了一種SSD改進(jìn)版本——Retinanet,模型用ResNet-101-FPN(feature pyramid network)作為骨干網(wǎng)絡(luò),并且提出了focal loss損失函數(shù)來解決正負(fù)樣本比例不平衡的問題。另外,Li和Zhou(2017)提出FSSD(fusion single shot multibox detector),此算法先對VGG(Visual Geometry Group)(Simonyan和Zisserman,2015)中的兩個(gè)特征圖進(jìn)行融合,然后再生成新特征圖。Wang等人(2018)提出了多尺度位置感知內(nèi)核候選區(qū)域(multi-scale location-aware kernel proposals, MLKP),利用對象檢測中的高階統(tǒng)計(jì)量,生成更多具有強(qiáng)判別力和高靈敏度的候選框,可以靈活地運(yùn)用于目標(biāo)檢測。Zhou等人(2018)提出了STDN (scale transferrable dense network),該算法通過尺度變換模塊,在獲得高級(jí)語義多尺度特征圖的同時(shí),又不影響檢測器的速度。Zhang等人(2018)提出了精細(xì)神經(jīng)網(wǎng)絡(luò)(refinement neural network, RefineDet)算法,通過對SSD算法、RPN(region proposal network)網(wǎng)絡(luò)和FPN算法的結(jié)合,在保證高效的檢測效率的前提下,提高算法對小目標(biāo)的檢測能力。鄭浦等人(2020)提出了F_SE_SSD(fusion squeeze and excitation networks single shot multibox detector),此算法對FSSD的特征融合方法進(jìn)行了改進(jìn),加入注意力機(jī)制,提升模型對小目標(biāo)物體的檢測能力。Bae(2019)提出了區(qū)域分解與裝配檢測器(region decomposition and assembly detector, R-DAD)算法,通過多尺度候選區(qū)域(multi-scale region proposal, MRP)模塊以及區(qū)域分解和組裝(region decomposition and assembly, RDA)模塊,對重要特征附近的多個(gè)方向語義信息進(jìn)行融合,更有利于檢測受遮擋的目標(biāo)。唐乾坤和胡瑜(2020)提出了錨點(diǎn)框提升模塊(anchor promotion module, APM)和特征對齊模塊(feature alignment module, FAM),在一定程度上解決了錨點(diǎn)框不均衡問題。Wu等人(2020)提出了雙向金字塔網(wǎng)絡(luò)(bidirectional pyramid network, BPN)算法,通過雙向金字塔網(wǎng)絡(luò)來解決SSD算法對于弱特征表達(dá)不明顯的問題。
單階段目標(biāo)檢測在實(shí)際應(yīng)用中,面臨的主要挑戰(zhàn)是對模糊圖像、小目標(biāo)和受遮擋物體等目標(biāo)檢測困難(張煥龍 等,2015;尹宏鵬 等,2016;葛寶義 等,2018;方路平 等,2018),以及性能和效率無法很好兼顧。特征融合通過融合網(wǎng)絡(luò)不同深淺層特征,能夠有效提升對困難目標(biāo)的檢測能力,這已經(jīng)成為一種共識(shí),因此在許多SSD改進(jìn)模型中得到廣泛使用。但多數(shù)改進(jìn)模型都是直接使用特征融合手段,而對于融合的具體策略,如應(yīng)該對哪些圖進(jìn)行融合、融合后的圖如何處理等問題,相關(guān)的研究相對缺乏。另外,近些年來注意力機(jī)制也廣受關(guān)注,其通過賦予維度權(quán)重,能夠使特征圖具有一定的“聚焦”作用,如何將其有效結(jié)合進(jìn)單階段目標(biāo)檢測,也是值得深入研究的問題。對此,本文提出了FDA-SSD(fusion double attention single shot multibox detector)算法,該算法的第1個(gè)貢獻(xiàn)是設(shè)計(jì)特征圖優(yōu)化選擇策略,為特征融合確定最有效的多層特征圖組合以及設(shè)計(jì)恰當(dāng)?shù)脑偬幚憝h(huán)節(jié);第2個(gè)貢獻(xiàn)是為特征融合后的輸出特征圖添加雙注意力機(jī)制,使特征圖中重要的通道和空間特征得到更多的顯著表達(dá),在提高預(yù)測準(zhǔn)確率的同時(shí),還能保持很高的運(yùn)行效率。
SSD算法采用VGG16改進(jìn)網(wǎng)絡(luò)作為骨干網(wǎng)絡(luò),本文將原骨干網(wǎng)絡(luò)替換成參數(shù)和計(jì)算量更小、深度更深的ResNet網(wǎng)絡(luò)。
ResNet的block模塊形式如圖1所示,其中圖1(a)為ResNet34網(wǎng)絡(luò)中由兩個(gè)3×3卷積層組成的基礎(chǔ)塊,圖1(b)為ResNet50/101/152的由兩個(gè)1×1卷積層與一個(gè)3×3卷積層組成的瓶頸塊,假設(shè)原有的多層映射表示為H(x),每一層的輸入為x,ResNet的殘差映射函數(shù)為F(x),那么ResNet的殘差連接(shortcut)起到的作用為H(x)=F(x)+x,該網(wǎng)絡(luò)在不加入新參數(shù)且不增加計(jì)算量的前提下,通過跳躍式連接,使得跨層參數(shù)可重復(fù)利用,在一定程度上緩解了梯度消失和梯度爆炸的問題。
圖1 ResNet的block形式Fig.1 Block form of ResNet((a)basic block; (b)bottleneck)
特征金字塔(feature pyramid networks, FPN)是Lin等人(2017)提出的經(jīng)典特征融合方法,適用于不同的深度網(wǎng)絡(luò)學(xué)習(xí)算法。如圖2所示,F(xiàn)PN算法通過自下而上和自上而下的方法,在各層特征圖上進(jìn)行運(yùn)算,既融合了高層信息,又保留了低層信息。
圖2 特征金字塔Fig.2 Feature pyramid network
圖2中,自上而下的方法如圖3所示,將上采樣后的高維特征與經(jīng)過1×1卷積的特征進(jìn)行對應(yīng)元素相乘(element-wise)后相加,得到與原特征圖網(wǎng)絡(luò)維度相同的特征圖網(wǎng)絡(luò),使得每一低層特征圖都含有一部分高層語義信息,提高模型對小目標(biāo)檢測的效率和能力。
圖3 FPN融合方法Fig.3 FPN fusion method
為使骨干網(wǎng)絡(luò)輸出特征圖上使用FPN融合的效果更好,以輸出表達(dá)能力更強(qiáng)的特征圖,本文采用一種特征圖優(yōu)化選擇策略。通過骨干網(wǎng)絡(luò)能得到4幅維度不一的特征圖r_c2,r_c3,r_c4,r_c5,結(jié)合FPN可以構(gòu)造出多種融合方式,考慮融合對象和方式的不同,構(gòu)造出8種融合策略:
策略1)為驗(yàn)證來自淺層網(wǎng)絡(luò)特征r_c2的有用性,對骨干網(wǎng)輸出的r_c3,r_c4,r_c5這3層進(jìn)行FPN,最后對r_c5進(jìn)行卷積(卷積核大小為3,步長為2,填充像素大小為1),生成r_c5_conv1,r_c5_conv2,r_c5_conv3,r_c5_conv4,最后刪除r_c5_conv3(2×2×256),以生成和原始SSD算法數(shù)量和尺度都相同的特征圖組。
策略2)提取出骨干網(wǎng)的r_c2,r_c3,r_c4,r_c5,對這4層進(jìn)行FPN,再對r_c5進(jìn)行卷積,生成r_c5_conv1,r_c5_conv2,r_c5_conv3,r_c5_conv4,最后刪除r_c2(75×75×256),r_c5_conv3(2×2×256),本策略可以與策略1)進(jìn)行對比驗(yàn)證。
策略3)為探究淺層網(wǎng)絡(luò)特征r_c2的有效融合方式,先提取出骨干網(wǎng)的r_c2,r_c3,r_c4,r_c5,并對r_c2做下采樣與r_c3融合成r_c3′,然后對r_c3′,r_c4,r_c5做FPN,再對r_c5進(jìn)行卷積,生成r_c5_conv1,r_c5_conv2,r_c5_conv3,r_c5_conv4,最后刪除r_c5_conv3。
策略4)提取出骨干網(wǎng)的r_c2,r_c3,r_c4,r_c5,對r_c2做下采樣與r_c3融合成r_c3′,然后對生成的r_c3′,r_c4,r_c5做FPN,再對r_c5進(jìn)行卷積,生成r_c5_conv1,r_c5_conv2,r_c5_conv3,r_c5_conv4,為驗(yàn)證特征圖r_c5_conv3的有效性,最后將r_c5_conv3下采樣與r_c5_conv4融合。
策略5)對骨干網(wǎng)輸出的r_c2,r_c3,r_c4,r_c5進(jìn)行FPN,生成fpn_r_c2,fpn_r_c3,fpn_r_c4,fpn_r_c5。為探究r_c2經(jīng)過FPN后的有效性,將fpn_r_c2下采樣和fpn_r_c3進(jìn)行融合,再對r_c5進(jìn)行卷積,生成r_c5_conv1,r_c5_conv2,r_c5_conv3,r_c5_conv4,最后刪除r_c5_conv3(2×2×256)。
策略6)前半部分同策略5),后面對r_c5進(jìn)行卷積,生成r_c5_conv1,r_c5_conv2,r_c5_conv3,r_c5_conv4,為驗(yàn)證該情況下特征圖r_c5_conv3的有效性,最后將r_c5_conv3下采樣與r_c5_conv4融合。
策略7)前半部分同策略5),后面先對r_c5進(jìn)行卷積,生成r_c5_conv1,r_c5_conv2,之后采用類似SSD算法生成額外特征圖的方式,對r_c5_conv2再做卷積(卷積核大小為3,步長為1,填充像素大小為0),生成r_c5_conv3。
策略8)前半部分同策略4),后面對r_c5進(jìn)行卷積,生成r_c5_conv1,r_c5_conv2,之后采用類似SSD算法生成額外特征圖的方式,對r_c5_conv2做卷積(卷積核大小為1,步長為1,填充像素大小為0),生成r_c5_conv3。
在經(jīng)過FPN處理后,生成如圖4所示的8個(gè)特征圖,為了保證模型對比的公平性,體現(xiàn)本文方法生成特征圖的有效性,只保留與SSD算法維度及個(gè)數(shù)相同的6幅特征圖??紤]保持最大尺寸為38×38像素,但由于75×75像素的特征圖包含更多細(xì)節(jié),直接舍去可能會(huì)影響對小目標(biāo)的檢測能力,因此通過增強(qiáng)融合的處理方法,將75×75像素特征圖的信息做適當(dāng)保留。如圖5所示,將最大的fpn_r_c2(75×75×256)先經(jīng)過一個(gè)1×1卷積(卷積核個(gè)數(shù)為256,卷積核大小為1,步長為1),然后再通過雙線性降采樣與一個(gè)經(jīng)過1×1卷積(卷積核個(gè)數(shù)為256,卷積核大小為1,步長為1)的fpn_r_c3進(jìn)行拼接,生成new_fpn_r_c3(38×38×512)來代替原來的fpn_r_c3。最終的輸出是r_c5_conv1,r_c5_conv2,r_c5_conv4,r_c5,fpn_r_c4,new_fpn_r_c3。
圖4 特征圖優(yōu)化選擇Fig.4 Character diagram optimized selection
圖5 特征圖增強(qiáng)融合Fig.5 Feature diagram enhanced fusion
在策略5)中,對骨干網(wǎng)絡(luò)輸出的4層特征進(jìn)行FPN,保證了特征信息的全面性,在增強(qiáng)融合時(shí),通過降采樣將低層特征部分保留,同時(shí)保持最大圖的尺寸不變,兼顧了速度和性能,在操作順序上先FPN再增強(qiáng)融合,相當(dāng)于進(jìn)行一步反向FPN,比先增強(qiáng)再FPN的特征整合效果要好,最后去掉與r_c5_conv4功能重復(fù)的r_c5_conv3以減輕干擾。這是該策略優(yōu)于其他策略的因素所在。
圖6(a)為原始輸入圖像,圖6(b)(c)為經(jīng)過ResNet-50骨干網(wǎng)絡(luò)輸出尺寸為75×75和38×38像素的特征圖,圖6(d)為經(jīng)過策略5)處理后的38×38像素的特征圖,通過對比可以看出:高像素特征圖6(b)包含的紋理、細(xì)節(jié)特征更豐富,低像素特征圖6(c)雖然圖像較模糊,但是對于目標(biāo)圖形輪廓和形狀信息的語義更直觀,經(jīng)過策略5)得到的圖6(d)既結(jié)合了高像素特征圖的細(xì)節(jié)特征,又包含了低像素特征圖豐富的語義表達(dá),能夠更好地描述目標(biāo)對象。
圖6 不同特征圖輸出對比Fig.6 Output comparison of different feature graphs ((a) original map; (b)backbone network output (75×75 pixels); (c) backbone network output (38×38 pixels); (d) policy 5 output(38×38 pixels))
借鑒瓶頸注意力模塊(bottleneck attention module, BAM)(Woo等,2018)和SE(sequeeze and excitation) (Hu等,2018)的思想,本文設(shè)計(jì)一種并聯(lián)雙注意力機(jī)制來整合特征圖的通道和空間信息,通過通道注意力和空間注意力提高特征圖對于目標(biāo)形狀和位置的雙重聚焦作用,如圖7所示。
1) Squeeze操作(Fsq)。對U特征圖中的每個(gè)特征做全局平均池化操作,壓縮成一個(gè)(1,1,C)的實(shí)數(shù),具體為
(1)
式中,Zc表示Squeeze操作的輸出,uc表示特征圖的第c個(gè)通道,H和W表示特征圖的高和寬,uc(i,j)表示第c個(gè)通道的第i行,第j列元素。
2) Excitation操作(Fex)。類似循環(huán)神經(jīng)門的機(jī)制,通過參數(shù)W為每個(gè)特征通道生成權(quán)重,具體為
s=Fex(z,W)=σ(g(z,W))=σ(W2δ(W1z))
(2)
式中,s為Excitation操作得到的權(quán)重,z為Squeeze操作的輸出,W1和W2為全連接操作,δ為ReLU函數(shù)。
3) Reweight操作(Fscale)。將Excitation的輸出的權(quán)重通過乘法加權(quán)到原先的特征上,具體為
(3)
圖7 雙注意力模塊核心結(jié)構(gòu)Fig.7 Core structure of dual attention module
空間注意力機(jī)制同樣也由3個(gè)操作組成:
1) Pooling layer。將原特征圖分別進(jìn)行最大值池化和平均值池化,分別生成特征圖a(W,H,1)與m(W,H,1),然后拼接,讓得到的權(quán)重圖既具有最大值信息,又具有平均值信息。
2) Convolution layer。將拼接后的權(quán)重圖通過卷積核大小為7、填充大小為3的卷積操作,使得權(quán)重圖的尺寸重新從c(W,H,2)降維到v(W,H,1)。
3) Reweight layer。將經(jīng)過卷積層的權(quán)重圖通過乘法加權(quán)到原先的特征上,得到特征圖x(W,H,C)。
通過對每個(gè)特征圖進(jìn)行通道注意力機(jī)制和空間注意力機(jī)制的并聯(lián)相加處理,有監(jiān)督地強(qiáng)化重要的細(xì)節(jié)特征,削弱無用的干擾特征,同時(shí),將特征圖中的空間信息做相應(yīng)的空間變換,提取其中重要的空間位置信息。
經(jīng)過雙注意力模塊處理后的特征圖如圖8所示,圖8(a)為原始輸入圖像,圖8(b)為ResNet50骨干網(wǎng)絡(luò)輸出尺寸為38×38像素的特征圖,圖8(c)為經(jīng)過雙注意力模塊處理后尺寸為38×38像素的特征圖。通過對比可以看出,圖8(b)基本上只保留了邊緣特征,而圖8(c)通過整合通道和空間信息,能同時(shí)提取到邊緣特征、結(jié)構(gòu)信息及色塊信息,更能凸顯出有效特征。
圖8 不同特征圖對比Fig.8 Comparison of different feature graphs ((a) original picture;(b) backbone network output; (c) dual attention module output)
在原始輸入圖像經(jīng)過骨干網(wǎng)絡(luò)和特征金字塔層后,得到7個(gè)特征層,如圖9所示,分別為:new_fpn_r_c3,fpn_r_c4,fpn_r_c5,r_c5_conv1,r_c5_conv2,r_c5_conv3,r_c5_conv4,大小分別為38×38×512,19×19×256,10×10×256,5×5×256,3×3×256,2×2×256,1×1×256,然后加入雙注意力機(jī)制進(jìn)行權(quán)重分配計(jì)算,進(jìn)行加法融合后得到同時(shí)含有通道和空間信息的特征圖。最終FDA-SSD算法生成的預(yù)選框個(gè)數(shù)與SSD算法相同,但是得到的特征圖包含了更多有效信息,因此該算法的邊界框就更容易進(jìn)行學(xué)習(xí)。
圖9 FDA-SSD模型網(wǎng)絡(luò)結(jié)構(gòu)Fig.9 Network structure of FDA-SSD model
為公平比較,本文算法的預(yù)測框與損失設(shè)計(jì)采用與SSD算法一致的方法,先驗(yàn)框的設(shè)置包括尺度和長寬比兩個(gè)方面。從先驗(yàn)框的尺度來看,其會(huì)隨著特征圖大小的降低而線性增加,即
(4)
式中,m表示特征圖數(shù)量,第1層是單獨(dú)設(shè)置的,為說明本文方法的有效性,將m設(shè)置為5,與SSD算法保持一致,Sk為先驗(yàn)框與圖像的比例(第1個(gè)框設(shè)置為0.1),Smax和Smin表示比例的最大和最小值,設(shè)定為SSD給出的值0.2和0.9。對于長寬比,選取αr∈{1,2,3,1/2,1/3},對于特定長寬比,計(jì)算先驗(yàn)框的寬度與高度,即
(5)
算法的損失函數(shù)分為2個(gè)部分:位置損失Lloc和置信損失Lconf,位置損失采用SmoothL1損失函數(shù)來計(jì)算真實(shí)框與預(yù)測框之間的誤差,置信損失采用Softmax損失函數(shù)來計(jì)算分類準(zhǔn)確率,損失函數(shù)表示為
(6)
式中,N表示正樣本數(shù)量,x為一個(gè)指示參數(shù),當(dāng)x=0時(shí),表示在某一類中先驗(yàn)框與真實(shí)框不一致;當(dāng)x=1時(shí),表示在某一類中先驗(yàn)框與真實(shí)框一致,c表示類別置信度預(yù)測值,l表示邊界框的位置預(yù)測值,g表示真實(shí)框的位置。
實(shí)驗(yàn)采用Paddlepaddle 1.8.0作為開發(fā)框架,運(yùn)行環(huán)境基于Tesla V100和Titan X,CUDA9.0和CuDNN7.6。數(shù)據(jù)集為PASCAL VOC(Everingham等,2010)2007+2012數(shù)據(jù)集和TGRS-HRRSD-Dataset(high resolution remote sensing detection)(Zhang等,2019)遙感數(shù)據(jù)集。預(yù)訓(xùn)練模型為ImageNet(Russakovsky等,2015)。
為保證模型對比的公平性,本文設(shè)置與SSD算法一致的預(yù)處理方法與參數(shù):1) 歸一化。對圖像進(jìn)行歸一化,加快梯度下降的求解速度;2) 隨機(jī)翻轉(zhuǎn)。將圖像隨機(jī)翻轉(zhuǎn)一個(gè)角度;3) 標(biāo)準(zhǔn)化邊界框。對生成的邊界框進(jìn)行標(biāo)準(zhǔn)化處理;4) 隨機(jī)展開。對圖像進(jìn)行最大展開比為4、RGB填充畫布值為(104,117,123)的圖像展開;5) 隨機(jī)裁剪。對圖像按照一定尺寸范圍進(jìn)行隨機(jī)裁剪;6) 隨機(jī)扭曲。對圖像進(jìn)行亮度、對比度和飽和度分別在(0.875,1.125)、(0.5,1.5)和(0.5,1.5)區(qū)間的圖像隨機(jī)扭曲。
算法評(píng)估指標(biāo)采用平均精度均值(mean average precision, mAP),由準(zhǔn)確率(precision)和召回率(recall)計(jì)算而來。
1)準(zhǔn)確率。在所有預(yù)測為正類的樣本中,實(shí)際為正類的占比,即
(7)
式中,TP表示實(shí)際為正類、預(yù)測為正類的樣本,F(xiàn)P表示實(shí)際為負(fù)類、預(yù)測為正類的樣本。
2)召回率。在所有預(yù)測中,實(shí)際為正類且預(yù)測為正類在所有實(shí)際為正類的占比,即
(8)
式中,F(xiàn)N表示實(shí)際為正類、預(yù)測為負(fù)類的樣本。
3)通過準(zhǔn)確率和召回率求出每一類的AP(average precision),然后再對AP取平均,得到mAP值,即
(9)
式中,N表示圖像總數(shù),p(k)表示第k幅圖像的準(zhǔn)確率,Δr(k)表示從第k-1幅圖像到第k幅圖像的召回率變化量,m表示所有圖像的類別個(gè)數(shù)。
訓(xùn)練參數(shù)如表1所示。
表1 訓(xùn)練參數(shù)Table 1 Training parameters
表2顯示了1.2節(jié)中基于Tesla V100的8種優(yōu)化策略的實(shí)驗(yàn)結(jié)果,實(shí)驗(yàn)輸入圖像大小為300×300像素,訓(xùn)練15萬輪,batch_size為16,訓(xùn)練數(shù)據(jù)集為PASCAL VOC2007+2012,測試集為PASCALVOC2007。
根據(jù)表2的結(jié)果,策略5)的準(zhǔn)確率高于其他方案,策略3)和策略7)的速度較快,但是準(zhǔn)確率過低,因此在兼顧準(zhǔn)確率和檢測速度的合理考量下,選擇策略5)為最優(yōu)策略,最終將基于該策略改進(jìn)的SSD命名為F-SSD(fusion single shot multibox detector)。
表2 各方案結(jié)果對比Table 2 Comparison of results of various schemes
最后在F-SSD的基礎(chǔ)上加入雙注意力模塊進(jìn)行消融實(shí)驗(yàn),表3展示了基于Tesla V100上的消融實(shí)驗(yàn)結(jié)果。雙注意力模塊能有效提升模型的準(zhǔn)確率,又能保持與模型的原檢測速度相近,最終將此模型命名為FDA-SSD。
表3 注意力消融實(shí)驗(yàn)Table 3 Attention ablation experiment
以策略5)為融合策略,針對不同的骨干網(wǎng)絡(luò)進(jìn)行測試,訓(xùn)練數(shù)據(jù)集為PASCAL VOC2007+2012,測試集為PASCAL VOC2007,batch_size為8的訓(xùn)練輪數(shù)為36萬輪,batch_size為16的訓(xùn)練輪數(shù)為15萬輪。表4展示了基于Tesla V100上的實(shí)驗(yàn)結(jié)果,不同ResNet骨干網(wǎng)絡(luò)的FDA-SSD模型的性能存在一定的差異,無論輸入圖像尺寸是300×300像素或是512×512像素,以ResNet50為骨干網(wǎng)絡(luò)的檢測速度最快,以CBResNet(composite backbone residual neural network)為骨干網(wǎng)絡(luò)的準(zhǔn)確率最高。將骨干網(wǎng)絡(luò)從ResNet替換為CBResNet后,準(zhǔn)確率平均提升1.7%,檢測速度平均下降32幀/s。另外,骨干網(wǎng)絡(luò)的深度也有不小的影響,無論是ResNet還是CBResNet,50層網(wǎng)絡(luò)版本都比101層版本在準(zhǔn)確率上低1%左右,但在檢測速度上更快。因此對于FDA-SSD算法,采用替換為更深的骨干網(wǎng)絡(luò)在提升準(zhǔn)確率上有更顯著的效果。
表4 不同類型ResNet與圖像尺寸測試結(jié)果Table 4 Test results of different ResNets and image size
表5顯示了各種模型在PASCAL VOC2007數(shù)據(jù)集上的結(jié)果對比,這些模型包括了主流目標(biāo)檢測模型Faster RCNN和YOLO系列、SSD及其各種改進(jìn)版和其他一些檢測模型,表中的測試結(jié)果來自原算法作者論文的最優(yōu)結(jié)果及一些公開平臺(tái)的測評(píng)結(jié)果。
表5 各種算法結(jié)果對比Table 5 Comparison of results of various algorithms
以輸入圖像尺寸為300×300像素為例,F(xiàn)DA-SSD的推理速度與原始SSD算法相當(dāng),明顯快于DSSD、RSSD、FSSD、AFP-SSD(atrous filter pyramid single shot detector)等各種SSD改進(jìn)算法。而從準(zhǔn)確率來看,F(xiàn)DA-SSD模型已經(jīng)優(yōu)于絕大部分的SSD改進(jìn)模型。因此綜合速度和性能來看,F(xiàn)DA-SSD達(dá)到了最好的平衡。實(shí)驗(yàn)還顯示了當(dāng)采用CBResNet為骨干網(wǎng)時(shí),F(xiàn)DA-SSD可以達(dá)到更高的準(zhǔn)確率,說明本文算法在不同的骨干網(wǎng)上都具有較強(qiáng)的適用性。
圖10展示了各模型的mAP-FPS實(shí)驗(yàn)散點(diǎn)圖,F(xiàn)DA-SSD512的mAP達(dá)到了81.6%,與SSD改進(jìn)模型中準(zhǔn)確率最高的以Resnet-101為骨干網(wǎng)絡(luò)的DSSD512相當(dāng),但速度是DSSD512的3倍有余。FDA-SSD300的mAP達(dá)到79.8%,比SSD改進(jìn)模型中準(zhǔn)確率最高的以VGG16為骨干網(wǎng)絡(luò)的FSSD300高1.00%,速度要更快。在以300×300像素為輸入尺寸的各模型中,F(xiàn)DA-SSD300最靠近右上,充分顯示了其在性能和速度上的雙重優(yōu)越性。
圖10 各算法在PASCAL VOC2007測試集上的FPS與mAPFig.10 FPS and mAP of each algorithm in PASCAL VOC2007
圖11展示了SSD模型與FDA-SSD模型的一些圖片預(yù)測效果對比,其中上半部分圖片為經(jīng)過PASCAL VOC2007+2012訓(xùn)練集所訓(xùn)練出來的SSD模型,在PASCAL VOC2012測試集上的部分預(yù)測結(jié)果;下半部分圖像為FDA-SSD模型在PASCAL VOC2012測試集上的部分預(yù)測結(jié)果。從對比中可以看出,SSD模型對于受遮擋(圖11(a))、小目標(biāo)(圖11(b))、多目標(biāo)重疊(圖11(c))、圖像模糊(圖11(d))及大長目標(biāo)(圖11(e))的檢測較為困難,而FDA-SSD模型的表現(xiàn)相對穩(wěn)健很多。
圖11 SSD模型與FDA-SSD模型在PASCAL VOC test2007測試集中圖像預(yù)測效果對比Fig.11 Comparison of picture prediction effect between SSD model and FDA-SSD model on PASCAL VOC test2007 datasets((a)occluded target; (b)small target; (c)overlapping targets; (d)fuzzy target; (e)growth target)
表6 TGRS-HRRSD-Dataset數(shù)據(jù)集上的算法結(jié)果對比Table 6 Comparison of algorithm results on TGRS-HRRSD-Dataset
本文提出了一種基于融合策略優(yōu)化選擇和雙注意力機(jī)制的單目標(biāo)檢測模型FDA-SSD,采用層次更深的ResNet網(wǎng)絡(luò)來代替原SSD算法中深度較淺的VGG16網(wǎng)絡(luò)作為骨干網(wǎng)絡(luò),其次提出融合策略優(yōu)化選擇方法,通過在骨干網(wǎng)絡(luò)之后增加特征金字塔,產(chǎn)生融合各種跨層信息的特征圖候選集,經(jīng)過不同的特征融合、刪除圖層和卷積運(yùn)算等操作,選擇出表征能力強(qiáng)、語義信息豐富的特征圖組,最后增加雙注意力機(jī)制,進(jìn)一步優(yōu)化各特征圖中的通道權(quán)重。實(shí)驗(yàn)表明,相比現(xiàn)有的多種SSD改進(jìn)模型,本文模型表現(xiàn)出精度和速度上的雙重優(yōu)勢,在小目標(biāo)、受遮擋、模糊圖像等難目標(biāo)的檢測上也具有很好的性能。
雖然FDA-SSD模型在基于SSD系列改進(jìn)模型中表現(xiàn)出色,但本文工作主要基于研究特征圖的優(yōu)化,而在預(yù)測框生成與非極大值抑制方法上還留有很大的研究空間,這些都有待在未來的工作中繼續(xù)深入。