周秦漢, 王 振
(空軍工程大學信息與導航學院,西安 710000)
近年來隨著遙感衛星、無人機的飛速發展,產生了海量高分辨率的遙感大數據,為遙感圖像處理提供了數據支撐。遙感圖像目標檢測是一種為檢測特定目標(汽車、艦船或飛行器等)[1-3]而提出的基于計算機視覺的方法,被廣泛應用于智能導航、目標跟蹤、材料檢測、航空航天等多個領域。
遙感圖像存在背景復雜、目標分布密集、尺寸形態多樣化等特點,使得在遙感圖像中準確提取目標特征、進行精確分類和定位面臨諸多困難。傳統的檢測定位方法通常包括特征提取、特征轉換和分類器預測等多個步驟。在特征提取階段,針對目標主要提取如顏色、紋理、形狀、角度等特征。常用的特征提取方法有尺度不變特征變換(Scale Invariant Feature Transform,SIFT[4]),定向梯度直方圖(Histogram of Oriented Gradients,HOG[5])和變形部分模型(Deformable Part Model,DPM[6])。設計分類器的目的是確定目標的具體類別,常用的分類器有支持向量機(Support Vector Machine,SVM[7]),隨機森林(Random Forest,RF[8]),決策樹模型(Decision Tree Model,DTM[9])和樸素貝葉斯分類器(Naive Bayes Classifier,NBC[10])。許多研究人員依據特征提取方法提出了具體的遙感目標檢測算法。李湘眷等[11]使用多尺度顯著度、仿射協變區域對比度、邊緣密度對比度,以及超像素完整度作為特征提取結果,然后通過樸素貝葉斯框架進行特征融合,并訓練了多個分類器對遙感目標進行檢測;畢福昆等[12]通過引入一種自適應形態學的顯著圖生成策略快速搜尋整個視場中的顯著區域,并在其引導下利用分類器融合技術從特征屬性相似的顯著物中區分出任務目標。傳統方法的遙感圖像目標檢測方法特征提取和分類器選擇都是基于人工經驗的選擇,效率不高。目標特征提取能力低,尤其是深層語義信息提取能力較差,受樣本影響較大,導致這些檢測方法的魯棒性和泛化能力較差。
隨著越來越多的基于深度學習的卷積神經網絡被應用,目標檢測準確率和速度都有了較大提升,更為關鍵的是深度學習模型可以主動學習數據中的特征,為遙感圖像目標檢測提供了一個新的思路和框架。現有目標檢測的深度學習模型主要有以劉偉等提出的SSD[13]和REDMON等提出的YOLO[14]系列為代表的一階段檢測算法和以RCNN[15],FPN[16]為代表的兩階段檢測算法。基于深度學習模型的卷積結構能夠有效提取圖像特征。但是遙感圖像的背景復雜多變,地面目標的尺度變換多樣,使用單一的特征提取操作不能很好地兼顧淺層細節信息和深層語義信息,易造成密集小目標的錯檢和漏檢。
本文提出一種基于多尺度特征增強卷積神經網絡(Multi-Scale Feature Enhancement Convolution Neural Networks,MSFE-CNNs) 的遙感目標檢測算法。網絡利用特征增強模塊對卷積層提取的淺層特征和深層特征進行增強,強化目標特征提取能力。利用自注意力機制在增強不同特征間相關性的同時擴大模型局部和全局的感受野,抑制背景特征信息干擾。利用特征金字塔注意力機制進行多特征融合,增強了不同特征之間的非線性關系,因此可以有效識別目標類別,定位目標位置。
雖然SSD算法使用多尺度結構來檢測目標,但遙感圖像淺層特征的檢測對語義信息表達能力較差,導致遙感圖像小目標檢測精度較低。此外,SSD算法的深度特征丟失了大量遙感圖像的細節信息,不利于遙感目標區域的精確定位。為了減少背景信息干擾,增強卷積神經網絡的特征提取能力,提高圖像小目標檢測精度,在SSD算法的基礎上提出了本文算法,將淺層特征增強模塊、深層特征增強模塊、自注意力機制模塊和特征金字塔注意力模塊引入SSD算法,算法網絡框架如圖1所示。
淺層特征增強模塊借鑒了多分支卷積Inception-V2[17]和殘差網絡ResNet[18]模型的思想,在減少了參數的同時使用了更多的激活函數,增強了非線性表達能力;基于雙路徑網絡(Dual Path Network,DPN[19])的思想,提出深層特征增強模塊;在骨干網中引入自注意力機制(Self-Attention Mechanism,SAM)模塊,增強卷積層之間特征圖的相關性;基于空間金字塔結構(Spatial Pyramid Structure,SPS)的多尺度特征提取思想,在模型中引入金字塔注意力機制(Pyramid Attention Mechanism,PAM)模塊,充分提取目標區域的全局信息。
如圖2所示,特征增強模塊包括淺層特征增強模塊和深層特征增強模塊。淺層特征增強模塊是一個多分支結構,其中一個分支通過1×1卷積和3×3空洞卷積使得網絡能夠學習更多的非線性關系,結合殘差網絡和空洞卷積,提取更多的目標特征信息;深層特征增強模塊是一個多通道卷積操作,將特征圖分為不同卷積通道,使用1×1和k×k大小的卷積核來分離輸入特征圖,再經過級聯和拼接操作進一步融合提取的特征。

