一种基于箱线图的SAR图像舰船检测算法研究*

2021-10-11 02:30赵颖祺陈玉虎张临杰
关键词:高斯分布线图舰船

赵颖祺,陈玉虎,张 晰,张临杰**

(1.中国海洋大学数学科学学院,山东 青岛 266100;2.青岛海洋科学与技术试点国家实验室,山东 青岛 266237;3.自然资源部第一海洋研究所,山东 青岛 266061)

舰船是海洋专属经济区的主要活动对象,发展海面舰船目标检测技术具有重要意义。合成孔径雷达(Synthetic Aperture Radar,SAR)具有全天时、全天候等特点,在海上舰船监测中受到广泛关注。

恒虚警率(Constant False Alarm Rate,CFAR)算法是基于SAR图像的舰船目标检测中最常用的一类算法[1-3]。此类算法假设海面背景服从某种分布,利用背景窗口内的信息计算分布模型参数,并基于此判断目标窗口是否为舰船。算法检测效果依赖于所选背景模型,当海面背景服从假设模型时,检测效果较好,反之则不理想。近年来,随着SAR技术的不断进步,SAR图像分辨率大大提高。在高分辨率SAR图像中,海面背景复杂,难以服从某种特定的数据分布模型,因此CFAR算法检测效果受到影响。寻找一种无需预先假定背景分布模型的舰船检测算法迫在眉睫。

箱线图[4-5]是统计学中常用于显示数据分布情况的方法,对数据没有任何限制,常用于异常值的检测、数据的偏态和尾重的判断以及多数据分布间的比较等。在稳定性研究、品质管理和评估等领域均得到广泛应用。例如,董雅雯等[6]利用箱线图对生态景观稳定性进行了研究;杨帆等[7]将箱线图应用于品质管理;郭德清和廖祥文[8]利用箱线图原理识别微博突发词,发现微博热点话题;王新峰等[9]对岩层裂隙分布密度和分布韵律性进行了分析;朱兵[10]用其评估跨学科期刊在不同学科领域中的影响力,以上研究均取得了较好的效果。

箱线图在海上舰船目标检测中的应用研究目前未见公开文献。基于此,本文将其应用于海面舰船目标检测,提出一种新的舰船检测算法。该算法实现简单,且不对海面背景建模,对复杂的海面背景具有较强的适应性。

1 箱线图方法简介

箱线图(Box-plot)[4-5],又称箱须图,是由美国著名统计学家John Tukey提出的一种用于显示数据分布情况的统计方法,利用最大值、上四分位数、中位数、下四分位数和最小值这5个统计量来描述数据的分布和性质,因其形状如箱子而得名,结构如图1所示。

图1 箱线图结构图Fig.1 Structure diagram of box-plot

在异常值检测应用中,通过设置上/下异常值截断点(εu/εl)进行检测。

εu=Q3+k×(Q3-Q1),

(1)

εl=Q1-k×(Q3-Q1)。

(2)

当数据大于εu或小于εl时,被认为是异常值。式中,Q1、Q3分别对应图1中下四分位数和上四分位数。(Q3-Q1)被称为四分位距(Inter quartile range,IQR),常用来表示数据分散情况。k为异常点因子,通常取值1.5或3,k取值越大,异常值截断点离箱体越远,检测到的点越偏离数据主要分布区域。当k取1.5时,称异常值截断点为内限,当k取3时,称异常值截断点为外限,在内限和外限之间的异常值为温和异常值,在外限以外的异常值为极端异常值[4,11-12]。

2 船只CFAR检测算法

CFAR算法是基于SAR图像舰船目标检测领域中应用最广泛的一类自适应门限检测算法[13],需要预先假设海面背景服从某种分布p(x),算法检测原理如图2所示。其中横轴为像素值,纵轴为概率密度函数值。图中虚线代表海面背景分布的概率密度函数,实线代表舰船目标分布的概率密度函数,T为检测阈值,用于区分背景和目标。阴影区域面积为海面背景被误检测为舰船的概率,称为虚警率Pfa。在实际检测中,虚警率Pfa是给定的。检测阈值T可以通过求解方程(3)得到。

图2 CFAR算法的检测原理Fig.2 Principal of CFAR algorithm

(3)

在检测时,绝大多数CFAR算法设置了3个滑动窗口[14-15],分别是目标窗口T、保护窗口P和背景窗口B,对应图3中的斜纹区域,空白区域和点区域。其中目标窗口内是待检测点,若目标窗口均值大于检测阈值时,则认为窗口内全部为舰船目标。背景窗口用来计算海面背景分布模型中的参数。在对整个SAR图像进行检测时,滑动窗口按照一定的步长(一般和目标窗口大小相同)自左而右、自上而下遍历整幅图像,逐一判断目标窗口内的点是否为目标。

