閆皓煒,張潔,燕正亮,張靜,王利偉
(1.天津航天中為數據系統科技有限公司,天津 300450;2.天津市智能遙感信息處理技術企業重點實驗室,天津 300450)
為了保證電力輸送的安全性,高壓輸電線路以及桿塔的無損至關重要。因此,桿塔的自動識別具有很大的現實意義。
以往對遙感圖像的目標檢測大多采用傳統的圖像處理方法。王孝余等[1]首先將彩色輸入圖像轉換為灰度圖像,通過滑動窗口的方式提取窗口內圖像的方向梯度直方圖特征,將其作為支持向量機的輸入進行訓練,實現桿塔的檢測。針對飛行機器人采集的簡單背景的電力巡檢圖像,郭貞[2]提出了一種收斂快、準確率高的快速高效啟發式聚類算法。針對復雜背景的巡檢圖像,吳華等[3]運用全局自相似描述子進行電塔特征描述,從而實現在巡檢圖像中對電塔的準確檢測。同樣,柳長安等[4]融合了桿塔與巡檢機器人位置關系的先驗信息來估計圖像中桿塔的位置范圍,并將其作為可變型部件模型(deformable model part,DPM)檢測約束區域,進一步實現電力桿塔的識別與定位。Tragulnuch等[5]采用基于Canny-Hough變換的直線檢測方法,通過對檢測到的線進行分類來檢測桿塔,并結合幾何信息再次判斷檢測到的桿塔的準確性。以上傳統的桿塔檢測通過采用人工設計特征或者先驗信息的方法對目標的表達能力有限,且由于成像原理以及環境噪聲的巨大差異導致以上方法的泛化能力較差。
近年來,深度學習算法以其優異的性能,成為目標檢測領域應用研究的熱點,也推動了利用衛星進行目標自動檢測技術的發展。與傳統的目標識別方法相比,基于深度學習的目標檢測網絡可以更好地表達復雜背景下的目標特征,在模型的泛化能力方面也更強,已經取得了較為矚目的成果[6-8]。基于深度學習的目標檢測模型主要分為兩個架構:一階段檢測模型和二階段檢測模型。
一階段檢測模型,不需要生成候選框,而是直接對目標位置進行回歸。Liu等[9]通過將SSD[10]模型中的傳統邊界框替換為可旋轉邊界框,使其具有旋轉不變性,以此能夠估計遙感圖像中目標的朝向。孫震笙等[11]同樣采用基于SSD的框架實現了對合成孔徑雷達(synthetic aperture rada,SAR)圖像中桿塔的檢測。Adam[12]通過改進YOLOv2[13]模型,提出了YOLT模型[13],用于大尺度遙感影像中小目標的識別。方青云等[14]提出了一種改進的YOLOv3模型[15]來實現遙感目標快速檢測,將DarkNet-53替換為MobileNet,同時提出了一種基于交并比的迭代聚類算法來計算anchor。
不同于一階段網絡,二階段網絡首先需要生成候選框,而后利用分類網絡對候選框進行分類。Yao等[16]基于Faster R-CNN的目標檢測模型,實現了高分辨率遙感影像中煙囪和冷凝塔的檢測。李紅艷等[17]首先利用增強深度超分辨率網絡對低質量遙感圖像進行重構,然后利用Faster R-CNN[18]對數據集進行訓練,其中在Faster R-CNN的特征提取網絡中引入了注意力機制模塊來抑制背景信息。針對高分辨率遙感影像的目標分布的位置變化性和復雜性,Zhong等[19]提出了PSB(position sensitive alancing)網絡結構來提升區域推薦網絡生產候選區域的質量。PSB網絡結構基于殘差網絡的全卷積網絡來解決目標檢測中的平移變化和圖像分類中的平移不變性之間的矛盾。針對遙感影像的車輛檢測,Tang等[20]提出了用HRPN網絡(hyper region proposal network)來發現類似于車輛的區域,同時使用難例挖掘方式提升檢測精度。
總體來說,一階段檢測模型網絡結構更加簡潔,處理速度更快,但識別準確率稍低,而二階段檢測器網絡結構較復雜,效率較慢,但識別準確率較高。近兩年來,科研人員提出了一系列新的方法來優化一階段網絡,比如FPN[21]及其變種、focal loss[22]等,使得一階段檢測模型的識別準確率大大提高,例如Efficientdet[23]、NAS-FPN[24]。為了追求網絡模型更加簡潔高效,在一階段網絡的基礎之上,anchor free類型的目標檢測器逐漸發展起來。CenterNet[25]作為anchor free模型,將目標看做點,然后利用點周圍的語義特征來預測目標寬和高,使得模型更加簡潔、高效和準確。
針對衛星圖像中桿塔尺度變化差異大、形態差異大、背景復雜多變等問題,本文采用改進的CenterNet模型對其進行檢測。
CenterNet是一種anchor free類型的目標檢測模型。該模型在訓練時不需要預先對anchor設定,模型結構更加簡潔,同時在檢測時不需要進行非極大值抑制,模型效率得到提升。CenterNet模型將目標看做一個點,即目標的中心點,然后在中心點位置回歸出目標的寬和高等信息。CenterNet網絡整體結構如圖1所示。編碼器通過下采樣來提取輸入圖像的高級語義特征信息,然后通過解碼器上采樣解譯高級語義特征,提升輸出特征圖分辨率,實現更精確定位。檢測頭部分包含了對中心點位置寬和高的回歸、中心點位置偏差、目標所屬類別。

