李潤林, 鄒煥新, 曹 旭, 成 飛, 賀詩甜, 李美霖
(國防科技大學電子科學學院, 湖南 長沙 410073)
隨著衛星航天技術與遙感技術的不斷發展,高分辨率遙感影像被廣泛應用于對地觀測、戰場偵查以及情報獲取等多種任務。從遙感影像中快速、精確地檢測艦船目標是其中一項具有重要意義的研究內容。目前,在光學遙感影像中,艦船目標檢測主要有以下3個難點:
(1) 排列密集。港口艦船目標通常呈現密集排布,較大的長寬比導致艦船目標邊界框之間的交并比(intersection over union, IoU)對角度的變化更加敏感。
(2) 方向多變。遙感影像中的艦船目標因為拍攝角度的緣故,可能以任意方向出現。這要求檢測器具有精確的角度預測能力。
(3) 背景復雜。近岸艦船的檢測容易受到岸邊復雜背景的干擾,岸上的集裝箱區域容易與近岸的貨船混淆。
傳統的艦船檢測方法多依賴于手工設計的特征。Ma等人提出了一種基于目標輪廓曲線及輪廓線凹凸程度約束的艦船檢測方法;儲昭亮等人提出了基于灰度值閾值分割的艦船目標檢測方法,胡俊華等人分析圖像局部區域特征以檢測艦船。這些傳統算法雖然取得了不錯的檢測結果,但是需要大量先驗知識來設置算法中的許多參數。
隨著深度學習的發展與計算機性能的提升,眾多學者提出了許多高性能的基于深度學習的通用目標檢測算法。當前主流的目標檢測算法主要分為兩種類型:單階段的目標檢測器與雙階段的目標檢測器。一般來說,單階段目標檢測算法具有更快的檢測速度,而雙階段的目標檢測算法則具有更高的檢測精度。但是這些目標檢測算法多針對自然場景,包圍框為水平矩形框,直接遷移到艦船檢測領域效果較差。因此,研究人員提出了許多基于通用檢測器的旋轉檢測器以解決艦船檢測中的難點問題。旋轉區域卷積神經網絡(rotational region convolutional neural networks, R2CNN)、基于旋轉區域的船舶檢測(rotated region based CNN, RR-CNN)、旋轉區域建議網絡(rotation region proposal networks,RRPN)以及感興趣區域變換網絡(region of inferest transformer, ROI transformer)等方法通過改進更快速區域卷積神經網絡(faster region CNN,Faster RCNN)以實現旋轉目標檢測;孫嘉赤等人提出了一種級聯CNN和邊緣直線提取相結合的方法來預測目標旋轉包圍框;旋轉視網膜網絡(RetinaNet-H)由單階段的視網膜網絡RetinaNet算法改進而來,而旋轉敏感目標檢測器(rotation sensitive regression detector, RRD)則是在單階段的單視多盒檢測器(single shot multibox detector,SSD)基礎上改進得到的旋轉檢測方法。除了上述方法,還有很多基于深度學習的方法在不同方向進行改進以完成遙感艦船檢測任務。然而,無論是基于單階段算法或雙階段算法的上述改進算法,其本質都是基于錨框的檢測算法。基于錨框的算法會產生大量的負樣本導致正負樣本不均衡,同時,在計算錨框與真實標注框之間的IoU時會耗費大量運算資源。針對這一問題,很多研究者提出了無錨框的單階段旋轉目標檢測算法,Chen等人提出的基于角點的艦船檢測算法改進自角點網絡(CornerNet),通過檢測艦船的船頭、船尾以及艦船中心點來確定艦船的位置,但其并沒有檢測艦船的寬度,艦船寬度依賴于數據集中艦船的長寬比分布,由艦船長度確定艦船寬度,此方法得到的旋轉矩形框在艦船目標長寬比與通用艦船長寬比差異較大時,包圍框與真值差異較大;張筱晗等人提出的基于中心點的目標檢測算法在CenterNet算法上進行改進,在預測尺寸的同時預測目標角度。文獻[28]中提出的旋轉目標檢測算法用極坐標系代替直角坐標系,預測目標中心點以及旋轉矩形框的頂點與中心點的距離以確定目標包圍框。上文提到的無錨框旋轉目標檢測算法都依賴于利用全卷積網絡確定目標的中心點,中心點位置越準確則檢測準確率越高。但是這些方法忽略了目標的語義分割信息,圖像的語義分割信息可以對目標所在區域的特征進行加強,更有利于尋找目標的中心點。
CenterNet算法是一種無錨框的目標檢測算法,由Zhou等人于2019年提出。CenterNet算法將預測目標邊界框問題轉換為預測目標中心點問題,然后再對中心點位置處的目標類別、目標尺寸以及由下采樣引起的關鍵點偏移量進行關聯,從而得到目標的預測框結果。因此,為了解決基于錨框的檢測算法在目標檢測中存在的問題,本文采用無錨框的關鍵點檢測網絡CenterNet作為基礎網絡,通過改進實現遙感艦船目標檢測。
具體來說,針對遙感影像艦船目標檢測問題,本文主要工作如下。首先,在CenterNet中添加了語義分支,使得網絡具有對前后背景的預測能力,并且將全局語義分割信息與檢測分支信息進行融合以強化前景區域的特征,有利于排除復雜背景干擾以檢測目標中心點。其次,本文在骨干網絡之后添加空間和通道注意力模塊。注意力模塊使得網絡關注特征中更有意義的通道與空間位置。最后,本文將添加了角度分支的CenterNet作為基線網絡,基于HRSC2016數據集對本文提出的改進方法開展了多組艦船目標檢測實驗。實驗結果表明,本文提出的改進方法平均檢測精度(average precision, AP)為88.31%,檢測速度達到17.8 FPS。此外,本文算法還與其他多種先進的目標檢測算法進行了對比評估,驗證了本文算法的優越性。
1.1.1 中心點熱力圖預測


