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