圖1 CenterNet模型檢測框架
原CenterNet網絡模型采用深層聚合網絡[26](deep layer aggregation,DLA)作為骨干網絡,該網絡通過迭代深度聚合(iterative deep aggregation,IDA)和分層深度聚合(hierarchical deep aggregation,HAD)來提取豐富的語義信息和空間信息。IDA在不斷加深網絡的情況下,能夠將不同分辨率的特征圖進行融合,而HAD模塊能夠將同一分辨率下、不同層的特征圖進行融合。為進一步有效利用DLA網絡所提取的高層信息,本文通過空洞卷積空間金字塔池化(atrous spatial pyramid pooling,ASPP)[27]提取高層信息的多尺度信息,以此來更好地兼顧到不同分辨率下不同大小的桿塔。網絡結構如圖2所示。

圖2 改進CenterNet模型骨干網絡
DLA網絡的輸出作為ASPP模塊的輸入。ASPP模塊包括一個1*1的卷積,比率分別為6、12、18的空洞卷積,特征圖均值池化五個特征提取操作。這些操作的輸出通過1*1卷積進行融合。
CenterNet的檢測頭包含了目標關鍵點的檢測和目標寬高的檢測。
CenterNet的關鍵點檢測通過DLA+ASPP的網絡,再經過解碼器之后生成熱圖。熱圖中的峰值點即為預測目標的中心點,而目標邊界框的寬和高,可以利用中心點處的特征信息來進行預測。
假設輸入圖像是寬為W高為H的彩色圖像,記為I∈RW×H×3,生成關鍵點熱力圖,如式(1)所示。
(1)
式中:C為關鍵點類型的個數,在桿塔識別中,包括背景與桿塔目標,因此C=2;R為模型的下采樣因子。
對于類別C的每個ground truth的關鍵點p∈R2,映射到低分辨率的輸出特征圖,如式(2)所示。
(2)
(3)
訓練目標函數如式(4)所示。

(4)
式中:α和β是focal loss的超參數;N為圖像I中關鍵點的個數。在本文的實驗中設置α=2、β=4。

(5)

對于目標k,其回歸得到的尺寸定義為sk,且所有目標均采用同一種尺寸來預測,此操作可以降低計算負擔。對于回歸框的偏移量依舊采用L1 loss,計算如式(6)所示。
(6)
整體的損失函數為物體損失、大小損失和偏移量損失的和,計算如式(7)所示。
Ldet=Lk+θsizeLsize+θoffLoff
(7)
式中:θsize為常數系數。本文設置θsize=0.1,θoff=1。
CenterNet在進行邊界框的寬和高預測時,采用了均方誤差。但均方誤差會受到目標尺度的嚴重影響。大目標在訓練過程中會有比較高的loss,而小目標的loss相對較小,這會影響網絡的訓練效果。而DIoU loss[28]的計算考慮的是目標整體,可以更好地適應遙感影像中桿塔目標的多尺度變化,而且可以直接最小化兩個框的距離,因此準確率更高,收斂速度更快。
DIoU loss的定義如式(8)所示。
(8)
式中:b為預測框中心點;bgt為目標框中心點;ρ為計算兩個中心點的歐式距離;c為可以同時覆蓋預測框和目標框的最小矩形的對角線距離。Diou loss計算示意圖如圖3所示,其中實線矩形框代表目標框,虛線矩形框代表預測框。

圖3 Diou loss計算示意圖
所采集的桿塔數據來源天地圖、Pleiades、WorldView-2。所采集影像的分辨率大小如表1所示。

