段思韦,王忠华,叶 铮
(南昌航空大学信息工程学院,江西 南昌 330063)
近年来,红外成像技术由于其具有抗干扰、隐蔽性好、全天候等优点,被广泛应用于军事和民用领域,如红外预警、远程追踪、防空反导、夜间导航等方面[1]。远距离成像目标通常很小,没有明显的纹理、大小、形状等特征,而且复杂的背景和噪声干扰也很容易使红外小目标淹没其中,造成信噪比低、目标强度弱,增加了目标检测的难度。因而,在复杂背景中有效检测到红外小目标日益成为研究的热点与难点之一[2]。
传统的红外小目标检测方法包括形态学滤波方法[3]、最大均值/最大中值滤波方法[4]、主成分分析方法[5]和小波变换方法[6]等。这些方法对于简单的背景图像有着较好的检测效果,但是对于复杂多变的红外图像则检测性能下降。近年来,人类视觉系统(HVS)的方法引起了人们的关注。由于人类视觉系统可以快速地处理复杂场景,能准确地识别出有用信息,受此启发,Chen等人[7]提出了一种较为经典的局部对比度测量方法(LCM),通过计算目标区域与局部邻域在不同尺度下对比度最大值,得到显著图,能有效地增强图像信噪比,但这种算法易受高亮噪声影响,在运算过程中会引入虚警目标点,使得虚警率升高。Han等人[8]在Chen的基础上,提出了一种改进的对比度测量方法(ILCM),该方法首先将图像分成若干子像素块,将子块的均值替换LCM方法中的最大值,尽管这样做能使虚警率有所降低,但分块选择尺寸时可能会漏检目标。Qin等人[9]提出一种新的对比度测量方法(NLCM),该方法利用局部目标块的方差与均值的乘积代替最大灰度的平方,以减少高亮噪声引起的误差,但在强杂波下检测性能较低。Wei等人[10]提出的基于多尺度的对比度测量方法(MPCM),利用中心块与邻域的灰度均值差异,可以同时增强暗目标和亮目标,但在复杂背景下的检测性能不高。
现有的局部对比度算法虽然在红外小目标检测中都取得了较好的效果,但是避免不了高亮噪声点的影响,在复杂背景和强杂波干扰下仍面临检测率低、虚警率高的问题[11]。本文提出了一种空域加权的局部对比度(spatially weighted local contrast,SWLCM)的红外小目标检测方法,能较好地解决高亮噪声点带来的虚警率升高问题。通过实验对比分析,该算法能有效提高目标检测率,降低目标虚警率。
红外小目标检测的算法主要包括滤波处理、目标显著图生成、自适应阈值分割三个重要环节。由于输入的红外图像背景复杂,信噪比低,对其进行滤波处理能有效抑制大面积的背景杂波;目标显著图的生成是本文算法的核心环节,能增强目标强度,以实现对人眼视觉对比机制的模拟;最后经阈值计算分割出目标点。本文目标检测的算法流程图如图1所示。
图1 目标检测流程图
为了抑制原始红外图像中的背景杂波,本文选择二维高斯差分函数进行滤波。二维高斯差分滤波(DoG)具有中心激励和侧向抑制性,能增强目标信号同时抑制背景噪声。它是由二维高斯函数推演得来的,定义如下:
DoG(i,j,σ1,σ2)=G(i,j,σ1)-G(i,j,σ2)
(1)
其中,(i,j)为图像像素坐标;σ1和σ2分别是二维高斯函数的尺度参数。原图经过DoG滤波,滤除了大量的背景杂波,为后续计算提供了便利。
经过二维高斯差分滤波处理,尽管已经抑制了大部分背景噪声,但目标区域不够显著,仍然存在一些强杂波,因此要计算图像的显著性图。与LCM算法类似,将窗口w从左到右、从上到下滑动遍历整个图像a,将其分成若干大小相同的子块。如图2(a)所示,子块中u为目标区域,介于u和w之间的为局部背景区域,a表示整个图像,通常窗口w是u大小的3倍。图2(b)是w的放大图,分为9个大小相等的区域,中心区域0表示目标区域,即图2(a)中的目标块u,在它周围的1~8区域表示背景。根据国际光学工程学会(SPIE)的建议,小目标的尺寸一般不超过图像总面积的0.12 %[12],因此本文实验选取的窗口u尺寸大小为3×3。
图2 图像块及图像单元示意图
对于每一个子图像块w,划分为大小相等的9个区域,分别记为Vi,i=0,1,…,8。中心区域V0像素灰度最大值经式(2)计算得出:
(2)
而每个区域的灰度平均值可由式(3)求出:
(3)
与中心区域相邻的8个区域的中值可以用下式计算:
i=1,2,…,8)
(4)
不同于LCM算法,是用中心区域的像素最大灰度值的平方与周围八个区域最大平均强度的比值来计算图像的局部对比度,本文我们利用邻域的中值进行对比。这样做的好处是避免了高亮度噪声点也被加权,从而被误判为目标点的情况,即减少了由高亮度孤立噪声点引起的虚警。因此,本文定义新的中心像素块与周围像素的局部对比度为:
(5)
为了进一步增强目标,抑制背景,提高检测率,引入了区域灰度均值差的计算。若中心区域与周围邻域灰度均值差越小则越相似,即中心区域为目标的可能性越小,反之区域灰度均值差越大,中心区域与周围邻域越不相似,即中心区域为目标的可能性越大。因此,本文将中心区域与邻域的灰度均值差Dn作为局部对比度的权值,计算如下:
(6)
式中,mi由公式(3)计算可得,在这里表示周围八个邻域各自的平均灰度值。
综上所述,可以得到用区域灰度均值差加权的局部对比度公式:
SWLCM=Dn*Cn
(7)
从最终计算公式可以看出:若中心块为目标,则与周围邻域不相似,即Dn偏大,分配了较大的权值,SWLCM值增大;若中心块为背景,则与周围邻域相似,即Dn偏小,分配了较小的权值,SWLCM值偏小。进一步地突出了目标点,使其易于检测出来。本文将图像中每个像素点的灰度值替换成相应的SWLCM值,生成显著图S。
图3是经本文算法处理前后各区域的对比图。图3(a)为原始红外图像,小方框分别标记了目标区域1、高亮噪声区域2和云层边缘背景区域3,大方框是对应的放大图。图3(b)为生成的显著图S,小方框标记代表运算处理后目标、噪声、背景区域。通过对比可知,经本文算法处理后的目标区域1强度被增强,噪声区域2和背景区域3强度被抑制。
图3 各区域的检测对比图
对生成的显著图S做自适应阈值分割,进一步抑制非目标像素点,提取目标。分割门限定义如下:
Th=μs+kσs
(8)
式中,μs表示经过SWLCM运算后生成显著图的均值;σs表示显著图S的标准方差;k是自适应调节因子,根据各类实验统计分析,一般取值范围为2~5。当SWLCM值大于阈值Th时,则该像素标记为红外小目标,反之标记为背景杂波。经过阈值分割,很容易检测出目标。
为了评价本文算法在小目标检测上面的性能好坏,将本文算法与Top-Hat算法[3]、Max-Median算法[4]、LCM算法[7]、MPCM算法[10]进行性能的对比分析。第一组实验对比主要是通过计算在不同场景下各种算法处理后的信噪比增益和背景抑制因子,定量分析其背景抑制性能的好坏;第二组实验对比是通过计算不同算法处理后的检测率和虚警率,进一步验证本算法的有效性。所有的实验程序都是由MATLAB R2016a软件编译,运行在英特尔i7 2.7GHz处理器和4GB内存的计算机上的。
本组实验采用了图4中三组不同场景的红外图像进行测试。场景一和场景二都是飞行器在多云的天气下飞行,图片的分辨率都为460×620,不同的是场景一的目标几乎完全被淹没在厚厚的云层里,而场景二的目标处于天空背景与云层的交界处;场景三是舰船在水波杂乱的海面上行驶,噪声较强,图片的分辨率为216×300。这三个场景共同的特点是背景复杂,杂波较强,目标与背景的对比度低。图4和图5中的方框标记代表目标区域。图4为不同场景的红外图像经不同算法处理前后的目标显著图。
图4 不同算法处理后的目标显著图
图4(b)传统的Top-Hat方法和图4(e)MPCM方法对天空背景有很好的抑制效果,但对海面背景的抑制效果差强人意;而图4(d)LCM方法对目标的突出和背景的抑制都不够强;图4(c)Max-Median方法处理效果最不理想,滤波后背景杂波没有很好地抑制;从图4(f)可以清晰地看出,经本文算法处理后的目标显著图,在不同的场景下都有着良好的抑制性能,能充分抑制背景杂波和边缘杂波干扰。
图5为不同场景的红外图像经不同算法处理前后的三维响应图。图5(a)为原图的三维响应图,可以看到场景一中云层成片凸起,强度和目标点强度相差无几,目标淹没在云层里难以分辨;场景二中目标强度小于周边云层强度,且处于云层边缘处;场景三中背景杂波非常多,周边很多杂波强度都高于目标强度,肉眼很难分辨目标区域的位置。图5(b)为传统的Top-Hat方法处理的三维图,对于云层背景能有效增强目标强度,突出目标区域,但是对海平面背景的处理效果较差,仍然存在大量的杂波。图5(c)Max-Median方法处理效果较差,三个背景的目标区域突出都不明显。图5(d)LCM方法处理效果比Max-Median方法好,尤其是场景二云层边缘背景,目标强度明显高于周围背景强度。图5(e)MPCM方法对每个场景的处理效果都很好,目标区域突出,背景杂波也大部分被抑制,但海平面背景仍然有较高的噪声点,比目标区域的强度高,容易引入伪目标,造成误判;从图5(f)可以清晰地看出,经本文算法处理后的三维图,无论是在目标的增强还是背景的抑制上,都要优于其他对比方法,而且在不同场景下的应用都能得到不错的效果。因此,文中算法能够有效的抑制背景杂波,增强目标强度,从而突出目标区域。
图5 不同算法处理后的三维响应图
为了证明该算法的有效性,本文用局部信躁比(LSNR)和信噪比增益[13](GSNR),以及背景抑制因子[14](BSF)三个指标来定量分析。该指标的定义如下所示:
(9)
式中,Imax表示红外小目标所在区域像素灰度的最大值;μb和σb分别为目标某一尺度邻域内像素灰度的均值和标准差;SNRin和SNRout分别为原始图像和算法处理后的信噪比;σin和σout分别为原始红外图像和算法处理后全局图像的灰度标准差。根据式(9)可知,LSNR越大,目标的信躁比越高,目标越容易检测。GSNR越大,算法抑制背景杂波、增强目标的能力越强,即算法的性能越好。BSF越大,表明背景抑制的效果越好。因此,较强的目标增强能力和良好的背景抑制能力是进行目标分割的关键。
实验结果如表1所示,针对不同的复杂背景图像,各算法都能不同程度的提升目标LSNR值。对于场景一云层淹没背景,原图的LSNR值只有1.7065 dB,经对比方法处理后的LSNR值上升不明显,GSNR值和BSF值都较小;但经本文算法处理后显著图的LSNR值达到了23.0208 dB、GSNR值达到了13.49 dB以及BSF值达到了31.82117,每个值都是对比方法中最大的。对于场景二云层边缘背景也同理可见,经本文算法处理后的LSNR值增长的最高,比原图的局部信噪比高出了22.5821 dB,而且BSF值高达64.7802 dB,说明背景抑制能力较强;对于含有较多背景杂波和噪声的场景三海平面高噪声图,对比效果尤为明显,经本文算法处理后的GSNR值达到了7.3 dB,LSNR值也从原先的3.3021 dB上升到24.1824,比其他方法高出了近6倍多。因此说明本文算法能有效抑制背景杂波,增强弱小目标,有利于后续的阈值分割操作。
表1 各算法在不同场景下的SNR、GSNR和BSF(单位:dB)
此次实验本文另外选择了三组红外图像序列做测试,分别为天空复杂背景图像序列1(分辨率为200×256)和图像序列2(分辨率为400×640)、海平面高噪声图像序列3(分辨率为320×196)。图6为不同算法的检测结果图,图6(a)是原始图像序列随机抽取的一帧,方框标记代表真实目标,椭圆形标记代表伪目标。从结果图6来看,对于复杂的天空背景序列图像1,由于小目标处于云层边缘且亮度与云层边缘类似,目标与背景的对比度较低,图6(b)Top-Hat和图6(e)MPCM算法都产生了大量的虚警点;对于复杂天空背景序列图像2,小目标被淹没在厚重的云海里,背景干扰严重,图6(b)Top-Hat和图7(c)Max-Median算法处理后图像出现了大片的虚警连通域;对于高噪声的海平面序列图像3,目标处于海天交际的位置,存在大量的背景杂波,除了本文算法,其他4种算法检测结果都出现了虚警。综上所述,本文算法在不同背景下的目标检测中,均能达到较好的检测效果。
图6 不同算法的检测结果图
本文采用检测率(Pd)和虚警率(Pf)两个指标来比较5种算法的检测性能。Pd和Pf的定义如下:
(10)
式中,Nd为正确检测出的小目标个数;Nt为真实小目标的数量总和;Nf为误检的小目标个数;M为图像序列的总帧数。
通过分析表2的检测率和虚警率可得:对于云层边缘干扰严重的序列1图像,除了Max-Median方法检测率只达到了33.3 %,其他四种方法的检测率都超过了90 %,且本文算法检测率达到了100 %,与此同时,LCM方法和本文算法都未产生虚警点;对于云层厚重淹没小目标的序列2图像,Top-Hat方法检测率最高,本文算法其次,检测率也达到了98.9 %,并且虚警率最低。对于具有强杂波和噪声的海面序列3图像,由于目标强度突出,因而每种方法的检测率都很高,但是由于它的海面杂波较高,导致LCM、MPCM方法的虚警率也增加了,只有Max-Median方法和本文算法有较低的虚警率。综上说明本文算法在不同复杂背景下的检测性能都比较稳定。
表2 各算法在不同图像序列中的检测率和虚警率
本文提出的空域加权的局部对比度红外小目标检测方法,利用目标均值与邻域中值的比值进行局部对比度测量,再利用红外图像的空间特性,计算目标与其八邻域的灰度均值差的平均值,以此对局部对比度作加权运算。经各种实验对比,本文算法能够显著提高图像的信噪比,对背景杂波与噪声的抑制效果较好,且能够有效地增强目标显著性,具有较高的检测率和较低虚警率。虽然多组对比实验表明该算法有着良好的性能效果,但是仍存在很多不足之处需要改进,如计算时间上可以做进一步的优化,以提高检测的实时性。