圖2 特征增強模塊Fig.2 Structure of feature enhancement module
在淺層特征增強模塊中一個分支使用分組卷積將k×k卷積核分解為1×k和k×1,在保證局部感受野保持不變的情況下節省訓練時間,同時,3×3空洞卷積用來強化模型局部感受野,另一個分支反向組合k×1和1×k卷積,使用級聯操作對得到的特征圖結果進行特征融合,將剩余分支的1×1卷積結果進行拼接融合操作。其形式描述如下。
1) 卷積層定義為
xl=f(Wlxl-1+bl)
(1)
式中:l代表層數;W代表卷積權值;b代表偏移量;f為激活函數。
2) 空洞卷積算式為

(2)

3) 殘差學習算式為
xl+1=xl+F′(xl,Wl)
(3)
式中:xl為當前層;xl+1為下一層;Wl為l層權值;F′為殘差運算。
4) 級聯和拼接算式分別為
(4)
(5)
式中:xi,yi分別代表不同的通道的輸入;c為通道個數;ki為對應的卷積核;*為卷積運算。
深層特征增強模塊是基于DPN算法思想,結合殘差網絡ResNet[18]和密集網絡DenseNet[20]在特征提取方面的優勢,不僅加深了整個網絡結構,而且隱含地完成了淺層和深層的特征融合,使深層網絡的特征信息更加豐富,采用分組卷積可以提高模塊的特征處理效率。深層特征增強模塊計算過程如下。
1) DenseNet網絡的密集連接計算過程為
xl=Hl([x0,x1,…,xl-1])
(6)
式中:Hl(·)為非線性變換;[x0,x1,…,xl-1]表示對第l層之前所有層輸出整合特征圖尺寸維度后在通道維度進行拼接,作為第l層輸入。
2) 分組卷積,假設輸入為H×W×C1維,有C2個H×W×C1維的卷積核,卷積后輸出為H×W×C2維,設置分組系數為2,則每組卷積的卷積核是H×W×C1/2維,即每組都有C2個H×W×C1/2維的卷積核。因此,分組卷積的運算量和卷積核參數個數是對應正常卷積層的一半。
3) 級聯和拼接運算過程如式(4)、式(5)所示。
在卷積神經網絡中,由于卷積核大小有限且固定,每次卷積操作只能覆蓋卷積核計算的面積,導致離圖像中目標較遠的特征不易被卷積核捕獲。隨著卷積層數的增加,卷積和池化操作使得特征圖的寬度和高度變小,局部感受野變大,卷積核映射所覆蓋的區域也相應地比原始圖像大。由于特征層的映射不能完全反映原始圖像的特征,為了增強遙感圖像中目標之間的相關性,使卷積層提取的特征更具相關性,引入了自注意力機制,自注意力機制模塊如圖3所示。