图3 CFAR算法检测窗口Fig.3 The detection window of CFAR algorithm

对于CFAR算法,当海面背景基本服从假定分布时,检测结果较好。当海面背景不服从假定分布时,检测结果不理想。这一点在4.1节中将有详细说明。

此外,在使用CFAR算法时,通常使用预筛选来缩短检测时间,如许剑清等[18]用统计直方图的方法做了预筛选。

3 箱线图在SAR舰船目标检测中的应用

在SAR图像中,舰船目标表现为高亮像素,占图像很小部分,海面表现为暗像素,占图像绝大部分,因此可以将舰船目标像素点视为异常点,利用箱线图进行检测。

当海面背景分布不均匀时,如果对整幅图直接使用箱线图进行检测,容易将较亮的海面检测为目标,出现较多虚警,见图4。因此,本文借鉴CFAR算法使用滑动窗口(见图5)的形式进行检测。目标窗口的设置与CFAR算法相同,但是与CFAR算法相比,箱线图不假设海面背景服从某种分布,也无需估算海面背景分布模型参数,因此不设置保护窗口,背景窗口为实心窗口。

图4 对整幅图直接使用箱线图的检测结果(海面分布不均时)Fig.4 Direct detection result by box-plot for the whole image when the sea surface is unevenly distributed

检测时,与CFAR算法相同,滑动窗口按照一定的步长(与目标窗口尺寸相同)自左向右、自上而下遍历整幅SAR图像,逐一进行检测。目标窗口内的点被判断为目标的标准为:

μT>Q3+k×(Q3-Q1)。

(4)

式中:μT为目标窗口均值;Q3和Q1分别为背景窗口的上四分位数和下四分位数;k为指定的异常点因子。

关于窗口尺寸的设置,沿袭CFAR算法中滑动窗口的设置方法:目标窗口取最小船长的1~2倍,背景窗口取最大船长的2倍。

为减少计算量,本文也采取预筛选。预筛选的方法仍为箱线图,预筛选阈值T0计算方法见公式(5):

(5)

最后,用包括船间距和船面积在内的形态学方法,对疑似目标(例如小型岛屿,海浪等)进行进一步筛选,得到最终检测结果,检测流程见图6。

图6 基于箱线图的舰船检测算法流程图Fig.6 Flow chart of ship detection algorithm based on box-plot

4 箱线图与CFAR算法的比较

本章从适用条件,算法参数和时间复杂度三个方面,对CFAR算法和本文算法进行分析与比较。

4.1 适用条件

CFAR算法以假设海面背景服从某种分布为前提,根据背景窗口内的海面背景信息估算分布模型参数,并基于此进行检测。算法检测效果依赖于所选背景分布模型是否合适,当海面背景服从假设模型时,检测效果较好,反之则不理想。

以双参数CFAR算法[13,16-17]为例,该算法假定海面背景服从高斯分布N(μ,σ2),目标窗口内的点被判断为目标的标准为

(6)

式中:μt为目标窗口均值;μb为背景窗口均值;σb为背景窗口的标准偏差;t控制虚警率,也称为标称因子,一般取3~6[13]。

双参数CFAR算法假定海面背景服从高斯分布,且以均值、方差为基础进行检测,而均值和方差的耐抗性小,异常值会对他们产生较大影响[4],因此双参数CFAR算法的有效性是有限的。而本文算法使用箱线图,以四分位数为基础进行检测,与均值、方差相比,四分位数具有更好的耐抗性,多达25%的数据可以任意远而不会对四分位数产生很大影响[4],因此本文算法具有更好的有效性和鲁棒性。

以图7(a)所示SAR图像为例,图像大小为200×200,分辨率75 m。图7(b)中实线为实际海面背景分布曲线,虚线为根据均值和方差预估的高斯分布模型曲线。由图7可知,当海面背景分布与高斯分布相差较大时,双参数CFAR算法出现7个漏检,检测结果不理想,而本文算法可以检测出全部船只。由此可知,当实际海面背景不符合高斯分布时,双参数CFAR检测效果不理想。而本文算法对背景模型不做任何假定,因此有更好的适应性。

图7 海面背景分布模型对双参数CFAR算法和本文算法检测结果的影响Fig.7 Influence of background distribution model on two-parameter CFAR algorithm and the ship detection algorithm based on box-plot

