薛锡瑞,黄树彩,马佳顺,李 宁
(空军工程大学,陕西 西安 710051)
红外弱小目标检测一直以来是红外图像处理领域中的热点和难点[1-2],其技术研究对军事预警、模式识别、图像处理等领域具有重要意义。由于实际场景下,红外目标的探测距离较远,红外信号传播过程中受空气削弱严重,导致其通常以高斯分布的点目标形式存在,且自身不具有显著形状和纹理信息。在复杂背景下红外小目标又常被噪声和杂波淹没,导致含有小目标的红外图像信噪比很低,这对检测技术的有效性提出了更大的挑战。当前红外小目标的检测技术可以分为两大类别:基于单帧空域图像的检测方法和基于时域序列图像的检测方法。基于时域序列图像的检测方法需要更多的先验信息并且通常需要借助于单帧空域检测方法[3],因此对单帧空域图像检测的研究更具一般意义。传统单帧空域检测常采用背景抑制滤波算法,如最大均值滤波[4]、高通滤波[5]、中值滤波[6]、Top-hat 滤波[7]等。这些滤波算法在目标信噪比较高时对背景具有较好的抑制效果,但在目标亮度较背景峰值亮度低时,会导致虚警率较高,检测性能变差。
近年来,低秩矩阵恢复(low-rank matrix recovery,LRMR)算法逐渐发展成熟,开始有学者将其应用到目标检测领域中。由于算法对含野点和稀疏噪声大的数据更加鲁棒[8],因此取得了较好的检测效果。低秩矩阵恢复作为一类算法提出之始,主要用于视频背景建模,其基本算法主要包括低秩表示(low-rank representation,LRR)、鲁棒主成分分析(robust PCA,RPCA)和矩阵补全[9](matrix completion,MC)。文献[10]评估了3 种LAMR 算法在交通视频背景重建中的性能,表明RPCA 算法性能要优于LRR 以及MC算法。文献[11]利用RPCA 算法实现了从视频序列中分离前景物体和背景模型,并通过引入线性时间奇异值分解算法,减少了常见RPCA 算法的运行时间。针对RPCA 算法不能应用于单帧红外图像,文献[12]在图像非局部自相似特性[13]的基础上提出了先将红外图像分割转化为低秩块图像进行重新排列后,再运用RPCA方法分离稀疏小目标的APG-RPCA(accelerated proximal gradient-robust principal component analysis)算法。为处理背景更为复杂的红外图像,文献[14]提出先利用RPCA 对图片进行阈值分割,剔除背景云层边缘杂波后再利用基于统计的多点恒虚警进行精检测的方法。为使图像背景更具低秩特性,文献[15]在应用RPCA 算法前先采用Butterworth 高通滤波对图像进行背景抑制,使RPCA算法适用于更复杂的场景。
上述红外图像RPCA 算法应用中,利用其他背景抑制算法解决RPCA算法在复杂背景下效果较差的问题,没有考虑到原始单帧图像分块预处理本身对背景低秩性的影响。本文针对上述问题,提出了以分块窗口最小局部熵为参照依据的图像背景自适应选择预处理方案的RPCA 红外小目标检测方法,通过仿真实验验证了所提方法的有效性。
鲁棒主成分分分析作为低秩矩阵恢复算法的一种,最早由Wright 等[16]提出。算法将低秩或近似低秩的图像矩阵D∈Rm×n,分解为低秩矩阵分量B∈Rm×n和稀疏矩阵分量T∈Rm×n,而小目标检测任务实质是分离得到稀疏分量T的过程。
Candes 等[17]证明,在矩阵低秩约束的条件下,当矩阵D的元素个数m≥Cn6/5rlogn时,矩阵低秩分量恢复问题可以转化为凸优化问题,其中C为一正常数,r为矩阵的秩。该凸优化问题表示形式如下:
式中:||T||0表示求矩阵T的0 范数,λ通常为一个大于0 的常数,通常取
由于式(2)是一个NP-hard 问题,求解时需将目标函数进行松弛。由于矩阵秩的包络是核范数,矩阵0范数的凸包是矩阵(1,1)范数,故上述目标函数可以松弛如下。
单帧红外图像往往低秩特性较弱,无法直接应用RPCA 算法。因此采用如图1所示处理方法。
图1 单帧红外图像RPCA 算法处理流程Fig.1 Processing flow of single frame infrared image using RPCA algorithm
首先,确定分块窗口和滑动步长,将原始红外图像分块,向量化后重组形成红外块图像,所获红外块图像可满足背景低秩性和目标稀疏性要求,即可利用RPCA 算法分离目标和背景,再对所得分离图像重建获得目标和背景分离图像。
求解(3)式的常用算法有加速近端梯度算法(accelerated proximal gradient,APG)、精确拉格朗日乘子法(exact augmented Lagrange multipliers,EALM)、不精确拉格朗日乘子法(inexact augmented Lagrange multipliers,IALM)等[18]。本文采用收敛性较好的APG 算法作为RPCA 具体执行算法。
APG 算法将式(3)的等式约束松弛到目标函数中,得到如下拉格朗日函数:
求解式(4)的迭代步骤如下:
APG-RPCA 算法
输入:观测矩阵D,参数λ、η、
初始化:k=0、YB0、YT0、B0、T0、t0、μ0
执行下列迭代过程,直到算法收敛:
输出:(Bk,Tk)
式中:Sε(Q)的第(i,j)元素为其中参数ε>0;Dε(Q)=USε(Σ)VT,UΣVT为矩阵Q的奇异值分解。
在预处理形成的块图像中应用RPCA 算法后,由于原始图像的每个像素点可能与几个分块相关,故需要对处理后图像进行重构。根据文献[12],选择1D滤波器重构分离图像像素。其定义如下:
式中:v∈R为重构后像素灰度值,x∈Rp为与v相关的p块分块灰度值。f可选择median(·)、mean(·)、max(·)、min(·)等。
选择40×40 大小分块窗口,确定滑动步长为8,按由左至右,由上到下的顺序对以下3 幅200×200不同背景红外图像分块重组为块图像后,进行奇异值分解,图像奇异值计算结果如图2(d)所示。
由图2(d)可知,进行相同预处理后,红外块图像D均可表现有低秩特性,即rank(D)≤r,但具有与复杂背景的红外图像得到块图像D的低秩特性更差,即rcomplex>runiform。
图2 不同背景图像及其块图像奇异值Fig.2 Different background images and their block image singular value
以像素点为中心的窗口邻域内,除了中心像素可能与其周围像素相似外,处于不同位置的图像子块也会表现出很强的结构特征相似性,图像的这种特殊性质被称为非局部相似性[19]。图像的非局部相似性表明,预处理后块图像的低秩特性不仅取决于原始图像背景的复杂程度,而且与选择的分块窗口大小和滑动步长有关。
选择20×20 窗口,分别选取步长4、6、9、12、18 对图2(c)预处理后得到块图像奇异值如图3。选择步长4,分别选取10×10、20×20、30×30、40×40、50×50 窗口对图2(c)处理后得到块图像奇异值如图4。
图3 步长影响分析Fig.3 Step length influence analysis
图4 窗口影响分析Fig.4 Window size influence analysis
综合上述分析,根据背景的不同复杂程度选择不同分块窗口和滑动步长,使预处理后的块图像D 更好的满足背景低秩性、目标稀疏性的要求,可使RPCA算法获得更好的效果。文献[12]对窗口和步长的选择问题进行了初步讨论,但其方法是对不同窗口和步长遍历应用RPCA 算法后得出的初步定性分析结果。而在单帧红外图像RPCA 算法的应用中,RPCA 算法收敛和图像重构所用时间较长,在初次获得红外图像且缺少外部先验信息的情况下,很难找到最佳的窗口和步长。
局部熵反映了图像中局部区域灰度变化的剧烈程度,红外小目标检测的背景环境通常是天空背景或海天背景等自然环境。背景环境灰度值通常是缓变的,而红外小目标却具有不同于缓变背景的突变灰度值,因此其局部熵往往不同于背景。
设单帧红外图像尺寸为M×N,由第k个分块窗口确定的子域尺寸为m×n,则该窗口内区域的图像局部熵为:
式中:
式中:H(k)表示第k个分块窗口确定的子域局部熵;f(i,j)表示图像中点(i,j)处灰度。
为消除窗口尺寸影响,一般需将局部熵归一化处理。设归一化局部熵为Hn(k):
局部熵属于信息熵的一种,红外图像某子域灰度对比度越明显,离散程度越大则该子域所含信息量越大,局部熵则越小。局部熵的大小与图像灰度的均值无关[20],且由于局部熵是窗口内多像素点的共同贡献,局部熵对高斯噪声等随机特性大的噪声不敏感。在局部熵大的地方,图像灰度均匀,可能目标点更为稀疏,在RPAC 预处理得到的块图像具有更强的低秩特性,真实目标点检测效果更为理想[21];局部熵小的地方,图像灰度离散性较大,在图像预处理后的RPAC检测过程中,将背景突变高亮点或背景物体相接边缘误认为目标点的可能性增大。
2.2.1 分块窗口选择
为保证分块的最大稀疏性,应将分块最小局部熵min(Hn(k))的较大值作为选择分块窗口的依据,按照从20×20 至80×80 不同分块窗口,分别选取步长4、6、8、10、12、14,对图2(c)计算分块最小局部熵如图5所示。
图5 最小局部熵随窗口变化Fig.5 Minimum local entropy change with window size
由局部熵定义分析可知,图5曲线变化趋势具有一般性,为保证分块内的稀疏性和分块间的非局部相似性,选择最小局部熵的较大值点,即最小局部熵不再随窗口明显增加的拐点作为分块窗口,可保证分块图像局部熵普遍较大,低秩特性更好。
2.2.2 滑动步长选择
由文献[12]可知,对于常选用的1D 中值滤波器而言,越小的滑动步长对红外小目标的RPCA 效果越好,但相对而言,一定范围内步长选择对结果影响较小。为保证分块窗口滑动时对图像全覆盖,根据原始图像大小M×N,选择分块窗口大小m×n后,由下式确定滑动步长:
式中:g(x)表示x的约数;δr表示行步长,即图像由左至右的步长;δc表示列步长,即由上到下的步长。a、b表示最小步长阈值。
为验证本文提出的局部熵参考选择分块窗口及滑动步长的有效性,选取3 种不同背景(少云、中云、多云)的含红外小目标图像进行实验,图像大小均为128×128,并将本文提出的方法与 Tophat、Max Median 滤波算法和随机选择窗口和步长的RPCA 算法的检测结果进行比较。APG-RPCA 算法参数设置为:η=0.8、t0=1、μ0=s2、=0.05s4,s2、s4分别是D的第二大和第四大奇异值,YB0,YT0,B0,T0均为0 矩阵。最小步长阈值a=b=4 选择median(·)作为1D滤波器进行重构。在一般背景抑制算法中,Tophat 算法窗口设置为2×2,Max Median 算法窗口设置为5×5。用来实验的测试图像为天云和空天背景,图6(a)含云量较少,目标处于天空背景下,图6(b)云层分布不均匀,且两目标相隔距离较近,图6(c)目标被云层有所遮挡,且左下方云层亮度比目标高。
选择信杂比增益(signal-to-clutter ratio gain,SCRG)和背景抑制因子(background suppression factor,BSF)作为预处理后应用RPCA 算法效果评估指标[22],定义如下:
式中:S是目标平均灰度值;C为图像噪声标准差,C∈[0,1]。(·)in表示输入图像的参数;(·)out表示输出图像的参数。
图7为针对图6中3 种不同背景图像分别采用最大中值滤波和Tophat 滤波的目标检测效果。对两种算法的检测效果评估对比呈现在表1中,可以看出,最大中值滤波对背景的抑制更充分,检测效果整体优于Tophat 滤波。图8为随机选择以40×40 为窗口大小,以4 为步长进行RPCA 算法检测的效果,而图9是根据局部熵随窗口变化曲线分别选择图6(a)的预处理方法(20×20,4),图6(b)的预处理方法(16×16,4),图6(c)的预处理方法(24×24,4)进行RPCA算法检测的效果。表2展示了不同预处理方法下的RPCA算法检测效果评估值。
图6 原始红外图像Fig.6 Original infrared image
图7 背景抑制算法检测结果Fig.7 Background suppression algorithm detection results
图8 随机选择(40×40,4)预处理RPCA 检测结果Fig.8 Random selection(40×40,4) preprocessed RPCA image detection results
图9 局部熵参考RPCA 检测结果Fig.9 Local entropy reference RPCA detection result
表1 背景抑制算法检测结果Table 1 Background suppression algorithm detection results
表2 不同预处理RPCA 检测结果Table 2 RPCA detection results of different pretreatments
实验结果表明,单帧图像的RPCA 算法在抑制背景、突出目标方面的效果优于一般背景抑制算法,且在图像边缘部分作用效果更好。由表2可知,在缺少RPCA 算法应用经验时,本文所提出的依据局部熵参考选择分块窗口和滑动步长的方法,虽不能保证每次结果最优,但能在很大程度上优于随机选取或固定选取窗口和步长的预处理效果。
本文提出了一种以局部熵参考选择分块窗口和滑动步长,利用RPCA 算法进行单帧红外图像小目标检测的方法。利用局部熵反映分块的稀疏特性,以此确定分块窗口大小,可对单帧红外图像的RPCA 算法预处理过程提供有效指导。该方法对不同背景复杂度的红外图像选择不同预处理过程,使单帧图像RPCA算法更适应复杂背景的情况。仿真实验结果验证了所提出方法的有效性。但该方法不能保证每次应用都能选到最优窗口和步长,且由表3各算法的运行时长可知,方法仍未能改变RPCA 算法运行时间长的缺陷,不能满足实时性要求。
表3 各算法检测时间Table 3 Detection time of each algorithm s