施天俊,鲍广震,王福海,兰超飞,巩晋南
(哈尔滨工业大学 空间光学工程研究中心,哈尔滨 150001)
随着远距离红外探测技术的发展,红外弱小目标检测已成为航天、遥感等领域研究的热门问题。红外成像系统具有全天候、抗干扰性强、探测距离远、低功耗[1]等诸多优点,但常存在以下问题:(1)拍摄距离一般较远,导致目标常失去其面形与纹理信息,空间结构表征效率低[2];(2)红外探测器获取场景的红外辐射信息,背景中常存在与目标强度相似的杂波干扰,使得检测虚警率高[3];(3)由于大气传输等影响,红外图像中目标信噪比较低;(4)红外探测器常存在无效像元,影响成像质量[4]。
传统的红外图像目标检测方法常基于抑制背景特性或提取目标特性展开。抑制背景特性可从空域、变化域两个方向展开。基于空域的最大中值滤波[5]、形态学Top-hat变换[6]等方法,原理直观,实现简单,但性能常依赖所选结构元,算法自适应能力差。基于变化域的方法有基于频域的谱残差法[7]和小波域处理算法[8],小波变化实质上是提取目标的外观特征信息,检测效果并不理想。基于目标特征的方法则关注图像中的显著性区域。若目标灰度特征较背景突出,可采用常见的最大类间方差法、极大值检测法[9],但此类方法易受噪声干扰,仅在简单场景下能有较好的检测效果。Facet模型关注极值点或方向导数的显著性,可用于复杂背景小目标检测中,但目标隐于背景时易出现漏检情况[10]。
近年来,基于机器学习和神经网络的算法也被用于红外小目标检测。如为了增强检测效果,通过深度卷积神经网络对训练样本的学习,使模糊图像变至清晰以获得更多的特性信息[11],也可以筛选小目标区域并抑制虚警[12],但此类方法需要大量的训练样本进行学习,并且计算量大,很难满足实时性要求。
针对传统算法不能同时满足不同场景下目标检测的要求和在信噪比较低时虚警、漏警较多的缺陷,以及基于学习的算法样本量需求及计算量大的问题,本文提出了一种更为精确且高效的适用于多场景的红外弱小目标检测跟踪算法。该算法基于图像复杂度进行红外场景判别以选择合适的检测算法,同时采取检测与跟踪结合的方式减少仅使用单帧检测所出现的虚警和漏警。
算法总体框架如图1所示。首先,针对红外探测器中的无效像元对检测产生的干扰,通过中值滤波对红外图像中的无效像元进行补偿;然后,针对不同红外场景中弱小目标的检测,通过信息熵判断复杂度,选用N-P准则直接检测或基于显著性帧间差分法检测目标;最终,针对检测所遗留的虚警与漏警问题,通过改进优化后的波门跟踪法连接目标轨迹,筛选目标并对漏检帧中的目标位置进行补偿。
图1 算法总体框图
Fig.1 The flow chart of this algorithm
算法主要分为图像预处理、检测、跟踪三个模块,针对提供数据集的实际情况,每个模块都选择相匹配的理论模型。
红外探测器件中,由于无效像元的存在会影响成像质量,因此,图像预处理需要进行无效像元的剔除。无效像元包括死像元和过热像元,前者定义为像元响应率小于平均响应率1/10的像元,后者定义为像元响应率大于平均响应率10倍的像元[13]。在实际的红外图像序列中,若存在同一位置处的像素灰度总是保持过大或过小,则可以看作为无效像元,需要进行补偿。图2为红外图像中无效像元的出现情况。
由于利用同一探测器得到的红外图像序列的无效像元的位置不变,而背景灰度分布处于不断变动之中,因此对多帧灰度进行累加并取平均得到的图像中,死像元位置处的灰度值极小,而过热像元处的灰度值极大,周围背景灰度分布则相对平缓。对灰度累加图作中值滤波处理后可得到背景估计图,如图3(a)所示。将灰度累加图与背景估计图作差得到残差图,如图3(b)所示。残差图中过热像元与死像元位置较背景极为突出,因此选出合适的阈值可以将无效像元的位置筛选出。得到图像序列中的无效像元位置后,在进行检测前对无效像元处进行灰度补偿。补偿方法为:选取以无效像元为中心的区域,取该区域的灰度中值替代无效像元处的灰度。图3(c)为对红外图像中无效像元补偿后的结果。
图2 红外图像中无效像元示例
图3 红外图像无效像元补偿
Fig.3 Invalid pixel compensation of infrared image
红外图像按照背景复杂度可分为简单场景和复杂场景。简单场景下目标灰度特性明显、背景平缓且起伏小,此时利用合适的阈值分割手段即可将目标与背景分离;复杂场景下背景起伏大,且可能存在许多与目标灰度特性相似的区域,直接利用阈值分割的手段会得到若干虚警,此时问题关键在于如何抑制背景杂波的干扰。因此这里针对图像复杂度采取不同的检测算法。
2.2.1 基于图像熵的图像复杂度的判断
图像熵是图像的信息熵,定义为
(1)
式中:p(Ik)为灰度值Ik的像素比率;b为图像数据的bit数。图像熵是一种图像特征的统计形式,反映了图像中平均信息量的多少。
若一幅图像灰度范围为[0, 255],则图像熵最大为8。图像灰度分布越均匀,熵就越大。灰度分布越均匀意味着图像信息越杂乱,相应的图像背景越复杂。根据所提供的红外数据集的测试结果,一般简单场景的图像熵要小于4.5,而复杂场景的图像熵要大于5,因此选取图像熵阈值,可以较好地分开复杂场景与简单场景。图4(a)为简单场景红外图像,图像熵为4.111 5; 图4(b)为复杂场景红外图像,图像熵为6.626 9。
图4 红外图像
Fig.4 Infrared image
2.2.2 基于Neyman-Pearson准则的阈值分割
红外系统在检测判决时,无法估计各种判定可能付出的风险,难以确定漏报损失,实际中常根据具体工作状况确定一个允许的虚警概率值,然后再使发现概率达到最大值,因此,Neyman-Pearson(N-P)准则是红外系统适用的最佳检测准则[14],如图5所示。
图5 N-P准则示例图
Fig.5 Neyman-Pearson criterion
在利用N-P准则时,错误判决概率P(H1|H0)是虚警概率Pf,而正确判决概率P(H1|H0)是检测概率Pd,利用拉格朗日乘子法,构造目标函数使在P(H1|H0)=α约束下,P(H1|H0)最大。最终通过阈值分割分离图像中的背景和可能的目标,简化的阈值表达式为
Th=E+kσ
(2)
式中:E和σ分别代表待检测图像的均值和均方差,通常需要针对不同应用场景选取合适的k(通常在3~15之间)进行阈值分割。本算法中基于简单背景的阈值分割可直接利用N-P准则。
2.2.3 基于显著性帧间差分的复杂背景目标检测
当地面背景中出现小目标时,小目标具有的显著特点是其与背景的不相关性(即存在区域突变)。这一特性可通过对目标图像做二维离散傅里叶变换体现,由此得到的频谱由幅度A(u,v)和相位P(u,v)两部分组成:
A(u,v)=|FFT(I(x,y))|
(3)
P(u,v)=Angle(FFT(I(x,y)))
(4)
若去除傅里叶变换后的幅度信息的干扰,仅保留其相位信息,对此相位谱做重构就能够定位到一幅图像灰度值具有非周期性或者缺乏统一性的区域,该区域即为图像的显著性区域[15]。
仅基于显著性检测复杂背景中的目标并不能完全消除背景杂波的干扰,如图6所示,背景中同样可能存在与目标显著性相当甚至更显著的区域,此时采用帧间差分可以较好地减少背景杂波的干扰[16],如图7所示。
图6 显著性检测框图
Fig.6 The flow chart of detection based on saliency
定义帧间差分数k,若检测帧为第i帧,则差分对照帧为第i-k帧。当探测器不动时,则输出图像中目标一直处于运动状态,而背景则处于静止状态,分别计算两帧的显著性图像并作差,则可以消除一定的背景杂波影响;当探测器处于运动状态时,则需要利用特征点匹配的方法匹配出两帧中具有相同背景的区域,得到探测器运动的位移量,在对两帧图像做好位置补偿的基础上再进行帧间差分,检测结果如图8所示。图8(a)和(c)分别为检测帧和帧间差分帧原图,在进行显著性计算后结果如图8(b)和(d)所示。可以看出,尽管目标区域较为显著,但仍存在较多背景杂波干扰。图8(e)为进行帧间差分后的结果,背景杂波被明显抑制,最后选取合适阈值可将目标检出,最终结果如图8(f)所示。
图7 显著性帧间差分检测算法框图
Fig.7 The flow chart of detection based on saliency and frame-to-frame difference
(e)显著性帧间差分图(f)二值化结果
图8 检测结果
Fig.8 Detection results
复杂背景下特征点多,因此可利用特征点匹配的方法进行图像匹配,采用SURF算法进行匹配。SURF算法以黑塞矩阵为基础,通过构造尺度空间以及3D非极大值抑制来筛选出稳定的特征点,包括一些具有特殊性质的点,如极值点、拐点等。特征点筛选后为之分配主方向并形成特征矢量以进行特征点的匹配,最终完成图像匹配[17]。
通过计算检测帧和差分对照帧灰度之差的标准差判断是否需要SURF算法进行图像匹配。标准差定义为
(5)
式中:M,N分别为图像灰度矩阵的行、列数;r为灰度差的平均值。经测试得,当两帧图像中探测器未移动或者移动很小时,σ取值很小,基本在0~2之间;当两帧图像中探测器移动较大时,σ取值较大,基本在5以上,因此设置阈值Thσ=3.5,当σ大于该阈值时,认为需要进行图像匹配,反之则不需要。
由于点目标无法进行确定性检测,必须辅助跟踪算法来提高目标检测的准确性。一般情况下,低速目标的位置是时域连续而且可导的,所以可以采取波门跟踪的方式对目标进行跟踪。
在一般的小目标情况下,有两种设置的波门方法,第一种是以当前帧的质心作为波门中心,波门的大小通过前几帧的位置关系确定,以最大程度确保目标不会丢失:
(6)
(x,y)波门=(x0,y0)
(7)
但是这种设置的波门稳定性较差,对镜头抖动较为敏感,在镜头快速移动时容易跟丢目标。另一种波门设置的方式则是通过前几帧目标位置的关系确定波门中心,波门大小通过目标大小确定。称为预测波门跟踪法,即
(8)
式中:Δx镜头,Δy镜头通过SURF算法进行计算,为提高运行速度,只对背景改变较大的帧使用。
选用先检测再跟踪的算法可以有效抑制其他虚警,仅认为波门内的检测点为正在追踪的目标的真实位置,采用预测波门跟踪法极大地提升了跟踪模型的稳定性和对镜头移动的鲁棒性,并且可以对检测失败的图像进行估计和补偿,以获取完整的轨迹。
算法依次进行图像预处理模块、目标检测模块、目标跟踪模块以完成红外序列图中目标的跟踪与检测。
本模块主要对红外图像序列中无效像元进行处理,筛选出无效像元的位置,并对该处灰度进行补偿。具体操作步骤如下:
(1)获取图像序列的累加平均图
为了提高无效像元的筛选精度,先将待处理图像序列等分成四个区域,之后的处理都将分别在这四个区域内进行;以采样间隔抽选序列中的图像,分别对四个区域的灰度进行累加求和并平均,得到累加平均图,为保证精度,抽选帧数必须大于一定数量,这里针对数目大于300的图像序列,选取k=10。
(2)利用中值滤波对无效像元位置进行筛选
分别对四个区域作中值滤波处理,得到相应的残差图;由于残差图中无效像元位置突出,可直接利用N-P准则筛选出其位置。利用Th=E+kσ, 选取k=10筛选过热像元位置;利用Th=E-Kσ, 选取k=10筛选死像元位置。
(3)对无效像元位置处灰度进行补偿
选取以无效像元为中心的区域,取该区域的灰度中值替代无效像元处的灰度。
本模块主要对预处理后的红外图像进行目标检测,对目标与背景进行二值化处理,并得到疑似目标的质心坐标以进行跟踪操作。具体操作步骤如下:
(1)依据图像熵进行图像复杂度判断
对连续多帧图像序列进行检测与跟踪,由于图像场景不可能出现太多突变情况,可以十帧为一个周期进行复杂性的判断,以提高算法的运行速度。
(2)根据图像复杂度进行二值分割
对于判断为简单场景的图像,利用N-P准则取k=4,再利用式(2)可以直接分割目标与背景。对于判断为复杂场景的图像,则利用基于显著性帧间差分的目标检测算法。
当图像被判断为复杂场景时,首先选择合适的帧间差分数,利用均方差可判断检测帧和差分对照帧是否需要利用SURF算法进行图像匹配;再分别计算匹配好的两帧显著性并作差;最终利用N-P准则分割目标与背景,得到二值化图像。
(3)提取检测出的连通域的形心
二值化图像中的每一个连通域都预先看作为一个目标,分别计算每个连通域的形心以便于下一步的目标跟踪。
本模块主要利用目标检测模块中得到的连通域形心对目标进行跟踪,删减检测出的虚警目标,并对未检测出目标的帧进行坐标补偿。主要操作步骤如下:
(1)获取初始图像目标位置
对第一帧、第二帧检测完成的图像进行初始化,认为检测出来的每一个均为目标点,并给予标签,认为两帧之间检测点欧式距离小于10的为同一目标。
(2)波门大小预估
通过前两帧估计波门的预测位置,将待跟踪帧中波门内检测出的目标点给予标签,其他检测出来的点认为是噪声。
(3)图像刷新判断是否有新目标进入
提前设置刷新率,每到刷新的帧数重新对图像进行初始化,每一个检测出来的点都认为是一个目标,将之与上一帧匹配。在上一帧波门内的点,认为是原有点,给予波门的标签,对新的点给予新的波门和标签。
(4)重复步骤(2)~(3)直到最后一帧
(5)目标轨迹的判断与补偿
对连续存在超过二十帧且连续消失小于三十帧的认为是一条真实的轨迹,对这条轨迹中没有的点进行补偿,补偿方式为前后两帧目标位置的均值。
算法测试选取四组实测红外数据集进行测试,且每组数据集包含红外目标的形心坐标真值。前两组数据集对应简单天空背景下的单目标和双目标情况,后两组对应不同的复杂地物场景。截取各个数据集中某一帧检测结果如图9所示。其中复杂地面背景检测中出现的绿点为经过跟踪所去除的检测虚警。
图9 实测红外数据集帧检测结果
Fig.9 Detection results of measured infrared data set frame
定义检测失败的情况为:经过检测跟踪算法得到的目标形心位于以形心真值为中心的9×9的标注框外。定义成功检测的情况为:得到的目标形心位于以形心真值为中心的9×9的标注框内。定义准确检测的情况为:经过检测跳跃算法得到的目标形心位于以形心真值为中心的3×3的标注框内。实验测试结果如表1。对于这四个数据集,算法成功检测率为99.9%,准确检测率为98.2%,检测失败率为0.1%。
表1 算法测试结果
针对复杂场景的数据集Data 3与Data 4,将本算法中的显著性帧间差分法和改进波门跟踪法分别换成显著性检测和普通波门跟踪,并引入Top-hat和波门跟踪结合的算法以及管道滤波算法,比较在3×3标注框的检测准确率,结果如表2所示。其中,采用显著性算法和Top-hat算法的两种检测跟踪算法由于单帧虚警过多出现跟踪出多条轨迹的情况,以致于跟踪失败;采取显著性帧间差分的未改进波门跟踪法和管道滤波两种算法虽然可以成功检测跟踪图像序列中的缩小目标,但是检测准确率明显低于本算法检测结果。
因此可以看出,本算法可以适应不同场景下的红外弱小目标检测需求,并且具有较低的虚警率和较高的检测准确率。
表2 不同算法检测准确率比较
由于红外弱小目标所具有的信噪比低、面形信息丢失等特点,传统的红外目标检测算法有着虚警率低,且仅适用于单一场景等缺陷,而基于学习的算法所需样本多且计算量大。本文提出一种基于图像显著性以及帧间差分的适用于多场景的红外目标检测跟踪算法。经过测试,最终得出以下结论:
(1)与传统的显著性算法进行目标检测相比,与帧间差分结合能够有效地抑制背景虚警,提高单帧检测率;
(2)采用图像复杂度对不同红外场景进行判别进而采用不同的检测方式,能够在提高检测效率的同时,大大提高检测准确率;
(3)采取改进的波门跟踪算法对红外目标进行先检测后跟踪,可以有效减少单帧检测所无法去除的虚警。
实验结果表明,本算法能够精确检测红外弱小目标,并大幅度减少虚警数量。