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