基于SCNN的红外弱小目标检测算法研究
2021-07-23程勇策
刘 芬,程勇策,郑 尧,赵 涛
(1.中煤科工集团重庆研究院有限公司,重庆 400039;2.中国电子科技集团公司第三研究所,北京 100015;3.陆航研究所,北京 101121)
1 引 言
随着红外成像技术的逐渐成熟,基于红外目标的检测或跟踪方法已被广泛应用于诸多领域中。其中,红外小目标的检测尤其重要[1-6]。在过去几十年中,学者们提出了许多不同的检测算法,但这些方法仅仅依赖的是图像底层特征。当背景变得复杂时,使用传统方法得到的结果可能并不理想,如图1所示。从图中可得知,当红外图像模糊不清,存在大量噪声时,有些方法不能检测出小目标。传统方法存在以下不足:1.依赖的结构化特征缺乏鲁棒性,导致在复杂场景下不能区分背景和小目标;2.虽然已有一些方法采用了局部对比,但这些对比是在低层的视觉特征上进行的,缺乏高层特征的认知和理解。
图1 不同方法的检测结果
近年来,深度学习技术已被应用到许多计算机视觉中,包括图像分类,目标跟踪和目标检测[7-8]。其中,深度卷积神经网络能够提取高层特征,大大提高了目标检测的性能。通过一定样本的训练,CNN能够学习到丰富的语义特征,相比于传统底层特征,这些特征更能准确代表物体的本质。因此将CNN应用到红外小目标检测是可行的。但由于红外小目标不是十分明显,并且只有灰度信息,与自然图像的目标存在巨大差异,所以一些基于CNN的自然图像目标检测方法并不适用于红外小目标的检测,这要求我们寻求新的方法。
2 算法概述
CNN包括卷积层、池化层、全连接层、输出层四种网络结构,通过多层卷积和池化逐步扩大图像的局部特征,从而实现从底层到高层的认知过程。但是CNN由于池化层的存在,会损失目标本身的信息,所以CNN无法应用于小尺寸目标的识别问题。另外CNN网络体现的是机器认知过程,最终体现的特征也是目标高层纹理解析,并没有结合泛化良好的结构化特征,因此CNN网络不具备弱纹理目标的识别能力。
针对上述问题,需要研究基于结构化特征融合的SCNN算法,具体需要解决的关键问题包括:
(1)针对目标尺度的变化,如何设计不同的卷积核,使得整个框架对弱小目标的尺度变化具有鲁棒性;
(2)直接使用传统的池化操作会直接损失弱小目标的信息,如何在不使用池化操作的同时还可以扩大感受野而又不损失特征图分辨率;
(3)泛化良好的结构化特征如何引入传统的CNN网络,如何与CNN自身获取的高层语义特征相融合而又不互相冲突。
将SCNN算法应用于红外弱小目标空间检测时,泛化良好的红外弱小目标结构化特征包括:
(1)局部对比度特征
复杂背景下的红外弱小目标周围9×9区域的局部对比度如图2所示。
图2 红外弱小目标在局部对比度示意
定义中心区域3×3邻域的平均灰度为:
(1)
则目标周围9×9邻域内,目标局部对比度满足:gc>gi(i=1,2,……,8),即在一定局部区域内目标平均灰度高于其邻域灰度。
(2)灰度空间分布的高斯特性
在实际工程应用中因目标或成像探测设备的姿态、位置的变化,红外成像图像中的点目标也很难有一个固定的形状。当成像距离足够远的时候,对于探测系统来说,它的灰度分布特性符合光学点扩散函数(PSF),即目标灰度分布符合高斯分布。
(2)
在SCNN算法中引入上述结构化特征后,通过去除池化层、改变卷积扩展性、加入分层融合机制等算法,使其改进后的SCNN更加适合红外弱小目标的空间检测。
3 算法实现
本文提出一种双通道CNN的结构模型来进行弱小目标检测,通过将红外弱小目标的局部对比度等结构化空间特征在低层卷积阶段引入CNN网络,去除池化层,从而构建SCNN弱纹理小尺寸目标识别算法。
3.1 算法框架流程
模型的输入是一幅红外图像,输出是其对应的检测结果图像,其中每个像素的大小表示该像素属于小目标的概率,值越大,越可能属于小目标。框架流程图如图3所示。每个通道的前部分所使用的卷积核大小是不同的,这样每个通道能够适应不同大小的小目标,从而使得整个框架能够对小目标的尺度变化具有鲁棒性。由于弱小目标的尺度很小,若使用池化操作,会损失关于小目标的信息,这样会导致后续的检测不准确。因此在中间部分,每个通道使用了不同的膨胀率进行扩张卷积,扩张卷积的作用是扩大感受野而又不会损失特征图的分别率,从而能够有效地保留小目标的信息。通过进行不同膨胀率的扩张卷积操作,学习到了不同的语义特征,为了在不同层次上突出小目标,提出一种多层次局部对比(multi-level local contrast,MLLC)的模型,如图4中MLLC部分所示。之所以计算局部对比,是因为小目标与周边背景差异大,若所得局部对比越大,越可能是小目标。在得到不同层次的局部对比之后,需要把他们进行融合起来,本文提出一种分层次融合(hierarchical merge,HM)的方法,如图4中HM部分所示。分层次融合即是把两个通道中相同层次的局部对比进行两两融合。然后把两两融合后的多层次结果再次融合,从而得到最终的融合特征。框架的后部分首先整合了分层次融合的结果以及两个通道的浅层特征,这样做是为了保留更多的语义信息,然后经过多个卷积操作生成最后的检测图像。
图4 MLLC和HM结构
图3中,卷积层参数表示为:conv-(卷积核大小)-(特征图数量)-(膨胀率);“C”表示特征图合并。
图3 方法流程图
图3中,实际上每个通道计算4个层次的局部对比,即膨胀率取1,2,3,4,为了演示方便,这里只取膨胀率为1,2作为示例,“+”表示特征图相加。
3.2 计算操作
其中本算法框架所涉及的计算操作如下:
(1)卷积操作可表示为:
Fl=W*Fl-1+b
(3)
其中,Fl表示第l层的特征图;Fl-1表示第(l-1)的特征图;W表示卷积核;b表示偏置项;* 表示卷积操作。在卷积操作之后,一般采用非线性激活函数,而使用的比较多的是修正线性单元(Rectified Linear Unit,ReLU)。
ReLU(x)=max(0,x)
(4)
(2)扩张卷积可表示为:
(5)
其中,y(u,v)表示通过扩张卷积后x(u,v)位置的对应输出;M,N分别表示卷积核的高和宽;r表示膨胀率。当r=1时,扩张卷积变回传统的卷积操作。图5展示了使用不同膨胀率时对应的卷积感受野。
图5 膨胀率为1,2,3的3×3扩张卷积(灰色块为有效的卷积位置)
(3)局部对比[9](local contrast)表示为:
Fc=F-AvgPool(F)
(6)
其中,AvgPool(·)表示计算特征图3×3范围的均值。
(4)分层次融合表示为:
(7)
(5)两通道合并表示为:
M=σ(W*Concat(H,C1,2,C2,2)+b)
(8)
(6)损失函数使用交叉熵损失,表示为:
(9)
其中,X={xi,i=1,…,|X|} 为图像训练集;Z={zi,i=1,…,|Z|} 为对应的真值图像;Pr(zi=1|X;θ)由计算框架的输出预测结果的sigmoid激活函数而得;θ表示整个框架所有权重参数的集合。
3.3 网络训练
对300幅图像(真实图像以及合成图像)进行数据增广,共2400张图像进行训练,训练直到损失函数收敛,共迭代了150次。图6展示了部分原始图像及对应的人工标注图像示例。
图6 红外图像及其人工标注
4 实验结果及分析
图7展示了不同方法在测试集上的部分代表场景下的检测结果。第1列是原图像,最后一列是本文方法的检测结果,第2~5列是对比方法的检测结果。
图7 不同方法的检测结果示例
表1给出了不同方法在部分图像上的检测率,可以看到,本文给出的算法性能最优,且具有良好的场景适应能力。
表1 不同方法的检测率
本文采用局部SNR增益(SNR gain,SNRG)来评估不同方法的检测性能。局部SNR增益定义为:
(10)
(11)
其中,μt和μb分别是在检测结果图像中目标区域和其周围局部邻域的平均像素值。
表2展示了不同方法在测试图像上的SNRG结果,从表中可以看出本项工作取得的效果基本上优于其他所对比的方法,说明本项工作的检测性能得到较大的提升。
表2 不同方法的LCG对比
表2中“-”表示不存在,即小目标以及其局部领域像素值均为0,导致计算检测图像的LC时出现分子和分母为0的情况。
5 结 论
提出了一种基于结构化特征卷积神经网络(SCNN)的红外弱小目标检测算法。通过将红外弱小目标灰度高斯分布,局部对比度强烈这两个结构化特征作为先验知识引入CNN网络中,并对网络进行训练和测试,实现了对红外弱小目标的高可靠检测。实验结果表明:与4种代表性红外小目标检测方法相比,本文提出的方法能达到了更优的效果,能够满足稳定、准确的要求。
复杂背景下的红外弱小目标所面临的应用场景非常复杂多变,面临的干扰类型包括:多样性地物、云层边缘、云层的亮斑、传感器坏元及闪元等。所以依靠起始训练的数据集很难实现所有场景的覆盖,因此如何进一步研究分布式迁移学习机理和较好地应用深度学习方法进行红外弱小目标检测是未来研究工作的重点。