趙浩光,王 平,董 超,4*,尚 洋
(1.國防科技大學(xué) 空天科學(xué)學(xué)院,湖南 長沙 410073;2.中國科學(xué)院 長春光學(xué)精密機(jī)械與物理研究所,航空光學(xué)成像與測量重點實驗室,吉林 長春 130033;3.中國航空工業(yè)集團(tuán)公司沈陽飛機(jī)設(shè)計研究所,遼寧 沈陽 110035;4.中國科學(xué)院大學(xué),北京 10049;5.圖像測量與視覺導(dǎo)航湖南省重點實驗室,湖南 長沙 410073)
遙感圖像海面艦船目標(biāo)檢測技術(shù)無論是在民用還是軍事方面都具有十分重要的意義。在民用方面,用于監(jiān)控漁業(yè)管理,海運交通,輔助遇難船只海洋救援等。在軍事方面,用來監(jiān)督敵方重點港口海域部署與動態(tài),評估戰(zhàn)時海上打擊效果等。與其他遙感數(shù)據(jù)源比較,光學(xué)遙感圖像內(nèi)容豐富,直觀易于理解,分辨率高,給艦船目標(biāo)的精確識別帶來優(yōu)勢。然而,光學(xué)遙感圖像的成像特性也給艦船檢測帶來一定的困難點。檢測易受云霧,海雜波,海島等復(fù)雜背景的干擾,造成虛警和漏檢;艦船目標(biāo)在亮度,顏色,紋理等方面存在差異,不利于提取穩(wěn)定的目標(biāo)特征,影響鑒別過程;遙感圖像采用俯視角度成像,導(dǎo)致艦船頭朝向不固定;遙感成像距離遠(yuǎn),相比于自然圖像中的目標(biāo),艦船目標(biāo)尺寸小。所以,檢測遙感圖像中的目標(biāo)需要額外考慮尺度和方向變化問題。接下來調(diào)研了現(xiàn)存的艦船檢測方法。首先,基于閾值分割的方法[1]計算簡單,適用于檢測平靜海面背景中的目標(biāo)。但當(dāng)存在云霧干擾時,由于云霧像素值通常高于海面背景,所以容易被判定為目標(biāo)像素,產(chǎn)生大量虛警?;诨瑒哟翱诘呐灤繕?biāo)檢測方法[2]首先生成不同尺度和不同長寬比的窗口,然后使用窗口在圖像中按順序滑動,提取每一個圖像子窗口的特征,使用訓(xùn)練好的分類器判斷該子窗口是否包含目標(biāo)。該類方法是目標(biāo)檢測中比較經(jīng)典的傳統(tǒng)算法。但該方法存在以下兩個問題:由于目標(biāo)尺寸和方向變化,無法選取合適的窗口大??;由于遙感圖像中海面背景占大部分區(qū)域,只有極少數(shù)窗口包含人造艦船,這將導(dǎo)致檢測效率低??紤]到以上問題,很多學(xué)者將視覺顯著性模型[3-4]引入到艦船目標(biāo)檢測中。Xu 等[5]使用融合顯著性算法提取疑似艦船區(qū)域,Dong 等[6]利用區(qū)域協(xié)方差的單一特征值構(gòu)建顯著圖來獲取疑似艦船區(qū)域。該類方法采用由粗到細(xì)的艦船檢測機(jī)制,首先使用視覺顯著性算法生成顯著圖,然后使用閾值分割提取目標(biāo)疑似區(qū)域,最后引入目標(biāo)確認(rèn)算法剔除虛警。最后一種檢測算法是基于卷積神經(jīng)網(wǎng)絡(luò)的[7-9]。該類方法主要分為one-stage算法和two-stage算法。在檢測遙感目標(biāo)時,取得了很好的效果。但是該類方法需要大量的訓(xùn)練數(shù)據(jù)。此外存在模型參數(shù)量大,算法設(shè)計復(fù)雜,可解釋性差等問題。
針對以上分析,本文提出了一種適用于復(fù)雜背景的海面艦船目標(biāo)檢測方法。該算法采用由粗到細(xì)的檢測機(jī)制。首先為了克服目標(biāo)尺度多變問題,利用頻譜殘差顯著性模型[10]生成多尺度顯著圖,然后使用基尼指數(shù)自適應(yīng)選擇最優(yōu)顯著圖。考慮到閾值分割算法帶來的漏檢測問題,提出一種新的方案來分離目標(biāo)和背景像素點。利用圖像膨脹原理獲取顯著圖的局部極大值點,然后使用 k-means 算法[11]判斷極大值點屬于目標(biāo)像素點還是背景像素點。接著對目標(biāo)點鄰近區(qū)域進(jìn)行精細(xì)分割。最后引入基于徑向梯度變換的旋轉(zhuǎn)不變特征[12]來進(jìn)一步剔除虛警。實驗結(jié)果表明,該算法能夠成功檢測出不同尺寸和方向的艦船目標(biāo),有效克服復(fù)雜背景的干擾。本文算法檢測正確率 93%,虛警率 4%,優(yōu)于其他艦船檢測方法。算法流程如圖 1 所示。
圖1 本文算法總體流程Fig.1 Scheme of proposed detection algorithm
Hou[10]認(rèn)為自然圖像由兩部分組成:顯著信息和冗余信息。對于包含艦船目標(biāo)的遙感圖像,目標(biāo)對應(yīng)顯著信息,而海面背景對應(yīng)冗余信息。故可以使用頻譜殘差(SR,Spectral Residual)模型生成視覺顯著圖,提取感興趣區(qū)域,計算公式如下:
A(f)=R(F[I(x)]),
(1)
P(f)=S(F[I(x)]),
(2)
L(f)=log(A(f)),
(3)
R(f)=L(f)-hn(f)×L(f),
(4)
S(x)=g(x)×F-1[exp(R(f)+P(f))]2,
(5)
其中:I(x)是輸入圖像,F(xiàn)和F-1分別表示傅立葉變換和逆變換,A(f),P(f),L(f)分別表示傅立葉幅度譜、相位譜及對數(shù)譜,hn(f)表示平滑濾波器,R(f)代表殘差譜,使用R(f)和P(f)進(jìn)行傅立葉逆變換來獲得最終顯著圖S(x)。假設(shè)原始圖像尺寸為w×h,SR模型將其調(diào)整到固定的尺寸64×(h×64/w),然后對改變尺寸后的圖像I(x)進(jìn)行頻譜殘差變換,最后將顯著圖調(diào)整回原圖像的尺寸。對包含不同尺寸的遙感目標(biāo)圖像進(jìn)行測試,實驗結(jié)果如圖2所示。
圖2 尺度固定下的顯著圖Fig.2 Saliency map with fixed scale
圖2包含具有不同尺寸目標(biāo)的兩幅圖像,SR算法得到的顯著圖適于提取尺寸較大的艦船目標(biāo)(見圖2第2行)。對于第1幅遙感圖像,得到的顯著圖邊緣模糊,只突出小部分目標(biāo),無法分清圖像中的目標(biāo)個數(shù),所以SR算法對艦船目標(biāo)的大小非常敏感。接下來討論一下如何改進(jìn)該算法來適應(yīng)目標(biāo)尺寸的變化。
為了檢測不同尺寸的艦船目標(biāo),將顯著性算法擴(kuò)展到多尺度。得益于SR算法的設(shè)計,很容易擴(kuò)展到多尺度,只需改變算法輸入圖像的尺寸。對于大小為ω×h的遙感圖像,設(shè)定尺度參數(shù)為sc={0.7,0.4,0.2},按照該倍率依次調(diào)整圖像尺寸得到對應(yīng)的多尺度顯著圖S={S1,S2,S3},結(jié)果如圖3所示??梢钥闯觯瑢τ诘?幅圖像,顯著圖S1是最優(yōu)的,它能夠成功區(qū)分艦船個數(shù),目標(biāo)邊緣清晰。對于第2幅圖像,顯著圖S3是最優(yōu)的,它能夠均勻突出目標(biāo)整體,在抑制背景方面性能最佳。很多學(xué)者采用不同的融合機(jī)制將多尺度顯著圖融合成單幅顯著圖。這里探索了另外一種解決方案,即根據(jù)適合的判斷準(zhǔn)則挑選最優(yōu)尺度的顯著圖。
圖3 不同尺度下的顯著圖Fig.3 Saliency map with different scales
為了自適應(yīng)選擇最優(yōu)尺度,本文引入了基尼(Gini)指數(shù),其定義如式(6)所示:
(6)
基尼指數(shù)反映的是數(shù)據(jù)集中隨機(jī)選取兩個樣本他們不屬于同一類別的概率。數(shù)據(jù)集越純,基尼指數(shù)越小。這里可以將顯著圖看作數(shù)據(jù)集,k表示灰度級,Y=255。pk表示取值為k的像素點占總像素數(shù)的比例。由基尼指數(shù)的定義可知,當(dāng)顯著圖中只存在較高的目標(biāo)像素和較低的背景像素時,基尼指數(shù)最小。而存在由復(fù)雜背景產(chǎn)生的中間灰度級時,基尼指數(shù)變大。所以使基尼指數(shù)最小的顯著圖即為最佳尺度顯著圖:
(7)
其中c*是最佳尺度顯著圖對應(yīng)的索引值。對于圖3中第1幅圖像,Gini(S1)=0.74
獲取顯著圖后,很多學(xué)者采用Otsu算法[13]對顯著圖進(jìn)行閾值分割。給定一副顯著圖,大于Otsu閾值設(shè)為目標(biāo),小于該閾值判定為背景。但是使用該方法有以下兩個缺點:
1.由于缺少空間結(jié)構(gòu)信息,該方法易在目標(biāo)內(nèi)部產(chǎn)生孔洞導(dǎo)致無法提取完整目標(biāo)。
2.當(dāng)圖像中存在多個目標(biāo)時,由于 Otsu 算法獲取的閾值過高,因而產(chǎn)生漏檢測。
考慮到以上缺點,本文使用新的方案來分離目標(biāo)和背景。首先利用圖像膨脹獲取顯著圖的局部極大值點,然后使用k-means 算法判斷極大值點屬于目標(biāo)像素點還是背景像素點。最后對碎片使用閾值進(jìn)行精細(xì)分割。
顯著圖是一幅灰度圖像。對灰度圖像進(jìn)行腐蝕定義如式(8):
(8)
其中:f表示灰度圖,b是結(jié)構(gòu)元素,其大小為Nse×Nse。⊕表示腐蝕操作。和二值圖像不同,灰度圖像的膨脹操作由“或”變?yōu)榱恕白畲笾怠辈僮?。圖像局部極大值計算示意圖如圖4所示,接下來進(jìn)行詳細(xì)說明。
圖4 局部極大值點計算過程Fig.4 Process of local maximum calculation
對于圖4(a)中像素值滿足高斯分布的灰度圖,左側(cè)是它的灰度值矩陣。極值點出現(xiàn)在圖像中心。對其使用大小為 的結(jié)構(gòu)元素進(jìn)行膨脹,得到膨脹后的灰度圖??梢钥闯鰳O值點的像素值在膨脹后保持不變。利用該性質(zhì)就可以求出一副灰度圖像的局部極大值點。
結(jié)構(gòu)元素尺寸的選取和艦船目標(biāo)大小成正比,這里設(shè)為Nse=5×c*。以圖3第二幅顯著圖S2為例,Nse=15,對其進(jìn)行三維顯示,局部極大值點提取結(jié)果如圖5所示。其中“*”表示局部極值點在三維空間中的位置。
圖5 局部極大值點提取結(jié)果Fig.5 Local maximum extraction results
從圖5中可以看出,局部極大值點可能屬于目標(biāo),也可能屬于背景。接下來使用k-means算法對局部極大值點進(jìn)行聚類,選取極值點的顯著值作為特征,k=2。首先算法隨機(jī)選取兩個點作為聚類中心,然后計算各個極值點到兩個聚類中心的距離,把極值點歸到離它最近的聚類中心所在的類。然后重新計算新的聚類中心,再重復(fù)之前的步驟,直到兩次聚類中心不再變化。聚類中心顯著值大的類別對應(yīng)目標(biāo)所屬類別,對圖3第1行所示的最優(yōu)顯著圖S1,使用Otsu閾值分割和本文提出的分割算法獲得的實驗結(jié)果如下。
圖6 候選區(qū)域提取方法對比Fig.6 Comparison of candidate region extraction
圖6黑色“*”代表極值點位置,紅色“o”代表候選區(qū)域的中心位置(彩圖見期刊電子版)。圖6(a)~圖6(b)是經(jīng)過Otsu閾值分割后的結(jié)果,可以看出鄰近目標(biāo)出現(xiàn)團(tuán)聚現(xiàn)象,無法獲取準(zhǔn)確目標(biāo)個數(shù)和中心位置,出現(xiàn)漏檢測。圖 6(c)是極值點提取結(jié)果,每一個艦船目標(biāo)區(qū)域都成功檢測到局部極值點。圖6(d)是經(jīng)過k-means聚類后的檢測結(jié)果,準(zhǔn)確地分離了目標(biāo)和背景的局部極值點,引入的少部分虛警目標(biāo)可以通過后續(xù)精細(xì)分割和特征提取階段剔除。
經(jīng)過前述步驟,獲得了目標(biāo)所在的大致中心點區(qū)域,接下來介紹一下如何獲取目標(biāo)切片。首先以極值點為中心,選取窗口大小為Nrp×Nrp的區(qū)域作為目標(biāo)整體可能存在的區(qū)域。其中Nrp=8×c*。對于每一個候選區(qū)域,提取該窗口內(nèi)像素點的顯著值,使用Otsu閾值分割獲得該窗口內(nèi)的二值圖像。典型的候選區(qū)域和分割結(jié)果如圖7所示。
圖7 候選區(qū)域分割結(jié)果Fig.7 Candidate region segmentation results
接下來使用一定的判斷準(zhǔn)則進(jìn)一步剔除較明顯的虛警。只有二值圖像提取的連通區(qū)域滿足以下條件,才認(rèn)為它是艦船目標(biāo)區(qū)域:
(1)該連通區(qū)域面積是最大的,并且要大于候選區(qū)域面積的20%,小于候選區(qū)域面積的70%。
(2)該連通區(qū)域面積和其最小凸多邊形面積比值大于0.9。
首先,每一個二值圖像只保留面積最大的目標(biāo)區(qū)域。該步驟可以剔除噪聲點和鄰近艦船區(qū)域的干擾(即每個候選窗口只負(fù)責(zé)檢測對應(yīng)的艦船目標(biāo),和它相近的目標(biāo)由其他窗口負(fù)責(zé)檢測)。其次,連通區(qū)域面積和其最小凸多邊形面積比值反映出區(qū)域的堅固性程度。目標(biāo)區(qū)域近似呈橢圓型分布,非常堅固。虛警區(qū)域邊界特征復(fù)雜,沒有固定形狀。存在容易突起或者凹陷區(qū)域,不夠堅固。所以使用該比值來區(qū)分正負(fù)樣本。圖7中正樣本該比值為 0.99,負(fù)樣本該比值為0.87。這里設(shè)置經(jīng)驗閾值為0.9。
經(jīng)過上述步驟,保留滿足條件的連通區(qū)域作為真實目標(biāo)。然后提取該區(qū)域在原圖像對應(yīng)位置的最小外接矩形作為目標(biāo)切片,輸入到后續(xù)的特征提取和鑒別步驟。
由于候選區(qū)域艦船朝向不固定,所以在目標(biāo)鑒別階段引入基于徑向梯度變換的特征描述子[12]。首先介紹徑向梯度變換,接著介紹如何利用該變換提取旋轉(zhuǎn)不變特征向量。
圖8 徑向梯度變換解釋Fig.8 Illustration of radial gradient transform
對于圖8中的坐標(biāo)系,原點c表示候選區(qū)域中心點,p表示候選區(qū)域任意像素點,使用g表示像素點p的梯度,將其投影到徑向方向r和切向方向t,那么g可以表示為(gTr)r+(gTt)t,當(dāng)像素點p繞著原點c旋轉(zhuǎn) 時,g的方向?qū)?yīng)發(fā)生旋轉(zhuǎn)。使用Rθ表示旋轉(zhuǎn)矩陣,旋轉(zhuǎn)后的向量可以表示為:
p′=Rθp,r′=Rθr,g′=Rθg.
(9)
旋轉(zhuǎn)后的梯度g′可以使用(g′Tr′)r′+(g′Tt′)t′表示,那么可以推出:
(g′Tr′,g′Tr′)=(Rθg)TRθr,(RθgTRθt)=
(10)
從公式(10)可以得出一個結(jié)論,即旋轉(zhuǎn)前后的梯度在徑向方向和切向方向的投影值不變,也就是g和r,t之間的夾角不變:
(11)
使用θrgt重新表示像素點梯度的角度,它是旋轉(zhuǎn)不變的,梯度的幅值可以表示為:
(12)
通過引入徑向梯度變換,可以得到像素點旋轉(zhuǎn)前后梯度保持不變。Hog特征[14]首先將目標(biāo)切片分成矩形塊狀區(qū)域,然后統(tǒng)計梯度直方圖。當(dāng)切片旋轉(zhuǎn)后,不止像素點的梯度角度發(fā)生變換,像素點所屬的塊狀區(qū)域也會變化。經(jīng)過前述討論,引入徑向梯度變換保證了梯度角度不變。為了保證旋轉(zhuǎn)前后像素點所屬區(qū)域不變,將劃分方式由矩形塊狀變成圓環(huán)形區(qū)域。
具體劃分步驟如下:記L=Max(h,w),其中h,w分別表示碎片的高和寬。劃分方式如圖9所示。
圖9 碎片劃分方式Fig.9 Illustration of dividing patch
將360°角量化成8個區(qū)間,然后分別統(tǒng)計圖9中相同顏色區(qū)域?qū)?yīng)的徑向梯度統(tǒng)計直方圖,然后按順序組成特征向量fn,其中n=72。接著使用邏輯回歸進(jìn)行二分類,判斷對應(yīng)的候選區(qū)域是真實目標(biāo)還是虛警,進(jìn)行精細(xì)判別。
為了驗證本文算法性能,收集了復(fù)雜背景下光學(xué)遙感圖像共500張,數(shù)據(jù)來源于Google Earth,共包含1 027個艦船目標(biāo)。對于每一張圖片,采用二值圖像和目標(biāo)矩形框兩種方式進(jìn)行手工標(biāo)注。實驗硬件環(huán)境為Inter core i5_2320處理器,主頻3.0 GHz,內(nèi)存3.0 GHz,Win10 專業(yè)版,實驗所用代碼均在MATLAB R2016b 軟件下運行。接下來的對比實驗驗證了本文提出算法的有效性。
將本文提出的自適應(yīng)選擇最優(yōu)尺度顯著性模型(Gini-MSR)與 SR 模型[10]、DRFI 模型[15]、COV模型[16]進(jìn)行了主客觀比較。其中 DRFI 模型通過訓(xùn) 練隨機(jī)森林回歸器,將每個區(qū)域的特征向量直接映射到顯著性分?jǐn)?shù)。即采用監(jiān)督學(xué)習(xí)方式學(xué)習(xí)每個特征對最終顯著性的貢獻(xiàn)。COV模型利用局部信息定義顯著性,將每個矩形區(qū)域與周圍鄰近區(qū)域協(xié)方差矩陣的差異作為度量顯著性的標(biāo)準(zhǔn)。在顯著性模型對比試驗中,主觀上使用視覺顯著圖進(jìn)行評估,客觀上采用 ROC(Receiver Operating Characteristic)曲線來定量評價各算法性能。圖10從左到右依次為:測試圖像、Gini-MSR模型、SR模型、DRFI模型及COV模型對應(yīng)的顯著圖。
圖10 顯著圖主觀比較Fig.10 Subjective comparison of saliency maps
圖10中第1、2行圖像海面背景相對簡單,包含多個艦船目標(biāo)且位置鄰近。第3,4,5行圖像存在大面積島嶼,海岸等。第6,7,8行圖像存在不同程度云霧覆蓋,目標(biāo)呈現(xiàn)黑白極性等。從視覺效果看,本文 Gini-MSR 模型相比于其他顯著性模型有以下優(yōu)勢:
(1)本文顯著性模型能夠較準(zhǔn)確地檢測出鄰近艦船目標(biāo),不會出現(xiàn)團(tuán)聚現(xiàn)象。
(2)當(dāng)存在島嶼時,本文模型在引入部分虛警的前提下依然成功凸顯艦船目標(biāo)。而其他顯著性模型更凸顯島嶼,導(dǎo)致漏檢測。
(3)算法對大面積云霧覆蓋和鄰近目標(biāo)云層抑制效果較好。
此外,SR 模型使用固定尺度檢測艦船目標(biāo),無法適應(yīng)目標(biāo)尺寸的變化。DRFI模型是基于自然圖像數(shù)據(jù)集進(jìn)行特征提取設(shè)計和分類器訓(xùn)練得到的,所以在遙感數(shù)據(jù)上進(jìn)行實驗時,效果不佳。COV模型檢測結(jié)果較準(zhǔn)確,不過模型計算量大,耗時。
接著使用ROC曲線定量評價顯著性模型在光學(xué)遙感圖像感興趣區(qū)域提取方面的性能。曲線橫軸代表假正例率(False Positive Rate, FPR),縱軸代表真正例率(True Positive Rate, TPR)。對于每一個閾值(0~255),將顯著圖和人工標(biāo)注的二值圖像(目標(biāo)像素值為 1,背景為 0)進(jìn)行比較,計算該閾值對應(yīng)的TPR和FPR,然后繪制ROC曲線。模型獲得的曲線越靠近左上角,檢測性能越高。圖11是上述顯著性模型對應(yīng)的ROC曲線圖。可以看出本文模型對應(yīng)的綠色曲線最靠近左上角,從定量上分析本文算法也由于其他顯著性算法(彩圖見期刊電子版)。
圖11 ROC曲線Fig.11 ROC curves
獲得顯著圖后,需要對顯著圖進(jìn)行分割獲得候選區(qū)域。圖12是本文分割算法和Otsu閾值分割比較的部分結(jié)果。對于第1幅圖像,Otsu分割結(jié)果定位不準(zhǔn),虛警高。對于第2幅圖像,Otsu算法將鄰近船只錯分為同一目標(biāo),無法區(qū)分艦船個數(shù)。對于第3幅圖像,Otsu算法產(chǎn)生漏檢測。而本文提出的分割算法能夠在復(fù)雜背景下有效檢測艦船目標(biāo),很少出現(xiàn)漏檢測。圖10從主觀上說明了本文分割算法的有效性。
圖12 分割結(jié)果對比Fig.12 Comparison of segmentation results
通過候選區(qū)域提取算法生成疑似艦船碎片后,從Google Earth 提取對應(yīng)位置的高分辨率碎片,這些碎片含有更多的目標(biāo)細(xì)節(jié)信息,方便進(jìn)行后續(xù)的徑向梯度特征提取和邏輯回歸分類。使用前300張圖像產(chǎn)生的候選區(qū)域用來訓(xùn)練,后200張圖像進(jìn)行測試。使用檢測正確率(Pd)和虛警率(Pf)對艦船檢測方法進(jìn)行評價。
(13)
(14)
其中:Nship代表圖像集中包含艦船目標(biāo)總數(shù),Ndetection代表正確檢測目標(biāo)的個數(shù), 為虛警數(shù)。
本文算法的實驗結(jié)果如表1所示。
表1 不同檢測方法實驗結(jié)果
Tab.1 Experimental results of different detection methods
方法PdPf文獻(xiàn)[1]89%10%文獻(xiàn)[6]92%15%候選區(qū)域(Otsu)87%20%候選區(qū)域(本文)96%56%本文整體算法93%4%
從表1看出,本文提出的候選區(qū)域算法在量化指標(biāo)上高于傳統(tǒng)的閾值分割算法,檢測正確率達(dá)到96%。整體算法包括候選區(qū)域生成和目標(biāo)精細(xì)鑒別兩個步驟,取得了93%的檢測正確率和4%的虛警率,優(yōu)于其他艦船檢測算法[1,6]。
提出了一種適用于復(fù)雜背景的艦船檢測方法,采取由粗到細(xì)的檢測機(jī)制。首先使用 SR 算法生成多尺度顯著圖,然后使用基尼指數(shù)自適應(yīng)選擇最優(yōu)顯著圖。接著依次進(jìn)行局部極大值檢測,k-means聚類,局部閾值分割等步驟提取疑似艦船區(qū)域。然后使用基于徑向梯度的旋轉(zhuǎn)不變特征和邏輯回歸對候選區(qū)域進(jìn)行二分類,進(jìn)一步剔除虛警,確認(rèn)真實目標(biāo)。本文算法取得了93%的檢測正確率和4%的虛警率。此外,算法能夠適應(yīng)目標(biāo)尺寸和旋轉(zhuǎn)的變化。