4.2 算法参数

CFAR算法需要设置检测阈值T,通过Pfa和p(x)计算得到,具体关系见式(3)。而本文算法需要设置异常点因子k。当数据服从某种特定分布时,CFAR算法中检测阈值T与本文算法中异常点因子k有关联。

为了真实有效地对比得到两个算法参数间的关系,以双参数CFAR算法为例,在研究基于箱线图的舰船检测算法时也假定海面背景服从高斯分布,从而推出高斯分布下,双参数CFAR算法中的标称因子t和本文算法中的异常点因子k之间的关系。

已知Q1和Q3分别对应数据的25%和75%位置,根据正态分布表可知,

Q1=μ-0.674 5σ,

(7)

Q3=μ+0.674 5σ。

(8)

代入式(4)可得

μT>μ+0.674 5σ(2k+1),

(9)

而双参数CFAR算法的判断准则为

(10)

μT>μ+t×σ。

(11)

比较不等式(9)、(11),即得异常点因子k与标称因子t的关系

(12)

此外,关于滑动窗口设置,CFAR算法需要设置目标窗口、保护窗口和背景窗口。本文算法无保护窗口,仅需设置目标窗口和背景窗口。两种算法窗口设置相同。

4.3 时间复杂度

本节以双参数CFAR算法为例,将两种算法的时间复杂度进行比较。双参数CFAR舰船检测算法在编程实现时,有常规实现方法和基于积分图像的两种常见方法。对于常见检测窗口尺寸,常规实现方法的复杂度和执行时间均低于基于积分图像的实现方法[17],因此本文采用常规实现方法。

表1 双参数CFAR算法与本文算法时间复杂度Table 1 Time complexity of two-parameter CFAR and ship detection algorithm based on box-plot

5 数据实验

实验环境配置如下:双CPU,E5-2630V3,每个CPU8个核心,合计16核心,64 G内存。操作系统Linux Centos 6.5,编译环境icc version 15.0.1。

实验所用图像为SENTINEL-1A卫星分别在2014年12月和2015年1月拍摄,所摄地理位置集中在马六甲海峡及其附近海域(见图8)。本文依据海面背景的实际分布,在4种极化方式中截取了有代表性的5幅图像,其中2幅基本符合高斯分布,3幅与高斯分布相差较远(见图9)。图像地理位置见图8,图像信息见表2,其中目标个数为人工甄选。

表2 图像基本信息Table 2 Basic information of SAR images

图8 实验图像Fig.8 Experiment SAR images

5.1 参数设置

由于实验所用5幅图像的分辨率相同,滑动窗口设置也相同,具体设置如下:在使用双参数CFAR算法进行检测时,滑动窗口a,b,c依次设置为2,78,68;在使用本文算法进行检测时,滑动窗口a,b依次设置为2,78。

关于预筛选,双参数CFAR算法与本文算法采用相同预筛选,见式(5),式中kG取1.5。

参考种劲松等[13]建议,双参数CFAR算法中标称因子t设为6。根据式(12)得到相应的k约为4。

最后,使用最小船间距、最小船面积和最大船面积进行形态学筛选。形态学筛选标准如下:最小船间距、最小船面积和最大船面积分别设置为20,4,3 201。

5.2 检测结果

对5幅图像分别使用双参数CFAR算法和本文算法进行检测,实验进行3次,记录最优结果。由于实验原始数据为大端存储模式,实验环境为小端存储模式,因此在检测前后进行了大小端数据转换。检测时间见表3。第四列为两种算法检测时间,对于所有检测图像,本文算法的检测时间为双参数CFAR算法的约3.525~4.633倍,与4.3节表1时间复杂度分析基本相符。加上预筛选,I/O和形态学筛选等环节的计算时间,本文算法检测总时间约为双参数CFAR算法的1.373~1.917倍。

表3 双参数CFAR算法和本文算法的检测时间Table 3 Detection time of two-parameter CFAR algorithm and ship detection algorithm based on box-plot s

双参数CFAR算法和本文算法检测结果见表4。其中品质因数(FOM)定义如下,FOM越大,检测效果越好。

(实线:实际分布;虚线:高斯分布。Solid line:real distribution;Dotted line:gaussian distribution.)图9 图像1~5的背景模型分布曲线Fig.9 Distribution curve of background model of image 1~5

表4 双参数CFAR算法和本文算法的检测结果Table 4 Results of two-parameter CFAR algorithm and ship detection algorithm based on box-plot