圖3 自注意力機制模塊Fig.3 Structure of self-attention mechanism
假設輸入特征圖N大小為C×W×H維,C代表特征圖通道數,W,H分別為寬度和高度,自注意力機制模塊運算步驟如下所述。
1) 對輸入特征圖進行3個卷積,其中第1和第2個卷積分別采用1×1卷積核進行卷積運算壓縮特征圖通道數量,然后利用矩陣相乘擴展變換到矩陣Q和K,第3個卷積依然采用1×1卷積核進行卷積運算,但不減少通道數,然后將輸入大小擴展到矩陣V,然后進行3×3和5×5卷積運算,進一階段提取目標特征。
2) 對矩陣Q進行轉置,然后乘以矩陣K得到尺度特征映射矩陣E=QTK。
19世紀70年代后,隨著中外貿易的興起,各式外語學館在沿海通商口岸次第開辦。在清末新政期間全國性教育改革開始之前半個世紀內,東南沿海的五個通商口岸已經設立66所新式學堂。[5]
3) 利用SoftMax函數對尺度特征矩陣E在列方向上進行歸一化處理,得到特征圖中所有特征點與某一特征點之間的關系,這就是注意力矩陣特征圖,其矩陣元素為
(7)
式中:βj,i表示得到的注意力矩陣特征圖中對應的每個元素;Ei j表示尺度特征映射矩陣中對應的每個元素;N′表示尺度特征映射矩陣中的元素個數。
4) 用注意力矩陣特征圖與第3分支提取出來的特征圖進行矩陣乘法運算得到自注意力特征圖,自注意力機制模塊運算結束。
特征金字塔結構可以提取不同像素目標尺度的特征,并行計算多個感受野信息,對不同大小的目標具有較好的識別效果[16]。而在傳統的特征金字塔結構中,不同比例尺特征圖之間的信息融合是通過簡單的線性疊加完成的,忽略了不同層次分支之間的非線性關系。該注意力機制通過聚焦重要區域信息和抑制次要信息來提取不同層次的非線性信息,增加模型效果,可用于不同尺寸大小特征圖的非線性信息融合。結合特征金字塔結構和注意力機制的優勢,提出了應用于遙感目標識別的金字塔注意力機制。本文算法金字塔注意力模塊結構如圖4所示。

圖4 金字塔注意力模塊結構Fig.4 Structure of pyramid attention module
金字塔注意力機制包括金字塔特征提取模塊和注意力特征融合模塊,該結構中金字塔特征提取模塊包含4層卷積結構,其中,3×3卷積運算用于多特征提取,利用2×2矩陣卷積進行下采樣用于減小特征圖分辨率。利用金字塔特征提取模塊可以獲得5個不同尺寸的特征圖,且特征圖的個數不同。為了充分整合金字塔特征提取模塊的特征學習結果,采用分層構造的方式構建注意力特征融合模塊,分別使用3×3,5×5,7×7和9×9卷積核進行分層特征提取。各層特征提取結果采用2×2上采樣操作生成注意力權值圖,并通過疊加對當前層對應的卷積運算結果進行標定。為了避免在金字塔特征提取融合過程中對原始輸入特征圖的誤判,將原始特征圖經過1×1卷積運算后與金字塔融合模塊的結果線性疊加,得到該模塊的輸出。金字塔注意力機制模塊的形式化描述如下
S=Conv1×1(I)+fpa(N1)
(8)
式中:S表示輸出;I表示輸出;N1為金字塔注意力機制模塊中的層數。
fpa(N1)=Convm×n(Ii)+U(fpa(i-1))
(9)
式中:m×n表示卷積核大小;U(·)表示上采樣操作;fpa(i-1)表示第i-1層金字塔注意力機制模塊的輸出;Ii表示金字塔注意力機制模塊第i層輸入,即
Ii=Conv3×3(D(Ii-1))
(10)
式中,D(·)表示下采樣操作。
為了識別遙感圖像中不同尺寸的目標,設計了不同寬高比的邊界框進行目標匹配。假設n個卷積層的卷積特征被用來進行目標檢測,則第i層特征圖的候選邊界框尺寸為
(11)
式中,Smin和Smax分別代表淺層和深層特征圖邊界框的比例系數。