(1)
式中:表示目標尺寸自適應偏差。
當屬于同一個類別的兩個目標的高斯分布重疊時,取較大值作為熱力圖真值。熱力圖的損失函數設置為像素級的焦點損失:

(2)
式中:和表示焦點損失的超參數;表示圖像中關鍵點的數目。在本文中,根據文獻[27]中的超參數設置方式,設置為2,設置為4。
112 偏移量預測


(3)

113 尺寸預測


(4)

綜上所述,在基于CenterNet的目標檢測算法中,總的損失函數如下所示:
=++
(5)
式中:和分別為偏移量預測損失與尺寸預測損失的權重因子。權重因子遵循文獻[29]中的設置,設置為1,設置為01。
114 推理階段



如前所述,在高分辨率遙感影像艦船目標檢測中,艦船目標具有排列密集、方向多變等特點,且遙感影像近岸背景復雜。針對上述特點導致的艦船目標檢測難點,本文基于CenterNet的目標檢測基本思路,結合高分辨率遙感影像中艦船目標的特點,提出了一種基于旋轉中心點網絡和語義信息(rotated CenterNet using semantic information, RSI-CenterNet)的多方向遙感艦船目標檢測法。RSI-CenterNet目標檢測算法對CenterNet的改進主要體現在以下3個方面:首先,在檢測頭中添加角度分支以準確預測目標的方向(旋轉角度);其次,添加語義分割分支并將語義分割分支的特征與輸入檢測頭的特征進行融合以強化前景區域的特征,同時抑制復雜背景的干擾;最后,添加空間和通道注意力模塊以使得網絡關注特征中更有意義的通道與空間位置。本文方法的整體流程如圖1所示。

