基于空间变迹滤波旁瓣抑制与有序统计恒虚警率的舰船检测算法
2020-05-18黄寅礼孙光才邢孟道胡以华
黄寅礼 孙 路 郭 亮* 孙光才 邢孟道 杨 军 胡以华
①(西安电子科技大学物理与光电工程学院 西安 710071)
②(中国人民解放军93128部队 北京 100085)
③(西安电子科技大学雷达信号处理国家重点实验室 西安 710071)
④(西安科技大学测绘科学与技术学院 西安 710000)
⑤(国防科技大学脉冲功率激光技术国家重点实验室 合肥 230037)
1 引言
合成孔径雷达(Synthetic Aperture Radar,SAR)是一种利用微波探测的全天时全天候主动传感器,其利用合成孔径技术与匹配滤波技术实现了高分辨率成像,因此在军事和民用领域都运用广泛。随着科技的日益进步,针对海洋的实时监测显得尤为重要,因此对海面舰船目标的检测算法研究具有重要的研究意义。
合成孔径雷达主动发射线性调频信号,通过对回波信号的匹配滤波,得到类似于sinc函数波形的信号[1-3]。一般情况下使用常量幅度的匹配滤波器,此时峰值旁瓣比约为-13 dB。由于人造目标的高反射强度,-13 dB的旁瓣依然有可能比临近目标点的幅度值要大,从而导致成像分辨率的降低。在合成孔径雷达的实时监测系统中,目标检测通常作为成像的后续工作,其包含图像预处理,海陆分离,目标检测识别与特征提取等步骤,不良的成像结果不可避免地会造成海陆分离与目标检测的出错,影响整个体系的能力。
旁瓣抑制可以在成像的匹配滤波阶段与成像后的复数据SAR图像进行处理,主要方法有线性的平滑窗加权处理与非线性的加权处理。典型的加权窗函数包括但不限于Hamming窗、Hanning窗和Kaiser窗等,但不同的加权窗对图像的处理结果效果不一,无法选出一种最好的加权窗[4]。非线性加权方法是利用矩形窗和其他加权窗的处理后,取不同的加权处理结果最小值的方法,相当于取不同加权窗口的最优解。空间变迹滤波[5](Spatially Variant Apodization,SVA)算法属于非线性加权方法,它通过计算采样点的最优参数来决定加权窗口,即使用不同的窗口处理不同的目标点,从而避免了加权后要进行筛选的庞大计算量。但是文献[6]提出,传统的SVA算法将实部与虚部同一计算,计算出的加权参数有可能并不是最优解,因此文献[6]作者加强了约束条件,将实部与虚部分开计算它们的最优加权参数。另外,由于为了实现快速傅里叶变换,需要对信号进行时域补零,在非整数奈奎斯特采样率的情况下,传统的SVA算法有可能实现效果不好。因此文献[7]提出了通用空间变迹滤波(Generalization of SVA,GSVA)算法,该算法修改了频域加权函数,使得SVA基本上可以适应在不同奈奎斯特采样率下的旁瓣抑制。文献[8]提出鲁棒空间变迹滤波(Robust SVA,RSVA),修改了传统SVA算法的采样点数与频域加权函数,可以实现在任何奈奎斯特采样率下的有效旁瓣抑制,但算法复杂度较高。文献[9]提出的改进空间变迹滤波(Modified SVA,MSVA)算法,在任意奈奎斯特采样率下都能有效地抑制旁瓣而且保持了图像的分辨率。文献[10]还提出了斜视SAR图像的旁瓣抑制算法,可以抑制在斜视情况下的图像旁瓣。
有序统计恒虚警率(Constant False Alarm Rate,CFAR)算法是SAR图像目标检测中的一种用途非常广泛的算法,它保持恒虚警率,通过选用一个合适的杂波模型计算背景与目标的最佳分割阈值。CFAR算法普遍基于两个步骤[11],利用杂波模型与恒虚警率计算分割阈值然后利用CFAR检测器对像素点进行分类。常用的有全局CFAR[12]、双参数CFAR[13]、两级CFAR[14]等等。全局CFAR用整幅图像计算分割阈值,由于目标点的影响与海情的多样性,该算法虽然速度快,但是准确率较低,现在通常利用该算法进行预筛选目标点。双参数CFAR没有预筛选,需要利用滑窗计算图像上每个像素点的分割阈值,因此计算量很大。两级CFAR首先利用全局CFAR预筛选目标,然后计算潜在目标点的分割阈值,因此将计算量大大降低。基本的CFAR检测器通常包括单元平均CFAR、选大CFAR、选小CFAR[15]与有序统计CFAR[16](Order Statistic-Constant False Alarm Rate,OS-CFAR)。除了OS-CFAR之外都无法同时适应多个场景,因为该检测器利用了排序进行非线性估计,但同时也因为排序操作增加了算法计算量。但这些目标检测算法都基于成像结果良好的情况下才能运行正确,如果存在目标旁瓣过高,那么大量背景点会被误分类成目标点,导致分类错误。
本文首先设置背景杂波模型为高斯模型,通过全局CFAR预筛选选出潜在目标点,然后修改了传统的SVA算法,使其只对潜在目标点进行旁瓣压制,减少了计算量;再利用OS-CFAR计算背景杂波参数,与分割阈值进行比较从而对每个潜在目标点进行分类。最后通过形态学膨胀操作,完善检测结果。本文第2节介绍SVA算法与OS-CFAR算法,第3节提出本文算法,第4节给出本文算法在高分三号图像上的实验结果。
2 基础算法描述
2.1 SVA算法
SVA算法是一种非线性加权的算法,它通过计算不同采样点的加权系数,对旁瓣进行抑制。由于频域加权可以通过时域卷积实现,因此SVA可以通过时域计算,时域表达式为
其中,g(m)是当前点m的像素值,g(m −1)与g(m+1)是当前点的旁瓣值,g′(m)是修改后点m的值,w(m)是加权参数,可以从矩形窗(w(m)=0)变化到Hanning窗(w(m)=0.5),要计算最优参数w(m)使得|g′(m)|2达到最小值,对|g′(m)|2求w(m)偏导并等于0,求得最优解
由于图像是复数据图像,因此令g(m)=I(m)+Q(m)×i,从而可以得到参数的最优解
但正如文献[6]提及,该参数整合了实部和虚部有可能并不是最优解,对SVA时域表达式中的|g′(m)|2求w(m)偏导并等于0,从而求得最优解的过程实际上是在能量最小约束下,求出最优解的过程,也就是求g(m)的最小模值下的w(m)最小值的过程。但是由于在复数据图像中,g(m)的最小模值实际上是一个圆,即最小值下如果g(m)=I(m)+Q(m)×i,实际上是在g2(m)=I2(m)+Q2(m)的这个圆上,因此信号的实部I(m)与虚部Q(m)并不一定可以同时达到最小。如果分开实部和虚部进行计算,就可以在实部能量最小约束下求出实部的最小值,同理虚部也是最小值。相应的,因为复信号的总能量只是实部和虚部的平方和的开方,因此此时复信号的总能量一定也是最小的,所以求出的最优解会是复数域的最优解。因此分开计算实部虚部后,得到实部的最优参数为
最终输出的图像实部为
同理,虚部的计算也类似,只是将I(m)替换成Q(m)。
2.2 OS-CFAR算法
由于图像可能存在多目标与海情的多样性,因此在CFAR算法中每个像素点都需要进行背景杂波统计。具体操作是对每个像素点定一个目标窗口,保护窗口与背景窗口,然后对每个像素点进行遍历,得到它们的背景窗口像素点数组。背景窗口包含需要计算杂波参数的所有背景点,保护窗口负责防止该像素点对应的目标泄露到背景窗口中。保护窗口的边长一般设置为检测目标长的两倍,而杂波窗口一般要比保护窗口大得多。尽管保护窗口可以防止对应目标的像素点泄漏到背景窗口中,但是海洋属于多目标检测环境,其他目标的像素点可能会泄露到背景窗口中,因此只能采用非线性的有序统计类CFAR检测器,而OS-CFAR就属于其中运用最广泛的算法。
分割阈值T是由预设的虚警概率Pfa与 杂波背景模型p(x)通过下式计算得到的
其中,x表示图像中杂波像素点的强度。OS-CFAR对背景窗口的像素点进行了排序操作,取出如图1所示的3个点。
图1 已排序数组Fig.1 The sorted array
其中x50是杂波像素点的中值,同理x25与x75是像素点强度在数组中排第25%与第75%的像素点。然后通过式(7)进行像素点分类:
当点t的强度xt满足上式时,可以将该点分类成目标点。具体流程如下:
(1)通过式(6)计算当前杂波模型与恒虚警率下的分割阈值;
(2)对图像的进行从左到右,从上到下的遍历,提取它们的背景窗口像素点数组;
(3)对不同的背景窗口数组进行排序,提取它们的x50,x25与x75;
(4)利用式(7)对每一个像素点进行分类。
OS-CFAR是为了改正CA-CFAR(单元平均CFAR)在多目标环境下分类出错的问题,CA-CFAR是利用背景窗口的均值和方差对目标点进行分类,但是在多目标环境下,背景窗口里可能会存在其他目标,因此会对均值和方差产生巨大影响。可以看出,x50是均值的替代,x75−x50是标准差的替代,OS-CFAR相当于淡化了对背景窗口里杂波分布的依赖,因此SVA处理对OS-CFAR的使用影响并不大。而如果使用CA-CFAR之类比较依赖于杂波分布的CFAR检测器,就会受到很大影响。
3 本文算法
由式(1)可知,某像素点的最优加权参数是通过选用该点与其在同一方向上相距同等距离的两个点进行时域卷积得到的。传统SVA算法在实现上需要对图像进行遍历,计算对应不同像素点的加权参数,然而在海洋背景图像中,图像上绝大部分的像素点都属于海洋,因此反射强度低,旁瓣不会影响到目标点。如果按照传统SVA算法进行图像遍历,对海洋点进行旁瓣抑制对目标检测作用不大,因此会作大量的无用功,影响算法计算效率。为了解决这个问题,需要对海洋点和目标点进行初始分割,选出需要进行旁瓣抑制的潜在目标点。本文利用基于高斯分布的全局CFAR进行潜在目标点筛选,高斯分布为
预设虚警概率Pfa,将式(8)带入式(6)中,可以得到初始分割阈值T。基于T对像素点进行分类,大于T的作为潜在目标点进行旁瓣抑制。为了提高运算效率,本文不采用将实部虚部分开的算法,而是对输入图像取模后再进行式(1)的计算,同时根据文献[9]中的改进SVA算法,将非整数奈奎斯特采样率1/Ws(0 因此式(1)变为 由于|g(m)|为非负数,因此wg(m)为非整数,式(5)修改为 在二维情况下,方位向和距离向的点可以分开计算,重叠的点取两者之间的最小值。由于不需要对实部虚部都进行一次像素点遍历,因此计算速度较快,同时采用了改进SVA的非奈奎斯特采样率计算方法,得到的旁瓣抑制图像效果较好,如图2所示。 由于SVA是非线性加权方法,因此对此进行CFAR检测不可以使用线性CFAR算法,采用OS-CFAR算法对旁瓣抑制后的图像进行分类。与旁瓣抑制类似的是,大量海洋点不需要被计算,因此我们采用上述全局CFAR计算出来的潜在目标点进行OS-CFAR检测。对潜在目标点进行遍历,取它们在旁瓣抑制后图像的背景杂波窗口,并利用式(7)进行分类。 其中,S是通过全局CFAR计算出的潜在目标点集合,t表示当前目标点位置。 在进行旁瓣抑制之后,由于雷达信号的相干斑噪声以及其他不可避免噪声的影响,部分目标点可能会被错误估计,引起它们的幅度错误严重降低,从而导致在OS-CFAR处理中被误分类成背景点。同时部分舰船目标包含平板等低反射强度区域,在OS-CFAR中也有可能被误分类成背景点,因此需要对检测后的二值图像进行形态学膨胀,如图3所示。 其中,X是OS-CFAR检测后的二值图像,K是进行膨胀的结构元素。 本文算法流程如下: (1)预设恒虚警率,通过全局CFAR计算潜在目标点 (2)对潜在目标点通过公式(12)进行旁瓣抑制; (3)利用旁瓣抑制后的图像对潜在目标点进行OS-CFAR检测; (4)对检测后图像进行轻微的膨胀处理。 本算法的目的是为了进行目标检测,也就是在预处理结束后(海陆分离、噪声处理等操作)对目标的位置、大小进行粗略估计,以方便后续基于机器学习或深度学习的目标识别。SVA可能会使得目标上的部分点丢失,本文采取的做法是对二值化之后的目标图像进行形态学膨胀处理,通过保留的目标点填充已丢失的目标点。有强烈旁瓣的目标在进行旁瓣抑制后,部分目标点会被侵蚀,但这些目标点一般是舰船上反射强度较低的位置,在进行旁瓣抑制之后,强度降低太多,因此OS-CFAR会将其判断为海洋点。但是同时大多目标点都被保留,因此进行形态学膨胀,可以补偿大部分被侵蚀的目标区域。即使部分海洋点也因此被判断为目标点,但是这对后续目标的位置、大小的估计影响并不大。 图2 旁瓣抑制流程图Fig.2 The flowchart of sidelobe suppression 图3 膨胀操作示意图Fig.3 The diagram of the dilation 实验图像采用高分三号(GF-3)SAR卫星对舰船成像图像,参数如表1所示。 本文首先对实验图像1进行算法流程验证,该图是16位图像,只包含1个舰船目标,对图像取模后像素值最高达到1.2431e+03,而像素值最低是0,因此该图像有强烈的旁瓣效应。从图4(a)中是实验图像1的原图像,可以看到,其在距离向有轻微的旁瓣影响,只延伸出大概40像素,而方位向上却有着极其强烈的旁瓣效应,延伸了300像素以上,因此对该图像进行旁瓣抑制尤为重要。 表1 实验图像参数Tab.1 The parameters of test images 在旁瓣抑制中,本文首先需要使用全局CFAR对图像进行预筛选,预设恒虚警率Pfa为1e−6,背景杂波模型为高斯模型,得到分割阈值后预筛选潜在目标点。得到潜在目标点后,选择1/Ws为20并对图4(a)进行旁瓣抑制后得到图4(b)。通过图4(a)与图4(b)的对比可以看出,旁瓣被明显地剔除了,但是部分舰船目标点也被剔除了,这个问题可以在最后的形态学膨胀下可以解决。 在OS-CFAR检测中,选择保护窗口为40×40,背景窗口为100×100,根据预筛选目标位置对每个潜在目标点进行分类。然后对图像进行形态学膨胀,其中选择图3中的结构元素,只进行1次膨胀处理,得到图4(c)的图像。为了比较旁瓣处理对结果的影响程度,取消对原图像的旁瓣处理而直接进行相同参数下的OS-CFAR检测,得到图4(d)的结果。通过比较图4(c)与图4(d)的结果,可以看出如果不对图像进行旁瓣处理,旁瓣有可能影响二值化后目标的长宽度。如图4(d),目标可能会与旁瓣连接,造成的结果是舰船目标的主轴过长,在后续的图像识别处理中可能会被识别成陆地而被去除,但是此类有强反射能力的舰船目标恰好是最重要的目标,因此在舰船目标检测处理中实施旁瓣处理尤为重要。 在后续实验中,本文使用了包含多目标的实验图像2与实验图像3进行在多目标环境下的结果验证。 由图5和图6中有旁瓣处理与无旁瓣处理的结果可以看出旁瓣处理的必要性。其中图5(c)中旁瓣明显的舰船在CFAR检测后形状发生了改变,长宽错误太大;图6(c)中两个反射强度大的舰船的甚至会连接在一起,对舰船后续处理的影响极大。而且图6(c)中有许多虚警点,这是因为CFAR算法需要统计杂波背景像素,从而计算出杂波参数。然而过多旁瓣的存在会导致背景窗口中混杂着比背景点像素值更高的像素点,从而导致杂波参数计算错误,对大量背景点错误分类。 图4 实验图像1的处理过程Fig.4 The process of Image1 processing 图5 实验图像2的处理过程Fig.5 The process of Image2 processing 如表2所示,选择图像对比度与检测目标个数作为性能分析标准,并已在文中做出修改。图像对比度越好,证明图像可识别性越好,图像对比度公式为 图6 实验图像3的处理过程Fig.6 The process of Image3 processing 表2 实验图像结果Tab.2 The results of test images 其中,µi与σi是距离向点所对应的方位向所有点的均值和方差。从实验结果的对比度可以看出,在使用SVA后,图像对比度明显增加,加上视觉效果的图像,可以证明SVA对旁瓣抑制的有效性。从实验结果的检测目标个数可以看出,在使用SVA之后,虚警数明显减少,减轻后续的目标识别负担。 在目标检测领域中,通常都需要对图像进行面积处理以加适当的矩形框。本文针对目标检测的目的,结合并改进了SVA算法与OS-CFAR算法,使其可以处理具有强烈旁瓣的SAR图像,解决了出现舰船目标检测面积过大的问题。该算法通过GF-3的多目标图像与单目标图像验证了有效性。4 实验结果
5 结论