王鼎山,賈世杰
(大連交通大學(xué) 電氣信息工程學(xué)院,遼寧 大連 116028)
智能無(wú)人機(jī)近幾年在能源巡檢[1]、海上救援[2]、交通監(jiān)管[3]等領(lǐng)域內(nèi)獲得了越來(lái)越廣泛的應(yīng)用,而目標(biāo)檢測(cè)是實(shí)現(xiàn)無(wú)人機(jī)智能感知的關(guān)鍵技術(shù)之一,憑借著深度學(xué)習(xí)的優(yōu)勢(shì),當(dāng)前目標(biāo)檢測(cè)發(fā)展日漸成熟,并建立了以Faster R-CNN[4]、R-FCN[5]、Cascade R-CNN[6]等為代表算法的兩階段檢測(cè)框架和以SSD[7,8]系列、YOLO[9-12]系列、RetinaNet[13]等算法為主的單階段檢測(cè)框架,在常規(guī)圖像數(shù)據(jù)集上,此類檢測(cè)算法取得了巨大的成功。然而,在航拍圖像中由于目標(biāo)物體尺寸偏小、特征不明顯和分布不均勻的特性,使得這些通用目標(biāo)檢測(cè)器無(wú)法充分發(fā)揮其潛能,導(dǎo)致航拍圖像中的目標(biāo)檢測(cè)效果并不理想。
為了使目標(biāo)檢測(cè)在無(wú)人機(jī)航拍圖像處理中獲得良好的性能,眾多研究者提出了不同的方法和策略來(lái)彌補(bǔ)檢測(cè)器的不足。Liang X等[14]提出的FS-SSD改進(jìn)算法,從多類目標(biāo)之間的相互作用考慮來(lái)進(jìn)行空間上下文分析,充分利用了目標(biāo)特征的鄰域信息,彌補(bǔ)了SSD在小目標(biāo)檢測(cè)上存在的不足,但該方法依賴于相關(guān)權(quán)衡參數(shù)和距離閾值的設(shè)置,不利于模型的自適應(yīng)學(xué)習(xí)。高楊等[15]運(yùn)用多層特征融合的方式對(duì)Faster R-CNN進(jìn)行了改進(jìn),提升了小目標(biāo)的檢測(cè)精度,但是各層特征的融合并不總是有效,有時(shí)一些背景噪聲的干擾會(huì)影響特征圖的激活。Zhang X等[16]基于Cascade R-CNN級(jí)聯(lián)檢測(cè)的思想,提出一種多模型融合的航拍目標(biāo)檢測(cè)器DSOD,有效提升了密集小目標(biāo)的檢測(cè)性能。
上述檢測(cè)算法從不同的角度考慮,給出了針對(duì)航拍圖像目標(biāo)檢測(cè)效果不佳的相應(yīng)解決方案,但是很少通過(guò)優(yōu)化預(yù)測(cè)階段的特征來(lái)進(jìn)一步提高檢測(cè)器的性能。在特征預(yù)測(cè)階段,檢測(cè)頭部作為最終結(jié)果的輸出端,尤其對(duì)小目標(biāo)特征的推理預(yù)測(cè)影響著整體模型的魯棒性。因此,本文以YOLOv4為基線模型提出了一種具有目標(biāo)感知增強(qiáng)的航拍檢測(cè)算法。其中,YOLOv4對(duì)網(wǎng)絡(luò)的梯度信息和目標(biāo)定位信息進(jìn)行了優(yōu)化,并探究了與多種實(shí)用檢測(cè)策略的最優(yōu)組合,有效地實(shí)現(xiàn)了檢測(cè)器速度與精度之間的最佳平衡。鑒于此,本文首先對(duì)其主干網(wǎng)絡(luò)引入了注意力機(jī)制,以在基礎(chǔ)特征之上構(gòu)建更有效的特征分量,從而提升目標(biāo)在各層級(jí)的表征效果。其次借助上下文信息的優(yōu)勢(shì),將特征金字塔結(jié)構(gòu)中的多尺度信息進(jìn)行上下文匯總和篩選,從而細(xì)化中間特征。最后在特征預(yù)測(cè)階段,通過(guò)復(fù)用原始檢測(cè)信息和跨階段聚合主干網(wǎng)絡(luò)特征,重構(gòu)了檢測(cè)頭子網(wǎng)絡(luò),以增強(qiáng)模型對(duì)目標(biāo)的定位感知能力。最終在相應(yīng)數(shù)據(jù)集上的評(píng)估,驗(yàn)證了本文所提方法在無(wú)人機(jī)航拍目標(biāo)檢測(cè)任務(wù)上的有效性。
如圖1所示為網(wǎng)絡(luò)模型的框架,主要包括3部分,第一部分為BCA-CSPDarknet53特征提取網(wǎng)絡(luò),是在主干網(wǎng)絡(luò)的各中間層融合瓶頸連接注意力(bottleneck connection attention,BCA)來(lái)引導(dǎo)其特征輸出,以有效和自適應(yīng)地處理每個(gè)階段之間特征區(qū)域的變化,形成分層映射的表征空間。第二部分是上下文細(xì)化模塊(context refinement module,CRM),通過(guò)聚合上下文信息并對(duì)其篩選細(xì)化,以充分利用有效的目標(biāo)上下文來(lái)提高檢測(cè)小目標(biāo)的性能。第三部分是針對(duì)預(yù)測(cè)端的目標(biāo)感知增強(qiáng)檢測(cè)頭(object-aware enhancement head,OAE-Head),這一改進(jìn)旨在突出主動(dòng)響應(yīng)目標(biāo)位置特征,同時(shí)抑制背景信息。
圖1 網(wǎng)絡(luò)模型框架
BCA-CSPDarknet特征提取網(wǎng)絡(luò)的組成如圖2所示。本文在YOLOv4主干網(wǎng)絡(luò)中的每個(gè)CSPDarknet結(jié)構(gòu)層添加了BCA模塊(如圖2右側(cè)所示),該模塊的設(shè)計(jì)結(jié)合了ECA[17]網(wǎng)絡(luò),本文進(jìn)而對(duì)該注意力網(wǎng)絡(luò)進(jìn)行了級(jí)聯(lián)交互,以實(shí)現(xiàn)對(duì)中間特征的深度注意力編碼,通過(guò)短連接的方式來(lái)增強(qiáng)注意力特征之間的信息流通,充分利用注意力機(jī)制的優(yōu)勢(shì)。
圖2 BCA-CSPDarknet結(jié)構(gòu)
具體來(lái)說(shuō),假設(shè)輸入張量為X∈C×H×W, 經(jīng)逐通道全局平均池化(global average pooling,GAP)操作可表示為
(1)
式中:H,W分別為特征圖X的高和寬,G表示1×1×C的全局信息表征圖。然后,采用一維卷積對(duì)G進(jìn)行自適應(yīng)通道映射變換,捕獲跨通道信息交互的相關(guān)性,以確定每個(gè)通道特征圖的權(quán)重,該操作可描述
V=σ(Fk(G))
(2)
式中: Fk(·) 表示卷積核大小k的一維卷積操作,σ為Sigmoid函數(shù),V是生成的各通道權(quán)重激活值,其中k的取值由輸入特征圖的通道數(shù)自適應(yīng)確定。公式如下
(3)
式中:γ和b是超參數(shù),默認(rèn)取值為2和1, |·|odd表示取最鄰近的奇數(shù)值。在得到各通道的權(quán)重分布后,與原始輸入特征進(jìn)行信息交互,即
X′=V?X
(4)
式中:X′為第一注意力圖,?表示元素對(duì)應(yīng)相乘。
在short skip的前饋過(guò)程中,將之前的注意力權(quán)重V和后一模塊中的全局信息表征G′合并,再經(jīng)過(guò)一維卷積進(jìn)行特征變換和激活映射,確保從先前的注意力信息中繼續(xù)學(xué)習(xí),避免其特征在每一步學(xué)習(xí)中產(chǎn)生較大的變化。隨后,與第一注意力圖相乘融合。此過(guò)程可表示為
X″=σ(Fk(V⊕G′))?X′
(5)
式中:X″為第二注意力圖,⊕表示元素對(duì)應(yīng)相加。
最終堆疊BCA-CSPDarknet作為特征提取網(wǎng)絡(luò),對(duì)每個(gè)階段目標(biāo)信息的選擇和表征過(guò)程進(jìn)行分層注意力映射,形成不同感知層次上相對(duì)準(zhǔn)確且有效的視覺空間表征,以挖掘不同大小目標(biāo)最有用的信息。
CRM由信息聚合塊(information aggregation block,IAB)和信息校準(zhǔn)塊(information calibration block,ICB)組成,如圖3所示。
圖3 CRM結(jié)構(gòu)
許多研究結(jié)果表明上下文信息對(duì)小目的推理識(shí)別具有積極作用,故IAB將不同尺度下隱含語(yǔ)義信息的特征圖,映射到共同的抽象空間進(jìn)行合并,得到局部和全局上下文信息。將C3和C5特征圖分別進(jìn)行平均池化下采樣和插值上采樣操作,使其與C4特征圖的尺度大小和空間維數(shù)相等,之后對(duì)統(tǒng)一映射的特征圖進(jìn)行簡(jiǎn)單的平均,即
(6)
式中:Ci表示第i層特征,L表示多尺度特征層數(shù),fFA為聚合后的輸出特征。
由于上下文信息并不總是對(duì)網(wǎng)絡(luò)模型有用,需要對(duì)其進(jìn)行篩選才能有效地利用[18]。因此,ICB負(fù)責(zé)對(duì)上下文信息進(jìn)行細(xì)化處理,它能夠?yàn)槊總€(gè)空間位置的鄰域信息建立空間和通道間依賴關(guān)系,避免上下文當(dāng)中無(wú)效信息的干擾,從而生成更具鑒別性的特征。該結(jié)構(gòu)有兩個(gè)并行分支,其中一支路徑保留原始空間信息,另一支用于壓縮全局信息以形成潛在的低維空間,其過(guò)程可描述為
(7)
式中: F1(·) 表示在原始尺度空間下對(duì)特征的卷積操作,所對(duì)應(yīng)特征映射與輸入共享相同的分辨率; D(·) 為平均池化操作,對(duì)fFA進(jìn)行低維空間映射, F2(·) 為小尺度空間下的卷積操作,進(jìn)而通過(guò)雙線性插值上采樣U(·) 將低維表征映射至原始特征空間。
最后以f2作為參考特征信息,來(lái)指導(dǎo)原始特征空間內(nèi)的特征變換過(guò)程,即
fSC=F3(f2?f1)+(f2?f1)
(8)
式中: F3(·) 為過(guò)渡卷積操作,fSC為生成的校準(zhǔn)特征。
航拍目標(biāo)檢測(cè)中,小目標(biāo)的感知識(shí)別往往很容易受到復(fù)雜背景的影響,而用于預(yù)測(cè)階段的特征圖可能仍存在背景干擾信息,而導(dǎo)致最終檢測(cè)結(jié)果是次優(yōu)的。為此,本文設(shè)計(jì)了OAE-Head檢測(cè)頭子網(wǎng)路,如圖4所示。
圖4 OAE-Head結(jié)構(gòu)
該結(jié)構(gòu)基于原始檢測(cè)頭部的輸出信息和主干網(wǎng)絡(luò)各階段的特征信息,通過(guò)一組非對(duì)稱卷積核與共享權(quán)重的原始檢測(cè)頭部卷積核來(lái)進(jìn)一步優(yōu)化預(yù)測(cè)過(guò)程中的信息輸出。此過(guò)程復(fù)用了原始預(yù)測(cè)中的啟發(fā)式信息,對(duì)推理預(yù)測(cè)階段的開環(huán)特征計(jì)算更新為閉環(huán)特征優(yōu)化,以此來(lái)增強(qiáng)正確激活的特征區(qū)域,同時(shí)抑制背景信息[19]。
原始輸出支路上的推理實(shí)現(xiàn)過(guò)程為
yi=Wi*xi
(9)
式中:xi和yi分別表示第i層原始輸出分支的特征映射和輸出,Wi為對(duì)應(yīng)檢測(cè)頭部的卷積濾波器,*表示卷積操作。
引入非對(duì)稱卷積后的OEM因其包含不同形式的卷積操作,在一定程度上能夠產(chǎn)生差異化的梯度,得到更細(xì)粒度的特征表示。此過(guò)程可描述為
(10)
式中:Wkm表示非對(duì)稱卷積濾波器,m=1,2,3時(shí)分別對(duì)應(yīng)3×3,1×3和3×1的卷積核大小, ReLU(·) 為L(zhǎng)eaky ReLU激活函數(shù),x′i為該過(guò)程輸出的特征映射,并將其與xj結(jié)合,由共享卷積核輸出最終的預(yù)測(cè)信息
y′i=Wi*(x′i+xj)
(11)
式中:xj為對(duì)應(yīng)主干網(wǎng)絡(luò)的各階段特征,y′i為第i層預(yù)測(cè)分支的最終輸出。
通過(guò)應(yīng)用這種反饋策略與聚合方式可以達(dá)到去噪和優(yōu)化高級(jí)語(yǔ)義信息的目的,確保了對(duì)應(yīng)尺度空間表征下目標(biāo)相對(duì)位置的敏感性,加強(qiáng)了多尺度預(yù)測(cè)支路上的細(xì)節(jié)信息傳遞,提高了解的性能,從而獲得更準(zhǔn)確的預(yù)測(cè)結(jié)果。
本文使用公共的航拍圖像數(shù)據(jù)集VisDrone[20]進(jìn)行實(shí)驗(yàn)評(píng)估。此數(shù)據(jù)集由無(wú)人機(jī)從14個(gè)不同的城市拍攝采集,涵蓋了各類視角、多種尺度和不同密度下的目標(biāo)對(duì)象,共有圖像10 209張,其中訓(xùn)練集、驗(yàn)證集和測(cè)試集分別有6471、548、3190張,標(biāo)記的類別包括行人、車輛、自行車等10類常見目標(biāo)。按照COCO數(shù)據(jù)集將面積小于32×32的物體定義為小目標(biāo)的依據(jù),VisDrone數(shù)據(jù)集中包含的小目標(biāo)占比高達(dá)約60%[20],為有效實(shí)現(xiàn)檢測(cè)任務(wù)帶來(lái)極大的挑戰(zhàn)。
實(shí)驗(yàn)平臺(tái)采用的操作系統(tǒng)是內(nèi)存大小為16 GB的Ubuntu16.04,處理器為i7-7800X,GPU型號(hào)為NVIDIA RTX2060 8 GB顯卡,使用CUDA10.2加速庫(kù)及Pytorch-1.6.0深度學(xué)習(xí)框架。實(shí)驗(yàn)設(shè)定訓(xùn)練圖像的大小為608×608,采用Mosaic和CutMix數(shù)據(jù)增強(qiáng)方式,并進(jìn)行了label smoothing標(biāo)簽正則化操作。優(yōu)化器選擇SGD和Adam進(jìn)行參數(shù)更新,初始學(xué)習(xí)率為1×10-4,學(xué)習(xí)率衰減方式為余弦退火算法,衰減下限為1×10-6,訓(xùn)練批次大小為16,迭代150個(gè)epoch。
在VisDrone數(shù)據(jù)集上,采用COCO數(shù)據(jù)集的評(píng)價(jià)指標(biāo)對(duì)所提方法與其它主流目標(biāo)檢測(cè)算法和相關(guān)航拍目標(biāo)檢測(cè)算法進(jìn)行了對(duì)比實(shí)驗(yàn)。從表1可知,本文算法的檢測(cè)精度較其它算法有顯著提升,AP值達(dá)到了26.26%,比原始YOLOv4算法提升了4.24%的精度,其中小目標(biāo)的精度漲點(diǎn)約2%,其主要原因是本文利用上下文信息和原始預(yù)測(cè)信息優(yōu)化了深層特征,一方面將用于推理小目標(biāo)特征的上下文信息進(jìn)行聚合并細(xì)化,另一方面在多尺度預(yù)測(cè)端優(yōu)化輸出信息,從而提高了小目標(biāo)的檢測(cè)精度。
表1 VisDrone測(cè)試集上不同算法的檢測(cè)結(jié)果對(duì)比/%
表2為VisDrone數(shù)據(jù)集上每個(gè)目標(biāo)類別的AP。從中可知,在10類目標(biāo)對(duì)象中,原始YOLOv4在無(wú)人機(jī)航拍圖像上的總體檢測(cè)性能要優(yōu)于其它算法,而且在眾多類別中,例如“tricycle”、“awning”等尺寸較小,且占比也較少的一些目標(biāo),其檢測(cè)精度相比DSOD都有一定的提升。而本文算法,對(duì)比原始YOLOv4則進(jìn)一步提升了此類較難檢測(cè)目標(biāo)的精度。
相對(duì)于“car”、“van”、“bus”這些占比較高且尺寸略大的目標(biāo),檢測(cè)精度則有約3%~5%的提升。這反映了本文基于YOLOv4的改進(jìn)算法對(duì)增強(qiáng)各類目標(biāo)對(duì)象的表征效果具有明顯的優(yōu)勢(shì),從而提高了無(wú)人機(jī)航拍目標(biāo)檢測(cè)的精度。
圖5展示了YOLOv4與本文算法在不同航拍場(chǎng)景下的檢測(cè)效果對(duì)比圖。從中可以觀察到,YOLOv4對(duì)離視點(diǎn)較遠(yuǎn)的物體檢測(cè)效果差,存在很多漏檢目標(biāo),相比本文算法則能較好地檢測(cè)出其中的特定物體類別,即使在暗夜場(chǎng)景下也能有效地檢測(cè)出混淆在背景中的大部分目標(biāo),但對(duì)于重疊遮擋較為嚴(yán)重或尺寸極小的物體,仍存在一定的檢測(cè)難度。總體而言,本文算法能夠顯著提升無(wú)人機(jī)航拍圖像中小目標(biāo)的檢測(cè)效果,且對(duì)不同視點(diǎn)和場(chǎng)景變化的泛化能力較強(qiáng)。
表2 VisDrone測(cè)試集上各類別檢測(cè)結(jié)果對(duì)比/%
圖5 不同航拍場(chǎng)景下的檢測(cè)效果對(duì)比
該實(shí)驗(yàn)是對(duì)本文網(wǎng)絡(luò)架構(gòu)中新設(shè)計(jì)模塊的進(jìn)一步分析,以驗(yàn)證其有效性和評(píng)估在不同模塊組合下對(duì)算法性能的影響,見表3。從中可以觀察到,在原始網(wǎng)絡(luò)中添加BCA模塊后,相比YOLOv4算法,雖然AP75降低了0.33%,但整體的AP值提升了0.49%,且算法推理時(shí)間幾乎沒有增加,說(shuō)明本文設(shè)計(jì)的注意力模塊輕量且對(duì)算法性能提升影響顯著。在只加入CRM后,AP值達(dá)到了22.65%,與添加BCA時(shí)相比又有0.14%的增長(zhǎng),但該模塊中的聚合操作增加了模型運(yùn)算量,使得FPS有所下降。而引入OEM后,網(wǎng)絡(luò)的檢測(cè)精度提升最明顯,相比原始算法從22.02%提升到了24.63%,這也反映了OAE-Head檢測(cè)頭部對(duì)多層級(jí)特征信息的閉環(huán)優(yōu)化,更有利于增強(qiáng)網(wǎng)絡(luò)模型對(duì)目標(biāo)的感知效果。另外,將3個(gè)模塊同時(shí)集成到原始框架中,AP最終可以達(dá)到26.26%,檢測(cè)速度減少了6.6 FPS??傮w來(lái)說(shuō),本文所提方法在無(wú)人機(jī)航拍圖像中的目標(biāo)檢測(cè)性能具有明顯增益。
表3 不同模塊的消融對(duì)比結(jié)果
本文基于YOLOv4提出了一種改進(jìn)方法來(lái)解決無(wú)人機(jī)航拍目標(biāo)檢測(cè)中小目標(biāo)識(shí)別差的問題。利用注意力機(jī)制的優(yōu)點(diǎn)首先對(duì)特征提取網(wǎng)絡(luò)進(jìn)行改進(jìn),以分層引導(dǎo)的方式來(lái)實(shí)現(xiàn)對(duì)階段級(jí)特征的精煉;設(shè)計(jì)CRM對(duì)特征金字塔輸出的多尺度特征進(jìn)行聚合細(xì)化,從而平衡語(yǔ)義差異性并強(qiáng)化目標(biāo)的特征表示;在預(yù)測(cè)層引入OAE重新利用了對(duì)更高階特征優(yōu)化后的映射,可有效提升對(duì)小目標(biāo)的定位感知能力。從實(shí)驗(yàn)結(jié)果可以觀察到,所提方法針對(duì)不同場(chǎng)景的航拍圖像具有一定的魯棒性和顯著的檢測(cè)優(yōu)勢(shì)。之后,本文將針對(duì)模型規(guī)模進(jìn)行壓縮量化工作,以實(shí)現(xiàn)更高效準(zhǔn)確的航拍目標(biāo)檢測(cè)性能。