赵鹏鹏,李庶中,李 迅,罗 军,常 凯
(1.海军研究院, 北京100036;2.北方电子设备研究所, 北京 100036)
光学图像目标检测是利用某种技术或方法在整幅图像中搜索寻找并提取感兴趣目标的过程,长期以来红外弱小目标的检测都是国内外研究的热点问题[1-5]。国内外很多学者将红外弱小目标定义为红外图像中所占像素数不超过总像素数0.15%且信噪比较低、亮度较弱的目标[6-7]。复杂环境下红外弱小目标的灰度值不一定是最高的,但通常会在一定层度上高于其局部背景。红外弱小目标的尺寸较小、能量较弱,且缺乏有效的形状和纹理特征,因而复杂背景下红外弱小目标的快速准确检测仍然是一个具有挑战性的技术难题。传统红外弱小目标检测方法主要分为可先检测后跟踪[8-9](Detect Before Track,DBT)和先跟踪后检测[10-12](Track Before Detect,TBD)两类。DBT 类检测算法的具体执行过程是先在一幅图像中进行单帧检测,再在连续的多帧图像中进行确认,其中第一步的单帧检测是DBT类检测算法的关键,直接决定着目标检测的正确与否。常用的单帧检测方法主要包括阈值分割方法、背景抑制方法、基于形态学滤波器的方法、基于小波变换的方法、基于高阶统计量的方法等。TBD类检测方法是首先求出由各时刻扫描点组成的所有路径,将每条路径的回波幅度值相加,累加值超过设定阈值的路径即为目标的真实路径。典型的TBD 方法主要包括动态规划算法、三维匹配滤波器法、多级假设检验方法、基于粒子滤波的方法等。
受人眼视觉系统的启发,基于视觉显著性的目标检测算法成为近年来研究的热点问题[13-16]。ITTI等学者于1998年最先提出基于Center-Surround的显著性检测算法[17],不久之后,学者Philip等提出了一种基于局部对比度(Local Contrast Measure, LCM)的红外弱小目标检测算法[18]。然而,该算法是一种像素级别的操作,而且需要对全图像进行遍历计算,算法的计算量较大,实时性较差。此外,算法利用LCM在增强弱小目标的同时,也增强了图像的像素尺度亮噪声,这就增加了目标检测的虚警率。针对以上问题,本文提出了一种融合视觉显著性和局部熵的红外弱小目标检测方法。首先利用局部熵提取感兴趣区域,对红外弱小目标进行初步定位;然后再利用改进的视觉显著性检测方法在感兴趣区域计算局部对比度,获得感兴趣区域的显著图;最后利用阈值法分割显著图像提取红外弱小目标。与传统的LCM方法相比,本文提出的方法在提高目标检测速率的同时,降低了检测虚警率。
LCM算法是针对红外弱小目标的检测问题,学者Philip等提出的一种局部对比度计算方法。假设f表示一幅含有弱小目标红外图像,u表示图像中的目标区域,v是可以在图像中移动的窗口,滑动窗口v的高度和宽度都设为u尺寸的3倍,u和v之间的区域就代表目标u的局部背景区域。利用滑动窗口法逐像素移动窗口v,就可以在图像中截取到不同的图像块。针对每个图像块,将其分成9个子图像块,中心图像块编号为“0”,其余按照从左至右、 从上至下分别编号“1”~“8”。除编号为“0”的中心子图像块以外,周围相邻的8个子图像块的灰度均值分别表示为:
i={1,2,···,8},表示第i个子图像块中第j个像素点的灰度值,Nu表示该图像块的像素数量。将中心子图像块与邻域其他子图像块的对比度定义为:
式中,Ln表示中心子图像块中的最大灰度值。定义中心图像块的的局部对比度C为:
计算出C后,将第n个图像块的中心像素点的灰度值用C来代替,重复这个过程,直到遍历整幅图像,便能得到原图像对应的显著图S,然后再利用阈值法分割显著图像获取红外弱小目标。
LCM增强了红外弱小目标,提高了图像的信噪比,基于LCM的检测算法取得了较好的弱小目标检测效果。然而LCM的计算在增强弱小目标的同时,也同时增强了图像的像素尺度亮噪声,增加了目标检测的虚警率。针对这种情况,本文提出一种改进的弱小目标显著性检测方法。整个方法可以分为图像预处理、显著图像计算以及目标检测3个步骤。
STEP1:图像预处理
红外弱小目标的尺寸通常不超过个9×9个像素,而像素尺度亮噪声的能量往往只集中在单个像素上,为了抑制像素尺度亮噪声对目标检测影响,需对图像进行预处理。利用一个小于的9×9窗口在原始图像中按照一定的步长(步长小于窗口尺寸)从左至右,从上之下依次滑动,得到一系列子图像块subp,q,然后将子图像块的整体灰度值设置为:
式中,(i,j)表示子图像块subp,q中的像素点,m×n表示的子图像块的尺寸大小,gray(i,j)表示像素点(i,j)的灰度值。式(4)的含义为:将子图像块的灰度值设置为其内部像素点的灰度均值。然后将得到的一系列子图像块按照原来的顺序重新组合成一个新的矩阵W,其内部元素定义为:
式中,p={1,2,···,M},q={1,2,···,N},M×N表示矩阵W中的元素总数。通过设定适当的窗口尺寸和移动步长,矩阵W中的元素数目M×N会远小于原始红外图像中的像素数,因而目标检测的速度可以在一定程度上得到提高。最重要的是,通过对原图像进行预处理能够抑制图像的PNHB噪声,降低目标检测的虚警率,将在下一部分对此进行分析。
STEP2:显著图的计算类似 LCM 算法,仍然在图像中设置一个的滑动窗口,并使滑动窗的中心为预处理得到的子图像块subp,q,然后将滑动窗所截取的图像划分为9个子图像块,其中子块subp,q编号为“0”,其余周边子块的编号分别为“1”~“8”。子块subp,q的灰度均值gray(subp,q)已经在第一步计算得到,然后分别计算子块“1”~“8”的灰度均值:
式中,h={1,2,···,8},gray(h)表示第h个子块的灰度均值,(i,j)表示第h个子图像块中的像素点,m×n表示子块中的像素点数。与LCM算法不同,将subp,q子图像块与第i个子块的对比度重新定义为:
式中,Ln仍然表示subp,q子图像块中的灰度最大值。计算出Cn后,利用Cn替换预处理矩阵M中整个子块subp,q的像素灰度,而不是像LCM算法那样只替换子块的中心像素的灰度值。然后将矩阵M中的子块都进行以上处理,就可以得到原图像的显著图SW。
STEP3:目标检测
针对上一步计算得到的显著图像SW,利用阈值法进行自适应阈值分割,可得到二值化的显著图像BSW,其中分割阈值Th的计算方法为:
式中,uSW和σSW分别表示显著图像SW的均值和方差,k为经验系数,通常取10<k<15。
改进的弱小目标显著性检测方法,用图像块的计算代替LCM算法中的像素计算,减小了PNHB对目标检测的影响,降低了检测的虚警率。然而该方法与LCM算法搜索目标的方式相同,仍然是利用滑动窗口法在全图像范围内进行目标搜索工作,在整幅图像中进行多尺度局部对比度计算将会耗费大量时间,影响红外弱小目标检测的实时性。
为了提高弱小目标检测算法的实时性,降低虚警率,本文提出一种融合视觉显著性和局部熵的红外弱小目标检测方法,先利用局部熵对目标区域进行粗定位,得到一个含有目标的感兴趣区域,然后利用改进的显著性检测方法在感兴趣区域内检测出弱小目标。该算法将目标的全局搜索工作转变为只在感兴趣区域进行目标检测,大大提高了显著性检测算法的效率,适用于红外弱小目标的快速检测。
图像的本质就是一种图形化的二维信号,对于图像的熵,一般认为其含义是图像在灰度空域分布状态的不确定性度量。针对一幅M×N大小的图像f,设f(i,j)为图像中点(i,j)处的灰度值,图像f的熵定义为[19]:
式中,M×N为图像的总像素数,P(i,j)表示灰度值为f(i,j)的像素点在图像总像素点中所占的比例,具体可表示为:
式中,Xi,j表示图像中灰度值为f(i,j)的像素点的个数。由于式(9)关于图像的熵Hf的计算涉及到对数运算,计算量较大,不利于实时性的实现,可以采用泰勒级数将对数项展开,并舍弃高阶项,最终得 到图像熵Hf的近似表达式:
若取M×N为整幅图像的某一局部区域,那么利用式(11)计算出的熵值Hf就为图像在这一局部区域的局部熵。由红外弱小目标的特性可知,目标的尺寸比较小,能量也比较弱,在整幅图像内很可能不是灰度取值最大的点,而仅仅是其局部区域的灰度最大值。因而计算图像熵值时,弱小目标对于整幅图像熵值的贡献较小,仅利用熵很难判断图像中是否存在红外弱小目标;然而在图像的一个局部区域内,目标的能量却很容易引起局部区域熵值的较大变化。弱小目标周围的背景区域由于具有较平稳的纹理分布特征,局部熵值较大,而对于弱小目标区域,由于灰度起伏大,其熵值较小。因此,可以根据该特性对弱小目标进行粗略定位。将含有目标的局部区域称为感兴趣区域,则利用局部熵提取感兴趣区域的过程可以总结为3个步骤:
(1)将一幅大小为M×N的图像f划分成l个大小为m×n的局部区域{si},其中i={1,2,···,l},l=(M×N)/(m×n);
(2)针对每一个局部区域,分别计算其局部熵值Hi,并在整个图像中搜索局部熵值的最大值Hmax和最小值Hmin;
(3)根据Hmax和Hmin设置分割阈值Th,然后判断局部熵值Hi小于阈值Th的局部区域即为弱小目标存在的区域,其中Th的计算方法为
式(12)中,k'为常数,针对红外图像中的弱小目标检 测问题,一般取3<k′<5。
综上所述,为了提高复杂背景下红外弱小目标检测算法实时性与抗干扰性,受LCM显著性检测算法的启发,本文提出融合视觉显著性和局部熵的红外弱小目标检测算法。算法的流程如图1所示。算法先利用局部熵对感兴趣区域进行粗略定位;然后利用改进的显著性检测方法计算感兴趣区域的显著性图像;最后利用阈值法对显著性图像进行自适应阈值分割,从而在实现红外弱小目标的精确检测。
图1 视觉显著性和局部熵结合的弱小目标检测流程Fig.1 Block diagram of target detection algorithm combining visual salient and local entropy
本文实验在(CPU@ 2.0 GHz,内存4 G,Win7操作系统)的PC机上,利用Matlab2011b开发工具进行实施。在局部熵粗略定位目标的过程中,将整个图像划分成4×4个尺寸相同的局部区域,进行局部熵计算并提取感兴趣区域,式(12)中的系数k'设置为4;在利用改进显著性算法精确检测目标的过程中,图像子块的像素尺寸设置为8×8,移动步长设置为4,式(8)中的k设置为15。利用检测率(Correct Percentage,CP)与虚警率(False Alarm,FA)来评价目标检测算法的性能,分别定义为:
本文设定,假若目标的真实位置和检测出来的目标位置相差在一定范围内(3 个像素)则称目标被正确检测到。
为验证本文算法的有效性,采用4组分辨率为128×128的红外弱小目标图像进行实验,图2为本文算法对4组红外图像进行弱小目标检测的实验结果。图2(a)为原始红外图像,其中第1幅为天地交界线处的目标,第2幅为空中目标,后两幅为复杂背景下的地面目标;图2(b)为利用局部熵方法提取的感兴趣区域,即实现了对小目标存在区域的粗略定位;图2(c)为局部区域的显著性图像,从显著性图像可以看出,弱小目标明显被加强,而背景相对被抑制,红外弱小目标的显著度较高;图2(d)为利用阈值法分割红外弱小目标呈现出的二值图像,实现了红外弱小目标的检测,从图2(d)可以看出,本文方法将红外图像中的弱小目标全部检测出来,无一漏检而且也不存在虚警。因此,实验表明本文方法能够在低信噪比的 条件下,有效检测红外弱小目标。
图2 本文算法红外弱小目标检测实验结果Fig.2 IR small target detection results using the proposed algorithm
为了进一步衡量本文所提算法的检测性能,将本文算法与TOPHAT检测算法及基于LCM的检测算法进行了对比试验。实验采用4组分辨率为128×128的红外图像进行测试,其中第1幅为天地交界处的目标,第2幅为复杂背景下的地面目标,后两幅分别为在前两幅图像的基础上添加均值为0、方差为0.005的高斯噪声形成的低信噪比图像。
图3(b)为TOPHAT算法的检测结果;图3(c)为LCM算法的检测结果;图3(d)为本文算法的检测结果。检测结果中,正确检测到的目标在图像中用黑色方框标注,虚警目标在图像中用黑色圆形标注。从检测结果可以看出,由于第1幅图像的信噪比较高,3种检测算法都无虚警地准确检测到了红外弱小目标;第2幅图像的信噪比较低,3种算法虽然都能正确地检测到弱小目标,但TOPHAT算法已经出现了虚警;第3幅图像和第4幅图像的信噪比都非常低,目标几乎淹没在噪声之中,TOPHAT算法和LCM算法在检测弱小目标的同时,都出现了虚警点,而且TOPHAT算法仅在第4幅图像中正确检测到了弱小目标;本文算法在低信噪比的后两幅图像中仍然无虚警地检测出了红外弱小目标。实验结果表明,本文方法在检测性能上优于TOPHAT检测方法与基于LCM的弱小目标检测方法,虚警率分别比TOPHAT算法以及LCM算法下降62.5%和33.3%。表1为3种算法对以上4组图像进行红外弱小目标检测的平均运行时间。从表中可以看出,本文方法的检测速率仅次于TOPHAT算法,而相比LCM检测算法有较大程度的提高,耗时从1.419 3 s提升到0.548 1 s,降低为原来的38.6%。
图3 3种目标检测算法对比实验结果Fig.3 Contrast experiment results with three different target detection algorithms
表1 3种目标检测算法运行时间对比Tab.1 Computational cost comparison among three target detection algorithms
本文针对红外弱小目标检测问题,提出了融合视觉显著性和局部熵的红外弱小目标检测方法。该方法将整个目标检测方案分为“由粗到细”两步来实现:先利用局部熵对目标存在的局部区域进行粗略定位;然后利用改进的显著性检测方法对感兴趣区域的显著图进行计算,再利用阈值法对感兴趣区域的显著图像进行自适应阈值分割,从而在感兴趣区域内精确捕获红外弱小目标。为了验证本文算法的检测性能和效率,利用含有红外弱小目标的图像进行了实验,并与其他检测方法进行了对比。实验结果表明:本文提出的方法能够在低信噪比的条件下,实现对红外弱小目标的有效检测,而且本文方法的检测性能优于TOPHAT算法以及LCM检测算法,虚警率分别下降62.5%和33.3%;检测实时性方面算法耗时降低为LCM的38.6%,在一定程度上解决了红外弱小目标检测虚警率高、实时性差的问题。