(12)
式中,|fk|表示第k層特征圖的尺寸大小。
為了解決因為遙感圖像模型訓練過程中正負樣本不平衡引發的模型退化問題,本文算法基于SSD算法損失函數,結合Focal分類損失函數[21]進行優化和訓練,即
(13)
式中:N2為正樣本邊界框的數量;x為輸入圖像;c為類別置信度預測值;l為先驗框所對應邊界框的位置預測值;g為真實邊界框位置參數;a為分類預測誤差和邊界框預測誤差平衡系數;Lf 1(x,c)和Lloc(x,l,g)分別為Focal分類損失函數和邊界框回歸損失函數。函數Lloc(x,l,g)利用Faster R-CNN[22]中的位置回歸函數,其表達式為
(14)
(15)

函數Lf 1(x,c)計算分類損失函數,其表達式為

(16)

為了驗證算法的檢測性能,DOTA數據集上截取采集了1729幅大小為500像素×375像素、包含6種不同場景光學遙感目標,空間分辨率為0.5 ~ 2 m。具體的目標類別包括飛機、輪船、汽車、儲油罐、棒球場、網球場等,其中包含9740個實例樣本,7065個目標作為訓練數據集,2675個目標作為測試數據集。同時對圖像按照{20°,40°,…,340°}的角度進行旋轉變換,使訓練樣本集增加17倍。另外,按照目標尺寸大小進行分類,按照像素大小32×32和64×64兩個閾值把目標分為小目標、中等目標和大型目標3類,訓練樣本以中小目標為主。
選取平均精度均值(mAP)、每秒處理幀數(FPS)和召回率作為網絡模型預測評價指標。具體來說,精度指標表示預測檢測結果中包含的目標區域的比例,mAP表示不同類別精度均值的平均值;FPS反映了模型檢測速度;召回率是指正確檢測到的目標的百分比。在計算mAP前,需要計算出每一類的平均精度AP值,每個類別平均精度AP在不同置信度r下計算模型預測準確率(Precision)和召回率(Recall)得到P-R坐標(橫坐標是Recall,縱坐標是Precision)下PR曲線,PR曲線下的面積就是該類別的AP。
首先,通過非極大值抑制取預測邊界框類別置信度最高的類別作為預測邊界框中目標所屬類別,刪除同一目標重疊度較高的預測邊界框,確定最終的預測結果。目標檢測任務區分預測結果是否正確需要滿足兩個條件:1) 類別置信度滿足閾值條件;2) 檢測結果邊界框與真實邊界框IoU滿足預先設置的閾值。IoU計算目標邊界框與檢測結果邊界框之間的交集區域和并集區域的比值,其算式為
(17)
式中:area(Ddet∩Dgt)表示真實目標邊界框與預測結果邊界框之間的交集區域;area(Ddet∪Dgt)表示真實目標邊界框與檢測結果邊界框之間的并集區域。
評估指標的具體公式如下。
(18)
(19)

