朱硕雅,杨德振,贾 鹏,李江勇,柴 欣
(华北光电技术研究所,北京 100015)
随着红外成像技术的发展,红外小目标检测技术在现代战争中的作用愈发重要。在远距离成像的情况下,红外目标主要表现为对比度低的点状目标,且红外图像中存在强杂波干扰,背景比较复杂,使得目标检测难度较大[1]。
针对传统检测方法如中值滤波,形态学滤波,小波变换等方法在图像信噪比较高的情况下对检测效果较高,但随着信噪比的降低检测效果迅速下降,本文提出了一种时空联合检测的小目标检测方法,首先为了提高局部对比度的检测效果,使用了高斯滤波对检测窗口进行优化,并与梯度特征相结合实现空域检测;然后检测采用了局部对比度的思路对帧差法进行了改进,有效地抑制了背景杂波,实现时域检测;最后将时域空余检测结果相融合,完成目标检测,并将该方法移植到以FPGA为核心的硬件平台,验证其对实时图像的检测效果。试验结果证明,该方法能够完成在复杂背景的小目标实时检测。
时空联合检测是通过使用局部对比度和梯度特征从红外图像中筛选出疑似目标,然后通过运动特征对疑似目标在进一步进行筛选进而得到真实目标来完成对弱小目标的检测[2]。
其主要分为局部对比度筛选目标,梯度特征筛选目标和时域检测目标三个部分,最后将时域检测和频域检测结果进行融合,得到结果图,检测流程图如图1所示。
图1 时空联合检测流程图
局部对比度检测是一种基于人类视觉原理的仿生学检测方法,该方法结构简单,运算简洁,且于红外小目标契合较好。
常用的局部对比度方法如LCM,DoG在待检测目标信噪比较高的情况下能够有效地增强,但在图像信噪比较低的情况下效果较差。
为了能过抑制杂波,增强目标,本文采用高斯滤波对检测窗口内的图像进行处理,由于红外小目标温度较高,且成像距离较远,在红外图像中多表现为较小的亮斑,且根据热扩散原理处于向四周扩散的形式,与二阶高斯函数类似,根据匹配滤波原理,使用高斯滤波可以有效地提升信噪比[3]。如图2所示。
通过将高斯滤波嵌套在检测窗口,随着检测窗口对图像实现遍历,其滤波结果如式(1)所示:
(1)
其中,(i,j)为当前像素点的坐标;T为检测窗口内的图像;G为高斯滤波窗口;I为滤波后的结果。
为避免检测窗口大小与目标大小不匹配造成的漏检误检,对同一个多尺度对比度取最大值,将局部对比度推广到多尺度。
I(x,y)=MAX{I1(x,y),I2(x,y),I3(x,y)}
(2)
红外小目标的温度较高,且成像距离较远,根据物理定律在红外图像中表现出向外扩散的点目标其灰度表现为向外扩散的趋势,梯度方向一致性较小;而容易形成误判的云层边缘梯度方向大致相同,一致性较强[4],如图3所示。
图3 目标、云层及云层边缘梯度图
为了对梯度一致性进行定量处理,本文采用结构张量来表明图像区域梯度场的分布规律。
结构张量定义如下:
(3)
其中,r为计算区域的尺度。
式(3)分别描述了检测窗口内图像的X方向及Y方向梯度相关性,其梯度相关性越差,该矩阵的特征值越小,因此利用g来衡量该区域内的梯度一致性:
(4)
其中,λ1,λ2为结构张量的特征值。
为了有效地检测小目标,使用梯度抑制系数筛选小目标,其计算公式如式(5)所示:
Er(x,y)=exp(-g)
(5)
红外图像经过处理操作后会得到处理图包含灰度值较低的背景及灰度值较高的目标。为了将目标从背景中分离出来,采用自使用阈值分割的方法将目标和背景进行区分[3]。
本文采用高斯自使用阈值分割,由于小目标的灰度较高,处于高频范围,所以通过使用图像的均值与标准差的线性组合作为阈值,对图像进行二值化。
(6)
f(x,y)=Er(x,y)·I(x,y)
(7)
t=mean(f)+λStd(f)
(8)
其中,mean(f)表示该帧图像的均值;Std(f)表示该帧图像的标准差。
由于单帧检测缺少运动信息,背景杂波于目标难以完全区分[5],采用时域局部对比度检测方法对时域检测进行补充。
时域局部对比度是一种从帧差法改进而来的时域检测方法,为了提高充分利用红外图像序列的信息,提高在运动背景下的运动目标检测,采用第K帧前n帧图像的均值进行对比度运算,其计算公式如下:
(9)
为了提高对噪声的抑制,本文通过方差对背景进行抑制,其公式如下[7]:
(10)
其中,T(x,y,i)表示第i帧图像。
为了提高检测效果,本文将相邻两帧方差相乘合并为最后一帧的检测结果,其运算公式如下:
Ot(x,y,k)=S(x,y,k)·S(x,y,k-1)
(11)
本文使用matlab对红外探测器采集到的图像进行仿真,仿真结果如图4所示。
图4 仿真结果图
本文采用三个序列进行仿真实验,每个序约的图像均为320×256,图像为50张,序列1、2、3分别为云层边缘小目标、地面背景小目标和云层内小目标,可以直观的看出该算法能够在复杂背景下实现对小目标的检测。为了客观地证明算法的有效性,本文通过引用信杂比增益与各算法进行比较分析。
信杂比通过描述红外图像的信号幅度与杂波方差之比描述对背景杂波抑制能力,其定义如式(12)所示,通过将处理后图像的信杂比与源图像的信杂比相比,可以获得描述目标正确能力的信杂比增益[7],其定义如式(13)所示:
(12)
(13)
其中,I为目标最大灰度值;u和σ分别表示目标周围区域的灰度均值与标准差;SCRin和SCRout分别为原始图像的SCR和输出图像的SCR。
表1 不同算法信杂比增益
表1为不同算法信杂比增益。通过表1可以看出,本文提出的方法充分的利用了图像序列的时空特性,能够有效地在复杂背景下实现对小目标的检测。
对图像的局部对比度处理及梯度特征检测需要使用检测窗口对图像进行遍历,为了避免目标尺寸和检测窗口尺寸不匹配的问题,本文分别采用3×3、5×5、7×7尺寸的窗口对图像实现遍历[8]。由于硬件系统使用FPGA上的SRIO接口实现图像传输,图像按时钟周期进行并行传输,为了能够实现7×7的开窗,采用硬件上的RAM资源作为移位寄存器对图像进行缓存,如图5所示。
由于采用了7×7的窗口对图像进行遍历,为了保证处理完成之后的图像和原图像的大小一致,所以不对图像的左右各3列,上下各三行不进行处理,并在处理后的图像将该部分置零,该部分像素值为3420,仅占图像总像素的0.041,所以将其舍弃的影响可以忽略不计。
图5 开窗示意图
进行自适应阈值分割需要计算当前图像多尺度局部对比度检测和梯度特征检测处理后图像的阈值及方差。
直接使用当前帧图像处理后结果计算均值和方差需要将图像缓存下来进行两次运算分别计算图像的均值和方差,浪费了大量的硬件资源,且降低检测算法的实时性。
由于采用的红外探测器帧数较高,相邻图像统计特征变化较小,所以可以通过前一帧的红外图像处理后结果值方差变化较小,因此可以在可以忽略两帧间均值与方差的差异,使用前两帧的红外图像的均值与方差计算阈值。
图6为优化后的自适应检测流程图,可以看到通过使用上一帧的阈值对本帧图像进行处理,可以使得门限值计算和图像分割同时进行,提高了运算的实时性。
图6 自适应阈值计算流程图
为了兼顾检测实时性和检测准确率,本文采用前3帧图像均值进行局部对比度,因此需要对前两帧图像进行缓存,且需要对检测结果进行缓存便于后续检测结果合并,所以需要使用硬件上RAM资源,通过使用FPGA上的BLOCK RAM ip实现,图像及方差大小为320×256×8,所以需要开辟的RAM深度为65536,宽度为8位,其流程如图7所示。
图7 时域检测流程示意图
将采集到的红外图像输入硬件系统,其经过FPGA处理后的结果如图8所示。
图8 FPGA运行结果图
该算法处理在FPGA内处理单帧图像的耗时为4 ms,单帧计算耗时较短,能够满足实时图像处理的需求。
本文提出了一种时空联合检测的小目标检测方法,通过利用红外小目标的灰度特征,梯度特征从图像中筛选出小目标,并使用运动特征对小目检测结果进行筛选,降低虚警率,实现了在信噪比较低的情况下实现对目标的检测,并将该算法在以FPGA为核心的平台进行实现,能够实现对目标的实时检测。