閆皓煒,張潔,燕正亮,張靜,王利偉
(1.天津航天中為數(shù)據(jù)系統(tǒng)科技有限公司,天津 300450;2.天津市智能遙感信息處理技術(shù)企業(yè)重點實驗室,天津 300450)
為了保證電力輸送的安全性,高壓輸電線路以及桿塔的無損至關(guān)重要。因此,桿塔的自動識別具有很大的現(xiàn)實意義。
以往對遙感圖像的目標(biāo)檢測大多采用傳統(tǒng)的圖像處理方法。王孝余等[1]首先將彩色輸入圖像轉(zhuǎn)換為灰度圖像,通過滑動窗口的方式提取窗口內(nèi)圖像的方向梯度直方圖特征,將其作為支持向量機的輸入進(jìn)行訓(xùn)練,實現(xiàn)桿塔的檢測。針對飛行機器人采集的簡單背景的電力巡檢圖像,郭貞[2]提出了一種收斂快、準(zhǔn)確率高的快速高效啟發(fā)式聚類算法。針對復(fù)雜背景的巡檢圖像,吳華等[3]運用全局自相似描述子進(jìn)行電塔特征描述,從而實現(xiàn)在巡檢圖像中對電塔的準(zhǔn)確檢測。同樣,柳長安等[4]融合了桿塔與巡檢機器人位置關(guān)系的先驗信息來估計圖像中桿塔的位置范圍,并將其作為可變型部件模型(deformable model part,DPM)檢測約束區(qū)域,進(jìn)一步實現(xiàn)電力桿塔的識別與定位。Tragulnuch等[5]采用基于Canny-Hough變換的直線檢測方法,通過對檢測到的線進(jìn)行分類來檢測桿塔,并結(jié)合幾何信息再次判斷檢測到的桿塔的準(zhǔn)確性。以上傳統(tǒng)的桿塔檢測通過采用人工設(shè)計特征或者先驗信息的方法對目標(biāo)的表達(dá)能力有限,且由于成像原理以及環(huán)境噪聲的巨大差異導(dǎo)致以上方法的泛化能力較差。
近年來,深度學(xué)習(xí)算法以其優(yōu)異的性能,成為目標(biāo)檢測領(lǐng)域應(yīng)用研究的熱點,也推動了利用衛(wèi)星進(jìn)行目標(biāo)自動檢測技術(shù)的發(fā)展。與傳統(tǒng)的目標(biāo)識別方法相比,基于深度學(xué)習(xí)的目標(biāo)檢測網(wǎng)絡(luò)可以更好地表達(dá)復(fù)雜背景下的目標(biāo)特征,在模型的泛化能力方面也更強,已經(jīng)取得了較為矚目的成果[6-8]?;谏疃葘W(xué)習(xí)的目標(biāo)檢測模型主要分為兩個架構(gòu):一階段檢測模型和二階段檢測模型。
一階段檢測模型,不需要生成候選框,而是直接對目標(biāo)位置進(jìn)行回歸。Liu等[9]通過將SSD[10]模型中的傳統(tǒng)邊界框替換為可旋轉(zhuǎn)邊界框,使其具有旋轉(zhuǎn)不變性,以此能夠估計遙感圖像中目標(biāo)的朝向。孫震笙等[11]同樣采用基于SSD的框架實現(xiàn)了對合成孔徑雷達(dá)(synthetic aperture rada,SAR)圖像中桿塔的檢測。Adam[12]通過改進(jìn)YOLOv2[13]模型,提出了YOLT模型[13],用于大尺度遙感影像中小目標(biāo)的識別。方青云等[14]提出了一種改進(jìn)的YOLOv3模型[15]來實現(xiàn)遙感目標(biāo)快速檢測,將DarkNet-53替換為MobileNet,同時提出了一種基于交并比的迭代聚類算法來計算anchor。
不同于一階段網(wǎng)絡(luò),二階段網(wǎng)絡(luò)首先需要生成候選框,而后利用分類網(wǎng)絡(luò)對候選框進(jìn)行分類。Yao等[16]基于Faster R-CNN的目標(biāo)檢測模型,實現(xiàn)了高分辨率遙感影像中煙囪和冷凝塔的檢測。李紅艷等[17]首先利用增強深度超分辨率網(wǎng)絡(luò)對低質(zhì)量遙感圖像進(jìn)行重構(gòu),然后利用Faster R-CNN[18]對數(shù)據(jù)集進(jìn)行訓(xùn)練,其中在Faster R-CNN的特征提取網(wǎng)絡(luò)中引入了注意力機制模塊來抑制背景信息。針對高分辨率遙感影像的目標(biāo)分布的位置變化性和復(fù)雜性,Zhong等[19]提出了PSB(position sensitive alancing)網(wǎng)絡(luò)結(jié)構(gòu)來提升區(qū)域推薦網(wǎng)絡(luò)生產(chǎn)候選區(qū)域的質(zhì)量。PSB網(wǎng)絡(luò)結(jié)構(gòu)基于殘差網(wǎng)絡(luò)的全卷積網(wǎng)絡(luò)來解決目標(biāo)檢測中的平移變化和圖像分類中的平移不變性之間的矛盾。針對遙感影像的車輛檢測,Tang等[20]提出了用HRPN網(wǎng)絡(luò)(hyper region proposal network)來發(fā)現(xiàn)類似于車輛的區(qū)域,同時使用難例挖掘方式提升檢測精度。
總體來說,一階段檢測模型網(wǎng)絡(luò)結(jié)構(gòu)更加簡潔,處理速度更快,但識別準(zhǔn)確率稍低,而二階段檢測器網(wǎng)絡(luò)結(jié)構(gòu)較復(fù)雜,效率較慢,但識別準(zhǔn)確率較高。近兩年來,科研人員提出了一系列新的方法來優(yōu)化一階段網(wǎng)絡(luò),比如FPN[21]及其變種、focal loss[22]等,使得一階段檢測模型的識別準(zhǔn)確率大大提高,例如Efficientdet[23]、NAS-FPN[24]。為了追求網(wǎng)絡(luò)模型更加簡潔高效,在一階段網(wǎng)絡(luò)的基礎(chǔ)之上,anchor free類型的目標(biāo)檢測器逐漸發(fā)展起來。CenterNet[25]作為anchor free模型,將目標(biāo)看做點,然后利用點周圍的語義特征來預(yù)測目標(biāo)寬和高,使得模型更加簡潔、高效和準(zhǔn)確。
針對衛(wèi)星圖像中桿塔尺度變化差異大、形態(tài)差異大、背景復(fù)雜多變等問題,本文采用改進(jìn)的CenterNet模型對其進(jìn)行檢測。
CenterNet是一種anchor free類型的目標(biāo)檢測模型。該模型在訓(xùn)練時不需要預(yù)先對anchor設(shè)定,模型結(jié)構(gòu)更加簡潔,同時在檢測時不需要進(jìn)行非極大值抑制,模型效率得到提升。CenterNet模型將目標(biāo)看做一個點,即目標(biāo)的中心點,然后在中心點位置回歸出目標(biāo)的寬和高等信息。CenterNet網(wǎng)絡(luò)整體結(jié)構(gòu)如圖1所示。編碼器通過下采樣來提取輸入圖像的高級語義特征信息,然后通過解碼器上采樣解譯高級語義特征,提升輸出特征圖分辨率,實現(xiàn)更精確定位。檢測頭部分包含了對中心點位置寬和高的回歸、中心點位置偏差、目標(biāo)所屬類別。
圖1 CenterNet模型檢測框架
原CenterNet網(wǎng)絡(luò)模型采用深層聚合網(wǎng)絡(luò)[26](deep layer aggregation,DLA)作為骨干網(wǎng)絡(luò),該網(wǎng)絡(luò)通過迭代深度聚合(iterative deep aggregation,IDA)和分層深度聚合(hierarchical deep aggregation,HAD)來提取豐富的語義信息和空間信息。IDA在不斷加深網(wǎng)絡(luò)的情況下,能夠?qū)⒉煌直媛实奶卣鲌D進(jìn)行融合,而HAD模塊能夠?qū)⑼环直媛氏?、不同層的特征圖進(jìn)行融合。為進(jìn)一步有效利用DLA網(wǎng)絡(luò)所提取的高層信息,本文通過空洞卷積空間金字塔池化(atrous spatial pyramid pooling,ASPP)[27]提取高層信息的多尺度信息,以此來更好地兼顧到不同分辨率下不同大小的桿塔。網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 改進(jìn)CenterNet模型骨干網(wǎng)絡(luò)
DLA網(wǎng)絡(luò)的輸出作為ASPP模塊的輸入。ASPP模塊包括一個1*1的卷積,比率分別為6、12、18的空洞卷積,特征圖均值池化五個特征提取操作。這些操作的輸出通過1*1卷積進(jìn)行融合。
CenterNet的檢測頭包含了目標(biāo)關(guān)鍵點的檢測和目標(biāo)寬高的檢測。
CenterNet的關(guān)鍵點檢測通過DLA+ASPP的網(wǎng)絡(luò),再經(jīng)過解碼器之后生成熱圖。熱圖中的峰值點即為預(yù)測目標(biāo)的中心點,而目標(biāo)邊界框的寬和高,可以利用中心點處的特征信息來進(jìn)行預(yù)測。
假設(shè)輸入圖像是寬為W高為H的彩色圖像,記為I∈RW×H×3,生成關(guān)鍵點熱力圖,如式(1)所示。
(1)
式中:C為關(guān)鍵點類型的個數(shù),在桿塔識別中,包括背景與桿塔目標(biāo),因此C=2;R為模型的下采樣因子。
對于類別C的每個ground truth的關(guān)鍵點p∈R2,映射到低分辨率的輸出特征圖,如式(2)所示。
(2)
(3)
訓(xùn)練目標(biāo)函數(shù)如式(4)所示。
(4)
式中:α和β是focal loss的超參數(shù);N為圖像I中關(guān)鍵點的個數(shù)。在本文的實驗中設(shè)置α=2、β=4。
(5)
對于目標(biāo)k,其回歸得到的尺寸定義為sk,且所有目標(biāo)均采用同一種尺寸來預(yù)測,此操作可以降低計算負(fù)擔(dān)。對于回歸框的偏移量依舊采用L1 loss,計算如式(6)所示。
(6)
整體的損失函數(shù)為物體損失、大小損失和偏移量損失的和,計算如式(7)所示。
Ldet=Lk+θsizeLsize+θoffLoff
(7)
式中:θsize為常數(shù)系數(shù)。本文設(shè)置θsize=0.1,θoff=1。
CenterNet在進(jìn)行邊界框的寬和高預(yù)測時,采用了均方誤差。但均方誤差會受到目標(biāo)尺度的嚴(yán)重影響。大目標(biāo)在訓(xùn)練過程中會有比較高的loss,而小目標(biāo)的loss相對較小,這會影響網(wǎng)絡(luò)的訓(xùn)練效果。而DIoU loss[28]的計算考慮的是目標(biāo)整體,可以更好地適應(yīng)遙感影像中桿塔目標(biāo)的多尺度變化,而且可以直接最小化兩個框的距離,因此準(zhǔn)確率更高,收斂速度更快。
DIoU loss的定義如式(8)所示。
(8)
式中:b為預(yù)測框中心點;bgt為目標(biāo)框中心點;ρ為計算兩個中心點的歐式距離;c為可以同時覆蓋預(yù)測框和目標(biāo)框的最小矩形的對角線距離。Diou loss計算示意圖如圖3所示,其中實線矩形框代表目標(biāo)框,虛線矩形框代表預(yù)測框。
圖3 Diou loss計算示意圖
所采集的桿塔數(shù)據(jù)來源天地圖、Pleiades、WorldView-2。所采集影像的分辨率大小如表1所示。
表1 原始衛(wèi)星影像來源及分辨率
所采集的詳細(xì)數(shù)據(jù)如表2所示,其中訓(xùn)練集和測試集的比例為2∶1;圖像大小從480像素×480像素到700像素×700像素。
表2 桿塔數(shù)據(jù)集
部分實例圖像如圖4所示。因拍攝方向的變化,桿塔呈現(xiàn)不同的形態(tài)特征,同時背景復(fù)雜多變,影像分辨率低進(jìn)一步加大了檢測的難度。
圖4 桿塔衛(wèi)星影像
硬件環(huán)境:Window10系統(tǒng),電腦CPU為酷睿i7系列,內(nèi)存為32 GB,顯卡為TITAN Xp,顯存為12 GB,基于pytorch 1.3深度學(xué)習(xí)框架。
CenterNet模型訓(xùn)練過程中參數(shù)設(shè)定:輸入圖像的分辨率大小為512像素×512像素;學(xué)習(xí)率為0.000 1;epoch為256;batch size為20。
本文采用coco數(shù)據(jù)集的評價指標(biāo)(表3),該指標(biāo)在目標(biāo)識別領(lǐng)域被廣泛采用。其中AP值計算方式如式(9)所示。
(9)
式中:P為準(zhǔn)確率;R為召回率。每個類別的AP值是召回率和準(zhǔn)確率繪制一條曲線下的面積。
利用預(yù)測框與真實框的交并比作為判定真假的前提,可以得到AP50、AP75等指標(biāo)。
表3 coco數(shù)據(jù)集評價指標(biāo)
為了驗證改進(jìn)后的CenterNet的檢測效果,本文基于上述數(shù)據(jù)集分別對兩個模型進(jìn)行訓(xùn)練和測試,測試結(jié)果如表4所示。改進(jìn)后的模型相比于原模型AP提升約3%,而且對不同尺度的桿塔識別率都有所提升。
表4 CenterNet模型改進(jìn)前后檢測結(jié)果
改進(jìn)前后的部分檢測結(jié)果如圖5所示。圖5上半部分五個小圖為CenterNet的檢測結(jié)果;圖5下半部分五個小圖為改進(jìn)后模型的檢測結(jié)果。通過圖5(a1)和圖5(b1)、圖5(a2)和圖5(b2)對比可以看出,改進(jìn)后的模型對于不同尺度的背景目標(biāo)會有更少的誤檢。通過圖5(c1)和圖5(d1)可以看出,CenterNet模型漏檢了桿塔,由于桿塔目標(biāo)較模糊。改進(jìn)后的模型可以很好地進(jìn)行檢測,如圖5(c2)和圖5(d2)所示。通過圖5(e1)與圖5(e2)對比可以看出,改進(jìn)后的模型對于小目標(biāo)桿塔檢測也較好。
圖5 CenterNet模型改進(jìn)前后檢測結(jié)果對比
為了驗證樣本數(shù)量與檢測精度之間的關(guān)系,本文將測試樣本數(shù)據(jù)打亂之后平均分為六份,然后逐份加入到測試樣本中,利用改進(jìn)后的CenterNet模型進(jìn)行測試。不同樣本數(shù)量下的測試精度如表5所示。
表5 不同樣本數(shù)量下的模型檢測精度
針對不同成像角度的衛(wèi)星影像,本文通過改進(jìn)后的模型進(jìn)行檢測,檢測結(jié)果如圖6所示。通過圖6可以看出,該模型對不同成像角度的衛(wèi)星影像可以有效地進(jìn)行檢測。
圖6 改進(jìn)的CenterNet模型在不同成像影像的檢測效果
為了更好地評估改進(jìn)后的CenterNet模型的檢測效果,本文與SSD、YOLOv3、YOLOv4、RetinaNet、CornerNet[29]等一階段網(wǎng)絡(luò)進(jìn)行對比,同時與Faster R-CNN、Cascade R-CNN[30]等二階段網(wǎng)絡(luò)進(jìn)行對比分析,以上模型在測試集的測試結(jié)果如表6所示。
表6 不同模型的檢測結(jié)果對比
如表6所示SSD模型的識別效果最差,主要是因為采用了vgg16傳統(tǒng)的骨干網(wǎng)絡(luò)。YOLOv3的識別準(zhǔn)確率較低,但其具有最快的測試速度。同時YOLOv3的AP50相對較高,但是AP75較低,說明了YOLOv3對目標(biāo)進(jìn)行精確定位有一定難度。為了兼顧效率與準(zhǔn)確率兩個方面,RetinaNet采用了ResNet-50與ResNet-100進(jìn)行測試,但都未能達(dá)到最優(yōu)效果。CornerNet采用Hourglass-104網(wǎng)絡(luò),但測試效果并不理想,相比于RetinaNet,其AP值得到提升,但效率下降很多。二階段網(wǎng)絡(luò)Faster R-CNN和Cascade R-CNN與以上一階段網(wǎng)絡(luò)相比,準(zhǔn)確率更高,主要還是得益于候選框區(qū)域的選擇使得背景樣本的影響減弱??傮w來說,本文方法與以上模型相比,檢測效果相對更好。
針對衛(wèi)星影像中桿塔目標(biāo)的多尺度變化、背景干擾復(fù)雜等問題,本文采用改進(jìn)的CenterNet模型進(jìn)行桿塔目標(biāo)的自動識別。CenterNet模型骨干網(wǎng)絡(luò)的輸出端增加空間金字塔池化模塊。金字塔池化模塊融合DLA骨干網(wǎng)絡(luò)提取的高層信息,提升了多尺度信息的處理能力。利用DIoU loss對CenterNet模型訓(xùn)練過程進(jìn)行優(yōu)化。DIoU loss的計算考慮的是整個目標(biāo)整體,可以更好地適應(yīng)遙感影像中桿塔目標(biāo)的多尺度變化。實驗結(jié)果表明,改進(jìn)后的CenterNet模型與原模型相比,準(zhǔn)確率提升3%左右,其中大、中、小目標(biāo)的測試準(zhǔn)確率均有所提升。