趙穎祺,陳玉虎,張 晰,張臨杰**
(1.中國海洋大學(xué)數(shù)學(xué)科學(xué)學(xué)院,山東 青島 266100;2.青島海洋科學(xué)與技術(shù)試點(diǎn)國家實(shí)驗(yàn)室,山東 青島 266237;3.自然資源部第一海洋研究所,山東 青島 266061)
艦船是海洋專屬經(jīng)濟(jì)區(qū)的主要活動(dòng)對象,發(fā)展海面艦船目標(biāo)檢測技術(shù)具有重要意義。合成孔徑雷達(dá)(Synthetic Aperture Radar,SAR)具有全天時(shí)、全天候等特點(diǎn),在海上艦船監(jiān)測中受到廣泛關(guān)注。
恒虛警率(Constant False Alarm Rate,CFAR)算法是基于SAR圖像的艦船目標(biāo)檢測中最常用的一類算法[1-3]。此類算法假設(shè)海面背景服從某種分布,利用背景窗口內(nèi)的信息計(jì)算分布模型參數(shù),并基于此判斷目標(biāo)窗口是否為艦船。算法檢測效果依賴于所選背景模型,當(dāng)海面背景服從假設(shè)模型時(shí),檢測效果較好,反之則不理想。近年來,隨著SAR技術(shù)的不斷進(jìn)步,SAR圖像分辨率大大提高。在高分辨率SAR圖像中,海面背景復(fù)雜,難以服從某種特定的數(shù)據(jù)分布模型,因此CFAR算法檢測效果受到影響。尋找一種無需預(yù)先假定背景分布模型的艦船檢測算法迫在眉睫。
箱線圖[4-5]是統(tǒng)計(jì)學(xué)中常用于顯示數(shù)據(jù)分布情況的方法,對數(shù)據(jù)沒有任何限制,常用于異常值的檢測、數(shù)據(jù)的偏態(tài)和尾重的判斷以及多數(shù)據(jù)分布間的比較等。在穩(wěn)定性研究、品質(zhì)管理和評估等領(lǐng)域均得到廣泛應(yīng)用。例如,董雅雯等[6]利用箱線圖對生態(tài)景觀穩(wěn)定性進(jìn)行了研究;楊帆等[7]將箱線圖應(yīng)用于品質(zhì)管理;郭德清和廖祥文[8]利用箱線圖原理識(shí)別微博突發(fā)詞,發(fā)現(xiàn)微博熱點(diǎn)話題;王新峰等[9]對巖層裂隙分布密度和分布韻律性進(jìn)行了分析;朱兵[10]用其評估跨學(xué)科期刊在不同學(xué)科領(lǐng)域中的影響力,以上研究均取得了較好的效果。
箱線圖在海上艦船目標(biāo)檢測中的應(yīng)用研究目前未見公開文獻(xiàn)?;诖?,本文將其應(yīng)用于海面艦船目標(biāo)檢測,提出一種新的艦船檢測算法。該算法實(shí)現(xiàn)簡單,且不對海面背景建模,對復(fù)雜的海面背景具有較強(qiáng)的適應(yīng)性。
箱線圖(Box-plot)[4-5],又稱箱須圖,是由美國著名統(tǒng)計(jì)學(xué)家John Tukey提出的一種用于顯示數(shù)據(jù)分布情況的統(tǒng)計(jì)方法,利用最大值、上四分位數(shù)、中位數(shù)、下四分位數(shù)和最小值這5個(gè)統(tǒng)計(jì)量來描述數(shù)據(jù)的分布和性質(zhì),因其形狀如箱子而得名,結(jié)構(gòu)如圖1所示。
圖1 箱線圖結(jié)構(gòu)圖Fig.1 Structure diagram of box-plot
在異常值檢測應(yīng)用中,通過設(shè)置上/下異常值截?cái)帱c(diǎn)(εu/εl)進(jìn)行檢測。
εu=Q3+k×(Q3-Q1),
(1)
εl=Q1-k×(Q3-Q1)。
(2)
當(dāng)數(shù)據(jù)大于εu或小于εl時(shí),被認(rèn)為是異常值。式中,Q1、Q3分別對應(yīng)圖1中下四分位數(shù)和上四分位數(shù)。(Q3-Q1)被稱為四分位距(Inter quartile range,IQR),常用來表示數(shù)據(jù)分散情況。k為異常點(diǎn)因子,通常取值1.5或3,k取值越大,異常值截?cái)帱c(diǎn)離箱體越遠(yuǎn),檢測到的點(diǎn)越偏離數(shù)據(jù)主要分布區(qū)域。當(dāng)k取1.5時(shí),稱異常值截?cái)帱c(diǎn)為內(nèi)限,當(dāng)k取3時(shí),稱異常值截?cái)帱c(diǎn)為外限,在內(nèi)限和外限之間的異常值為溫和異常值,在外限以外的異常值為極端異常值[4,11-12]。
CFAR算法是基于SAR圖像艦船目標(biāo)檢測領(lǐng)域中應(yīng)用最廣泛的一類自適應(yīng)門限檢測算法[13],需要預(yù)先假設(shè)海面背景服從某種分布p(x),算法檢測原理如圖2所示。其中橫軸為像素值,縱軸為概率密度函數(shù)值。圖中虛線代表海面背景分布的概率密度函數(shù),實(shí)線代表艦船目標(biāo)分布的概率密度函數(shù),T為檢測閾值,用于區(qū)分背景和目標(biāo)。陰影區(qū)域面積為海面背景被誤檢測為艦船的概率,稱為虛警率Pfa。在實(shí)際檢測中,虛警率Pfa是給定的。檢測閾值T可以通過求解方程(3)得到。
圖2 CFAR算法的檢測原理Fig.2 Principal of CFAR algorithm
(3)
在檢測時(shí),絕大多數(shù)CFAR算法設(shè)置了3個(gè)滑動(dòng)窗口[14-15],分別是目標(biāo)窗口T、保護(hù)窗口P和背景窗口B,對應(yīng)圖3中的斜紋區(qū)域,空白區(qū)域和點(diǎn)區(qū)域。其中目標(biāo)窗口內(nèi)是待檢測點(diǎn),若目標(biāo)窗口均值大于檢測閾值時(shí),則認(rèn)為窗口內(nèi)全部為艦船目標(biāo)。背景窗口用來計(jì)算海面背景分布模型中的參數(shù)。在對整個(gè)SAR圖像進(jìn)行檢測時(shí),滑動(dòng)窗口按照一定的步長(一般和目標(biāo)窗口大小相同)自左而右、自上而下遍歷整幅圖像,逐一判斷目標(biāo)窗口內(nèi)的點(diǎn)是否為目標(biāo)。
圖3 CFAR算法檢測窗口Fig.3 The detection window of CFAR algorithm
對于CFAR算法,當(dāng)海面背景基本服從假定分布時(shí),檢測結(jié)果較好。當(dāng)海面背景不服從假定分布時(shí),檢測結(jié)果不理想。這一點(diǎn)在4.1節(jié)中將有詳細(xì)說明。
此外,在使用CFAR算法時(shí),通常使用預(yù)篩選來縮短檢測時(shí)間,如許劍清等[18]用統(tǒng)計(jì)直方圖的方法做了預(yù)篩選。
在SAR圖像中,艦船目標(biāo)表現(xiàn)為高亮像素,占圖像很小部分,海面表現(xiàn)為暗像素,占圖像絕大部分,因此可以將艦船目標(biāo)像素點(diǎn)視為異常點(diǎn),利用箱線圖進(jìn)行檢測。
當(dāng)海面背景分布不均勻時(shí),如果對整幅圖直接使用箱線圖進(jìn)行檢測,容易將較亮的海面檢測為目標(biāo),出現(xiàn)較多虛警,見圖4。因此,本文借鑒CFAR算法使用滑動(dòng)窗口(見圖5)的形式進(jìn)行檢測。目標(biāo)窗口的設(shè)置與CFAR算法相同,但是與CFAR算法相比,箱線圖不假設(shè)海面背景服從某種分布,也無需估算海面背景分布模型參數(shù),因此不設(shè)置保護(hù)窗口,背景窗口為實(shí)心窗口。
圖4 對整幅圖直接使用箱線圖的檢測結(jié)果(海面分布不均時(shí))Fig.4 Direct detection result by box-plot for the whole image when the sea surface is unevenly distributed
檢測時(shí),與CFAR算法相同,滑動(dòng)窗口按照一定的步長(與目標(biāo)窗口尺寸相同)自左向右、自上而下遍歷整幅SAR圖像,逐一進(jìn)行檢測。目標(biāo)窗口內(nèi)的點(diǎn)被判斷為目標(biāo)的標(biāo)準(zhǔn)為:
μT>Q3+k×(Q3-Q1)。
(4)
式中:μT為目標(biāo)窗口均值;Q3和Q1分別為背景窗口的上四分位數(shù)和下四分位數(shù);k為指定的異常點(diǎn)因子。
關(guān)于窗口尺寸的設(shè)置,沿襲CFAR算法中滑動(dòng)窗口的設(shè)置方法:目標(biāo)窗口取最小船長的1~2倍,背景窗口取最大船長的2倍。
為減少計(jì)算量,本文也采取預(yù)篩選。預(yù)篩選的方法仍為箱線圖,預(yù)篩選閾值T0計(jì)算方法見公式(5):
(5)
最后,用包括船間距和船面積在內(nèi)的形態(tài)學(xué)方法,對疑似目標(biāo)(例如小型島嶼,海浪等)進(jìn)行進(jìn)一步篩選,得到最終檢測結(jié)果,檢測流程見圖6。
圖6 基于箱線圖的艦船檢測算法流程圖Fig.6 Flow chart of ship detection algorithm based on box-plot
本章從適用條件,算法參數(shù)和時(shí)間復(fù)雜度三個(gè)方面,對CFAR算法和本文算法進(jìn)行分析與比較。
CFAR算法以假設(shè)海面背景服從某種分布為前提,根據(jù)背景窗口內(nèi)的海面背景信息估算分布模型參數(shù),并基于此進(jìn)行檢測。算法檢測效果依賴于所選背景分布模型是否合適,當(dāng)海面背景服從假設(shè)模型時(shí),檢測效果較好,反之則不理想。
以雙參數(shù)CFAR算法[13,16-17]為例,該算法假定海面背景服從高斯分布N(μ,σ2),目標(biāo)窗口內(nèi)的點(diǎn)被判斷為目標(biāo)的標(biāo)準(zhǔn)為
(6)
式中:μt為目標(biāo)窗口均值;μb為背景窗口均值;σb為背景窗口的標(biāo)準(zhǔn)偏差;t控制虛警率,也稱為標(biāo)稱因子,一般取3~6[13]。
雙參數(shù)CFAR算法假定海面背景服從高斯分布,且以均值、方差為基礎(chǔ)進(jìn)行檢測,而均值和方差的耐抗性小,異常值會(huì)對他們產(chǎn)生較大影響[4],因此雙參數(shù)CFAR算法的有效性是有限的。而本文算法使用箱線圖,以四分位數(shù)為基礎(chǔ)進(jìn)行檢測,與均值、方差相比,四分位數(shù)具有更好的耐抗性,多達(dá)25%的數(shù)據(jù)可以任意遠(yuǎn)而不會(huì)對四分位數(shù)產(chǎn)生很大影響[4],因此本文算法具有更好的有效性和魯棒性。
以圖7(a)所示SAR圖像為例,圖像大小為200×200,分辨率75 m。圖7(b)中實(shí)線為實(shí)際海面背景分布曲線,虛線為根據(jù)均值和方差預(yù)估的高斯分布模型曲線。由圖7可知,當(dāng)海面背景分布與高斯分布相差較大時(shí),雙參數(shù)CFAR算法出現(xiàn)7個(gè)漏檢,檢測結(jié)果不理想,而本文算法可以檢測出全部船只。由此可知,當(dāng)實(shí)際海面背景不符合高斯分布時(shí),雙參數(shù)CFAR檢測效果不理想。而本文算法對背景模型不做任何假定,因此有更好的適應(yīng)性。
圖7 海面背景分布模型對雙參數(shù)CFAR算法和本文算法檢測結(jié)果的影響Fig.7 Influence of background distribution model on two-parameter CFAR algorithm and the ship detection algorithm based on box-plot
CFAR算法需要設(shè)置檢測閾值T,通過Pfa和p(x)計(jì)算得到,具體關(guān)系見式(3)。而本文算法需要設(shè)置異常點(diǎn)因子k。當(dāng)數(shù)據(jù)服從某種特定分布時(shí),CFAR算法中檢測閾值T與本文算法中異常點(diǎn)因子k有關(guān)聯(lián)。
為了真實(shí)有效地對比得到兩個(gè)算法參數(shù)間的關(guān)系,以雙參數(shù)CFAR算法為例,在研究基于箱線圖的艦船檢測算法時(shí)也假定海面背景服從高斯分布,從而推出高斯分布下,雙參數(shù)CFAR算法中的標(biāo)稱因子t和本文算法中的異常點(diǎn)因子k之間的關(guān)系。
已知Q1和Q3分別對應(yīng)數(shù)據(jù)的25%和75%位置,根據(jù)正態(tài)分布表可知,
Q1=μ-0.674 5σ,
(7)
Q3=μ+0.674 5σ。
(8)
代入式(4)可得
μT>μ+0.674 5σ(2k+1),
(9)
而雙參數(shù)CFAR算法的判斷準(zhǔn)則為
(10)
即
μT>μ+t×σ。
(11)
比較不等式(9)、(11),即得異常點(diǎn)因子k與標(biāo)稱因子t的關(guān)系
(12)
此外,關(guān)于滑動(dòng)窗口設(shè)置,CFAR算法需要設(shè)置目標(biāo)窗口、保護(hù)窗口和背景窗口。本文算法無保護(hù)窗口,僅需設(shè)置目標(biāo)窗口和背景窗口。兩種算法窗口設(shè)置相同。
本節(jié)以雙參數(shù)CFAR算法為例,將兩種算法的時(shí)間復(fù)雜度進(jìn)行比較。雙參數(shù)CFAR艦船檢測算法在編程實(shí)現(xiàn)時(shí),有常規(guī)實(shí)現(xiàn)方法和基于積分圖像的兩種常見方法。對于常見檢測窗口尺寸,常規(guī)實(shí)現(xiàn)方法的復(fù)雜度和執(zhí)行時(shí)間均低于基于積分圖像的實(shí)現(xiàn)方法[17],因此本文采用常規(guī)實(shí)現(xiàn)方法。
表1 雙參數(shù)CFAR算法與本文算法時(shí)間復(fù)雜度Table 1 Time complexity of two-parameter CFAR and ship detection algorithm based on box-plot
實(shí)驗(yàn)環(huán)境配置如下:雙CPU,E5-2630V3,每個(gè)CPU8個(gè)核心,合計(jì)16核心,64 G內(nèi)存。操作系統(tǒng)Linux Centos 6.5,編譯環(huán)境icc version 15.0.1。
實(shí)驗(yàn)所用圖像為SENTINEL-1A衛(wèi)星分別在2014年12月和2015年1月拍攝,所攝地理位置集中在馬六甲海峽及其附近海域(見圖8)。本文依據(jù)海面背景的實(shí)際分布,在4種極化方式中截取了有代表性的5幅圖像,其中2幅基本符合高斯分布,3幅與高斯分布相差較遠(yuǎn)(見圖9)。圖像地理位置見圖8,圖像信息見表2,其中目標(biāo)個(gè)數(shù)為人工甄選。
表2 圖像基本信息Table 2 Basic information of SAR images
圖8 實(shí)驗(yàn)圖像Fig.8 Experiment SAR images
由于實(shí)驗(yàn)所用5幅圖像的分辨率相同,滑動(dòng)窗口設(shè)置也相同,具體設(shè)置如下:在使用雙參數(shù)CFAR算法進(jìn)行檢測時(shí),滑動(dòng)窗口a,b,c依次設(shè)置為2,78,68;在使用本文算法進(jìn)行檢測時(shí),滑動(dòng)窗口a,b依次設(shè)置為2,78。
關(guān)于預(yù)篩選,雙參數(shù)CFAR算法與本文算法采用相同預(yù)篩選,見式(5),式中kG取1.5。
參考種勁松等[13]建議,雙參數(shù)CFAR算法中標(biāo)稱因子t設(shè)為6。根據(jù)式(12)得到相應(yīng)的k約為4。
最后,使用最小船間距、最小船面積和最大船面積進(jìn)行形態(tài)學(xué)篩選。形態(tài)學(xué)篩選標(biāo)準(zhǔn)如下:最小船間距、最小船面積和最大船面積分別設(shè)置為20,4,3 201。
對5幅圖像分別使用雙參數(shù)CFAR算法和本文算法進(jìn)行檢測,實(shí)驗(yàn)進(jìn)行3次,記錄最優(yōu)結(jié)果。由于實(shí)驗(yàn)原始數(shù)據(jù)為大端存儲(chǔ)模式,實(shí)驗(yàn)環(huán)境為小端存儲(chǔ)模式,因此在檢測前后進(jìn)行了大小端數(shù)據(jù)轉(zhuǎn)換。檢測時(shí)間見表3。第四列為兩種算法檢測時(shí)間,對于所有檢測圖像,本文算法的檢測時(shí)間為雙參數(shù)CFAR算法的約3.525~4.633倍,與4.3節(jié)表1時(shí)間復(fù)雜度分析基本相符。加上預(yù)篩選,I/O和形態(tài)學(xué)篩選等環(huán)節(jié)的計(jì)算時(shí)間,本文算法檢測總時(shí)間約為雙參數(shù)CFAR算法的1.373~1.917倍。
表3 雙參數(shù)CFAR算法和本文算法的檢測時(shí)間Table 3 Detection time of two-parameter CFAR algorithm and ship detection algorithm based on box-plot s
雙參數(shù)CFAR算法和本文算法檢測結(jié)果見表4。其中品質(zhì)因數(shù)(FOM)定義如下,F(xiàn)OM越大,檢測效果越好。
(實(shí)線:實(shí)際分布;虛線:高斯分布。Solid line:real distribution;Dotted line:gaussian distribution.)圖9 圖像1~5的背景模型分布曲線Fig.9 Distribution curve of background model of image 1~5
表4 雙參數(shù)CFAR算法和本文算法的檢測結(jié)果Table 4 Results of two-parameter CFAR algorithm and ship detection algorithm based on box-plot
由表4可以看出,對于圖像2,雙參數(shù)CFAR算法和本文算法檢測效果一樣。對于圖像1、3、4,本文算法檢測效果略優(yōu)于雙參數(shù)CFAR算法。這是因?yàn)閳D1、2海面背景分布基本服從高斯分布,圖3、4海面背景雖然不服從高斯分布,但與高斯分布相差不大,此時(shí)本文算法檢測效果與雙參數(shù)CFAR算法一樣或略優(yōu)于雙參數(shù)CFAR算法。對于圖像5,本文算法的檢測效果明顯優(yōu)于雙參數(shù)CFAR算法。這是因?yàn)樵搱D像背景分布不服從高斯分布且與高斯分布相差較大,雙參數(shù)CFAR算法檢測效果不理想,本文算法檢測效果明顯優(yōu)于雙參數(shù)CFAR算法。
下面以檢測結(jié)果差距較大的圖像5為例,進(jìn)一步比較和分析。對于圖像5,雙參數(shù)CFAR算法出現(xiàn)了1個(gè)漏檢且虛警多于本文算法,將圖像5中雙參數(shù)CFAR算法的漏檢及其比本文算法多檢測出的部分虛警單獨(dú)截圖,分別見圖10和11。
圖10 雙參數(shù)CFAR算法的漏檢Fig.10 Missed detection by two-parameter CFAR algorithm
圖10中海面背景較亮,背景窗口均值偏大,雙參數(shù)CFAR算法容易將其檢測為背景。而本文算法在檢測時(shí),盡管背景窗口為包含目標(biāo)窗口海面在內(nèi)的實(shí)心窗口,當(dāng)滑動(dòng)至此處時(shí),背景窗口的四分位數(shù)相應(yīng)變大,計(jì)算得到的檢測閾值也相應(yīng)變大,但是與海面背景相比,此時(shí)海面目標(biāo)更亮,目標(biāo)窗口均值更大,因此能夠更好的檢測出艦船。
圖11中虛警集中在降雨引起的較亮海面區(qū)域,見圖12中部偏左區(qū)域和左下角區(qū)域,此時(shí)目標(biāo)窗口均值偏大,雙參數(shù)CFAR算法容易檢測為目標(biāo)。而本文算法的背景窗口為包含目標(biāo)窗口海面在內(nèi)的實(shí)心窗口,當(dāng)目標(biāo)窗口滑動(dòng)至該處時(shí),背景窗口的四分位數(shù)相應(yīng)變大,從而計(jì)算得到的檢測閾值也相應(yīng)變大,因此能有效避免虛警。
(每組從左至右:原圖,雙參數(shù)CFAR算法檢測結(jié)果截圖。From left to right,each group of images:original image,result of two-parameter CFAR algorithm.)圖11 雙參數(shù)CFAR算法額外檢測得到的虛警Fig.11 Extra false alarms detected by two-parameter CFAR algorithm
此外,本文算法在艦船輪廓方面普遍優(yōu)于雙參數(shù)CFAR算法,對其中具有代表性的船只單獨(dú)截圖,每幅圖像各兩艘(見圖13),圖13中每組圖像從左至右依次為原圖,雙參數(shù)CFAR算法檢測結(jié)果截圖,本文算法檢測結(jié)果截圖。
圖12 圖像5中部分區(qū)域圖像Fig.12 Part of image 5
與圖11中虛警產(chǎn)生原因相似,當(dāng)目標(biāo)窗口滑動(dòng)至艦船邊緣位置時(shí),目標(biāo)窗口均值偏大,雙參數(shù)CFAR算法容易將其檢測為目標(biāo)。而本文算法背景窗口為包含艦船在內(nèi)的實(shí)心窗口,當(dāng)目標(biāo)窗口滑至艦船邊緣位置時(shí),背景窗口的四分位數(shù)也隨之相應(yīng)變大,因此艦船邊緣被檢測為背景,艦船輪廓更清晰。
(每組從左至右:原圖,雙參數(shù)CFAR算法檢測結(jié)果截圖,本文算法檢測結(jié)果截圖。From left to right,each group of images:original image,result of two-parameter CFAR algorithm and result of the proposed algorithm.)圖13 雙參數(shù)CFAR算法和本文算法輪廓比較Fig.13 Comparison of ship contours between two-parameter CFAR algorithm and ship detection algorithm based on box-plot
本文將箱線圖應(yīng)用于海上艦船目標(biāo)檢測,給出了一個(gè)新的艦船檢測算法,并從適用條件、算法參數(shù)和時(shí)間復(fù)雜度三個(gè)方面與CFAR算法進(jìn)行了詳細(xì)的分析和比較,給出了當(dāng)海面背景服從高斯分布時(shí),雙參數(shù)CFAR算法中的標(biāo)稱因子t與本文算法中的異常點(diǎn)因子k之間的關(guān)系。
通過實(shí)驗(yàn)對比分析了兩種算法的檢測效果。實(shí)驗(yàn)結(jié)果表明,基于箱線圖的艦船檢測算法雖然檢測時(shí)間略高于雙參數(shù)CFAR算法,但對海面背景分布與高斯分布相差較大的圖像進(jìn)行檢測時(shí),本文算法檢測效果較好。此外,本文算法檢測得到的艦船輪廓也更清晰。為海上艦船目標(biāo)檢測提供了一個(gè)新的選項(xiàng)。