圖1 本文方法的整體流程
121 角度預測分支
在原始的CenterNet中,物體的標注方式采用水平邊界框標注,這種標注方式在近景圖像的目標檢測中適用性更強。如圖2所示,在遙感影像中,影像的拍攝角度均為從頂至下拍攝,在艦船目標排列密集的情況下,相鄰艦船的水平邊界框之間的區域IoU較大,在非極大值抑制(non-maximal suppression, NMS)后處理階段,需要設置合適的NMS閾值。若閾值設置過大,部分艦船出現漏檢;若閾值設置過小,則檢測結果出現冗余。因此,采用旋轉邊界框進行標注更適合于遙感影像中多種方向的艦船目標檢測。
部分房地產估價機構在信息化探索之路上已取得一定成果,但從行業角度來看,因缺少統一的數據標準,現有信息系統和平臺的數據采集和管理的標準和方式各異,行業內部的系統對接難以實施,與行業外部的數據交換更無從談起。故亟待建立房地產估價行業統一的數據標準,推進數據的內外部聯通,進一步挖掘數據的應用潛力[3]。

圖2 水平邊界框與旋轉邊界框
本文使用旋轉邊界框標注的表示方法為(,,,,),其中(,)表示目標中心點的坐標,表示目標短邊的長度,表示目標長邊的長度,表示長邊與軸正方向的夾角,∈[0,π],如圖3所示。

圖3 旋轉邊界框表示方法
如圖2整體流程圖中的檢測頭部分所示,本文在檢測頭中添加角度預測分支,并對特征圖中的每個點進行角度預測。需要說明的是,網絡只對真實中心點位置處的角度進行損失的計算,損失函數如下所示:

(6)

=+++
(7)
式中:角度損失部分的權重為01,其余損失權重與CenterNet保持一致。
此外,由于本文采用旋轉邊界框進行標注,因此,在網絡的尺寸預測分支中,=(,),其中的與分別代表旋轉邊界框的寬與高,與原始的水平邊界框的尺寸定義并不完全相同。

122 語義分割分支
受混合任務級聯網絡(hybrid task cascade, HTC)啟發,在本文提出的RSI-CenterNet中,添加與檢測并行的語義分割分支,并將語義分割分支的特征與骨干網絡提取的特征進行融合以增強目標區域的特征,從而提高艦船目標檢測的性能。
在遙感影像中,目標的掩膜具有豐富的語義信息。然而,獲取艦船目標的精細掩膜是一個費時費力的過程。考慮到艦船目標在遙感影像中通常呈現為長條狀形狀,因此,為了在RSI-CenterNet中簡便高效地利用艦船目標的掩膜信息,在本文中,根據艦船目標的基本物理形狀,為每個艦船目標構建五邊形的分割掩膜。構建艦船目標五邊形掩膜的具體方法如下,如圖4所示。

圖4 艦船目標五邊形掩膜構建示意圖

=′×+
(8)
語義分割真值圖生成過程如圖5所示。首先,生成與原圖尺寸一致的像素值均為0的單通道圖像;其次,利用五邊形掩膜生成方法獲得圖中每個目標的掩膜位置;最后,將所有目標掩膜對應五邊形區域內以像素值1進行填充即獲得了掩膜真值圖。語義分割分支網絡結構如圖6所示,將骨干網絡最后一層輸出的特征圖進行多次上采樣并與骨干網絡各個階段不同尺度的特征圖按元素相加融合。如圖1所示,語義分割分支最后一層的特征圖除了用于預測前景和背景區域,同時將其與輸入檢測分支的特征進行融合。

圖5 語義分割圖生成過程

圖6 語義分割分支的網絡結構
在本文中,采用掩膜真值圖與語義分割分支的輸出進行分割損失的計算。在掩膜真值圖中,艦船區域像素在全圖像素中占比小,因此分割分支的損失函數與熱力圖分支相同,為像素級的焦點損失,焦點損失有利于解決前后背景樣本不均衡問題,語義分割分支損失函數如下:

