劉暢,朱衛(wèi)綱
(航天工程大學(xué),北京 101416)
我國(guó)是海洋大國(guó),具有遼闊的海域與豐富的海洋資源,及時(shí)準(zhǔn)確地掌握船只目標(biāo)的位置分布,對(duì)管理海洋交通、維護(hù)海洋權(quán)益等方面都具有重要意義。星載合成孔徑雷達(dá)(synthetic aperture radar,SAR)是一種主動(dòng)式微波成像雷達(dá),具有全天時(shí)、全天候工作的能力,在軍事偵察、海洋管理、地形勘測(cè)等眾多領(lǐng)域都有廣泛的應(yīng)用。如何利用SAR圖像快速準(zhǔn)確地檢測(cè)海洋船舶目標(biāo)也成為了備受關(guān)注的研究課題。恒虛警率(constant false alarm rate,CFAR)算法[1]是檢測(cè)SAR圖像船舶目標(biāo)的傳統(tǒng)算法,通過(guò)建立海雜波的統(tǒng)計(jì)模型并確定虛警概率與閾值進(jìn)行檢測(cè)。但是由于SAR圖像往往具有復(fù)雜的海雜波分布,難以用單一的統(tǒng)計(jì)模型來(lái)描述,因此CFAR算法的魯棒性較差。
近年來(lái),隨著計(jì)算機(jī)技術(shù)與深度學(xué)習(xí)方法的迅速發(fā)展,基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)的目標(biāo)檢測(cè)算法在精度與速度上取得了重大突破,開(kāi)啟了基于CNN的目標(biāo)檢測(cè)的熱潮,并陸續(xù)出現(xiàn)了R-CNN[2]、Fast R-CNN[3]、Faster R-CNN[4]、R-FCN[5]、YOLO[6-7]、SSD[8]、RetinaNet[9]、EfficientDet[10]等眾多檢測(cè)算法。由于CNN的檢測(cè)算法在光學(xué)圖像目標(biāo)檢測(cè)中取得了卓越的效果,研究人員開(kāi)始將CNN目標(biāo)檢測(cè)算法應(yīng)用到SAR遙感圖像的目標(biāo)檢測(cè)當(dāng)中。然而SAR圖像與光學(xué)圖像相比,在包含信息、分辨率、成像機(jī)制方面都有較大區(qū)別。SAR圖像數(shù)據(jù)通常為單通道復(fù)數(shù)據(jù),分辨率較低,且存在較多的斑點(diǎn)噪聲,其成像幾何為斜距投影,容易產(chǎn)生疊掩、透視收縮、多路徑假目標(biāo)等幾何畸變,因此相比于光學(xué)圖像檢測(cè)難度更大。
目前的檢測(cè)算法主要解決多尺度檢測(cè)問(wèn)題與復(fù)雜場(chǎng)景下的虛警問(wèn)題。對(duì)于多尺度檢測(cè)問(wèn)題,主要的解決方法是對(duì)不同尺度的特征進(jìn)行融合,文獻(xiàn)[11-13]在網(wǎng)絡(luò)中引入特征金字塔(feature pyramid networks)結(jié)構(gòu)融合不同尺度的特征,Jiao等[14]使用密集連接的方式進(jìn)行多尺度融合。其他的多尺度融合結(jié)構(gòu)還有PANet[15]、NAS-FPN[16]等。對(duì)于復(fù)雜場(chǎng)景下的檢測(cè)問(wèn)題,Kang等[17]提出結(jié)合上下文信息的方法,利用目標(biāo)周?chē)谋尘靶畔⑻岣邫z測(cè)結(jié)果,An等[18]采用傾斜的矩形框標(biāo)記目標(biāo),能夠更準(zhǔn)確地標(biāo)記復(fù)雜環(huán)境下分布密集的目標(biāo)。
本文為了提高多尺度檢測(cè)的能力,使用可訓(xùn)練的權(quán)重對(duì)不同尺度的特征圖進(jìn)行加權(quán)融合;為了減少在復(fù)雜環(huán)境下的虛警,利用提取的特征指導(dǎo)錨框的生成,減少了負(fù)樣本錨框的數(shù)量,進(jìn)而降低了虛警概率。本文使用三個(gè)SAR圖像船舶目標(biāo)公開(kāi)數(shù)據(jù)集對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練與測(cè)試。分析結(jié)果表明,此算法相比其他檢測(cè)方法具有更好的檢測(cè)效果。
一般來(lái)說(shuō),特征提取網(wǎng)絡(luò)的層數(shù)越深,能夠提取的信息越多,特征也越豐富,但是隨著網(wǎng)絡(luò)的加深,容易產(chǎn)生梯度爆炸和梯度消失的問(wèn)題。通過(guò)正則化初始化以及中間加入正則化層可以一定程度上解決這一問(wèn)題,但也僅僅可以訓(xùn)練幾十層的網(wǎng)絡(luò),如果訓(xùn)練更深的網(wǎng)絡(luò)將產(chǎn)生退化問(wèn)題,隨著網(wǎng)絡(luò)層數(shù)的增加,在訓(xùn)練集上的準(zhǔn)確率將會(huì)趨于飽和甚至下降[19]。深度殘差網(wǎng)絡(luò)是一種特殊的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),通過(guò)在淺層網(wǎng)絡(luò)的基礎(chǔ)上疊加恒等映射層,構(gòu)成殘差塊,可以有效地避免深度增加而導(dǎo)致的退化問(wèn)題。ResNet101是一種深度殘差網(wǎng)絡(luò),網(wǎng)絡(luò)共包含33個(gè)殘差塊,每一個(gè)殘差塊包含3個(gè)卷積層,具有較強(qiáng)的特征提取能力。如圖1所示,本文在ResNet101網(wǎng)絡(luò)的基礎(chǔ)上增加了Conv6和Conv7 2層卷積層,以進(jìn)一步提取語(yǔ)義信息,最后將Conv3到Conv7層的特征圖作為提取網(wǎng)絡(luò)的輸出,以便進(jìn)一步進(jìn)行特征融合。
圖1 特征提取網(wǎng)絡(luò)與殘差結(jié)構(gòu)
由于海洋船舶的實(shí)際尺寸差異較大,SAR在不同工作模式下的分辨率也各不相同,因此檢測(cè)網(wǎng)絡(luò)需要滿(mǎn)足多尺度檢測(cè)的需求。
多尺度特征融合旨在聚合不同分辨率的特征,增強(qiáng)多尺度檢測(cè)的能力。圖2是幾種不同的多尺度特征融合結(jié)構(gòu)對(duì)比。
圖2 不同的多尺度融合網(wǎng)絡(luò)結(jié)構(gòu)
圖2(a)的FPN結(jié)構(gòu)[20]以自上而下的方式將高層特征上采樣與低層特征直接相加。這種方法存在的問(wèn)題是:自頂向下的方式只傳遞了高層的語(yǔ)義特征,而對(duì)于低層定位信息沒(méi)有傳遞;另一方面,將不同尺度的特征按照相同的比重直接相加,會(huì)造成低層特征的位置信息損失。
圖2(b)的PANet(path aggregation network)結(jié)構(gòu)在FPN的基礎(chǔ)上增加了自下而上的路徑,縮短了低層定位信息與頂層特征之間的信息路徑。
圖2(c)是NAS-FPN結(jié)構(gòu),使用神經(jīng)架構(gòu)搜索找出不規(guī)則特征的網(wǎng)絡(luò)拓?fù)?,使用?qiáng)化學(xué)習(xí)訓(xùn)練控制器在給定的搜索空間中選擇最佳的模型結(jié)構(gòu)。
圖2(d)是全連接融合的方式,這種方式雖然檢測(cè)效果較好,但是極大地增加了網(wǎng)絡(luò)的復(fù)雜度,由于過(guò)多地增加了訓(xùn)練參數(shù),計(jì)算速度較慢。
為了在提高特征融合網(wǎng)絡(luò)性能的同時(shí)盡可能地降低網(wǎng)絡(luò)的復(fù)雜度,本文利用一種簡(jiǎn)單高效的加權(quán)雙向特征金字塔網(wǎng)絡(luò)BiFPN。如圖3所示,BiFPN網(wǎng)絡(luò)在PANet的基礎(chǔ)上移除單輸入節(jié)點(diǎn),簡(jiǎn)化模型結(jié)構(gòu),并添加了橫向捷徑,是一種簡(jiǎn)單高效的特征融合結(jié)構(gòu)。通過(guò)在模型中引入可學(xué)習(xí)的權(quán)重對(duì)輸入特征加權(quán)融合,以學(xué)習(xí)不同輸入特征的重要性,分配不同尺度特征的信息比重。
圖3 本文的特征融合網(wǎng)絡(luò)結(jié)構(gòu)
本文使用快速正則化方法對(duì)節(jié)點(diǎn)的輸入特征圖進(jìn)行加權(quán),各特征融合節(jié)點(diǎn)的加權(quán)公式如式(1)所示。
(1)
式中:ωi≥0;ε是為了計(jì)算穩(wěn)定性而設(shè)置的極小值,本文取值為1×10-4。
以圖3中的Conv4層為例。
(2)
(3)
在基于CNN的目標(biāo)檢測(cè)中,錨框(anchor box)通常是根據(jù)檢測(cè)任務(wù)的需求人為設(shè)計(jì)的一組框,用來(lái)作為分類(lèi)與邊框回歸的基準(zhǔn)。這種人為設(shè)定錨框的方式主要存在兩點(diǎn)問(wèn)題。一是檢測(cè)效率太低。對(duì)于一張圖像,往往需要生成幾千個(gè)錨框,而圖像中的正樣本往往很少,過(guò)多的負(fù)樣本錨框則會(huì)導(dǎo)致檢測(cè)速度較慢。二是不合理的先驗(yàn)假設(shè)。生成錨框時(shí),往往會(huì)依據(jù)先驗(yàn)知識(shí)人為設(shè)定錨框的寬高,而對(duì)于SAR圖像船舶目標(biāo)來(lái)說(shuō),目標(biāo)的真實(shí)尺寸通常不固定且有較大差異,SAR在不同成像模式下的距離向和方位向分辨率也各不相同,因此人工設(shè)定錨框難以適應(yīng)圖像樣本的尺寸分布。
基于上述兩點(diǎn)問(wèn)題,本文利用融合后的特征去指導(dǎo)錨框中心以及寬高的生成,這樣可以大大減少負(fù)樣本錨框的產(chǎn)生,且能夠適應(yīng)極端尺寸的目標(biāo)。
本文在BiFPN的每一層輸出特征圖后都嵌入了GA-RPN(guided anchoring-RPN)結(jié)構(gòu)[21]用于預(yù)測(cè)錨框,具體結(jié)構(gòu)如圖4所示。
圖4 GA-RPN網(wǎng)絡(luò)結(jié)構(gòu)
GA-RPN可以分為兩個(gè)子模塊,分別是錨框生成模塊和特征調(diào)整模塊。
在錨框生成模塊中,從兩個(gè)分支分別預(yù)測(cè)特征圖上每個(gè)像素所對(duì)應(yīng)的圖像感受野是目標(biāo)的置信度,以及對(duì)應(yīng)的寬和高(用2通道的特征圖來(lái)表示)。當(dāng)目標(biāo)置信度大于特定的閾值時(shí),則保留對(duì)應(yīng)位置的寬高作為預(yù)測(cè)的錨框。顯然,這種產(chǎn)生錨框的方式相比于滑窗的方法能夠減少大量的負(fù)樣本。
特征調(diào)整模塊借鑒了可變形卷積(deformable convolution)[22]的思想,使用錨框生成模塊產(chǎn)生的2通道寬高特征圖預(yù)測(cè)可變形卷積的偏移量,然后利用預(yù)測(cè)的偏移量對(duì)原特征圖進(jìn)行3×3的可變形卷積,通過(guò)對(duì)特征圖的修正,使之與生成的錨框精確匹配。
Bi-FPN的每一層特征分別經(jīng)過(guò)GA模塊后,產(chǎn)生不同尺度的錨框與修正后的特征圖,并分別進(jìn)行邊界框回歸與分類(lèi)。
以其中一層特征圖為例,分類(lèi)與回歸網(wǎng)絡(luò)的結(jié)構(gòu)如圖5所示,其中W、H表示寬、高。
圖5 分類(lèi)與回歸網(wǎng)絡(luò)結(jié)構(gòu)
由于檢測(cè)網(wǎng)絡(luò)與GA-RPN聯(lián)合訓(xùn)練,損失函數(shù)中添加了生成錨框的損失函數(shù),聯(lián)合訓(xùn)練損失函數(shù)如式(4)所示。
L=λ1Lloc+λ2Lshape+Lcls+Lreg
(4)
式中:Lloc是錨框定位損失函數(shù);Lshape為錨框形狀損失函數(shù);Lcls為檢測(cè)分類(lèi)損失函數(shù),本文采用focal loss衡量分類(lèi)損失;Lreg為檢測(cè)的邊框回歸損失函數(shù),本文采用CIoU衡量邊框回歸損失;λ1和λ2為平衡項(xiàng),本文λ1=1,λ2=0.1。
對(duì)于錨框定位損失函數(shù)Lloc,將目標(biāo)真實(shí)邊界框G=(xg,yg,Wg,Hg)映射到特征圖的尺度,特征圖上的邊界框?yàn)镚′=(x′g,y′g,W′g,H′g)。對(duì)于中心落在G′中心區(qū)域的錨框,將其記為正樣本;對(duì)于中心落在G′區(qū)域外的錨框,將其記為負(fù)樣本;對(duì)其余中心落在G′區(qū)域邊緣的錨框進(jìn)行忽略。最后,利用focal loss損失函數(shù)訓(xùn)練錨框定位分支。
對(duì)于錨框形狀損失函數(shù)Lshape,將錨框與真實(shí)邊界框ground truth進(jìn)行匹配,計(jì)算最大化IoU,作為衡量錨框形狀預(yù)測(cè)效果的標(biāo)準(zhǔn)。其計(jì)算方法如式(5)所示。
(5)
式中:w和h表示預(yù)測(cè)的寬度和高度;wg和hg表示標(biāo)簽中真實(shí)框的寬度和高度;L1(·)表示平滑L1損失。
基于上述的網(wǎng)絡(luò)設(shè)計(jì),本文通過(guò)實(shí)驗(yàn)比較了各項(xiàng)改進(jìn)優(yōu)化對(duì)檢測(cè)準(zhǔn)確率的提升效果。
本文使用的訓(xùn)練圖像來(lái)自于表1中的三個(gè)SAR船舶目標(biāo)數(shù)據(jù)集。
表1 本文使用的訓(xùn)練數(shù)據(jù)集
將數(shù)據(jù)集SSDD和SAR-Ship-Dataset中80%的樣本作為本文實(shí)驗(yàn)的訓(xùn)練集與驗(yàn)證集,剩余20%的樣本與數(shù)據(jù)集AIRSAR-Ship-2.0作為測(cè)試集。
圖6 實(shí)驗(yàn)所用的數(shù)據(jù)集樣本
由于數(shù)據(jù)集SAR-Ship-Dataset中的切片尺寸過(guò)小,為了在尺寸上與數(shù)據(jù)集SSDD保持基本的一致,在訓(xùn)練過(guò)程中,隨機(jī)抽取四張數(shù)據(jù)集中256像素×256像素的圖像進(jìn)行拼接,拼接后的圖像尺寸為512像素×512像素。在使數(shù)據(jù)集尺寸基本一致的同時(shí),這種方法可以提高訓(xùn)練效率,并且能夠使目標(biāo)在圖像中的位置更具有隨機(jī)性。
實(shí)驗(yàn)在Windows10系統(tǒng)下,基于深度學(xué)習(xí)框架pytorch-1.6.0進(jìn)行,并使用CUDA-10.1與CUDNN-7.6.5加速訓(xùn)練。計(jì)算機(jī)CPU為Intel Core i9-9820X,GPU為NVIDIA Titan V,顯存大小為12 GB。
訓(xùn)練過(guò)程中,使用ResNet-101在ImageNet上的預(yù)訓(xùn)練模型對(duì)ResNet參數(shù)進(jìn)行初始化,使網(wǎng)絡(luò)能夠較快地收斂,縮短訓(xùn)練時(shí)間。使用Adam作為訓(xùn)練的優(yōu)化器,初始學(xué)習(xí)率設(shè)置為0.000 1,若訓(xùn)練三個(gè)epoch之后網(wǎng)絡(luò)性能無(wú)法提升,則自動(dòng)將學(xué)習(xí)率衰減為原來(lái)的一半。
本文采用的算法衡量指標(biāo)為精確率(precision)、召回率(recall)、F1值與mAP。若將得分閾值設(shè)為0.5,將區(qū)分正負(fù)樣本的IoU閾值設(shè)為0.5,用TP表示正確預(yù)測(cè)的正樣本數(shù)量、FP表示負(fù)樣本被錯(cuò)誤預(yù)測(cè)為正樣本的數(shù)量、FN表示未檢測(cè)出的正樣本數(shù)量,則精確率如式(6)所示。
(6)
召回率如式(7)所示。
(7)
為了綜合上述兩種指標(biāo)對(duì)檢測(cè)結(jié)果進(jìn)行評(píng)價(jià),使用F1值作為檢測(cè)的綜合評(píng)價(jià)指標(biāo),其計(jì)算方法如式(8)所示。
(8)
對(duì)于mAP的計(jì)算,本文對(duì)網(wǎng)絡(luò)的所有預(yù)測(cè)結(jié)果計(jì)算P-R曲線(xiàn),以便更好地觀(guān)察曲線(xiàn)的變化趨勢(shì),評(píng)價(jià)網(wǎng)絡(luò)的檢測(cè)效果。同時(shí),以0.5為預(yù)測(cè)得分的閾值,僅對(duì)高于閾值的最終檢測(cè)結(jié)果計(jì)算mAP,反映算法最終的檢測(cè)效果。
為了檢驗(yàn)本文提出的加權(quán)BiFPN特征融合網(wǎng)絡(luò)的有效性,以RetinaNet檢測(cè)算法為基礎(chǔ),以ResNet-101結(jié)構(gòu)為特征提取網(wǎng)絡(luò),分別使用FPN、PANet以及加權(quán)BiFPN結(jié)構(gòu)作為特征融合網(wǎng)絡(luò),在本文數(shù)據(jù)集中進(jìn)行測(cè)試。實(shí)驗(yàn)結(jié)果如表2所示。本文方法在保持精確率基本不變的情況下,能夠顯著地提高檢測(cè)召回率,相比于FPN結(jié)構(gòu)召回率提高了4%。
表2 特征融合網(wǎng)絡(luò)檢測(cè)效果對(duì)比 %
通過(guò)比較BiFPN+預(yù)設(shè)密集錨框的方法與BiFPN+GA-RPN方法的實(shí)驗(yàn)結(jié)果,檢驗(yàn)本文特征指導(dǎo)錨框生成方法的有效性。實(shí)驗(yàn)結(jié)果如表3所示??梢钥闯觯疚姆椒ㄏ啾扔陬A(yù)設(shè)密集錨框的方法能夠明顯提高檢測(cè)精確率,即降低了虛警率,同時(shí)檢測(cè)的召回率也有一定限度的提高。圖7是部分實(shí)驗(yàn)結(jié)果,其中第一行圖像為傳統(tǒng)預(yù)設(shè)密集錨框方法的檢測(cè)結(jié)果,第二行為本文方法的實(shí)驗(yàn)結(jié)果,對(duì)比來(lái)看,在復(fù)雜場(chǎng)景下,本文方法產(chǎn)生的虛警更少。
表3 兩種錨框生成方法效果對(duì)比 %
注:藍(lán)色框表示漏檢目標(biāo);黃色框表示虛警。圖7 不同錨框生成方法的結(jié)構(gòu)對(duì)比
綜合使用加權(quán)BiFPN結(jié)構(gòu)與GA-RPN結(jié)構(gòu)構(gòu)建本文提出的算法。實(shí)驗(yàn)對(duì)比Faster R-CNN、SSD、YOLOv4以及本文算法在本文數(shù)據(jù)集上的檢測(cè)效果,通過(guò)精確率、召回率、F1值以及mAP評(píng)估各檢測(cè)算法的性能,如表4所示。最后,測(cè)試集在不同算法上的檢測(cè)結(jié)果繪制P-R曲線(xiàn),如圖8所示??梢钥闯觯疚乃惴ǖ那€(xiàn)下方面積最大,效果最好。圖9是不同算法的檢測(cè)圖像對(duì)比,其中左側(cè)第一列是對(duì)密集分布的小目標(biāo)的檢測(cè)結(jié)果。可以看出,本文方法擁有更低的漏檢率。后三列是在復(fù)雜場(chǎng)景下的檢測(cè)結(jié)果,可以看出,YOLOv4、SSD這類(lèi)單階段算法虛警率較高,且邊框回歸不準(zhǔn)確,而本文采用的GA-RPN結(jié)構(gòu)能夠排除較多的負(fù)樣本錨框,在港口等復(fù)雜場(chǎng)景下能夠有效地排除干擾。
表4 本文算法與其他檢測(cè)算法對(duì)比
圖8 不同算法的P-R曲線(xiàn)對(duì)比
圖9 不同算法的檢測(cè)結(jié)果對(duì)比
傳統(tǒng)的多尺度特征融合結(jié)構(gòu)沒(méi)有考慮融合比重以及底層位置信息流動(dòng)的問(wèn)題,本文針對(duì)這兩點(diǎn)不足,利用基于加權(quán)融合的BiFPN結(jié)構(gòu)作為特征融合網(wǎng)絡(luò)。針對(duì)傳統(tǒng)CNN檢測(cè)方法預(yù)設(shè)密集分布的錨框從而影響檢測(cè)效果的問(wèn)題,本文使用提取的特征來(lái)指導(dǎo)錨框的生成,減少了較多的負(fù)樣本錨框,在提高效率的同時(shí)具有更低的虛警率。目前的訓(xùn)練與檢測(cè)實(shí)驗(yàn)都是在SAR圖像切片上完成,擁有較好的檢測(cè)效果,而對(duì)于一景完整的SAR圖像,往往需要先對(duì)圖像進(jìn)行裁剪,之后逐一檢測(cè)再拼接,這樣的方法容易將目標(biāo)裁剪到不同的圖像上引起檢測(cè)困難。因此,在未來(lái)的工作中,在進(jìn)一步優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)的同時(shí)應(yīng)考慮對(duì)于整幅SAR圖像的檢測(cè)方法,以滿(mǎn)足SAR圖像目標(biāo)的實(shí)際需求。