郭 倩,王海鵬,徐 豐
(復(fù)旦大學(xué) 電磁波信息科學(xué)教育部重點實驗室,上海 200433)
合成孔徑雷達(SAR)是利用微波進行成像的主動傳感器,是一種能全天時、全天候工作的二維高分辨率成像雷達,具有穿透云和霧的能力,低頻段的SAR甚至能穿透植被和地表[1]。隨著SAR和圖像解譯技術(shù)的飛速發(fā)展,SAR極化方式越來越多,分辨率也不斷提高[2-3]。飛機是一類重要的檢測目標,在高分辨率遙感圖像中對其進行精確檢測具有重要意義。
傳統(tǒng)的SAR圖像目標檢測方法主要分為2類:1)傳統(tǒng)恒虛警率(CFAR)檢測算法。CA-CFAR(cell-average CFAR)[4]、SO-CFAR(smallest of CFAR)、GO-CFAR(greatest of CFAR)[5]、OS-CFAR(order-statistic CFAR)[6]、VI-CFAR(variability index CFAR)[7]等都是CFAR的衍生算法;2)多特征融合檢測算法。通過手動方式設(shè)計特征,如幾何結(jié)構(gòu)[8]、亮度分布等信息對待檢測目標進行提取。在對SAR圖像中飛機目標進行檢測時,因陸地雜波分布無規(guī)律,大量高亮散射點的存在對目標檢測造成很大干擾,故基于雜波建模與亮度信息提取目標的CFAR檢測算法并不適用。由于SAR圖像復(fù)雜的成像機制與散射條件的多變性,飛機目標成像呈特征多樣性,手動設(shè)計的特征難以適用于多種情況。
隨著卷積神經(jīng)網(wǎng)絡(luò)的興起,深度學(xué)習(xí)網(wǎng)絡(luò)在目標檢測領(lǐng)域表現(xiàn)優(yōu)越。針對高分辨率SAR圖像的陸地目標檢測技術(shù),本文提出了一種邊緣檢測與卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合的飛機目標檢測算法,實現(xiàn)了對星載SAR圖像中飛機目標端到端的檢測。
現(xiàn)有的機場檢測方法主要分為2類:基于提取直線特征檢測機場和基于圖像分割檢測機場?;谔崛≈本€特征檢測機場主要是通過檢測跑道直線特征,如ZHANG等[9]通過機場沿跑道呈雙峰分布來檢測機場。基于圖像分割檢測機場時,常用的特征主要包括長寬比、形狀復(fù)雜度、灰度共生矩陣與Hu不變矩[10]。對于大場景SAR圖像中的機場目標,因目標所占面積較小,不易提取直線特征,故檢測結(jié)果較差。對于大場景下的SAR圖像,機場區(qū)域常呈現(xiàn)為較暗區(qū)域,基于圖像分割檢測機場的算法較穩(wěn)定,魯棒性好。對于大場景下SAR圖像中的機場檢測,本文提出了機場目標二次檢測算法。
本文采用“高分三號”衛(wèi)星SAR數(shù)據(jù),原始圖像共8張,圖像大小約為7 000像素×7 500像素,分辨率為3 m×3 m。圖1為其中1幅圖像。
圖1 “高分三號”SAR圖像示意Fig.1 GF-3 SAR image
因機場在SAR圖像中表現(xiàn)為大面積較暗區(qū)域,基于視覺注意力機制[11],對大場景下SAR圖像中機場目標進行檢測應(yīng)從檢測暗區(qū)域入手。為減小陸地區(qū)域雜波對目標檢測的影響,首先通過圖像均值濾波對圖像雜波與噪聲進行抑制,然后通過OTSU算法[12]確定全局閾值,對圖像進行二值化處理。對二值化圖像進行先膨脹后腐蝕操作,以減小背景雜波影響。對于面積排名前十的連通域,進行后續(xù)鑒別步驟。大場景SAR圖像中面積較大的連通域主要為圖2所示的4種情況:圖2(a)為機場連通域,受機場中建筑物影響,該連通域中孔洞面積較大,但形狀較為規(guī)則,通常呈方形或三角形;圖2(b)為大面積海洋區(qū)域,其連通域中孔洞較少,面積較大且形狀不固定,存在于圖像邊角;圖2(c)為SAR圖像中錯綜的道路與高亮建筑組成的連通區(qū)域,該連通域中也有較多孔洞,由于道路與建筑分布的多樣性,其形狀呈不規(guī)則分布;圖2(d)為大場景SAR圖像中的大型高亮建筑,其連通域中孔洞較少,但面積遠小于其他連通域。
圖2 連通域主要存在情況Fig.2 Main connected domains
給出以下4種鑒別算子,對連通域進行鑒別,提取機場區(qū)域。
1) 孔洞鑒別算子
(1)
式中:Sfilled為連通域孔洞填充后面積;Scon為連通域原面積。
2) 形狀鑒別算子
(2)
式中:Sbbox為連通域最小外接矩形框面積。
3) 面積鑒別算子
(3)
式中:Smax _con為該幅圖像中最大連通域面積。
4) 復(fù)合鑒別算子
k4=k2×k3
(4)
機場區(qū)域粗檢測算法如圖3所示。
3組機場目標粗檢測結(jié)果如圖4所示。圖中:上半部分為初始SAR圖像,下半部分為與其對應(yīng)的機場目標粗檢測結(jié)果。
圖3 機場區(qū)域粗檢測算法流程Fig.3 Airport area rough detection algorithm
圖4 機場目標粗檢測示意圖Fig.4 Rough test results of airport targets
通過上述步驟,實現(xiàn)了對大場景SAR圖像中機場區(qū)域的粗檢測。機場區(qū)域精確分割算法同樣適用于小場景SAR圖像中的機場目標檢測。
1.3.1 圖像預(yù)處理
由于SAR圖像特殊的成像機制和復(fù)雜的散射條件,其原始數(shù)據(jù)易受橫干涉條紋的影響。為消除這種影響,先對圖像進行濾波處理,在盡量保留圖像細節(jié)特征的前提下對目標圖像的橫干涉條紋進行抑制。目前常用的濾波方法主要包括均值濾波與高斯濾波[13]。高斯平滑濾波器對于抑制服從正態(tài)分布的噪聲非常有效。一維零均值高斯函數(shù)為
(5)
式中:ζ為高斯分布參數(shù),決定了高斯函數(shù)的寬度。
均值濾波對于圖像整體起平滑模糊作用,橫干涉條紋并沒有去除,機場細節(jié)信息反而有所損失;高斯濾波主要對正態(tài)分布的噪聲有較好的抑制作用,但對橫干涉條紋的處理效果并不理想。本文給出了“替代濾波”算法,即先檢測橫條紋,再用圖像中橫條紋附近圖像值替代橫條紋處圖像值。這種濾波方法不但可保留機場細節(jié)信息,而且對橫條紋有較好的抑制作用。采用卷積核為3×3的均值濾波器、標準差為1的高斯濾波器和替代濾波器在給定的SAR圖像上進行濾波,效果對比如圖5所示。
圖5 3種濾波方法結(jié)果比較Fig.5 Comparison of 3 filtering methods
1.3.2 機場精確分割
對圖像進行濾波預(yù)處理后,對圖像進行機場精確分割,分割算法如圖6所示。
圖6 機場精確分割算法Fig.6 Airport accurate segmentation algorithm
3組機場目標檢測結(jié)果如圖7所示。圖中:上半部分為初始SAR圖像,下半部分為與其對應(yīng)的機場目標精確分割結(jié)果圖。采用本文提出的機場粗檢測算法,可實現(xiàn)對大場景SAR圖像中機場目標的粗定位。同時,機場精確分割算法也適用于對粗定位后圖像,即小場景SAR圖像中機場目標的精確分割。
因SAR圖像具有特殊的成像機制,且成像結(jié)果隨散射條件與地形方位角的變化而變化,故SAR圖像中飛機目標成像結(jié)果具有多樣性。飛機在高分辨率SAR圖像中易呈現(xiàn)為不連續(xù)的散射點,且由于受背景強散射點,如滑行道、儲油庫等的影響,采用傳統(tǒng)CFAR方法對SAR圖像中飛機目標的整體檢測效果很差,檢測結(jié)果除存在漏檢外,還包含大量虛警。傳統(tǒng)目標檢測方法常通過手動方式設(shè)計特征,目標特征提取能力不足且魯棒性差。圖8為SAR圖像中飛機目標示意圖。
圖7 機場目標精確分割結(jié)果Fig.7 Airport target accurate segmentation results
圖8 SAR圖像中飛機目標Fig.8 Aircraft target in SAR image
隨著卷積神經(jīng)網(wǎng)絡(luò)的興起,深度學(xué)習(xí)網(wǎng)絡(luò)在目標檢測領(lǐng)域的優(yōu)勢也逐漸顯現(xiàn)。針對高分辨率SAR數(shù)據(jù)的陸地目標檢測技術(shù),本文提出了一種基于Canny算子[14]的邊緣檢測與神經(jīng)網(wǎng)絡(luò)相結(jié)合的飛機目標檢測算法,主要檢測思路如圖9所示。
圖9 檢測流程示意圖Fig.9 Detection process diagram of aircraft targets
為減小機場區(qū)域雜波對目標檢測的影響,首先,通過替代濾波對圖像雜波與噪聲進行抑制。其次,采用Canny算子對圖像邊緣進行提取。然后,對邊緣提取后的圖像進行膨脹與腐蝕操作,并對邊緣虛警進行剔除,實現(xiàn)目標粗分割。通過飛機占機場面積比算子確定可疑目標在高分辨率SAR圖像中的位置范圍,提取包含目標與虛警的邊界框。通過對邊界框的處理進行飛機部件的組合,確定飛機整體目標的可能位置。接下來,采用基于GoogLeNet[15]的神經(jīng)網(wǎng)絡(luò)對可疑目標進行識別。最后,利用改進后的非極大值抑制算法、長寬比鑒別算子與面積鑒別算子,提取得到飛機目標的感聽趣區(qū)域(ROI)。
2.2.1 目標粗定位
在SAR圖像中,飛機目標邊緣是其重要的屬性信息。鑒于實際SAR圖像中陸地區(qū)域存在許多背景雜波,圖像的邊緣往往是各種類型的邊緣和它們模糊化后結(jié)果的組合,且實際圖像信號存在噪聲。噪聲和邊緣都屬于高頻信號,很難用頻帶做取舍。通過圖像邊緣檢測可大幅減少數(shù)據(jù)量,剔除可被認為是不相關(guān)的信息,保留圖像重要的結(jié)構(gòu)屬性。因此,本文采用邊緣檢測對陸地可疑目標進行粗定位。
邊緣檢測的基本方法有很多,如Roberts Cross算子[16]、Prewitt算子[16]、Sobel算子[17]、Canny算子等。Robert算子定位比較精確,但因不包括平滑,故對于噪聲比較敏感。Prewitt算子和Sobel算子都是一階的微分算子,其對于混合多復(fù)雜噪聲的圖像處理效果不理想。Canny邊緣檢測算子在一階微分算子的基礎(chǔ)上,增加了非極大值抑制和雙閾值2項改進:利用非極大值抑制算法不僅可有效抑制多響應(yīng)邊緣,還可提高邊緣的定位精度;利用雙閾值可有效減小邊緣的漏檢率。因此,本文采用Canny算子對機場檢測后的SAR圖像進行邊緣提取,其主要步驟和原理如下。
1) 用高斯濾波器平滑圖像
(6)
令g(x,y)為平滑后的圖像,用h(x,y,σ)對圖像f(x,y)進行平滑,可表示為
g(x,y)=h(x,y,σ)*f(x,y)
(7)
式中:*代表卷積。
2) 用一階偏導(dǎo)的有限差分計算梯度的幅值和方向
利用一階有限差分近似式來計算x與y偏導(dǎo)數(shù)的2個陣列fx′(x,y)與fy′(x,y),即
fx′(x,y)≈Gx=
f(x+1,y+1)-f(x,y+1)]
(8)
fy′(x,y)≈Gy=
f(x+1,y+1)-f(x+1,y)]
(9)
幅值和方位角可用直角坐標到極坐標的坐標轉(zhuǎn)化公式來計算,即
(10)
(11)
式中:M[x,y]反映了圖像的邊緣強度;θ[x,y]反映了邊緣的方向。使M[x,y]取得局部最大值的方向角θ[x,y]反映了邊緣的方向。
3) 對梯度幅值進行非極大值抑制
僅得到全局的梯度并不足以確定邊緣,因此,為確定邊緣,必須保留局部梯度最大的點,抑制非極大值。在Canny算法中,非極大值抑制是進行邊緣檢測的重要步驟,通俗意義上是指尋找像素點(邊緣)局部最大值,將非極大值點所對應(yīng)的灰度值設(shè)置為0,從而剔除大部分非邊緣的點。
4) 用雙閾值算法檢測和連接邊緣
設(shè)置2個閾值t1和t2,兩者關(guān)系為t1=0.4t2。先將梯度值小于t1的像素的灰度值設(shè)為0,得到圖像1;再將梯度值小于t2的像素的灰度值設(shè)為0,得到圖像2。以圖像2為基礎(chǔ),以圖像1為補充,連接圖像的邊緣。
2.2.1.1 邊緣檢測結(jié)果
基于SAR圖像機場檢測結(jié)果,采用Canny算子進行邊緣提取,結(jié)果如圖10所示。
圖10 目標檢測結(jié)果Fig.10 Target detection results
圖中,機場可疑目標粗分割結(jié)果去除了機場邊緣信息,飛機目標更為清晰,但包含了大量陸地雜波,且飛機目標被分成許多小塊。
2.2.1.2 邊界框處理
目標粗分割使得飛機目標更為清晰,且去除了大量背景雜波的影響,飛機目標基本為一個連通域。由于SAR圖像特殊的成像機制和散射條件的多變性,機翼、機頭、機尾等一些飛機部件成像為獨立的高亮散射點。相對于其余虛警邊界框,該邊界框與機身相距很近,故通過最優(yōu)距離匹配算法可將飛機部件與機身進行合并。通過最優(yōu)距離匹配算法進行小邊界框合并后,邊界框處理結(jié)果如圖11所示。
2.2.2 二分類卷積神經(jīng)網(wǎng)絡(luò)
算法使用的數(shù)據(jù)集是TerraSAR-X衛(wèi)星數(shù)據(jù),原數(shù)據(jù)集中共包含10幅圖像,大小約為6 000像素×10 000像素,分辨率為1.5 m×1.5 m。對該數(shù)據(jù)中的飛機目標進行人工標注,并通過灰度調(diào)整、平移、旋轉(zhuǎn)等操作進行數(shù)據(jù)增強,同時從該TerraSAR-X數(shù)據(jù)中隨機切取背景圖像作為背景切片。該數(shù)據(jù)集共包含468張飛機目標切片與1 309張背景切片。按4∶1的比例將數(shù)據(jù)集分為訓(xùn)練集與測試集。部分訓(xùn)練集切片如圖12所示。
圖12 數(shù)據(jù)集示意圖Fig.12 Datasets of aircraft and background
從圖中可清楚看到,飛機目標切片中包含各種形態(tài)的飛機目標,背景切片則呈現(xiàn)了多種背景形式。
2.2.2.1 網(wǎng)絡(luò)結(jié)構(gòu)
鑒于GoogLeNet的優(yōu)越表現(xiàn),將其用于本數(shù)據(jù)集飛機目標二分類識別?;跀?shù)據(jù)樣本,對原網(wǎng)絡(luò)結(jié)構(gòu)做出如下修改:移除網(wǎng)絡(luò)最后的全連接層、Softmax層和分類輸出層,設(shè)置全連接層輸出為飛機目標和背景2類,接入Softmax層和分類輸出層。
2.2.2.2 目標識別結(jié)果
利用訓(xùn)練好的網(wǎng)絡(luò)對圖11(b)待識別邊界框中的目標進行識別,因不同圖像樣本中目標灰度差別較大,故采用多灰度識別,即將提取出來的可疑目標框以0.05步長對圖像灰度進行調(diào)整,共以5個灰度送入目標識別網(wǎng)絡(luò)。其識別結(jié)果如圖13所示。
圖13 飛機目標識別結(jié)果Fig.13 Aircraft target recognition results
通過基于Canny算子的邊緣檢測算法,可有效去除邊緣虛警,減小后續(xù)步驟計算量;通過最優(yōu)距離匹配算法,對大小邊界框進行匹配,可對因復(fù)雜散射機制而成像為獨立亮斑的飛機部件與機身進行組合,完善飛機目標,同時有效去除獨立虛警目標;通過基于GoogLeNet的飛機目標二分類卷積神經(jīng)網(wǎng)絡(luò)的識別,可對高分辨率SAR圖像中的可疑目標進行鑒別,有效剔除陸地區(qū)域較大虛警目標。對飛機目標檢測結(jié)果(見圖13)的分析表明:該方法對SAR圖像中飛機目標的檢測率達到100%,虛警率為7.7%。
本文針對大場景下SAR圖像中的機場檢測問題,給出了機場粗檢測算法與小場景中機場目標精確分割算法。針對機場中的飛機目標,提出了一種基于Canny算子的邊緣檢測與卷積神經(jīng)網(wǎng)絡(luò)結(jié)合的飛機目標檢測算法。在飛機目標檢測前,采用機場粗檢測算法與精確分割算法將圖像縮小至機場區(qū)域。為減小橫干涉條紋的影響,采用替代濾波算法對圖像雜波進行抑制。首先基于Canny算子對機場中的目標進行邊緣提取等處理,確定可疑目標在機場中的位置范圍。然后采用基于GoogLeNet的卷積神經(jīng)網(wǎng)絡(luò)對可疑目標進行識別。最后利用“高分三號”衛(wèi)星圖像對大場景下機場檢測算法進行驗證,利用TerraSAR-X衛(wèi)星數(shù)據(jù)對飛機目標檢測算法進行驗證。分析表明:該方法對SAR圖像中飛機目標的檢測率達到100%,虛警率為7.7%,具有較好的檢測效果。
本文針對星載SAR圖像中機場與飛機目標檢測進行了較為深入的探究,取得了較好的研究成果,也提供了一些新的思路。但目標檢測結(jié)果依賴于待識別目標框的提取結(jié)果,若候選目標框提取不夠精確,仍會有部分虛警產(chǎn)生。為提高算法精度和識別效率,后續(xù)可考慮將飛機目標物理散射機制與神經(jīng)網(wǎng)絡(luò)相結(jié)合,以期提高算法魯棒性。