(9)
式中:和表示焦點損失的超參數;表示分割真值圖中標記為1的數目。在本文中,根據文獻[29]中的超參數設置方式,設置為2,設置為4。
添加語義分割分支后,總的損失函數為
=+
(10)
檢測分支與分割分支并行,因此檢測分支與分割分支損失函數的權重相同,均設置為1。
123 卷積注意力模塊
人類的眼睛在觀察時,會自然地對具有顯著性特征的區域進行關注而忽略其他區域,考慮到特征圖中并非所有通道和位置的元素都具有相同的重要性,若重點關注顯著性區域,可以有效提升網絡性能。因此,本文在網絡中添加卷積注意力模塊(convolutional block attention module, CBAM)。
CBAM模塊由空間注意力模塊與通道注意力模塊組成,CBAM模塊具體結構如圖7所示。輸入特征圖先后經過通道注意力模塊與空間注意力模塊后,輸出精煉特征圖。

圖7 卷積注意力模塊


圖8 通道注意力模塊

(11)
式中:MLP(·)表示多層感知網絡;AvgPool(·)表示空間維度上的全局均值池化;MaxPool(·)表示空間維度上的全局最大值池化;(·)表示激活函數,與表示共享全連接層的參數。


圖9 空間注意力模塊

(12)
式中:AvgPool(·)表示通道維度上的全局均值池化;MaxPool(·)表示通道維度上的全局最大值池化;(·)表示激活函數;表示卷積層尺寸為3×3的卷積核。
整個注意力模塊的公式如下所示:

(13)
式中:?表示對應元素相乘;′為經過通道注意力模塊的特征;″為CBAM模塊輸出的特征。
骨干網絡深層提取的特征比起淺層提取的特征具備更強的特征表達能力。因此,在本文中CBAM模塊添加在骨干網絡提取特征之后,對不同通道與不同空間位置的特征進行強化使得特征的表達能力進一步增強。此外,輸入檢測頭的特征由骨干網最后一層輸出的特征經過反卷積操作生成,將CBAM模塊添加在骨干網之后可以在更小的參數量代價下取得更明顯的檢測效果提升。
在本文的實驗中,基于高分辨率船舶數據集(High Resolution Ship Collections 2016, HRSC2016)遙感艦船目標數據集對本文所提方法的性能進行評估、對比和分析。本實驗采用的計算機配置如下:Intel Core i7 CPU,NVIDIA GTX-2080Ti GPU(11 GB顯存),32 GB內存,操作系統為Ubuntu18.04。
HRSC2016數據集是具有挑戰性的高分辨率光學遙感圖像艦船目標數據集,其包含兩種場景的圖像:近岸艦船與海上艦船。圖像分辨率在0.4~2 m之間,圖像大小在300×300~1 500×900像素之間,其中,訓練集由436幅圖像組成,驗證集由181幅圖像組成,測試集由444幅圖像組成,共有2 976個艦船目標實例。
為了適應網絡的輸入,將所有圖像裁剪為1 024×1 024像素的圖像。若原始圖像尺寸不足1 024像素,則以像素值0對邊緣進行填充以保持圖像的長寬比不變。此外,本文使用旋轉、添加噪聲、鏡像翻轉等數據增強方法對訓練集中的圖像進行數據擴充以提升模型訓練的魯棒性。
本文實驗采用目標檢測領域通用的AP評價指標來評估RSI-CenterNet在艦船目標檢測任務中的性能。AP的計算公式如下所示:

(14)
式中:(·)表示預測結果的準確率;表示預測結果的召回率。
在本文實驗中,當預測框與真值框IoU大于等于設定的閾值時,認為該預測框為正確預測樣本,本文IoU閾值設置為05。
為了驗證RSI-CenterNet的有效性與可行性,本文與其他多種旋轉目標檢測算法進行對比。這些對比算法主要包括:R2CNN、RR-CNN、RRPN、RetinaNet-H、RRD以及RoI-Transformer。各種艦船目標檢測方法的對比實驗結果如表1所示。注: RNet-H表示RetinaNet-H, RoI-T表示RoI-Transformer, R101表示ResNet101網絡, RSI-C為本文算法。

