胡亮 张聃*
(四川长虹电器股份有限公司,四川 成都 610094)
红外光学系统广泛应用于航空航天、军事、遥感等领域中[1-2]。对红外图像中的目标进行检测,则是最重要的计算机视觉任务之一[3-5]。一般而言,红外目标多为点状,面积小,无明显的形状、纹理等信息,对它们的检测属于弱小点目标检测范畴[6-7],是一个经久不衰的难点课题。
卷积神经网络[8]自从2012 年于imageNet 的图片分类任务上登顶后,在计算机视觉领域大放异彩,对于目标检测任务非常有效[8-10]。但不同于可见光图像中的目标,红外目标缺乏纹理颜色等细节,也没有大型的公共数据集进行参数的预训练,直接使用现有的深度卷积神经网络模型结果不甚理想。
本文考虑到红外弱小点目标的特点,基于卷积神经网络提出了一种检测算法,通过红外图像预处理与数据增强技巧,该算法只需几百个样本即可训练好,相比传统的检测算法,可以极大的降低虚警率,同时提高检测率。
本部分介绍一些常见的红外弱小点目标检测算法。
应用最为广泛的是基于空域的检测方法,其简单有效,算法复杂度较低,计算量较小;具体包括传统的滤波、数学形态学方法及基于马尔科夫随机场(Markov Random Field)的检测算法等。刘丰轶等人[11]提出了一种改进的基于马尔科夫随机场的点目标检测算法。该算法依据基于复杂背景可分性度量的信杂比准则对MRF 进行初始配置,在此基础上,改进了MRF 标记场的先验概率模型,构造了基于欧式空间度量的概率能量函数和概率响应函数,提高了目标概率对邻域标记变化的响应能力。相比传统算法,该算法具有更强的鲁棒性。
朱硕雅等人[12]提出了一种时空域联合小目标检测方法,利用空域滤波提取红外小目标的灰度特征、梯度特征,结合多帧图像的运动特征对小目标进行筛选,有效降低了虚警率。刘源等人[13]提出将人类视觉系统的局部对比度方法与Top-Hat 相结合,利用前者过滤掉Top-Hat 检测出的候选弱小目标,以降低虚警率。
基于局部对比度(Local Contrast Measure)的目标检测方法性能较好,通过利用滑动窗口遍历图像,将中心灰度最大值和周围灰度平均值作为增强系数,以达到对比度度量增强目标的效果。同时,利用多尺度窗口遍历的方式以适应不同大小的目标,但不断改变窗口大小会导致算法耗时较长。张祥越等人[14]提出了一种改进的LCM红外小目标检测算法,通过计算输入图像的对比度图和显著度图,提高了目标对比度的同时抑制背景杂波,并在此基础上自适应设定阈值以分离出小目标。该方法比传统LCM方法取得了更高的检测率和更低的虚警率。
然而,复杂背景下的红外弱小目标极易淹没在背景之中,使用上述这些传统检测算法直接对原始图像进行目标检测,在保证一定目标检测概率的条件下,会存在较大的虚警。
近年来,基于深度学习的检测算法展现了极强的能力。
总体上,基于深度学习的检测算法大致分为一阶段检测算法和两阶段检测算法:①以R-CNN 系列为代表的两阶段检测算法[8-9],如R-CNN,Faster R-CNN,R-FCN,Cascade R-CNN。该系列算法首先从图像中预测高质量的区域候选框,然后分别连接分类和回归的子网络来判断区域候选框的类别并矫正其位置。②以YOLO、SSD[10]为代表的单阶段检测算法,该系列算法在预测候选框的同时,进行物体类别的分类和位置的回归。在实际应用中,因为对算法速度有要求,通常选择速度更快的单阶段检测算法。
实际中需要在尽可能远的距离发现目标,而且原始红外图像中弱小点目标的辐射能量往往较弱,容易被淹没。针对红外数据的这些特点,借鉴近几年深度学习中卷积神经网络(CNN)在光学图像目标检测任务的广泛应用,本文提出了专门针对红外弱小点目标检测的神经网络算法模型IRCNN。该算法的总体流程如图1 所示。
图1 算法总体流程
本文的去噪模块由最大中值滤波算法完成[15]。该算法在消除孤立点的同时能更好地保护背景结构的边缘信息,其被定义为:
难点在于,弱小目标同样为空间上呈现的孤立高斯分布点,去噪过程中极易将目标点一并去除,因此滤波窗口大小因谨慎选择。
本文的背景抑制模块由一种鲁棒的背景抑制算法完成。在复杂的地面或云层背景下,增强后的图像仍然受到大量杂波干扰,将目标提取出来并不是一件容易的事。本阶段首先用基于敏感区域的中值滤波算法提取出较为精准的背景,输入图像做差后得到一些可能有目标存在的点。
该算法分为两步:敏感区域获取和子区域分割。首先以大窗口进行中值滤波提取粗糙背景,并与原图做差得到差分图像。该图像代表原始图像经中值滤波后的各像素点变化等级,该变化越大,代表原始图像中该点像素值越高,即为需要的敏感区域。计算所有非0 位置的灰度均值T 作为分割阈值:
子区域分割步骤中,将原始图像大于T 的像素点作为敏感区域,以小窗口中值滤波值进行替代;小于等于T 的像素点则保留。以此方法提取出较为精确的背景图像,然后与原图做差消除背景,得到的图像中非零点所在的位置即为目标可能存在的位置。总的来说,该步骤进一步消除了杂波影响。
红外图像在经过去噪与背景抑制以后,虽然目标的信杂比得到一定的提升,但一些常见的检测方法如阈值法滤波法等对目标的检出还是容易受到邻域内杂波与噪声的干扰。因此我们通过构建卷积神经网络IRCNN 来检测目标。考虑到红外弱小点目标的性质,我们针对性的设计样本集以及相应的卷积网络。
3.3.1 样本制作
首先对图像进行标注,截取10*10 目标周边大小的区域作为正样本,同时按1 比2 的比例随机选择背景抑制图像中非目标的像素非零点,同样截取10*10 大小的区域作为负样本。
接着使用四个数据增强技巧:(1)旋转变换:对正负样本图像做顺时针90 度、180 度、270 度旋转变换;(2)噪声扰动:在像素层面对每个样本做随机高斯扰动;(3)位置变换:以第5 行和第6 行为对称轴,对调每个样本前五行与后五行的位置;以第5列和第6 列为对称轴,对调每个样本前五列与后五列的位置;(4)缩放变换:对每个样本进行两倍放大和缩小,接着进行下采样和上采样统一到10*10 大小。经过这些数据增强技巧,样本集扩大了9 倍。
3.3.2 网络设计
将每个样本复制为三通道,这样输入图像尺寸为10*10*3;首先经过5*5 卷积核融合较大区域特征,接着两组残差模块学习特征信息,最后经过3*3 和1*1 卷积核输出判别目标。
3.3.3 损失函数
IRCNN 网络的损失函数表达式如下式所示:
其中,xn为IRCNN 神经网络的输出结果,yn为样本的标签,正样本取为1,负样本取为0。
收集包含目标的红外图像总共546 张,取120 张作为测试集,剩下的426 张图像作为训练集。通过3.3.1 部分的样本制作,可得到3834 张正样本图像以及7668 张负样本图像,形成11502 张图像构成的样本集。
一张原始红外图像以及相应的正负样本如图2 所示。
图2 数据示例
这里我们选择检测率与虚警率作为评价指标。其中检测率的表达式为:Dr=NDT/nT,虚警率的表达式为:Fr=NDF/(nT+mDF),nDT表示正确检出的目标数,nDF表示错判为目标的样本数,nT表示真实的目标数。
为了对比,我们分别采用传统算法基于局部对比度的检测、本文的算法以及深度学习算法YOLOv5 用426 张训练图片训练好模型(本文算法使用4.1 节所述预处理与增强后的样本集训练),并在120 张测试图片上进行测试。图3 是某张测试集红外图像的测试结果对比。
图3 测试结果对比
表1 则列出了三种算法的检测率与虚警率数据。
表1 三种算法的检测率与虚警率对比
可以看到,传统的基于局部对比度的检测算法,难以区分目标与高亮噪声,导致虚警很多;而深度学习检测算法YOLOv5,往往在训练样本充足的条件下,才能取得较好效果;但这里实际可用于训练的图像数量只有426 张,导致效果不理想,无法检测到目标。最后,本文提出的算法由于针对性的进行样本制作以及网络设计,从而可以正确的检出目标。
本文分析了红外弱小点目标的性质,结合红外图像预处理方法,提出了一种基于卷积神经网络的检测算法。针对红外图像数据有限的情况,利用四种数据增强手段扩充了训练集;实验结果表明,与传统的检测算法以及单阶段深度学习检测算法相比,该算法能够提高检测率并降低虚警率。