表1 原始衛星影像來源及分辨率
所采集的詳細數據如表2所示,其中訓練集和測試集的比例為2∶1;圖像大小從480像素×480像素到700像素×700像素。

表2 桿塔數據集
部分實例圖像如圖4所示。因拍攝方向的變化,桿塔呈現不同的形態特征,同時背景復雜多變,影像分辨率低進一步加大了檢測的難度。

圖4 桿塔衛星影像
硬件環境:Window10系統,電腦CPU為酷睿i7系列,內存為32 GB,顯卡為TITAN Xp,顯存為12 GB,基于pytorch 1.3深度學習框架。
CenterNet模型訓練過程中參數設定:輸入圖像的分辨率大小為512像素×512像素;學習率為0.000 1;epoch為256;batch size為20。
本文采用coco數據集的評價指標(表3),該指標在目標識別領域被廣泛采用。其中AP值計算方式如式(9)所示。

(9)
式中:P為準確率;R為召回率。每個類別的AP值是召回率和準確率繪制一條曲線下的面積。
利用預測框與真實框的交并比作為判定真假的前提,可以得到AP50、AP75等指標。

表3 coco數據集評價指標
為了驗證改進后的CenterNet的檢測效果,本文基于上述數據集分別對兩個模型進行訓練和測試,測試結果如表4所示。改進后的模型相比于原模型AP提升約3%,而且對不同尺度的桿塔識別率都有所提升。

表4 CenterNet模型改進前后檢測結果
改進前后的部分檢測結果如圖5所示。圖5上半部分五個小圖為CenterNet的檢測結果;圖5下半部分五個小圖為改進后模型的檢測結果。通過圖5(a1)和圖5(b1)、圖5(a2)和圖5(b2)對比可以看出,改進后的模型對于不同尺度的背景目標會有更少的誤檢。通過圖5(c1)和圖5(d1)可以看出,CenterNet模型漏檢了桿塔,由于桿塔目標較模糊。改進后的模型可以很好地進行檢測,如圖5(c2)和圖5(d2)所示。通過圖5(e1)與圖5(e2)對比可以看出,改進后的模型對于小目標桿塔檢測也較好。

圖5 CenterNet模型改進前后檢測結果對比
為了驗證樣本數量與檢測精度之間的關系,本文將測試樣本數據打亂之后平均分為六份,然后逐份加入到測試樣本中,利用改進后的CenterNet模型進行測試。不同樣本數量下的測試精度如表5所示。

表5 不同樣本數量下的模型檢測精度
針對不同成像角度的衛星影像,本文通過改進后的模型進行檢測,檢測結果如圖6所示。通過圖6可以看出,該模型對不同成像角度的衛星影像可以有效地進行檢測。

圖6 改進的CenterNet模型在不同成像影像的檢測效果
為了更好地評估改進后的CenterNet模型的檢測效果,本文與SSD、YOLOv3、YOLOv4、RetinaNet、CornerNet[29]等一階段網絡進行對比,同時與Faster R-CNN、Cascade R-CNN[30]等二階段網絡進行對比分析,以上模型在測試集的測試結果如表6所示。

表6 不同模型的檢測結果對比
如表6所示SSD模型的識別效果最差,主要是因為采用了vgg16傳統的骨干網絡。YOLOv3的識別準確率較低,但其具有最快的測試速度。同時YOLOv3的AP50相對較高,但是AP75較低,說明了YOLOv3對目標進行精確定位有一定難度。為了兼顧效率與準確率兩個方面,RetinaNet采用了ResNet-50與ResNet-100進行測試,但都未能達到最優效果。CornerNet采用Hourglass-104網絡,但測試效果并不理想,相比于RetinaNet,其AP值得到提升,但效率下降很多。二階段網絡Faster R-CNN和Cascade R-CNN與以上一階段網絡相比,準確率更高,主要還是得益于候選框區域的選擇使得背景樣本的影響減弱。總體來說,本文方法與以上模型相比,檢測效果相對更好。
針對衛星影像中桿塔目標的多尺度變化、背景干擾復雜等問題,本文采用改進的CenterNet模型進行桿塔目標的自動識別。CenterNet模型骨干網絡的輸出端增加空間金字塔池化模塊。金字塔池化模塊融合DLA骨干網絡提取的高層信息,提升了多尺度信息的處理能力。利用DIoU loss對CenterNet模型訓練過程進行優化。DIoU loss的計算考慮的是整個目標整體,可以更好地適應遙感影像中桿塔目標的多尺度變化。實驗結果表明,改進后的CenterNet模型與原模型相比,準確率提升3%左右,其中大、中、小目標的測試準確率均有所提升。