陳 欣 ,萬敏杰 *,馬 超 ,陳 錢 ,顧國華 *
(1. 南京理工大學(xué)電子工程與光電技術(shù)學(xué)院,江蘇南京210094;2. 南京理工大學(xué)江蘇省光譜成像與智能感知重點實驗室,江蘇南京210094)
遙感圖像目標(biāo)檢測技術(shù)是目前計算機(jī)視覺領(lǐng)域重要的研究方向之一。相對于其他類型的遙感圖像,高分辨率光學(xué)遙感圖像具有獨特的優(yōu)勢,因此在民用和軍事領(lǐng)域得到了廣泛的應(yīng)用[1]。傳統(tǒng)的遙感圖像目標(biāo)檢測方法,如尺度不變特征變換、方向梯度直方圖(HOG)、形變部件模型(DPM)等,都依賴人工設(shè)計的特征,檢測精度較低,實時性差。
自 2012 年 Hinton 等人提出的 AlexNet 在 Im?ageNet 大規(guī)模視覺識別挑戰(zhàn)賽(ImageNet Large Scale Visual Recognition Challenge,ILSVRC)圖像分類比賽奪冠后,深度學(xué)習(xí)迅速發(fā)展,并在計算機(jī)視覺領(lǐng)域得到了越來越廣泛的運用[2],越來越多的學(xué)者將深度學(xué)習(xí)應(yīng)用于遙感場景下的目標(biāo)檢測中[3-4]。基于深度學(xué)習(xí)的目標(biāo)檢測算法主要分為兩類:一是以Faster R-CNN[5]系列為代表的基于候選區(qū)域的兩階段目標(biāo)檢測算法,該方法基于原始圖像生成一系列建議區(qū)域,并將建議區(qū)域和特征圖輸入感興趣區(qū)域池化層,最終實現(xiàn)目標(biāo)的分類與定位;二是以SSD(Single Shot multibox Detector)[6]、YOLO[7]系列為代表的基于回歸的單階段目標(biāo)檢測算法,該類方法從回歸的角度出發(fā),直接在圖像上回歸出目標(biāo)的邊框位置和目標(biāo)類別。文獻(xiàn)[8]對Faster R-CNN 不同層的特征圖進(jìn)行聚合并改進(jìn)了其損失函數(shù),在合成孔徑雷達(dá)(SAR)圖像中的艦船目標(biāo)檢測上取得了較好的效果。文獻(xiàn)[9]提出了DSSD 模型,采用ResNet-101 并結(jié)合反卷積模塊加入了上下文信息,提高了網(wǎng)絡(luò)的特征提取能力,但其檢測速度較慢。Liu 等人[10]提出了結(jié)合淺層的細(xì)節(jié)特征和高層的語義特征的FSSD 算法,在保證精度的同時提高了檢測速度,但它對小目標(biāo)檢測結(jié)果較差。文獻(xiàn)[11]將YOLOv2 算法與生成對抗網(wǎng)絡(luò)、卷積密集連接相結(jié)合,提升了算法的魯棒性。Wang 等人[12]針對遙感影像小目標(biāo)檢測,提出了一種結(jié)合特征金字塔(Feature Pyramid Net?works,F(xiàn)PN)[13]的 SSD 改進(jìn)算法,該算法一定程度上提高了檢測的速度和精度。文獻(xiàn)[14]提出了一種多尺度卷積神經(jīng)網(wǎng)絡(luò)遙感目標(biāo)檢測框架——MSCNN,該算法對多尺度遙感目標(biāo)的檢測結(jié)果較好,但對復(fù)雜背景的適應(yīng)性較弱。上述兩階段類目標(biāo)檢測算法的高計算成本限制了該類算法的目標(biāo)檢測速度,單階段的目標(biāo)檢測算法則對多尺度目標(biāo)特別是小目標(biāo)的檢測精度較差。
為了實現(xiàn)復(fù)雜背景下遙感小目標(biāo)的高效檢測,本文提出了一種采用多尺度特征融合SSD 的檢測方法。該方法設(shè)計了特征融合模塊,將主要負(fù)責(zé)小目標(biāo)檢測大尺度的淺層特征圖與具有豐富語義信息的深層特征圖相融合,采用金字塔特征結(jié)合方式,對淺層信息進(jìn)行了增強(qiáng),提高了對小目標(biāo)的提取能力。同時,針對遙感圖像復(fù)雜的背景環(huán)境,增加通道注意力模塊,增大目標(biāo)區(qū)域通道的特征響應(yīng),減弱背景區(qū)域通道的特征響應(yīng)。最后調(diào)整先驗框相對于原圖的比例,提高了網(wǎng)絡(luò)的小目標(biāo)檢測能力。
SSD 算法是一種在兼顧精度的同時大幅提升檢測速度的目標(biāo)檢測算法。SSD 以VGG16 作為基礎(chǔ)的特征提取網(wǎng)絡(luò),在將其最后兩層的全連接層變換成卷積層的基礎(chǔ)上,額外添加了5 個卷積結(jié)構(gòu)形成其網(wǎng)絡(luò)框架,其網(wǎng)絡(luò)框架如圖1所示。
圖1 SSD 網(wǎng)絡(luò)框架Fig.1 SSD network framework
SSD 算法的核心主要有兩點,一是提取不同尺度的特征圖進(jìn)行目標(biāo)檢測,大尺度高分辨率的特征圖用來檢測小尺度目標(biāo),而小尺寸語義信息豐富的特征圖則用來檢測大尺度目標(biāo)。SSD 分別提取了 Conv4_3,Conv7,Conv8_2,Conv9_2,Conv10_2 和Conv11_2 共 6 個 不 同 尺 度 的 特 征圖,送入后端進(jìn)行目標(biāo)的分類和回歸,有效提升了對不同尺度目標(biāo)的檢測能力。二是先驗框的生成,針對待檢測特征圖,對其上的每一個像素點生成不同尺度和長寬比的先驗框,預(yù)測時目標(biāo)框以這些先驗框為基準(zhǔn)計算偏差,可在一定程度上降低訓(xùn)練的難度。
SSD 算法雖然提取了多尺度特征圖進(jìn)行目標(biāo)檢測,但是負(fù)責(zé)小目標(biāo)檢測的主要是淺層特征圖Conv4_3,該層特征圖的語義信息較少,因此在對復(fù)雜背景下的遙感圖像進(jìn)行檢測時,對遙感圖像中小目標(biāo)的檢測能力較弱,同時對復(fù)雜背景的區(qū)分能力不強(qiáng)。
為解決上述問題,本文采用了一種多尺度特征融合SSD 方法。首先,利用特征融合機(jī)制將深層、淺層特征進(jìn)行融合,采用特征金字塔實現(xiàn)特征的增強(qiáng);然后,加入通道注意力模塊(Channel Attention Module,CAM)增強(qiáng)了背景和目標(biāo)之間的可區(qū)分度;最后,對先驗框相對于原圖的比例進(jìn)行了調(diào)整以更好地適應(yīng)小目標(biāo)檢測任務(wù)。改進(jìn)后的SSD 網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示。
圖2 改進(jìn)后的SSD 網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Structure of improved SSD network
SSD 算法提取多尺度特征圖進(jìn)行目標(biāo)檢測,負(fù)責(zé)小目標(biāo)檢測的主要是低層特征圖Conv4_3,其分辨率高,擁有較為豐富的細(xì)節(jié)信息,但是它所包含的語義信息較為匱乏,對遙感圖像小目標(biāo)的檢測能力較弱。
針對以上問題,本文設(shè)計了一種特征融合機(jī)制,將3 個不同深度的特征圖進(jìn)行融合。將豐富的語義信息從深層特征圖融合到淺層特征圖的同時,也將淺層特征圖豐富的細(xì)節(jié)信息融合到了深層特征圖,保留了更多的上下文信息。對Conv4_3,F(xiàn)c7,Conv8_2 三個不同尺度的特征層進(jìn)行特征增強(qiáng),具體過程如圖3 所示。具體步驟如下:首先,采用1×1 卷積核在提取到的3 個不同深度的特征圖上進(jìn)行卷積操作,將各個深度特征圖的通道數(shù)進(jìn)行統(tǒng)一;其次,針對提取到的不同深度特征圖尺度不同的問題,使用3×3 卷積核進(jìn)行卷積,統(tǒng)一其輸出尺度;最后,在各個特征圖輸出的尺度和維度都一致之后,采用通道拼接(Concatenate,cat)的方式進(jìn)行融合。融合后得到Conv4_3_1,F(xiàn)c7_1,Conv8_2_1 三個不同尺度特征增強(qiáng)的特征圖。
圖3 特征融合增強(qiáng)過程Fig.3 Process of feature fusion enhancement
同時,采用特征金字塔代替SSD 原有的特征結(jié)合方式。算法共提取6 個特征層進(jìn)行檢測,3個 檢 測 層 由 Conv11_2,Conv10_2 和 Conv9_2 構(gòu)成,另外 3 個檢測特征圖由 Conv4_3_1,F(xiàn)c7_1,Conv8_2_1 三個特征增強(qiáng)的特征圖通過構(gòu)建特征金字塔獲得,即利用3 個不同尺度的特征圖進(jìn)一步進(jìn)行特征增強(qiáng)。首先,將Conv8_2_1 特征圖作為特征金字塔中第一個特征圖。其次,對Conv8_2_1 進(jìn)行上采樣增大其尺度,然后將它與Fc7_1 經(jīng)過1×1卷積降維后的特征圖進(jìn)行通道拼接,將連接獲得的特征圖作為金字塔的第二個特征圖。最后,將連接后的特征圖上采樣增大尺度后,與Conv4_3_1 降維后的特征圖進(jìn)行通道拼接,作為金字塔的第3 個特征圖。流程如圖4所示。
圖4 FPN 結(jié)合示意圖Fig.4 Schematic diagram of FPN bonding
由于光學(xué)遙感圖像背景復(fù)雜,背景雜波容易干擾目標(biāo)的檢測。為了實現(xiàn)復(fù)雜背景下目標(biāo)的準(zhǔn)確高效識別,減小背景干擾,在多尺度特征融合之后加入通道注意力模塊,將模型注意力更多地轉(zhuǎn)移到關(guān)注目標(biāo)區(qū)域的通道,增大這一部分通道的特征響應(yīng),相應(yīng)地減弱關(guān)注背景區(qū)域那一部分通道的特征響應(yīng),從而增大目標(biāo)區(qū)域和背景區(qū)域的可區(qū)分性。
通道注意力模塊設(shè)計了一個新的權(quán)重參數(shù)空間,通過引入不同的權(quán)重來衡量不同通道之間的重要程度,為關(guān)注目標(biāo)區(qū)域的通道附加更高的注意力權(quán)重,相應(yīng)地減小關(guān)注背景區(qū)域通道的注意力權(quán)重,進(jìn)而增大背景和目標(biāo)的可區(qū)分性,以減小遙感圖像復(fù)雜背景的干擾。具體流程如圖5所示。
圖5 通道注意力機(jī)制示意圖Fig.5 Schematic diagram of channel attention mechanism
首先,對輸入尺寸為H×W×C的特征x進(jìn)行最大池化和平均池化,分別得到兩個1×1×C的一維特征向量,使用兩種不同的池化方式在獲得兩種不同空間上下文的特征描述的同時,可以適應(yīng)不同深度特征圖中特征提取的需求。其次,經(jīng)過兩層全連接層先降低維度再升高維度,在得到每個通道權(quán)重大小的同時整合輸入特征的每個通道信息。再次,將每個像素點的位置元素相加,經(jīng)過Sigmod 激活函數(shù)將權(quán)重歸一化到0~1之間,得到注意力權(quán)重y。最后,將注意力權(quán)重與特征進(jìn)行特征值重塑,得到注意力特征xc如下:
SSD 算法將用于檢測的特征圖劃分成網(wǎng)格結(jié)構(gòu),以每個網(wǎng)格的中心點為中心,生成大小及比例均不同的先驗框。檢測目標(biāo)的中心落在哪個網(wǎng)格,就由該網(wǎng)格負(fù)責(zé)該目標(biāo)的檢測,如圖6所示。
圖6 SSD 先驗框生成示意圖Fig.6 Schematic diagram of priori frame generation for SSD
特征圖上生成的先驗框的尺寸遵守一個線性遞增規(guī)則:隨著特征圖尺寸的減小,先驗框尺寸線性增加。如式(2)所示:
式中:m=5,smin=0.2,smax=0.9,sk表示先驗框尺寸相對原圖片的比例。
(3) 在塔-線體系導(dǎo)地線和桿塔同時發(fā)生共振時,同階共振的兩個相鄰單塔會出現(xiàn)共振方向相同和相反兩種振型形式.在同階情況下,與單塔模態(tài)頻率相比,塔-線體系中的單塔共振頻率值要小,而且垂直向要比水平向更加明顯.
通過統(tǒng)計數(shù)據(jù)集中的目標(biāo)尺寸,飛機(jī)目標(biāo)的最小尺寸約為20×20,而SSD 算法中最淺層特征圖上先驗框的尺寸是30×30,不適應(yīng)飛機(jī)目標(biāo)的最小尺寸,容易漏檢。故針對數(shù)據(jù)集中目標(biāo)的尺寸信息調(diào)整比例,將smin,smax的值調(diào)整為0.12,0.88,那么在淺層特征圖中先驗框的尺寸減小為18,以適應(yīng)數(shù)據(jù)集中飛機(jī)的最小尺度,避免因遙感圖像目標(biāo)尺寸小而導(dǎo)致在淺層特征圖中先驗框無法匹配到目標(biāo)。尺寸調(diào)整前后的先驗框尺寸如表1 所示。
表1 改進(jìn)前后的先驗框尺寸Tab.1 Dimensions of original and improved prior frames
方法1 采用多尺度特征融合SSD 的遙感圖像小目標(biāo)檢測方法
多尺度目標(biāo)檢測實驗在自己收集和標(biāo)注的遙感飛機(jī)數(shù)據(jù)集上進(jìn)行。該數(shù)據(jù)集共包含420幅光學(xué)遙感飛機(jī)圖像,平均尺度約為1 300×900,共標(biāo)注飛機(jī)目標(biāo)3 324 個,圖像分辨率在0.8~2.0 m,每幅圖像至少包含一個目標(biāo)。
為了避免過擬合,采用旋轉(zhuǎn)、翻轉(zhuǎn)等變換進(jìn)行數(shù)據(jù)擴(kuò)充。在訓(xùn)練過程中,實驗隨機(jī)將數(shù)據(jù)集的70%用于訓(xùn)練,剩下的30%用于測試。根據(jù)飛機(jī)數(shù)據(jù)集的尺度(1 300×900)以及目標(biāo)分布信息,定義了相應(yīng)的邊界框尺度(小目標(biāo):S≤602、中目標(biāo):6021202),對所采集的遙感飛機(jī)數(shù)據(jù)集中的飛機(jī)目標(biāo)尺度情況進(jìn)行統(tǒng)計,結(jié)果如表2 所示。由表2 可知,所采集數(shù)據(jù)集中小目標(biāo)數(shù)量占總體目標(biāo)數(shù)量的37.2%。
表2 基于實例尺寸分布的邊界面積定義及目標(biāo)數(shù)量Tab.2 Definition of boundary area and number of targets based on instance size distribution
實驗硬件環(huán)境CPU 為Inter E5-2680,內(nèi)存為256G,GPU 為 NVIDIA TITAN RTX,操作系統(tǒng)為Ubuntu 16.04,采用Pytorch 作為深度學(xué)習(xí)框架進(jìn)行訓(xùn)練和測試。本文采用端到端訓(xùn)練方式,初始學(xué)習(xí)率設(shè)置為0.000 1,批處理大小設(shè)置為16,優(yōu)化方法為隨機(jī)梯度下降,動量設(shè)置為0.9,正則化系設(shè)置為0.000 5。
本文采用平均檢測精度(Average Preci?sion,AP)作為飛機(jī)目標(biāo)檢測結(jié)果的評價指標(biāo)。AP 計算的是召回率在0~1 之間的平均精度,即精度-召回率曲線所包絡(luò)的面積,因此AP 值越高代表檢測性能越好。精度p和召回率r可以表示為:
其中:Tp為真正例,F(xiàn)p為假正例,F(xiàn)N為假反例。
在所采集的遙感飛機(jī)數(shù)據(jù)集上對不同的目標(biāo)檢測方法進(jìn)行訓(xùn)練和測試,檢測結(jié)果如表3所示。
表3 不同方法在遙感飛機(jī)數(shù)據(jù)集上的實驗結(jié)果Tab.3 Experimental results of different algorithms on re?mote sensing aircraft dataset
圖7 不同方法的檢測結(jié)果Fig.7 Detection results of different algorithms
圖8 SSD 算法的檢測結(jié)果Fig.8 Detection results of SSD algorithm
圖9 本文提出的改進(jìn)SSD 方法的檢測結(jié)果Fig.9 Detection results of proposed improved SSD algorithm
為了定量分析本文方法中多尺度融合特征融合模塊、通道注意力模塊以及先驗框改進(jìn)模塊對遙感飛機(jī)目標(biāo)檢測精度的影響,設(shè)計了消融實驗,取IOU=0.5 時的平均檢測精度以及幀頻作為評價指標(biāo)對算法性能進(jìn)行表征。消融實驗結(jié)果如表4 所示。
表4 各個模塊的消融實驗結(jié)果Tab.4 Results of ablation experiments for each module
由表4 可知,在SSD 方法基礎(chǔ)上增加特征融合機(jī)制,平均精度由85.9%提升至88.7%,整體提升了2.8%,由于特征融合機(jī)制的增加,檢測速度變慢,幀頻由30.2 frame/s 降至25.3 frame/s;在SSD 算法基礎(chǔ)上增加通道注意力模塊,精度提升了1.3%,幀頻下降1.7 frame/s;改進(jìn)SSD 中先驗框的比例,精度由85.9% 提升至86.5%,幀頻改變不大;在增加特征融合機(jī)制的基礎(chǔ)上增加通道注意力模塊,精度由85.9%提升至89.8%,提升了3.7%,幀頻卻下降至24.8 frame/s;在前者的基礎(chǔ)上再對先驗框比例進(jìn)行改進(jìn),精度提升至90.2%,檢測速度為24.3 frame/s。
測量圖3 特征融合模塊中不同融合機(jī)制對檢測精度的影響,結(jié)果如表5 所示。從實驗結(jié)果可以看出,采用融合層Conv4_3_1 遙感飛機(jī)目標(biāo)的檢測精度提高了1.4%,表明淺層特征融合能夠有效提升小目標(biāo)的檢測能力;在增加融合層Fc7_1 后,檢測結(jié)果較僅使用Conv4_3_1 時提高了0.8%,增加Conv8_2_1 之后,精度達(dá)到了88.7%,表明較深特征層的融合能夠提升對中、大型尺寸飛機(jī)目標(biāo)的檢測能力。實驗結(jié)果表明,特征融合機(jī)制能夠增強(qiáng)遙感飛機(jī)圖像多尺度目標(biāo)的特征學(xué)習(xí)能力,提升檢測精度。
表5 特征融合模塊的消融實驗結(jié)果Tab.5 Ablation experimental results of feature fusion module
為了驗證本文算法的有效性、通用性以及可遷移性,除了在遙感飛機(jī)數(shù)據(jù)集進(jìn)行算法的性能對比之外,還將在上述遙感飛機(jī)數(shù)據(jù)集上訓(xùn)練好的檢測模型,遷移到不同姿態(tài)、不同類型的空中飛機(jī)目標(biāo)檢測中。收集了35 張以天空為背景的不同姿態(tài)和不同機(jī)型的飛機(jī)圖片,每張圖片平均含有4~8 個飛機(jī)目標(biāo)。以它們?yōu)檫w移數(shù)據(jù)集進(jìn)行遷移實驗,改進(jìn)SSD 方法和SSD 方法在遷移數(shù)據(jù)集上的平均檢測精度分別為0.672 和0.541,改進(jìn)SSD 方法的遷移精度較SSD 方法提升了0.131。檢測結(jié)果如圖10 所示。
圖10 對空中不同姿態(tài)、不同類型的飛機(jī)目標(biāo)的檢測結(jié)果Fig.10 Detection results for different attitudes and types of aircraft targets in air
圖10 給出SSD 和改進(jìn)方法的檢測模型對空中飛機(jī)目標(biāo)的檢測效果。所采集的遙感飛機(jī)數(shù)據(jù)集中的飛機(jī)目標(biāo)皆為地面目標(biāo),機(jī)型主要為民航客機(jī),姿態(tài)皆為俯拍。將在其上訓(xùn)練好的檢測模型,用于檢測空中不同姿態(tài)、不同類型的飛機(jī)目標(biāo)。其中的檢測目標(biāo)分別為:空中仰拍姿態(tài)直升機(jī)、空中仰拍姿態(tài)以及側(cè)拍姿態(tài)的不同機(jī)型軍事飛機(jī)。由檢測結(jié)果可知,相較于SSD 算法,改進(jìn)方法訓(xùn)練好的檢測模型對天空背景下不同姿態(tài)、不同類型的飛機(jī)目標(biāo)能進(jìn)行更加有效的檢測,這是因為特征融合過程不僅提高了特征的提取能力,也一定程度上增強(qiáng)了特征的泛化能力,使得模型具有較好的遷移能力。遷移實驗結(jié)果證明了改進(jìn)算法所學(xué)習(xí)到的檢測模型具有一定的遷移性和通用性。
本文針對遙感圖像復(fù)雜背景下小目標(biāo)的檢測問題,提出了一種改進(jìn)型多尺度特征融合SSD方法。首先,針對小目標(biāo)特征弱的問題,設(shè)計了一種特征圖融合機(jī)制,將分辨率高的淺層特征圖與具有豐富語義信息的深層特征圖進(jìn)行融合,并在特征圖間構(gòu)建特征金字塔,增強(qiáng)小目標(biāo)特征,其精度提升了2.8%。然后,針對遙感目標(biāo)背景復(fù)雜的問題,增加通道注意力模塊,將算法注意力集中在目標(biāo)區(qū)域的通道,增大目標(biāo)區(qū)域通道的特征響應(yīng),減弱背景雜波區(qū)域通道的特征響應(yīng),減小背景干擾,精度在原先基礎(chǔ)上提升1.1%。最后,針對小目標(biāo)尺度,對先驗框相對于原圖的比例進(jìn)行了調(diào)整,使算法能夠較好地適應(yīng)小尺度遙感目標(biāo)檢測問題,精度在原先基礎(chǔ)上提升了0.4%。性能實驗證明了本文方法在檢測精度上優(yōu)于主流算法,消融實驗以及遷移實驗證明了方法的完備性和通用性。實驗結(jié)果表明,本文所提方法能夠有效增強(qiáng)小目標(biāo)的表征能力,降低小目標(biāo)的漏檢率,在滿足實時檢測的基礎(chǔ)上,實現(xiàn)對復(fù)雜背景下遙感圖像中小目標(biāo)的高效檢測。