由表4可以看出,对于图像2,双参数CFAR算法和本文算法检测效果一样。对于图像1、3、4,本文算法检测效果略优于双参数CFAR算法。这是因为图1、2海面背景分布基本服从高斯分布,图3、4海面背景虽然不服从高斯分布,但与高斯分布相差不大,此时本文算法检测效果与双参数CFAR算法一样或略优于双参数CFAR算法。对于图像5,本文算法的检测效果明显优于双参数CFAR算法。这是因为该图像背景分布不服从高斯分布且与高斯分布相差较大,双参数CFAR算法检测效果不理想,本文算法检测效果明显优于双参数CFAR算法。

下面以检测结果差距较大的图像5为例,进一步比较和分析。对于图像5,双参数CFAR算法出现了1个漏检且虚警多于本文算法,将图像5中双参数CFAR算法的漏检及其比本文算法多检测出的部分虚警单独截图,分别见图10和11。

图10 双参数CFAR算法的漏检Fig.10 Missed detection by two-parameter CFAR algorithm

图10中海面背景较亮,背景窗口均值偏大,双参数CFAR算法容易将其检测为背景。而本文算法在检测时,尽管背景窗口为包含目标窗口海面在内的实心窗口,当滑动至此处时,背景窗口的四分位数相应变大,计算得到的检测阈值也相应变大,但是与海面背景相比,此时海面目标更亮,目标窗口均值更大,因此能够更好的检测出舰船。

图11中虚警集中在降雨引起的较亮海面区域,见图12中部偏左区域和左下角区域,此时目标窗口均值偏大,双参数CFAR算法容易检测为目标。而本文算法的背景窗口为包含目标窗口海面在内的实心窗口,当目标窗口滑动至该处时,背景窗口的四分位数相应变大,从而计算得到的检测阈值也相应变大,因此能有效避免虚警。

(每组从左至右:原图,双参数CFAR算法检测结果截图。From left to right,each group of images:original image,result of two-parameter CFAR algorithm.)图11 双参数CFAR算法额外检测得到的虚警Fig.11 Extra false alarms detected by two-parameter CFAR algorithm

此外,本文算法在舰船轮廓方面普遍优于双参数CFAR算法,对其中具有代表性的船只单独截图,每幅图像各两艘(见图13),图13中每组图像从左至右依次为原图,双参数CFAR算法检测结果截图,本文算法检测结果截图。

图12 图像5中部分区域图像Fig.12 Part of image 5

与图11中虚警产生原因相似,当目标窗口滑动至舰船边缘位置时,目标窗口均值偏大,双参数CFAR算法容易将其检测为目标。而本文算法背景窗口为包含舰船在内的实心窗口,当目标窗口滑至舰船边缘位置时,背景窗口的四分位数也随之相应变大,因此舰船边缘被检测为背景,舰船轮廓更清晰。

(每组从左至右:原图,双参数CFAR算法检测结果截图,本文算法检测结果截图。From left to right,each group of images:original image,result of two-parameter CFAR algorithm and result of the proposed algorithm.)图13 双参数CFAR算法和本文算法轮廓比较Fig.13 Comparison of ship contours between two-parameter CFAR algorithm and ship detection algorithm based on box-plot

6 结语

本文将箱线图应用于海上舰船目标检测,给出了一个新的舰船检测算法,并从适用条件、算法参数和时间复杂度三个方面与CFAR算法进行了详细的分析和比较,给出了当海面背景服从高斯分布时,双参数CFAR算法中的标称因子t与本文算法中的异常点因子k之间的关系。

通过实验对比分析了两种算法的检测效果。实验结果表明,基于箱线图的舰船检测算法虽然检测时间略高于双参数CFAR算法,但对海面背景分布与高斯分布相差较大的图像进行检测时,本文算法检测效果较好。此外,本文算法检测得到的舰船轮廓也更清晰。为海上舰船目标检测提供了一个新的选项。

猜你喜欢
高斯分布线图舰船
舰船通信中的噪声消除研究
风浪干扰条件下舰船航向保持非线性控制系统
一些图运算的调和指标与调和多项式的线图∗
舰船测风传感器安装位置数值仿真
预测瘢痕子宫阴道试产失败的风险列线图模型建立
在航集装箱船舶摇摆姿态的概率模型
改进的自适应高斯混合模型运动目标检测算法
改进RRT在汽车避障局部路径规划中的应用
一种基于改进混合高斯模型的前景检测
一类图及其线图的Wiener指数