王 巖,婁樹(shù)理
(煙臺(tái)大學(xué)物理與電子信息學(xué)院,山東 煙臺(tái) 264005)
海面艦船作為海上監(jiān)測(cè)和戰(zhàn)時(shí)打擊的重點(diǎn)目標(biāo),能否快速準(zhǔn)確地識(shí)別出海面艦船目標(biāo),極大地關(guān)系到行動(dòng)成敗[1]。由于紅外艦船圖像受海雜波、云霧雨雪等因素影響,且目標(biāo)與背景復(fù)雜多樣,如何快速準(zhǔn)確地檢測(cè)出艦船目標(biāo),是紅外成像制導(dǎo)武器的關(guān)鍵問(wèn)題和技術(shù)難題,一直是國(guó)內(nèi)外研究熱點(diǎn)。
傳統(tǒng)的目標(biāo)檢測(cè)算法大多基于滑動(dòng)窗口和人工特征提取,存在計(jì)算復(fù)雜度高以及復(fù)雜場(chǎng)景下魯棒性差的缺陷。隨著深度學(xué)習(xí)的發(fā)展,目標(biāo)檢測(cè)技術(shù)得到了很大的進(jìn)步,增加了目標(biāo)檢測(cè)算法的多樣性?;谏疃葘W(xué)習(xí)的目標(biāo)檢測(cè)算法分為兩類:一類是兩階段目標(biāo)檢測(cè)算法,如Faster R-CNN(Faster Region-based Convolutional Neural Networks)[2]和Mask R-CNN(Mask Region-based Convolutional Neural Networks)等[3],顧佼佼等[4]提出基于改進(jìn)Faster R-CNN的紅外艦船目標(biāo)檢測(cè)算法,馬嘯等[5]提出基于改進(jìn)Mask R-CNN的艦船目標(biāo)檢測(cè)方法,這類算法精度高,但是速度稍慢,難以用在瞬息萬(wàn)變的海戰(zhàn)場(chǎng)上;另一類是單階段目標(biāo)檢測(cè)算法,如SSD(Single Shot MultiBox Detection)[6]和YOLO(You Only Look Once)[7-10]系列等,這類算法實(shí)現(xiàn)了端到端的目標(biāo)檢測(cè),相比于兩階段目標(biāo)檢測(cè)算法,其檢測(cè)速度更快,適用于海戰(zhàn)場(chǎng)的目標(biāo)檢測(cè)。何維娟等[11]提出基于改進(jìn)YOLOv3的遙感圖像艦船目標(biāo)檢測(cè)方法;梁杰等[12]提出基于改進(jìn)SSD的艦船目標(biāo)精細(xì)化檢測(cè)方法,該方法利用旋轉(zhuǎn)的邊框回歸模塊,通過(guò)學(xué)習(xí)密集區(qū)域目標(biāo)的幾何形變,預(yù)測(cè)目標(biāo)的旋轉(zhuǎn)角度,最終以旋轉(zhuǎn)的矩形框獲得目標(biāo)位置,此方法雖使精度得到一定提高,但降低了原有的檢測(cè)速度;謝曉方等[13]提出一種融合輕量級(jí)YOLOv4與KCF算法的艦船目標(biāo)檢測(cè)算法,但是相比兩階段目標(biāo)檢測(cè)算法,其檢測(cè)精度偏低。
針對(duì)海戰(zhàn)場(chǎng)艦船目標(biāo)檢測(cè)精度和速度要求較高的技術(shù)難題,本研究提出一種改進(jìn)后的SSD目標(biāo)檢測(cè)算法,并通過(guò)實(shí)驗(yàn)驗(yàn)證其對(duì)紅外艦船目標(biāo)的檢測(cè)精度與速度。
SSD算法的主干網(wǎng)絡(luò)為VGG網(wǎng)絡(luò),此算法是將VGG末端的全連接層用卷積層代替,在此基礎(chǔ)上增加幾個(gè)額外的卷積層,獲取更多的特征圖層,并且使用VGG網(wǎng)絡(luò)和新增的卷積層獲得的特征圖進(jìn)行獨(dú)立預(yù)測(cè)。SSD網(wǎng)絡(luò)結(jié)構(gòu)如圖1,首先對(duì)輸入圖像進(jìn)行大小調(diào)整,并作為模型的輸入;其次利用SSD算法的特征提取網(wǎng)絡(luò)獲得一系列特征圖層,其中低層特征矩陣關(guān)注較小目標(biāo)的特征,高層特征矩陣關(guān)注較大目標(biāo)的特征;最后對(duì)不同尺度的特征圖層設(shè)置不同比例和數(shù)量的先驗(yàn)框,通過(guò)兩個(gè)卷積層預(yù)測(cè)默認(rèn)邊界框的類別分?jǐn)?shù)和位置偏移量,使用非極大值抑制篩選方法獲得最終的預(yù)測(cè)邊界框。
圖1 SSD網(wǎng)絡(luò)結(jié)構(gòu)
為提高網(wǎng)絡(luò)檢測(cè)精度,本研究對(duì)SSD網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn),改進(jìn)后的SSD網(wǎng)絡(luò)結(jié)構(gòu)如圖2,首先對(duì)輸入的圖像進(jìn)行Mosaic數(shù)據(jù)增強(qiáng)的預(yù)處理,通過(guò)引進(jìn)主干網(wǎng)絡(luò)ResNet-50和添加的五個(gè)特征提取層進(jìn)行特征提取;然后將提取出的特征圖作為輸入,利用ECANet通道注意力機(jī)制,進(jìn)一步提高特征圖中語(yǔ)義和細(xì)節(jié)信息的抗干擾能力;最后對(duì)特征圖進(jìn)行分類和邊界框回歸預(yù)測(cè)。
圖2 改進(jìn)后的SSD網(wǎng)絡(luò)結(jié)構(gòu)
紅外艦船圖像主要反映艦船目標(biāo)和海天背景的輻射能量差異,由于島嶼等物體輻射能量與海天背景也有較大差異,實(shí)際檢測(cè)時(shí)島嶼等物體會(huì)對(duì)艦船目標(biāo)檢測(cè)形成干擾,并且實(shí)際紅外圖像中噪聲影響嚴(yán)重,這些因素降低了紅外艦船目標(biāo)的檢測(cè)精度。使用SSD算法對(duì)艦船進(jìn)行目標(biāo)檢測(cè)時(shí),VGG網(wǎng)絡(luò)提取的特征圖中語(yǔ)義和細(xì)節(jié)信息抗干擾能力弱,為了避免復(fù)雜背景和相似物體對(duì)艦船目標(biāo)檢測(cè)的干擾,本研究將SSD特征提取網(wǎng)絡(luò)替換為網(wǎng)絡(luò)層數(shù)更深、細(xì)節(jié)信息更豐富的ResNet-50[14]網(wǎng)絡(luò),并且對(duì)ResNet-50網(wǎng)絡(luò)加以修改,去掉Conv5對(duì)應(yīng)的一系列層結(jié)構(gòu)及其之后的層結(jié)構(gòu),并將Conv4的第一個(gè)殘差塊結(jié)構(gòu)的步距由2改為1,由此得到尺度大小為38×38×1024的特征圖,殘差結(jié)構(gòu)見(jiàn)圖3。
圖3 殘差結(jié)構(gòu)
為了獲得不同感受野的特征圖,使其能夠提取不同尺度目標(biāo)的特征信息,添加了一系列額外的層結(jié)構(gòu)構(gòu)成特征提取層(Addlayer)(圖4),并將每個(gè)特征提取層中的全連接層用1×1的卷積層代替。針對(duì)紅外艦船目標(biāo)檢測(cè)速度要求高的問(wèn)題,在特征提取網(wǎng)絡(luò)層中加入BN層,提高網(wǎng)絡(luò)的訓(xùn)練速度。
圖4 特征提取層
對(duì)紅外艦船目標(biāo)進(jìn)行檢測(cè)時(shí),SSD網(wǎng)絡(luò)對(duì)不同背景下的艦船目標(biāo)檢測(cè)精度差異較大,為了使SSD網(wǎng)絡(luò)在不同情況下具有更好的魯棒性,在檢測(cè)前對(duì)圖像進(jìn)行數(shù)據(jù)增強(qiáng)的預(yù)處理。在SSD網(wǎng)絡(luò)中加入Mosaic數(shù)據(jù)增強(qiáng)模塊[10],Mosaic數(shù)據(jù)增強(qiáng)將四張圖像進(jìn)行拼接,每次讀取四張圖片,并分別對(duì)四張圖片進(jìn)行翻轉(zhuǎn)、縮放、色域變化等,能夠豐富檢測(cè)物體的背景,并且在BN層計(jì)算時(shí),能夠同時(shí)計(jì)算四張圖片的數(shù)據(jù),提高網(wǎng)絡(luò)的檢測(cè)速率。圖5為圖像使用Mosaic數(shù)據(jù)增強(qiáng)方法的實(shí)例。
圖5 Mosaic數(shù)據(jù)增強(qiáng)實(shí)例
使用SSD算法檢測(cè)紅外艦船目標(biāo)時(shí),特征提取網(wǎng)絡(luò)提取的特征圖中有目標(biāo)特征和相似的干擾特征,而相似的干擾目標(biāo)在特征圖中與艦船目標(biāo)具有同等重要性,不利于艦船目標(biāo)在復(fù)雜背景下的檢測(cè)。為了增加特征圖對(duì)艦船目標(biāo)的識(shí)別能力,降低復(fù)雜海戰(zhàn)場(chǎng)背景的影響,在SSD網(wǎng)絡(luò)中引入ECANet通道注意力機(jī)制[15],抑制干擾特征的影響,提高網(wǎng)絡(luò)注意力。
ECANet通道注意力機(jī)制(圖6),首先對(duì)輸入的特征層進(jìn)行全局平均池化,利用1D卷積進(jìn)行特征提取,經(jīng)過(guò)Sigmoid激活函數(shù)獲得每一個(gè)特征點(diǎn)的權(quán)值,最后與輸入的特征層相乘,得到新的特征圖層。
圖6 ECANet通道注意力機(jī)制
圖6中H、W、C分別代表特征圖的高度、寬度和通道數(shù),為上一個(gè)卷積層的輸出并且作為注意力機(jī)制的輸入,GAP表示全局平均池化,σ表示Sigmoid非線性激活函數(shù),k表示卷積核大小。Sigmoid非線性激活函數(shù)的定義式為[16]
(1)
式中:z表示神經(jīng)網(wǎng)絡(luò)上一層節(jié)點(diǎn)的輸出。k的數(shù)學(xué)表達(dá)式為[15]
(2)
式中:b取1,γ取2,|t|odd表示距離t最近的奇數(shù)。
SSD算法中使用梯度下降法優(yōu)化目標(biāo)函數(shù)時(shí),學(xué)習(xí)率下降使模型更加接近Loss值的全局最小值,但目標(biāo)函數(shù)有多峰的可能性,除了全局最優(yōu)解之外還有多個(gè)局部最優(yōu)解,這導(dǎo)致網(wǎng)絡(luò)訓(xùn)練時(shí),模型可能陷入局部最小值,因此使用余弦退火衰減法[17]計(jì)算學(xué)習(xí)率,突然提高學(xué)習(xí)率使其跳過(guò)局部最優(yōu)解,從而找到全局最優(yōu)解,提高網(wǎng)絡(luò)對(duì)艦船目標(biāo)的檢測(cè)精度。
余弦退火的數(shù)學(xué)表達(dá)式為[17]
(3)
使用余弦退火學(xué)習(xí)率的SSD網(wǎng)絡(luò)損失和學(xué)習(xí)率如圖7。
圖7 SSD的網(wǎng)絡(luò)損失和學(xué)習(xí)率
從學(xué)習(xí)率曲線軌跡來(lái)看,改進(jìn)后的SSD網(wǎng)絡(luò)優(yōu)化目標(biāo)函數(shù)時(shí),模型會(huì)跳過(guò)損失值的局部最優(yōu)解,尋找全局最優(yōu)解,提高網(wǎng)絡(luò)對(duì)艦船目標(biāo)的檢測(cè)精度。
本研究中算法的所有實(shí)驗(yàn)均在Windows11操作系統(tǒng)中進(jìn)行;處理器為AMD Ryzen 7 5800H with Radeon Graphics 3.20 GHz;NVIDIA GeForce GTX 3060(6 GB);深度學(xué)習(xí)框架為Pytorch 1.10.1;使用Python作為主要編輯語(yǔ)言。
紅外艦船數(shù)據(jù)集來(lái)源于實(shí)際采集圖像,該數(shù)據(jù)集共1263張艦船圖像,波段分別為3~5 μm和8~12 μm,圖像目標(biāo)為艦船目標(biāo),部分海天背景中存在島嶼,圖像大小分別為320×240、621×471。數(shù)據(jù)集按7∶3的比例分為訓(xùn)練集和驗(yàn)證集,并且按照PASCAL VOC數(shù)據(jù)集的格式進(jìn)行標(biāo)注。
評(píng)價(jià)標(biāo)準(zhǔn)采用平均精度(average precision, AP)和檢測(cè)速率(Frame Per Second, FPS),AP兼顧精確度(Precision)和召回率(Recall),常被用作評(píng)估模型的精度有效性,FPS為每秒檢測(cè)圖像的幀數(shù),常被用作評(píng)估模型的檢測(cè)速度。所有類別的AP的均值為mAP,本研究中算法為單目標(biāo)檢測(cè),即AP=mAP。Precision為模型預(yù)測(cè)的所有目標(biāo)中預(yù)測(cè)正確的比例。Recall是所有真實(shí)目標(biāo)中模型預(yù)測(cè)正確的目標(biāo)比例。IOU表示預(yù)測(cè)框與真實(shí)框的重疊程度。AP的定義式為
(4)
FPS越大,表明檢測(cè)速度越快,實(shí)時(shí)檢測(cè)的可行性越高。其定義式為
(5)
式中:Num(figure)表示樣本檢測(cè)數(shù)量;T表示檢測(cè)運(yùn)行時(shí)間。
使用改進(jìn)后的SSD算法在紅外艦船數(shù)據(jù)集上進(jìn)行仿真實(shí)驗(yàn),為了評(píng)估改進(jìn)后的SSD算法的有效性,選取了不同系列的紅外艦船圖片,與改進(jìn)前的SSD算法進(jìn)行仿真實(shí)驗(yàn)對(duì)比,效果如圖8。
圖8 仿真結(jié)果對(duì)比
結(jié)果表明,改進(jìn)前的SSD算法對(duì)單一背景中的艦船目標(biāo)檢測(cè)效果較好,但對(duì)大面積島嶼干擾背景中的艦船目標(biāo)檢測(cè)效果較差,出現(xiàn)誤檢情況。改進(jìn)后的SSD算法檢測(cè)精度更高、抗干擾性更強(qiáng),明顯降低了算法的誤檢率。為了更加準(zhǔn)確地驗(yàn)證改進(jìn)后的SSD算法的可行性,分別使用改進(jìn)前的SSD算法、改進(jìn)后的SSD算法、ResNet-50網(wǎng)絡(luò)構(gòu)架的Faster R-CNN算法、RetinaNet和Yolov4算法在紅外艦船數(shù)據(jù)集上進(jìn)行仿真實(shí)驗(yàn)??紤]到數(shù)據(jù)集存在人工制作誤差等因素,對(duì)比實(shí)驗(yàn)使用IOU=0.75條件下的算法精度,結(jié)果如表1。
表1 不同算法檢測(cè)精度比較
通過(guò)比較可以發(fā)現(xiàn),改進(jìn)后的SSD網(wǎng)絡(luò)對(duì)紅外艦船目標(biāo)的檢測(cè)精度最高、速度最快,與改進(jìn)前的SSD算法、Faster R-CNN算法、RetinaNet和YOLOV4算法相比,AP分別提高6.5%、1.1%、6%和7.6%,FPS分別提高8、51、18和16。表明本研究中算法能夠提高網(wǎng)絡(luò)對(duì)艦船目標(biāo)的檢測(cè)精度和速度,對(duì)于復(fù)雜背景下紅外艦船目標(biāo)檢測(cè)具有較強(qiáng)的適應(yīng)性和抗干擾性。
為了證明改進(jìn)后的SSD算法對(duì)提高艦船目標(biāo)檢測(cè)精度的可行性,在紅外艦船數(shù)據(jù)集上進(jìn)行消融實(shí)驗(yàn),在SSD模型上依次添加ResNet-50模塊、Mosaic數(shù)據(jù)增強(qiáng)模塊、ECANet通道注意力機(jī)制模塊、余弦退火衰減學(xué)習(xí)率(Cos-lr)模塊,并通過(guò)比較檢測(cè)精度的差異,分析改進(jìn)后的SSD每個(gè)模塊的性能,實(shí)驗(yàn)結(jié)果如表2。
表2 不同SSD模型對(duì)艦船檢測(cè)的性能對(duì)比
模型在實(shí)驗(yàn)中未使用該模塊。
實(shí)驗(yàn)設(shè)置以傳統(tǒng)SSD為基線,將模型主干網(wǎng)絡(luò)替換為ResNet-50網(wǎng)絡(luò),模型的AP比改進(jìn)前的SSD提高3.4%,說(shuō)明ResNet-50網(wǎng)絡(luò)語(yǔ)義信息更豐富,提取的特征圖中細(xì)節(jié)信息抗干擾能力更強(qiáng)。在此基礎(chǔ)上依次添加Mosaic數(shù)據(jù)增強(qiáng)模塊、ECANet通道注意力機(jī)制模塊、Cos-lr模塊,模型的AP較前者依次提高1.1%、1.7%、0.3%,說(shuō)明了Mosaic數(shù)據(jù)增強(qiáng)模塊能夠豐富檢測(cè)物體的背景,提高網(wǎng)絡(luò)的魯棒性;ECANet通道注意力機(jī)制模塊可以抑制干擾信息的影響,提高網(wǎng)絡(luò)對(duì)艦船目標(biāo)的檢測(cè)能力;Cos-lr余弦衰減學(xué)習(xí)率能夠優(yōu)化網(wǎng)絡(luò),提高網(wǎng)絡(luò)對(duì)艦船目標(biāo)的檢測(cè)精度。改進(jìn)后的SSD算法在檢測(cè)速度上也有一定的提升,能更好地用在瞬息萬(wàn)變的海戰(zhàn)場(chǎng)上。
針對(duì)紅外圖像中的艦船檢測(cè)問(wèn)題,提出一種基于改進(jìn)SSD的檢測(cè)算法。該算法以SSD目標(biāo)檢測(cè)算法為基礎(chǔ),在此基礎(chǔ)上將主干網(wǎng)絡(luò)換為ResNet-50網(wǎng)絡(luò),增強(qiáng)網(wǎng)絡(luò)的抗干擾能力;使用Mosaic數(shù)據(jù)增強(qiáng)方法,提高網(wǎng)絡(luò)的魯棒性;引入ECANet通道注意力機(jī)制,抑制干擾信息的影響,提高網(wǎng)絡(luò)注意力;使用Cos-lr來(lái)優(yōu)化網(wǎng)絡(luò),提高網(wǎng)絡(luò)的檢測(cè)精度。實(shí)驗(yàn)結(jié)果表明,本研究中提出的檢測(cè)算法,平均精度達(dá)到98.8%,FPS達(dá)到55,可實(shí)現(xiàn)對(duì)紅外艦船目標(biāo)快速精準(zhǔn)的檢測(cè)。