表1 在HRSC2016數據集上不同艦船目標檢測方法的性能對比
R2CNN算法在感興趣區域提取階段中仍然提取水平邊界框,為了適應長寬比例較大的目標,感興趣區域池化時添加長寬比較大的池化尺寸以提取不同方向的特征;RR-CNN算法在感興趣區域池化階段直接提取目標旋轉邊界框內的特征,減少了候選框區域內復雜背景的影響;RRPN算法提出了旋轉區域提取網絡以代替Faster-RCNN原本的區域提取網絡,并在感興趣區域池化階段采用旋轉池化的方法以保持感興趣區域內特征的旋轉不變性;RoI-Transformer與RRPN不同的是,RRPN訓練階段預設錨框時設置多個角度的錨框進行預測,而RoI-Transformer提出的RRoI Learner從提取到的水平感興趣區域中學習旋轉的感興趣區域,無需增設錨框,因此計算量比RRPN小。以上幾種算法都是以Faster-RCNN為基礎,需要預設錨框,錨框設置過多會帶來檢測速度的下降,如RRPN算法預設多方向的錨框,其檢測速度為1.5 FPS,在對比算法中效率最低。
RetinaNet-H對單階段檢測算法RetinaNet進行改進,添加了角度預測分支以完成對旋轉目標的定位。但是RetinaNet-H與R2CNN采用相同水平錨框設置方式,錨框內的候選目標易受到復雜背景的干擾,引起檢測精度的下降。
RRD算法對單階段目標檢測算法SSD進行改進,添加了旋轉敏感回歸器(rotation-sensitive regression, RSR)模塊以保持對特征的旋轉敏感性,實現旋轉目標檢測。但是RRD算法沿用SSD算法的錨框設置方式,在多個尺度的特征圖中設置錨框,每個特征點設置13個錨框。過多的錨框數量導致檢測效率的下降。
RSI-CenterNet在HRSC2016數據集中AP值達到88.31%,超過了以上6種對比算法,平均超出8.1%,比R2CNN高15.24%,比RoI-Transformer高2.11%。RSI-CenterNet檢測速度達到17.8 FPS,與對比算法中檢測速度最快的RetinaNet-H相比,高出3.8 FPS。
如圖10所示為本文方法檢測結果。第1行為原圖,第2行為預測的中心點熱力圖在原圖中的映射,第3行為語義分割預測結果,第4行為最終檢測結果。在熱力圖映射中,亮度越高,則說明該點為目標中心點的概率越大。從圖中可以看出,所有待檢測目標的中心處亮度最高,被預測為目標中心的概率最大,本文算法可以精確地預測出目標中心點。為了將語義特征與輸入檢測頭的特征融合,語義分割輸出尺寸與熱力圖尺寸保持一致,其寬度和高度均為原圖的1/,其中為熱力圖相對于原圖的下采樣倍數。需要指出的是,當下采樣倍數較大時(比如大于4時),本文算法中的語義分割分支無法對尺寸較小的目標預測出準確的掩膜。本文算法采用無錨框的設計避免了錨框冗余問題,提升了檢測速度。同時,本文算法將語義分割特征與輸入檢測頭的特征進行融合,強化了目標區域的特征,使得目標的定位更加準確,檢測精度更高。

圖10 本文方法檢測結果
圖11為本文算法與其他算法的檢測結果對比圖。第1列為目標真實標注,第2列為R2CNN算法檢測結果,第3列為單階段RRD算法檢測結果,第4列為RoI-Transformer算法檢測結果,最后一列為本文算法檢測結果。檢測結果可視化圖可以看出,對比算法與本文算法都可以檢測出目標位置,其中R2CNN算法預測包圍框的4個頂點坐標,針對艦船目標,存在包圍框不貼合的問題,RRD算法與RoI-Transformer算法在背景區域復雜的情況下,產生虛警。而本文提出的RSI-CenterNet可以準確檢測出目標位置,虛警更少且包圍框更加貼合目標。

