董小虎,傅瑞罡,高颖慧,李 飚
(国防科技大学 电子科学学院 ATR重点实验室,长沙 410073)
基于红外图像的目标检测与跟踪一直是目标识别领域的研究热点。红外成像技术依靠接收目标自身的红外辐射工作,具有可见光成像和雷达无法代替的优势,使其具有极高的军事和民用价值。军事方面,红外目标检测与跟踪技术在预警系统、精确打击武器和防空系统等领域中发挥着重要作用。民用方面,被广泛应用于安全警戒、刑侦、森林防火和消防等领域[1]。
目前,红外弱小目标的检测与跟踪算法主要分为两类:先检测后跟踪算法[2-3]和先跟踪后检测算法[4-7]。
先检测后跟踪算法首先利用目标检测算法将单帧图像中的所有候选目标从原始图像中分割出来,在此基础上根据目标短时运动的轨迹连续性,对所有候选目标做进一步确认,去伪存真。这类算法逻辑清晰,实现简单。但当目标信噪比较低时,分割出的疑似目标中很可能不包含真实目标,导致算法失效。
先跟踪后检测算法则是直接对潜在候选目标进行跟踪,然后利用目标的时空特性,对所跟踪目标进行真伪判别,进而实现真实目标的提取。这类算法对目标信噪比的要求不高,在搜索目标轨迹时,一旦搜索到正确的目标轨迹,就有可能检测到目标。典型的实现方法有管道滤波方法[8]、卡尔曼滤波[9]、贝叶斯估计[10]及粒子滤波方法[11]等。
本文以图1所示公开数据集为背景,进行检测跟踪方案的设计。电子目标自身信噪比较低,因此,本文选用先跟踪后检测算法。
图1 公开数据集示例图
Fig.1 Sample images of the public datasets
由于图1所示的六段数据在成像距离、目标大小和背景复杂度上各不相同,这就要求设计方案必须具有一定的自适应能力。通过数据分析可知,方案设计时需要克服以下问题:
(1)红外图像存在坏点,由于坏点尺寸和小目标相当,若不能有效剔除坏点,将会产生虚警。
(2)红外目标在不同背景/场景下呈现出不同的特性。天空背景下,红外目标尺寸较大,多表现为扩展目标/面目标,相邻两帧的目标之间存在交叠;地面背景下,红外目标尺寸较小,多表现为点目标。
(3)地面背景下,目标可能飞向红外相机,导致目标在图像序列中表现为长时间静止。因此运动目标检测模型需要具备甄别该现象的能力并能做出相应的措施。
(4)地面背景下,目标可能进入热区域,导致目标-背景灰度对比度下降。因此不能以目标-背景灰度对比度高作为唯一检测依据。
(5)在图像采集过程中存在相机抖动,影响目标检测和跟踪效果。因此需要通过图像配准,将图像统一在同一坐标系下。
(6)data2及测试集中可能存在多个目标,因此需要解决多目标的数据关联问题。
(7)由于对红外目标检测跟踪算法有时间限制,在选择具体方法时需综合考虑效率和性能。
本文设计方案如图2所示。在获得输入图像后,首先做传感器的坏点检测及剔除,保证图像质量,然后,对图像的背景/场景分类,并针对不同场景设计不同的红外目标检测算法。如前所述,图像配准的作用是为了将目标统一到同一坐标系,保障后续检测与跟踪算法的有效性。由于天空背景没有稳定的配准参照物,因此只针对地面背景做配准。针对地面背景下的目标,采用基于帧差法的红外目标检测方法,并面向目标长时间静止和目标-背景灰度对比度下降的情况分别提出了应对措施。针对天空背景下的目标,使用基于RSS[12]的目标检测方法。在检测得到目标备选点后,使用带标签GMPHD滤波器[13]对这些备选点滤波,从而获得备选点的运动状态及标签。由于复杂背景下目标检测存在大概率的虚警和漏检等,目标初始轨迹通常是断续的。因此, 需要通过引入轨迹整理将间断轨迹重新连接,并进一步去除虚警。
图2 方案流程图
Fig.2 Scheme flow chart
由于在制造工艺、运输和储存方法等方面的不足,红外相机会存在一小部分不正常的感光单元,一般称之为坏点。坏点通常表现为坏暗点或坏亮点,大小一般只有一个像素,其亮度不受周围像素亮度的影响,在每帧中基本不变。以坏亮点为例,如图3(a)所示,其周围像素的亮度不受该点的影响。然而,对于普通亮点来说,如图3(b)所示,其周围像素的灰度会受其影响,有一定的亮度。
目前处理坏点的方式有两种:一种是事先记录坏点位置信息并保存,后续根据记录的位置信息剔除坏点,但图1公开的数据集并未提供坏点的相关信息,因此,这种方式不适用;另一种是使用全局滤波器过滤坏点,这种方法无需掌握坏点的先验位置信息,但是全局滤波会对图像边缘信息造成较大损失。
图3 普通亮点和坏亮点所成的像
Fig.3 Normal pixel and dead pixel in infrared image
本文综合上述两种方法的优缺点,提出了一种坏点自动检测并剔除算法。坏点自动检测方法的基本思想是根据坏点亮度始终不变,且周围像素不受其影响的特点,在序列图像中利用中心点(待处理的点)和其周围领域点的灰度变化判断该点是否为坏点。定义像素点(i,j)的邻域灰度变化为B(i,j):
(1)
坏点替代算法主要有相邻元替代法和线性插值法两种。相邻元替代法有左邻域点替代和上邻域点替代两种方式。当坏点横向排列时,用上邻域点替代,当坏点纵向排列时,用左邻域点替代;线性插值法对坏点的周围点进行加权计算,给坏点重新赋值,这种方法会增加算法的复杂性并占用资源。考虑到效率,本方案采用相邻元替代法。
本文提出的算法无需事先记录坏点信息,能够自动检测图像坏点,且对图像边缘信息基本没有影响。图4是红外图像坏点剔除前后的对比,算法自动检测出的坏点,如图4(a)所示; 图4(b)是坏点剔除后的结果。由图中可以看出,本文对坏点的定位非常准确,同时替换坏点后,图像的边缘信息损失很少。
图4 坏点检测及剔除效果示意图
Fig.4 Dead pixels detection and the image without dead pixels
在不同场景下采用不同的目标检测算法,因此,在检测前需要对红外图像做场景分类。由于天空背景下的红外图像灰度起伏较小,地面背景下的红外图像灰度起伏较大,并且红外图像的灰度一致性可以度量其灰度起伏程度。因此,本文通过量化输入图像的灰度一致性判定其场景种类。灰度一致性的定义如下:
(2)
其中:m,n分别表示红外图像的行数和列数。如果灰度一致性的值较小,则表明图像灰度起伏小,对应天空背景。反之,则表明图像灰度起伏大,为地面背景。由于灰度一致性的计算可以继承坏点检测的中间结果,因此效率非常高。
由于图像采集过程中红外相机存在抖动,目标成像坐标系不统一,影响目标检测和跟踪效果,因此,在检测跟踪前,必须对序列图像做配准。图像配准意在寻求两幅图像之间的变换模型,使两幅有重叠区域的图像在同一坐标系下显现。目前,图像配准算法大致可以划分为四类:基于区域的配准、基于特征的配准、基于混合模型的配准和基于物理模型的配准[14]。本文考虑配准效率,选择基于相位相关的图像配准算法。基于相位相关的图像配准算法是一种基于区域的配准算法,配准效率极高,可应对图像的平移和亮度变化。
考虑图像只存在发生平移的情况:设g(x,y)是由f(x,y)平移(x0,y0)后得到的图像,满足:
g(x,y)=f(x-x0,y-y0)
(3)
且g(x,y)和f(x,y)对应的离散傅里叶变换(Discrete Fourier Transform, DFT)分别为G(u,v)和F(u,v),则有
G(u,v)=e-j2π(ux0+vy0)F(u,v)
(4)
这两幅图像间频域的互功率谱为
(5)
式中:G*为G的复共轭;|F(u,v)G*(u,v)|表示G(u,v)F*(u,v)的幅值谱。
P(u,v)的离散傅里叶逆变换(Inverse Discrete Fourier Transform, IDFT)为
F-1(P(u,v))=F-1(ej2π(ux0+vy0))=δ(x-x0,y-y0)
(6)
其中:F-1(·)表示IDFT运算。由式(6)知,IDFT的运算结果除了在(x0,y0)处存在脉冲响应外,在其他地方为0。因此通过寻找互功率谱傅里叶逆变换的最大值,便可测量出两幅图像间的平移量。
若图像还存在亮度变化,则亮度变化因子可以记为
(7)
如上所述,基于相位相关的图像配准算法采用了快速傅里叶变换及逆变换直接求取变换参数,与基于特征的配准方法相比,避免了寻找、匹配控制点对所带来的繁琐与误差,因此效率非常高。图5为data6公开数据集和data5公开数据集图像配准后拼接形成的场景图,实验表明,基于相位相关的图像配准算法足以达到实际配准要求。
图5 图像配准后拼接所得的场景图
Fig.5 Scene image after image matching and mosaicing
针对天空/地面不同场景,本文采用不同算法检测红外目标。地面背景通常比较复杂,采用帧差法;天空背景相对简单,采用基于RSS的红外目标检测方法[12]。
帧差法被广泛应用于运动目标检测,该算法将图像序列的当前帧与前n帧做差求和,获得一幅差分响应图。若差分图某位置的响应大于设定的阈值,则认为当前帧的该位置存在运动目标。
典型的二帧差法(n=1)使用相邻两帧图像作差分。记图像序列中的某一帧为k,则该帧图像可表示为
fk(x,y)=Fk(x,y)+Bk(x,y)+nk(x,y)
(8)
其中:Fk(x,y)为图像前景即运动目标;Bk(x,y)为图像背景;nk(x,y)为图像噪声。将第k+1帧和第k帧图像做差分,可得到差分图dk+1(x,y)为
dk+1(x,y)=fk+1(x,y)-fk(x,y)=
[Fk+1(x,y)-Fk(x,y)]+
[Bk+1(x,y)-Bk(x,y)]+
[nk+1(x,y)-nk(x,y)]
(9)
由于背景没有运动,噪声随机,因此式(9)的后两项接近为0,对差分图几乎无响应,差分图只会在运动目标处形成峰值。取阈值t,若dk+1(x0,y0)>t×max(dk+1(x,y)),则认为在(x0,y0)处存在疑似目标。为了增加算法的鲁棒性,同时减小噪声扰动影响,本文采用多帧差法检测目标:计算相邻6帧(n=5)的差分图,阈值t设为0.7。理想的差分图效果如图6(a)所示,可以断定,图6(a)的峰值处一定存在运动目标。图6(b)为对应的检测结果,检测结果正确。在实际检测中,由于红外目标不一定为点目标,在获得运动目标坐标后,需要回溯到原图像寻找完整目标。假设帧差法获得的运动目标坐标灰度为v,则在该坐标周围,灰度在[0.9v,1.1v]区间内的坐标点都是目标,取其质心得到目标备选点。
图6 帧差法的差分图及检测所得目标
Fig.6 Difference map and detection results of the frame difference method
然而,由于阈值的单一性,上述帧差法无法应对以下两种特殊情况,如图7所示。
情况一:目标长时间静止。
当目标长时间静止时,如图7(a)所示,差分图的整体响应比较平均,帧差法失效,表现为差分图没有明显峰值,检测得到多个目标备选点,但其中不一定包含真实目标。
图7 单阈值帧差法的局限性
Fig.7 Limitation of the single thresh frame difference method
为了判定第k帧是否出现了目标可能静止的情况,本文定义“有效检测帧”:若带标签的GMPHD滤波器将某帧目标备选点与前一帧关联在一起,则该帧为有效检测帧。
有效检测帧检测到的目标在一定程度上是可信的。如果第k帧检测到多个目标,同时第k-1帧为有效检测帧时,则认为目标在第k帧可能静止。此时,增大多帧差法的帧间距,执行跳帧的多帧差法,可以重新获得目标的运动信息。
情况二:目标与背景的灰度对比度下降。
当目标进入热区域或目标本身成像灰度降低时,可能会导致目标位置的响应被周围其他杂波淹没,如图7(b)所示。为了缓解该问题,本文提出双阈值多帧差法,定义“目标锁定状态”:若带标签的GMPHD滤波器将连续N帧的目标关联在一起,则该目标处于锁定状态。
图8 单阈值多帧差法和双阈值多帧差法检测结果图
Fig.8 Detection results of the single thresh multi-frame difference method and dual-threshold multi-frame difference method
通过数据分析得知,图1所示数据集,天空背景下的红外小目标是一个闭合的连通区域,具有以下四个基本特性:
(1)呈现斑点形状;
(2)信息熵较小;
(3)强度近似均匀;
(4)与其局部邻域有较高的灰度对比度。
因此,本文利用文献[12]提出的RSS算法检测天空背景下的红外目标,利用了天空背景下红外目标的局部稳定性(对应特征1-3)和局部显著性(对应特征4),检测效果好。算法的具体步骤如下:
步骤一:用稳定性抽取器,生成稳定图;
步骤二:用显著性检测器,生成显著图;
步骤三:将稳定图和显著图对应元素相乘得到特征图;
RSS算法的检测流程如图9所示。
图9 RSS检测算法流程图
Fig.9 Flow chart of RSS detection algorithm
在得到目标备选点后,要对备选点做滤波,辨识备选点是否来源于从前帧目标,并更新备选点的状态。
传统的多目标跟踪采用数据关联技术,基本思想是首先假定各个目标相互独立运动,然后按照关联规则将从前帧目标与备选点准确关联。数据关联技术容易实现、计算量较小,适用于信噪比高且目标密度小的环境。当目标跟踪环境复杂,目标个数增多时,数据关联算法的计算量非常大。与数据关联技术不同,基于随机集理论的多目标跟踪算法直接估计目标状态。
概率假设密度(PHD)滤波器[15]是一种基于随机有限集的多目标跟踪算法。带标签的GMPHD[13]通过为每一个高斯项附加一个标签信息实现对目标的辨别,通过对标签的管理实现对目标轨迹的管理。
由于复杂背景下目标检测存在大概率的虚警和漏检等,带标签GMPHD滤波后产生的目标初始轨迹通常是断续的。因此需要引入轨迹整理将间断轨迹重新连接并进一步去除虚警。
第一步:计算跟踪的红外目标数量。红外目标数量通过平均各帧检测到的目标数量得到。本文基于有效检测帧计算红外目标数量,计算结果的可信度更高。
第二步:根据带标签GMPHD的滤波结果对轨迹做甄选。若轨迹长度大于6帧,则大概率是目标,记为集合A;若轨迹长度大于2帧,则小概率是目标,记为集合B;若轨迹长度小于等于2帧,则一定不是目标,将其去除。
第三步:计算集合A轨迹间的相关矩阵。矩阵元素为所有轨迹的两两相关因子。若两条轨迹在帧号上有交叠,则其相关因子为0;若第i条轨迹与第j条轨迹不相交,则其相关因子置为1/dij,dij为两条轨迹之间的首尾帧目标之间的距离。相关因子越大,表明两条轨迹越相关。在计算得到相关矩阵后,根据相关矩阵连接断续的轨迹,获得若干段长轨迹。由于第一步已计算得到跟踪的红外目标数,因此,将长轨迹的长度作为其是否为候选输出的判定标准:若目标数为1,则候选最长的轨迹;若目标数为2,则候选长度前二的轨迹,以此类推。
最后,将集合B的轨迹根据“帧号不重复、距离最小化”的原则插入目标轨迹中以弥补漏检,并输出最终的目标轨迹,如图10所示,图中的红色线条为红外目标最终的运动轨迹。
经统计,本文设计的红外小目标检测与跟踪方案在公开数据集上精准检测率为98.60%(精准检测指检测结果位于真值的3×3像素范围内),正确检测率为0.76%(正确检测指检测结果位于真值的3×3像素范围外,9×9像素范围内),漏检率为0.63%,虚警率为0.20%(虚警指检测结果位于真值的9×9像素范围外),如图11所示。本文方法在第二届“空天杯”决赛线上测试中得到103 434分,排名第一,对于多类背景下的弱小目标自适应检测跟踪具有参考价值。
图10 目标运动轨迹图
Fig.10 Trajectories of the moving targets
图11 本方案在公开数据集上的检测结果统计图
Fig.11 Statistical chart of detection results of the scheme in public datasets
本文针对红外弱小目标检测跟踪问题提出了一套系统性的方案。方案立足于“空天杯”竞赛公开数据集,在设计时综合考虑了传感器成像、红外相机位移、目标所处场景多样、多目标轨迹关联等问题,具有以下创新点:
(1)针对坏点可能导致误检,提出了一种坏点自动检测算法,该算法能够自动检测图像坏点并剔除,对图像边缘信息影响很小。
(2)针对目标所处场景多样,提出了一种基于灰度一致性的场景分类算法,该算法能够自动分类场景,分类精度高。
(3)针对地面背景下的红外目标目标,采用帧差法,分别提出了跳帧多帧差法和双阈值多帧差法以应对目标长时间静止和灰度对比度下降两种情况。实验表明,两种算法均可以极大地提高目标轨迹的连续性。