(20)
(21)
式中:TTP表示預測結果同時滿足置信度閾值和IoU閾值的正確預測框數量;FFP表示預測結果與實際目標不滿足IoU閾值條件的預測邊界框數量;FFN表示沒有檢測到的真實邊界框數量。
實驗在一臺11 GiB NVIDIA 2080Ti的PC機上運行,操作系統是Ubuntu 16.04,編程環境是帶有CUDA內核的Keras。遙感圖像數據集分為訓練數據集、驗證數據集和測試數據集。訓練數據集包括960幅圖像,驗證和測試數據集包括280幅遙感圖像。為防止過擬合增強泛化能力,在ImageNet數據集中對主干網絡進行預訓練,然后在遙感圖像數據集中對預訓練的模型進行訓練。在訓練和驗證數據集中采用批處理訓練方法對MSFE-CNNs模型進行實驗,每批包含32幅圖像。模型遍歷所有的訓練數據集稱為一次迭代,實驗中將迭代次數設置為10 000。采用自適應矩估計(Adaptive Moment Estimation,Adam)算法優化MSFE-CNNs的目標函數,動量因子設置為0.92,批數設置為8,權重衰減為0.005。MSFE-CNNs的訓練過程分為3個階段。第1階段是在ImageNet數據集中對骨干網絡進行預訓練,此階段初始學習速率設置為0.001,衰減系數為0.1,每1000次迭代衰減一次;第2階段是對遙感圖像數據集中的預訓練模型進行訓練,該階段采用遷移學習方法,只訓練預訓練對象的部分權重,此階段訓練參數設置與第1階段相同;最后,基于第2階段訓練的模型,對MSFE-CNNs的整體模型結構進行訓練,這個階段的初始學習率設置為0.000 1,每經過3000次迭代學習率衰減0.1。
IoU閾值是影響模型mAP的重要指標。選擇不同IoU閾值對本文算法(MSFE-CNNs)進行測試,對比結果如表1所示。
隨著IoU閾值的增加,所有正樣本檢測準確率下降,召回率上升。mAP指標先上升后下降,當IoU閾值達到0.5時得到最優值;由式(18)可知,精度由TTP和FFP決定,所以隨著IoU閾值的增加,FFP也相應增加,導致準確率變小;由式(19)可知,召回率由TTP和FFN決定,所以隨著IoU閾值的增加,TTP值逐漸增加,召回率也隨之增加。

表1 不同IoU閾值對模型性能影響對比
對本文算法(MSFE-CNNs)的性能進行計算評估,與SSD,YOLOV3,Faster R-CNN等多種目標檢測算法進行了比較。在相同實驗設置下,4種目標檢測算法的結果如表2所示。

表2 MSFE-CNNs與其他算法性能的比較
此外,為公平評價檢測精度,將所有比較模型的參數IoU閾值設置為0.5。表2給出了各算法對不同目標的檢測性能,評價指標包括mAP,FPS。與SSD算法相比,mAP從0.774提高到0.810,表明所提出改進算法的有效性,并且優于其他最新算法。與單階段檢測方法YOLOV3和兩階段檢測方法Faster R-CNN相比,所提方法的mAP分別提高了0.054和0.092。具體分析發現對于汽車、輪船、飛機等小目標,MSFE-CNNs相較于其他算法精度均值(AP)提高較大,分別比次優值高出0.051,0.023和0.034。同時FPS也有一定提高,說明該算法具有較強的實時性。圖5展示了SSD算法和本文算法在不同場景下針對飛機目標檢測分類檢測效果。效果圖說明與SSD算法相比本文算法在對小目標檢測準確性有了明顯提高。在不同場景下,本文算法對遙感圖像數據集部分檢測結果如圖6所示,在光照不同(第1,2幅)、密集分布(第3幅)、以及小尺寸多角度目標(第4幅)等情況下,算法均可精確地檢測出相關的目標物體,證明本文所設計的MSFE-CNNs能夠有效地提高復雜背景下多尺度遙感圖像中的目標物體檢測能力,特別是對于密集小目標,能夠完成精確的檢測和定位。

圖5 不同算法檢測結果對比Fig.5 Performance comparison of different algorithms

圖6 本文算法對小目標群體檢測結果Fig.6 Detection result of small target group based on MSFE-CNNs
本文提出一種基于多尺度特征增強卷積神經網絡的遙感目標檢測算法。該算法的目的是為了有效提高CNN模型的特征提取能力和不同特征層之間的非線性關系。在網絡骨干中引入自注意力機制模塊,擴展局部和全局感受野,獲得全局特征信息。同時,利用特征增強模塊增強淺層卷積和深層卷積的特征提取效果。此外,利用特征金字塔注意力機制增強不同特征層之間的非線性關系。實驗結果表明,MSFE-CNNs對遙感圖像檢測性能,尤其是對于密集小目標檢測效果優于現有的最新深度學習方法,證明了所提算法的有效性和魯棒性。未來,將在基于深度學習模型的遙感圖像目標檢測框架中直接添加特征增強結構,提高其檢測性能,同時,改進邊界框損失函數,提高收斂速度和檢測效果。