劉晉川, 黎向鋒, 劉安旭, 趙康, 李高揚(yáng), 左敦穩(wěn)
(南京航空航天大學(xué)機(jī)電學(xué)院, 南京 210016)
近年來(lái),人工智能與計(jì)算機(jī)技術(shù)持續(xù)迭代,計(jì)算機(jī)硬件和光電成像設(shè)備不斷更新,這極大地推動(dòng)了計(jì)算機(jī)視覺(jué)領(lǐng)域的發(fā)展,同時(shí),搭載著高效視覺(jué)系統(tǒng)的無(wú)人機(jī)在軍事和民用領(lǐng)域的應(yīng)用也更加廣泛。然而,無(wú)人機(jī)由于拍攝高度高、視野廣,其獲得的圖像中往往包含大量小目標(biāo),像素信息少且邊界模糊,很難提取到有效的目標(biāo)特征。傳統(tǒng)的目標(biāo)檢測(cè)方法根據(jù)顏色、紋理、邊界等信息人工設(shè)計(jì)特征描述符[1]提取目標(biāo)特征,最后通過(guò)支持向量機(jī)(support vector machine,SVM)實(shí)現(xiàn)目標(biāo)分類(lèi);但該類(lèi)算法中特征的設(shè)計(jì)以及選擇在很大程度上依賴于人工,導(dǎo)致特征提取器設(shè)置復(fù)雜,對(duì)復(fù)雜多變的特征魯棒性差,且傳統(tǒng)算法中基于滑動(dòng)窗口的區(qū)域選擇策略沒(méi)有針對(duì)性,窗口冗余,復(fù)雜度高,實(shí)時(shí)性差,難以勝任無(wú)人機(jī)圖像中的目標(biāo)檢測(cè)任務(wù)。近年來(lái),基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks, CNN)的深度學(xué)習(xí)檢測(cè)方法快速發(fā)展,該方法設(shè)計(jì)方便且泛化能力強(qiáng),已逐漸成為目標(biāo)檢測(cè)的主流方法。
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)方法按照檢測(cè)階段大致可以分為二階段檢測(cè)算法和一階段檢測(cè)算法。二階段算法通過(guò)對(duì)候選框進(jìn)行初篩后再對(duì)候選區(qū)域中的目標(biāo)進(jìn)行定位與識(shí)別,如Faster R-CNN[2]、特征金字塔網(wǎng)絡(luò)(feature pyramid networks,F(xiàn)PN)[3]都是經(jīng)典的二階段檢測(cè)算法,該類(lèi)算法可以取得較高的檢測(cè)精度,但檢測(cè)速度較慢;一階段算法不對(duì)候選框進(jìn)行初篩,而是通過(guò)回歸思想直接完成檢測(cè)和識(shí)別,檢測(cè)速度大大提升,但精度略低,如YOLOv3[4]、單點(diǎn)多盒探測(cè)器(single shot multibox detector,SSD)[5]、RetinaNet[6]等都是通用的一階段算法。相比傳統(tǒng)算法,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法性能更高,但對(duì)小目標(biāo)的檢測(cè)效果仍有很大提升空間。
通過(guò)豐富特征圖中的小目標(biāo)信息是提高小目標(biāo)檢測(cè)精度最有效、最常用的手段,如采用注意力機(jī)制、FPN等方法。2018年,Liu等[7]設(shè)計(jì)了由深至淺、再由淺至深的兩條特征圖融合路徑,相比FPN,進(jìn)一步加強(qiáng)了特征信息流動(dòng),豐富了特征圖信息,并由此提出了路徑聚合網(wǎng)絡(luò)(path aggregation network,PANet);2019年,Ghiasi等[8]通過(guò)神經(jīng)網(wǎng)絡(luò)搜索技術(shù)搜尋“最優(yōu)”的特征圖融合路徑,通過(guò)融合跨比例的特征圖,得到了性能極高但融合路徑復(fù)雜的NAS-FPN網(wǎng)絡(luò),相比FPN,在COCO測(cè)試集上檢測(cè)精度提升了2%;曹凱等[9]通過(guò)模擬人類(lèi)視覺(jué)選擇注意力機(jī)制提出了SENet注意力模型,通過(guò)學(xué)習(xí)每個(gè)特征通道的重要性對(duì)特征圖特征進(jìn)行重標(biāo)定,增強(qiáng)有用信息,抑制無(wú)用信息,極大地降低了檢測(cè)模型的錯(cuò)誤率;Woo等[10]采用全局池化方法設(shè)計(jì)了通道注意力和空間注意力兩個(gè)模塊,并實(shí)驗(yàn)驗(yàn)證了其嵌入順序,通過(guò)串行連接兩個(gè)注意力模塊有效提高了對(duì)小目標(biāo)信息的關(guān)注程度;Zhang等[11]在2019年提出了CAD-Net,利用注意力機(jī)制以及上下文信息實(shí)現(xiàn)了對(duì)遙感目標(biāo)的檢測(cè),可以對(duì)圖像中的小目標(biāo)以及密集目標(biāo)實(shí)現(xiàn)精準(zhǔn)識(shí)別。雖然上述方法都可以對(duì)小目標(biāo)的檢測(cè)起到正面效果,但大部分方法都會(huì)對(duì)網(wǎng)絡(luò)的計(jì)算量和參數(shù)量帶來(lái)較大負(fù)荷,最終導(dǎo)致檢測(cè)速度無(wú)法達(dá)到實(shí)時(shí)要求。
合理的錨框機(jī)制也是提升網(wǎng)絡(luò)對(duì)小目標(biāo)的檢測(cè)精度的常用方法。大部分目標(biāo)檢測(cè)算法通過(guò)在特征圖的每個(gè)像素點(diǎn)上鋪設(shè)一組預(yù)定義好的錨框來(lái)實(shí)現(xiàn)目標(biāo)檢測(cè),該類(lèi)方法一般通過(guò)人工或聚類(lèi)算法[12]設(shè)計(jì)合適的錨框尺寸以提升檢測(cè)精度,對(duì)不同的數(shù)據(jù)集泛化性較差。近年來(lái),一種新型的無(wú)錨框(Anchor-free)檢測(cè)方法也在迅速發(fā)展。Law等[13]提出的CornerNet是性能較高的無(wú)錨框檢測(cè)算法,該算法不再設(shè)計(jì)錨框檢測(cè)目標(biāo),而是將目標(biāo)檢測(cè)看作是對(duì)兩個(gè)關(guān)鍵點(diǎn)位置的預(yù)測(cè),通過(guò)預(yù)測(cè)兩組熱力特征圖確定關(guān)鍵點(diǎn)的位置,該方法在當(dāng)時(shí)Anchor-base的檢測(cè)潮流下取得了不錯(cuò)的效果;不同于CornerNet對(duì)兩個(gè)角點(diǎn)的檢測(cè)方式,Tian等[14]提出的全卷積的單級(jí)目標(biāo)檢測(cè)器(fully convolutional one-stage,F(xiàn)COS)算法對(duì)每個(gè)中心點(diǎn)就行回歸,回歸目標(biāo)則是中心點(diǎn)相對(duì)于邊界框上、下、左、右4條邊的距離,在當(dāng)時(shí)Anchor-free檢測(cè)算法中性能達(dá)到最高;Zhang等[15]指出導(dǎo)致Anchor-base與Anchor-free方法存在差異的根本原因在于其正負(fù)樣本的定義不同,深入分析了正負(fù)樣本的選擇對(duì)檢測(cè)精度的影響,并針對(duì)該問(wèn)題設(shè)計(jì)了自適應(yīng)訓(xùn)練樣本選擇(adaptive training sample selection,ATSS)方法來(lái)確定正負(fù)樣本,實(shí)驗(yàn)結(jié)果表明,該方法可以有效提升算法的檢測(cè)精度。
RetinaNet是檢測(cè)精度較高的一階段算法,分3個(gè)模塊完成對(duì)目標(biāo)的檢測(cè):首先是特征提取網(wǎng)絡(luò),該模塊通過(guò)CNN提取圖片特征,生成包含細(xì)粒度信息(紋理、顏色等)的淺層特征圖與包含粗粒度信息(語(yǔ)義信息)的深層特征圖;隨后通過(guò)FPN網(wǎng)絡(luò)融合各特征圖信息,加強(qiáng)各特征圖之間的信息流動(dòng);最后設(shè)計(jì)錨框檢測(cè)各特征圖中的目標(biāo)并對(duì)其進(jìn)行打分,篩選出可信度較高的檢測(cè)結(jié)果,從而實(shí)現(xiàn)目標(biāo)的定位和檢測(cè)。RetinaNet可以對(duì)航拍下的中大型目標(biāo)取得較好的檢測(cè)效果,但對(duì)小目標(biāo)的漏檢率較高?,F(xiàn)以RetinaNet為基礎(chǔ),以提高無(wú)人機(jī)航拍圖像中小目標(biāo)檢測(cè)精度為主要目標(biāo),通過(guò)豐富特征圖信息及錨框機(jī)制等手段設(shè)計(jì)檢測(cè)精度高、檢測(cè)速度快的無(wú)人機(jī)航拍目標(biāo)檢測(cè)算法。首先提出一種多階段特征融合方法,并結(jié)合注意力機(jī)制設(shè)計(jì)特征挖掘模塊(feature mining module,F(xiàn)MM),充分提取圖像中感興趣目標(biāo)信息;其次,在RetinaNet網(wǎng)絡(luò)中設(shè)計(jì)基于中心點(diǎn)的Anchor-free檢測(cè)方法,避免人工設(shè)計(jì)錨框超參數(shù);最后,為了減小模型大小、提高檢測(cè)速度,采用深度可分離卷積的方法對(duì)提出的特征提取網(wǎng)絡(luò)進(jìn)行輕量化設(shè)計(jì),使之可以勝任實(shí)時(shí)的目標(biāo)檢測(cè)任務(wù)。
RetinaNet算法精髓是Focal Loss損失函數(shù)。針對(duì)檢測(cè)過(guò)程中參與反向傳播的前景目標(biāo)和背景目標(biāo)比例不均衡現(xiàn)象,在交叉熵?fù)p失函數(shù)中添加了正負(fù)樣本的權(quán)衡因子與之相乘,得到了Focal Loss損失函數(shù),該損失函數(shù)可以自動(dòng)判斷正負(fù)樣本并決定該樣本對(duì)總損失的貢獻(xiàn),一定程度上解決了正負(fù)樣本不均衡現(xiàn)象,提升了一階段算法的檢測(cè)精度。在RetinaNet之前的通用算法一般使用二分類(lèi)交叉熵作為損失函數(shù),其計(jì)算過(guò)程為
(1)
式(1)中:CE為交叉熵函數(shù);y為二分類(lèi)結(jié)果,前景為1,背景為-1;p為預(yù)測(cè)結(jié)果y=1的概率。在Focal Loss中,為了方便,定義新的參數(shù)pt為
(2)
則可重寫(xiě)交叉熵?fù)p失函數(shù)為
CE(p,y)=CE(pt)=-lnpt
(3)
通常解決正負(fù)樣本不均衡的方法是在損失函數(shù)前引入權(quán)重因子α(α∈[0,1]),但該方法只能平衡正負(fù)樣本,并不能區(qū)分兩者。故在函數(shù)上加了權(quán)重參數(shù)使其注重難分類(lèi)樣本對(duì)損失的貢獻(xiàn),整合出的損失函數(shù)如式(4)所示。
FL(pt)=-αt(1-pt)γlnpt
(4)
式(4)中:γ為關(guān)注度參數(shù);α為權(quán)重因子。經(jīng)實(shí)驗(yàn),當(dāng)γ=2,α=0.25時(shí),網(wǎng)絡(luò)的表現(xiàn)最好。
圖1 RetinaNet結(jié)構(gòu)圖Fig.1 The structure of RetinaNet
圖1為RetinaNet網(wǎng)絡(luò)檢測(cè)流程圖,RetinaNet[6]采用何愷明團(tuán)隊(duì)提出的ResNet-101深度殘差網(wǎng)絡(luò)為主干網(wǎng)絡(luò),生成不同深度特征圖后經(jīng)FPN網(wǎng)絡(luò)進(jìn)行特征融合,最后基于錨框(Anchor-base)方法在多尺度上回歸目標(biāo)。將設(shè)計(jì)特征提取能力更強(qiáng)的FMM模塊取代ResNet-101中的殘差塊,并設(shè)計(jì)Anchor-free的方法檢測(cè)目標(biāo),最后對(duì)重新設(shè)計(jì)的主干網(wǎng)絡(luò)進(jìn)行模型壓縮,達(dá)到檢測(cè)精度與檢測(cè)速度的均衡,使其應(yīng)用在實(shí)時(shí)檢測(cè)任務(wù)中。
為了盡可能豐富特征圖中的目標(biāo)信息,對(duì)傳統(tǒng)殘差塊進(jìn)行了改進(jìn),設(shè)計(jì)了注意力機(jī)制與多階段特征融合方法,最終構(gòu)成FMM模塊取代傳統(tǒng)殘差結(jié)構(gòu)。
1.1.1 注意力模塊
FMM模塊中采用的注意力結(jié)構(gòu)如圖2所示,該方法旨在通過(guò)建模輸入特征圖通道間的關(guān)系,使網(wǎng)絡(luò)自動(dòng)學(xué)習(xí)每個(gè)通道的重要程度,從而挖掘特征圖中的重要信息。圖2中,X和Y分別為輸入輸出特征圖,其維度保持一致,均為H×W×C。整體操作由壓縮和擴(kuò)張兩部分完成;由于X的每個(gè)通道都是二維特征,很難捕捉到每個(gè)通道之間的關(guān)系,所以,通過(guò)全局池化將特征圖每個(gè)通道的信息變換為一個(gè)像素,保持通道數(shù)不變,從而生成1×1×C的特征向量zc,該過(guò)程即為壓縮操作,公式為
(5)
式(5)中:xc為輸入特征圖中每個(gè)通道對(duì)應(yīng)的二維向量;(i,j)為枚舉該通道的每一個(gè)像素點(diǎn);SQ即為壓縮操作;zc為壓縮得到的一維向量。壓縮后通過(guò)擴(kuò)張操作獲取每個(gè)特征通道間的依賴關(guān)系,計(jì)算公式為
s=EX(z,W)=σ[W2δ(W1z)]
(6)
式(6)中:s為通道重要性向量;W1的維度是C/r×C,用來(lái)進(jìn)行全連接層的計(jì)算;r為縮放因子,一般取r=16,以降低計(jì)算量;W1與z相乘后得到1×1×C/r的向量,然后該向量會(huì)經(jīng)過(guò)一個(gè)ReLU激活函數(shù)(式中δ操作),隨后與維度為C×C/r的W2相乘,其輸出的維度為1×1×C,該向量中的C對(duì)應(yīng)輸入特征圖X中各個(gè)通道的重要程度。最后將得到的表示通道重要性的向量作用到原特征通道上,以完成對(duì)原始通道的重標(biāo)定。
圖2 注意力模塊結(jié)構(gòu)圖Fig.2 The structure of attention module
1.1.2 多階段特征融合
常見(jiàn)的殘差網(wǎng)絡(luò)如ResNet、ResNext[16]以及ResNeSt[17]等為加強(qiáng)特征圖中的小目標(biāo)信息,會(huì)將特征提取網(wǎng)絡(luò)生成的最終階段的特征圖進(jìn)行連接融合以增強(qiáng)目標(biāo)信息,可以有效提升檢測(cè)精度。借鑒這種思想,在特征提取過(guò)程中設(shè)計(jì)了多階段特征融合模塊,在特征提取過(guò)程以及更小的粒度上融合特征圖信息。
圖3是傳統(tǒng)殘差塊結(jié)構(gòu)圖,進(jìn)入殘差塊的輸入特征圖首先經(jīng)過(guò)1×1卷積降低通道數(shù),再通過(guò)3×3卷積進(jìn)行正常的特征提取,最后使用1×1卷積將其還原到初始通道數(shù)量,兩者進(jìn)行相加后作為該殘差塊的輸出。提出的特征挖掘模塊如圖4所示,由多階段特征融合模塊與注意力機(jī)制結(jié)合而成。多階段特征融合模塊首先通過(guò)1×1卷積減少通道數(shù),然后將通道順序均分為k塊,取k=4,每一小塊Xi(除X1之外)都會(huì)先通過(guò)3×3的變形卷積[18]提取特征,該卷積操作用Ki表示,對(duì)應(yīng)的卷積結(jié)果為Yi,在該流程中,每個(gè)Xi會(huì)先于Ki-1進(jìn)行相加然后再進(jìn)行Ki的卷積操作,最終會(huì)得到k個(gè)輸出,將這些輸出按照分割時(shí)的順序進(jìn)行拼接融合,再送入1×1的卷積擴(kuò)張維度,最后與網(wǎng)絡(luò)的輸入相加得到最終的輸出。通過(guò)在每個(gè)殘差塊中對(duì)特征圖通道進(jìn)行拆分和融合,可以在特征提取過(guò)程中就實(shí)現(xiàn)類(lèi)似特征圖融合的作用,從而提高對(duì)各類(lèi)目標(biāo)尤其是小目標(biāo)的檢測(cè)。
圖3 傳統(tǒng)殘差塊Fig.3 Traditional residual blocks
圖4 特征挖掘模塊Fig.4 Feature mining module
經(jīng)FMM模塊設(shè)計(jì)的特征提取網(wǎng)絡(luò)結(jié)構(gòu)如表1所示,命名為無(wú)人機(jī)小目標(biāo)探測(cè)網(wǎng)絡(luò)(UAV small target detection network,USTDNet)。輸入網(wǎng)絡(luò)的圖像尺寸為800 pixel×800 pixel。
表1 USTDNet網(wǎng)絡(luò)結(jié)構(gòu)Table 1 The structure of USTDNet
圖5為ResNet-101與USTDNet對(duì)同一張圖像進(jìn)行特征提取后得到的熱力特征圖,其中暖色像素對(duì)網(wǎng)絡(luò)的決策更加重要。從圖5中可以看出,經(jīng)FMM設(shè)計(jì)后的特征提取網(wǎng)絡(luò)可以更加有效地關(guān)注到目標(biāo)信息。
圖5 ResNet-101與USTDNet熱力圖對(duì)比Fig.5 Heat map comparison between ResNet-101 and USTDNet
目前的主流算法都是基于錨框檢測(cè)目標(biāo)的,雖然也能取得較高的檢測(cè)精度,但是這種Anchor-base方法也有不少缺陷。Anchor-base模型依賴于初始錨框的設(shè)計(jì),尺寸、長(zhǎng)寬比都是重要的影響因素,設(shè)定好的anchor可以匹配到大多數(shù)目標(biāo),但是對(duì)于形變較大或者小尺寸目標(biāo)會(huì)表現(xiàn)出一定的局限性,對(duì)不同的數(shù)據(jù)集泛化性能不好;再者,Anchor-base方法為了取得較高的召回率,會(huì)在每個(gè)特征圖的像素點(diǎn)上鋪設(shè)密集的錨框,導(dǎo)致網(wǎng)絡(luò)在進(jìn)行前向推演以及非極大值抑制[19](non-maximum suppression,NMS)時(shí)占用較多的資源。近年來(lái)研究學(xué)者提出Anchor-free的方法對(duì)其進(jìn)行改進(jìn),經(jīng)過(guò)幾年的不斷發(fā)展和完善,已經(jīng)達(dá)到甚至超越了Anchor-base方法的檢測(cè)精度。將設(shè)計(jì)基于中心的Anchor-free算法[20]對(duì)網(wǎng)絡(luò)進(jìn)行改進(jìn)。
主干網(wǎng)絡(luò)生成各階段特征圖之后,通過(guò)在特征圖的每個(gè)特征點(diǎn)上生成一個(gè)中心點(diǎn)來(lái)對(duì)目標(biāo)進(jìn)行回歸,回歸的目標(biāo)是該點(diǎn)距離真實(shí)框上、下、左、右邊界的距離,分別用t、b、l、r表示,如圖6所示。當(dāng)某個(gè)點(diǎn)(x,y)落入真實(shí)框中時(shí),就將其作為正樣本,回歸目標(biāo)為T(mén)*=(l*,t*,r*,b*),按式(7)進(jìn)行計(jì)算。
(7)
式(7)中:(x0,y0)和(x1,y1)分別為矩形框左上角和右下角的坐標(biāo)。
圖6 Anchor-free示意圖Fig.6 Schematic diagram of Anchor-free
在上述過(guò)程中,由于有些中心點(diǎn)會(huì)遠(yuǎn)離其預(yù)測(cè)目標(biāo)的中心,導(dǎo)致網(wǎng)絡(luò)生成質(zhì)量較低的邊界框,影響檢測(cè)精度,所以在Anchor-free方法中引入Center-ness策略抑制無(wú)效框的產(chǎn)生,計(jì)算公式為
(8)
式(8)中:d為預(yù)測(cè)中心(x,y)與預(yù)測(cè)物體中心之間的距離。
一般在進(jìn)行NMS時(shí),將其與分類(lèi)置信度相乘作為NMS排序的分?jǐn)?shù)依據(jù),以去除距離物體中心較遠(yuǎn)的無(wú)效框。然而,在加入Center-ness分支的網(wǎng)絡(luò)中,訓(xùn)練時(shí)分類(lèi)預(yù)測(cè)和質(zhì)量估計(jì)單獨(dú)訓(xùn)練,測(cè)試時(shí)將兩者相乘作為NMS排序指標(biāo),這必然會(huì)導(dǎo)致一定的誤差;因?yàn)榉诸?lèi)子網(wǎng)是將前景目標(biāo)與大量背景目標(biāo)混合進(jìn)行訓(xùn)練的,而定位質(zhì)量子網(wǎng)一般只針對(duì)前景目標(biāo)進(jìn)行訓(xùn)練,故存在一部分分類(lèi)分?jǐn)?shù)較低的背景目標(biāo)可能獲得較高的定位質(zhì)量估計(jì),兩者相乘做NMS排序時(shí),該背景目標(biāo)可能被劃分為正樣本。
針對(duì)此現(xiàn)象,提出在訓(xùn)練時(shí)將分類(lèi)預(yù)測(cè)與質(zhì)量預(yù)測(cè)結(jié)合。通常,分類(lèi)估計(jì)的輸出為0或1(分類(lèi)分?jǐn)?shù)),通過(guò)將檢測(cè)框的分類(lèi)得分改為對(duì)應(yīng)框的定位質(zhì)量預(yù)測(cè)分?jǐn)?shù),從而達(dá)到訓(xùn)練和檢測(cè)一致的目的。但由于Focal Loss是針對(duì)0和1這種離散標(biāo)簽設(shè)計(jì)的,而聯(lián)合表示后得到的是0~1的連續(xù)值,所以有必要對(duì)其損失函數(shù)進(jìn)行修改,故將原來(lái)的損失函數(shù)改為式(9),命名為質(zhì)量焦點(diǎn)損失(quality focal loss,QFL)。
QFL(σ)=-|y-σ|β[(1-y)ln(1-σ)+ylnσ]
(9)
式(9)中:-[(1-y)ln(1-σ)+ylnσ]為原函數(shù)中-lnpt交叉熵函數(shù)的展開(kāi)版本;y∈[0,1],表示定位質(zhì)量分?jǐn)?shù),y為0時(shí)表示背景樣本,0 采用深度可分離卷積的方法對(duì)改進(jìn)RetinaNet進(jìn)行輕量算法設(shè)計(jì)。深度可分離卷積由逐通道卷積和逐點(diǎn)卷積兩部分組成。圖7為上述3種不同卷積的操作流程圖??梢钥闯?,普通卷積中的每個(gè)卷積核都需要對(duì)特征圖的每一個(gè)通道依次執(zhí)行卷積計(jì)算,而逐通道卷積中每個(gè)卷積核只需要負(fù)責(zé)輸入特征圖的一個(gè)通道,大大減少了計(jì)算量,由于每個(gè)卷積核負(fù)責(zé)一個(gè)通道,所以特征圖的輸入和輸出維度一致,后續(xù)可以使用逐點(diǎn)卷積對(duì)通道數(shù)進(jìn)行擴(kuò)充或縮減。 圖7 三種不同卷積對(duì)比Fig.7 The comparisons of three different convolution 設(shè)輸入、輸出特征圖尺寸分別為H×W×M、H×W×N,卷積核尺寸為K×K×M,則普通卷積的計(jì)算量Cstd和參數(shù)量Pstd分別為 Cstd=HWK2MN (10) Pstd=HWMN (11) 在進(jìn)行深度可分離卷積時(shí),逐通道卷積的計(jì)算量Cdc與參數(shù)量Pdc分別為 Cdc=HWK2M (12) Pdc=HWM (13) 逐點(diǎn)卷積的計(jì)算量Cpc和參數(shù)量Ppc分別為 Cpc=MNK2 (14) Ppc=MN (15) 則深度可分離卷積的計(jì)算量Cdsc和參數(shù)量Pdsc分別為 Cdsc=Cdc+Cpc=HWMK2+MNK2 (16) Pdsc=Pdc+Ppc=HWM+MN (17) 深度可分離卷積與普通卷積的計(jì)算量和參數(shù)量之比分別為 (18) (19) 在USTDNet網(wǎng)絡(luò)中,卷積操作一般是由3×3大小的卷積核完成的,將網(wǎng)絡(luò)中的3×3全集全部使用可分離卷積替換,采用該方法大約可以將計(jì)算量降為原來(lái)的1/9,參數(shù)量的減少比例取決與輸入特征圖的寬、高以及輸出特征圖的通道數(shù)。 DIOR數(shù)據(jù)集[21]是由西北工業(yè)大學(xué)在2019年提出的大型航拍數(shù)據(jù)集,是目前公開(kāi)的最大、最多樣化的航拍數(shù)據(jù)集之一。DIOR數(shù)據(jù)集中的圖像來(lái)自Google Earth,包含23 463張圖片,共有192 472個(gè)對(duì)象實(shí)例,圖像尺寸均為800 pixel×800 pixel。作者選取了飛機(jī)、船舶、儲(chǔ)罐、車(chē)輛等20類(lèi)具有實(shí)用價(jià)值的目標(biāo),這些目標(biāo)具有較大的尺寸變化,且存在較高的類(lèi)內(nèi)多樣性,類(lèi)間如車(chē)輛與船舶相似性較高。該數(shù)據(jù)集中的車(chē)輛、船只以及儲(chǔ)罐等眾多目標(biāo)在圖像中占比很小,十分適用于無(wú)人機(jī)視角下的小目標(biāo)檢測(cè)研究,故選取該數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。 設(shè)計(jì)的算法應(yīng)用在無(wú)人機(jī)圖像檢測(cè)任務(wù)中,需要對(duì)算法的預(yù)測(cè)結(jié)果進(jìn)行定量評(píng)估以評(píng)價(jià)其性能。使用平均精度均值(mean average precision,mAP)作為檢測(cè)精度的度量指標(biāo);用每秒檢測(cè)幀數(shù)(frame per second,F(xiàn)PS)作為檢測(cè)速度的度量指標(biāo)。 DIOR數(shù)據(jù)集中用于訓(xùn)練、驗(yàn)證和測(cè)試的比例與原論文保持一致,按照1∶1∶2的比例設(shè)置,方便與其他研究結(jié)果進(jìn)行對(duì)比;其中驗(yàn)證集的作用是在訓(xùn)練過(guò)程可以及時(shí)發(fā)現(xiàn)模型或者參數(shù)設(shè)置的問(wèn)題,以便及時(shí)調(diào)整。訓(xùn)練過(guò)程中采用SGD優(yōu)化器更新網(wǎng)絡(luò)參數(shù),共訓(xùn)練16輪,設(shè)置初始學(xué)習(xí)率為0.001,根據(jù)學(xué)習(xí)率衰減策略,分別在第12輪和第15輪下降到0.000 1和0.000 01以尋求SGD優(yōu)化器的最優(yōu)解。訓(xùn)練初期采用ResNet論文中提出的學(xué)習(xí)率預(yù)熱方法,首先采用較小學(xué)習(xí)率訓(xùn)練,然后逐漸增大至設(shè)置的初始學(xué)習(xí)率繼續(xù)訓(xùn)練,避免收斂效果不好以及模型不穩(wěn)定等問(wèn)題。實(shí)驗(yàn)在Ubuntu20.04系統(tǒng)下進(jìn)行,使用Python3.6開(kāi)發(fā)語(yǔ)言,基于Pytorch1.6深度學(xué)習(xí)框架設(shè)計(jì)網(wǎng)絡(luò)。 為驗(yàn)證所提出的Anchor-free檢測(cè)方法與FMM模塊的有效性,對(duì)網(wǎng)絡(luò)進(jìn)行消融實(shí)驗(yàn),結(jié)果如表2所示。從消融實(shí)驗(yàn)結(jié)果可知,對(duì)算法的幾種改進(jìn)方法都取得了不錯(cuò)的效果,其中基于中心點(diǎn)的Anchor-free檢測(cè)方法將網(wǎng)絡(luò)檢測(cè)精度提升了0.054;設(shè)計(jì)的FMM特征挖掘模塊使網(wǎng)絡(luò)檢測(cè)精度提升了0.031。 表2 消融實(shí)驗(yàn)結(jié)果Table 2 Ablation results 為驗(yàn)證本文算法的先進(jìn)性,將其與現(xiàn)階段先進(jìn)算法進(jìn)行比較。表3是各種算法在DIOR數(shù)據(jù)集上的mAP以及FPS對(duì)比。可知,所提出的算法可以大幅度提高檢測(cè)精度,其檢測(cè)效果優(yōu)于YOLOv3、RetinaNet、經(jīng)典Faster R-CNN以及文獻(xiàn)[22-24]提出的算法;其檢測(cè)速度幾乎與原算法持平,在800 pixel×800 pixel的圖像上檢測(cè)速度達(dá)到12幀/s。 表3 各類(lèi)算法在DIOR數(shù)據(jù)集上的檢測(cè)結(jié)果Table 3 Detection results of various algorithms on DIOR 為觀察本文算法對(duì)數(shù)據(jù)集中各尺寸目標(biāo)的檢測(cè)情況,列出本章算法與其他幾種算法在各類(lèi)目標(biāo)上的AP值進(jìn)行對(duì)比分析,如表4所示。 表4 各類(lèi)算法在DIOR數(shù)據(jù)集上精度對(duì)比Table 4 Precision comparison of various algorithms on DIOR 由表4可知,本文算法在各類(lèi)目標(biāo)上的檢測(cè)精度均超越了RetinaNet算法;相比文獻(xiàn)[22]的二階段算法檢測(cè)結(jié)果,大多數(shù)目標(biāo)檢測(cè)精度處于領(lǐng)先。通過(guò)對(duì)數(shù)據(jù)集中的小目標(biāo)如汽車(chē)、船舶、儲(chǔ)罐的檢測(cè)精度觀察分析可知,算法在汽車(chē)、船舶、儲(chǔ)罐上的檢測(cè)精度相對(duì)原RetinaNet算法分別增加了0.192、0.143、0.253,提升明顯。如圖8為RetinaNet算法與本文算法在DIOR數(shù)據(jù)集上的檢測(cè)效果圖,可以看出,相對(duì)于RetinaNet算法,本文算法不僅提高了召回率,且定位框精度更高。 使用1.3節(jié)中提出的深度可分離卷積方法對(duì)特征提取網(wǎng)絡(luò)進(jìn)行模型壓縮,其結(jié)果如表5所示。由表5中數(shù)據(jù)可知,雖然壓縮后的模型較壓縮前精度損失2.6%,但其檢測(cè)速度由12幀/s提升到了19幀/s,且在運(yùn)算量、參數(shù)量及模型大小方面都有較大優(yōu)勢(shì),更加適合在移動(dòng)端部署。 圖8 檢測(cè)結(jié)果Fig.8 Comparison of test results 表5 輕量化前后結(jié)果對(duì)比Table 5 Comparison of results before and after lightweight 針對(duì)無(wú)人機(jī)視角下的小目標(biāo)難以檢測(cè)的問(wèn)題,對(duì)RetinaNet網(wǎng)絡(luò)模型進(jìn)行了多方面改進(jìn)。首先為了豐富特征圖中的目標(biāo)信息,提出了多階段特征融合方法與注意力機(jī)制模塊,將其串聯(lián)形成FMM模塊,加強(qiáng)網(wǎng)絡(luò)對(duì)感興趣目標(biāo)的特征提取能力;其次,引入了基于中心點(diǎn)檢測(cè)的Anchor-free算法,并通過(guò)將質(zhì)量估計(jì)和分類(lèi)分?jǐn)?shù)聯(lián)合訓(xùn)練的方法解決了一般Anchor-free中的弊病,不僅提升了檢測(cè)精度,還加快了模型的推理速度;改進(jìn)后的算法精度在DIOR數(shù)據(jù)集上達(dá)到69.5%,且改進(jìn)后算法的檢測(cè)速度與原算法持平。為了使提出的算法能夠滿足實(shí)時(shí)檢測(cè)的要求,并達(dá)到移動(dòng)端部署的要求,對(duì)網(wǎng)絡(luò)進(jìn)行了輕量化設(shè)計(jì),將網(wǎng)絡(luò)中的3×3標(biāo)準(zhǔn)卷積替換為深度可分離卷積,在損失少量精度的前提下壓縮了模型,提高了檢測(cè)速度。但輕量化之后的網(wǎng)絡(luò)精度損失2.6%,后續(xù)應(yīng)當(dāng)使用更加智能的模型壓縮策略,例如結(jié)合剪枝與輕量化方法,以求在損失較少精度的前提下壓縮模型。1.3 改進(jìn)RetinaNet的輕量算法設(shè)計(jì)
2 實(shí)驗(yàn)結(jié)果與分析
2.1 數(shù)據(jù)集及評(píng)價(jià)標(biāo)準(zhǔn)
2.2 訓(xùn)練策略
2.3 實(shí)驗(yàn)分析
3 結(jié)論