圖11 檢測結果對比圖
為測試本文算法中的不同改進對檢測性能的提升效果,本文在HRSC2016數據集上設計了3組消融實驗。需要指出的是,本文將已經添加了旋轉分支的R-CenterNet作為基線模型。消融實驗1在基線模型中添加了注意力模塊;消融實驗2在基線模型中添加了語義分支信息融合;消融實驗3為消融實驗1與消融實驗2的組合,即RSI-CenterNet。在消融實驗中,所采取的骨干網絡均為ResNet34,輸入圖像尺寸被縮放為512×512。實驗采用AP作為評價指標,同時對檢測速度及參數量進行對比。消融實驗結果如表2所示。

表2 消融實驗結果
如表2所示,消融實驗1的AP達到85.27%,相比基線方法提升了5.22%,注意力模塊使特征在通道和空間維度得到了不同程度的增強,強化了特征的顯著區域,同時注意力模塊的添加使得消融實驗1的參數量比起基線方法增長了0.1 M,較小的參數量的增加使得檢測效果提升顯著。消融實驗2的AP達到87.43%,相比基線方法提升了7.38%,語義信息的融合可以有效地減少目標誤檢的概率,被語義分支判斷為前景的區域特征得到增強,添加了語義分割模塊后參數量達到了129.1 M,比起基線方法增加了8.1 M。消融實驗3的結果表明,注意力模塊與語義分割分支的信息融合彼此之間不沖突,組合使用后的AP達到87.81%,相比基線方法提升了7.76%。比起基線方法,消融實驗3的參數量增長了8.2 M,比起消融實驗2的參數量增長了0.1 M,這與消融實驗1和基線方法的參數量變化是一致的。隨著改進策略的增加,消融實驗3的檢測速度相比基線方法下降了3.47 FPS,但是下降之后的速度仍然達到了21.16 FPS且檢測精度提升效果明顯。
圖12為不同改進策略的檢測結果圖。第1行為基線方法的檢測結果;第2行為消融實驗1的檢測結果;第3行為消融實驗2的檢測結果;第4行為消融實驗3的檢測結果。如圖12所示,基線方法檢測結果中出現了漏檢和誤檢的情況,而添加了語義分割分支信息融合與注意力模塊的實驗3的檢測結果最好。由于添加了語義分割分支并將語義信息與原始特征融合,前景區域的特征得到了強化,背景區域被誤檢的概率有所下降。我們的改進策略對密集排布的艦船檢測也有較大的提升,從圖12第4行可以看出,對密集排列的細長艦船目標,本文提出的方法可以準確區分出并列的兩個目標,這是因為本文方法不針對水平包圍框進行非極大值抑制的篩選,即使兩個目標預測框之間的IoU很大,也不會因此而抑制預測框導致漏檢。

圖12 消融實驗檢測結果
本文提出了一種基于中心點和語義信息的多方向遙感艦船目標檢測算法RSI-CenterNet,以解決遙感艦船檢測任務中目標排列密集、方向任意及背景復雜的問題。首先,在性能卓越的無錨框算法CenterNet中添加角度分支,以檢測任意方向的艦船目標;其次,添加了語義分割分支,并將語義分割分支的特征與輸入檢測頭的特征融合,以強化前景區域的特征,弱化背景區域的特征;最后,添加注意力模塊,以強化目標顯著區域與通道的特征,提升檢測精度。基于HRSC2016數據集對本文算法進行性能驗證與速度測試,實驗結果表明,與其他多種先進方法相比,本文方法具有更高的檢測精度與檢測速度。