基于改进YOLOv4-Tiny模型的红外弱小目标检测
2023-03-07蔡广飞
李 扬,蔡广飞
(1.江苏商贸职业学院 电子与信息学院,江苏 南通 226011;2.江苏省物联网与视觉智能处理工程技术研究开发中心,江苏 南通 226011)
0 引言
光电检测技术[1]在现代化战争中所扮演的角色愈发关键,同时在海事搜救、航空航天及农业生产等领域也发挥了积极的作用[2]。红外热成像设备具有隐蔽性好、机动性佳以及环境适应能力强等优点,成为光电检测技术的一个研究热点[3]。国际光学工程学会(Society of Photo-Optical Instrumentation Engineers,SPIE)[4]将占图像面积比例小于 0.15%的目标定义为红外弱小目标,致使红外弱小目标缺少形状、颜色以及纹理等视觉信息,为弱小目标检测任务带来了极大的困难与挑战[5]。
当前主流的红外弱小目标检测方法大体可分为基于空间域[6]、基于变换域[7]与基于神经网络[8]三大类别。基于空间域的检测方法[6]通常采用图像预处理技术使目标与背景分离,在此基础上再增强目标特征并抑制背景噪声。基于变换域的检测方法[7]通常对红外图像进行滤波来预测目标可能出现的区域,然后在变换域对目标进行精细化预测。基于神经网络的检测方法[8]主要利用神经网络强大的特征学习能力提取红外图像的特征,能有效解决基于空间域与基于变换域提取特征的局限性,再结合分类器对图像中的目标进行检测与分类。基于空间域与基于变换域的红外弱小目标检测方法具有检测效率高、无需训练的优点,但在复杂背景下的检测虚警高、准确性低。基于神经网络的红外弱小目标检测方法检测准确性较高,但其训练难度大且检测效率较低[9-10]。
文献[11]提出基于完全连接卷积神经网络的红外弱小目标检测方法,利用完全卷积网络初步检测红外弱小目标与抑制背景,利用分类网络对候选目标点进行精细化选择。文献[12]提出基于完全卷积网络和稠密条件随机场的深度学习分割算法,利用全卷积网络进行像素级别特征提取,使用稠密条件随机场进行上下文信息优化的精确分割,最终对复杂背景下红外弱小目标的检测效果也较理想。分析文献[11-12]的实验结果可得出,基于完全卷积神经网络的红外弱小目标检测方法通常由特征学习与分类器训练2个阶段构成,虽然能实现较高的查准率与查全率,但训练难度大且耗时长。
研究人员结合现有研究成果并加以组合,建立了单阶段的目标检测神经网络模型YOLO[13],该模型在单帧目标检测问题上的检测速度快于Mask R-CNN[14]与Faster R-CNN[15]等两阶段的目标检测网络,而检测性能好于SSD[16]与Detectnet[17]等单阶段的目标检测网络,YOLO的最大优点是在检测速度和检测性能之间实现了较好的平衡。基于上述优点,研究了YOLO模型在红外弱小目标检测问题上的可行性。周薇娜等[18]提出了基于YOLOv3模型与YOLOv2模型的红外弱小目标检测方法,采用SELU激活函数替换原YOLO模型的激活函数,比原YOLO模型的检测精度与检测速度更高。Zhao等[19]提出了一种基于YOLOv3模型的红外弱小目标检测方法,采用Focal Loss(FL)函数替换原YOLO模型的损失函数来缓解弱小目标检测的类不平衡问题,将YOLOv3的平均精度均值提高了4%。文献[18-19]成功证明采用YOLOv3模型进行红外弱小目标检测的可行性,但也存在以下2点不足:① YOLOv3的计算成本高、检测速度较慢;② 因红外弱小目标的目标像素极少,YOLO模型提取特征图的过程中忽略了弱小目标的部分视觉信息,导致红外弱小目标的检测性能受限。
YOLOv4模型是YOLOv3模型的改进版本,将YOLOv3模型平均检测精度与检测速度分别提高了10%和12%。YOLOv4-Tiny模型是YOLOv4网络的轻量化版本,其网络规模仅为YOLOv4模型的1/10。YOLOv4-Tiny包含21个卷积层与2个检测层,因此其训练速度更高且计算成本更低,可安装于计算资源有限的移动无线设备。本文采用YOLOv4-Tiny模型作为红外弱小目标检测的骨干网络,同时对YOLOv4-Tiny模型进行改进以提高对红外弱小目标的检测性能。对YOLOv4-Tiny模型的改进主要包括:① 在YOLOv4-Tiny模型的特征提取部分增加卷积层数与卷积核尺寸,以增加红外图像特征提取的信息量,避免忽略弱小目标的有用信息;② 将YOLOv4-Tiny模型的激活函数替换为SiLU激活函数,SiLU激活函数对细节的学习能力强于ReLU激活函数。改进后的模型记为IDSTD-YOLO,该模型能在保证检测速度的同时,提高红外弱小目标的检测性能。
1 基于IDSTD-YOLO的红外弱小目标检测
1.1 IDSTD-YOLO目标检测原理
IDSTD-YOLO是一种单阶段的目标检测模型,该模型检测红外弱小目标的原理如图1所示。YOLO目标检测模型主要包含以下2个步骤:① YOLO利用阈值法初步筛选目标边框,如果边框的估计概率C(p)低于该阈值,那么认为该网格中不可能存在目标边框的中心;② 利用非极大值抑制算法处理所有的候选目标边框,通过损失函数寻找最佳的目标边框。
图1 YOLO网络的检测流程Fig.1 Detection process of YOLO networks
IDSTD-YOLO的损失函数共包含3个部分:定位损失、置信度损失与分类损失。定位损失计算预测目标边框与实际目标边框之间的位置误差;置信度损失计算预测边框内包含目标的置信度。IDSTD-YOLO以最小化总损失为目标在训练集上进行训练,所训练的模型能成功检测红外弱小目标。
基于YOLO模型的弱小目标检测算法将输入红外图像划分成大小相等的网格,网格大小为S×S,如图1所示。YOLO模型基于网格进行边框估计与目标分类。首先,估计当前网格中包含目标边框中心的概率,计算如下:
C(p)=P(p)×IoU(bp,b),
(1)
式中,P(p)表示红外弱小目标是否在边框中;IoU()表示预测边框与目标边框间的重叠度。
重叠度的计算方法如下:
(2)
式中,Bg为实际目标边框;B为预测目标边框。YOLO算法通过不断地估计边框来学习最合适的目标边框,边框估计的数学模型为:
(3)
式中,(x,y)为边框中心坐标;(cx,cy)为边框左顶点的坐标;pw与ph分别为边框的长与高;bx,by,bw,bh定位了边框的位置与大小。每个边框估计的4个坐标为tx,ty,tw,th。
1.2 IDSTD-YOLO的网络结构
1.2.1 YOLOv4-Tiny的网络结构
YOLOv4-Tiny网络是YOLOv4网络的轻量化版本,共包含21个卷积层与2个YOLO检测层,该网络的目标检测流程如图2所示。
图2 YOLOv4-Tiny网络的目标检测流程Fig.2 Target detection diagram of YOLOv4-Tiny networks
YOLOv4-Tiny网络的详细结构如图3所示。
图3 YOLOv4-Tiny网络的详细参数Fig.3 Detailed parameters of YOLOv4-Tiny networks
YOLOv4-Tiny网络采用CSPDarkNet网络[20]提取特征,使用2个YOLO检测层产生大小为13×13×27与26×26×27的特征图。采用C-IoU函数作为训练的损失函数,采用贪婪非极大值抑制(Gready Non-maximum Suppression, GNMS)进行非极大值抑制。卷积层的激活函数为Leaky ReLU函数,YOLO检测层的激活函数为线性函数。
1.2.2 IDSTD-YOLO的网络结构
YOLOv4-Tiny模型在红外弱小目标检测任务上存在2点不足:① YOLOv4-Tiny特征提取器生成的特征图大小为13×13×512,容易忽略红外弱小目标的部分重要信息;② YOLOv4-Tiny的2个YOLO检测层的特征图尺寸分别为13×13×27与26×26×27,难以准确检测红外图像中的弱小目标。为解决上述问题,本文为YOLOv4-Tiny模型提出2点针对性修改措施,如图4所示。
图4 IDSTD-YOLO网络的主要结构Fig.4 Main structure of IDSTD-YOLO networks
修改的相关细节如下:
① 在YOLOv4-Tiny模型的卷积层(3)与卷积层(4)之间增加一个密集网络块,密集网络块的详细参数如图5所示。该网络块包括4个最大池化层:3×3,5×5,7×7,9×9,作用是将第15个卷积层输出的特征图由13×13×512扩大为13×13×2 560,通过增加特征图尺寸来提高红外弱小目标的信息量。
图5 密集网络块的网络结构Fig.5 Network structure of dense block
② 为YOLOv4-Tiny模型增加2个YOLO检测层,以增强对红外弱小目标的检测能力,检测层的详细参数如图6所示。增加的2个YOLO检测层编号为第3检测层与第4检测层,YOLO检测层(3)的卷积尺寸分别为512,128,256,512,27,YOLO检测层(4)的卷积尺寸分别为27,64,128,256,27。第1~4个YOLO检测层的特征图尺寸分别为13×13×27,26×26×27,52×52×27,104×104×27。
图6 YOLO检测层的网络结构Fig.6 Network structure of YOLO detection layer
1.2.3 损失函数
本文ETL-YOLOv4网络使用贪婪NMS进行非极大值抑制,将红外弱小目标检测视为一个边框回归问题。在目标检测算法中,损失函数为目标位置、目标分类与目标置信度损失函数的总和,基于IoU的损失函数可定义为:
ΓIoU=1-IoU。
(4)
CIoU在IoU基础上考虑了目标边框与预测边框之间的距离,CIoU损失在边框回归任务上的收敛速率更快且性能更好,因此本文采用CIoU损失。基于CIoU的损失函数可定义为:
(5)
式中,b为预测边框B的中心点;bgt为目标边框Bgt的中心点;p()为欧氏距离;c为2个边框间的对角长度;v为长宽比的一致性;α为正的权衡因子。
v的计算如下:
(6)
α的计算如下:
(7)
1.2.4 激活函数
YOLOv4-Tiny模型默认的激活函数为Leaky ReLU激活函数,ReLU激活函数的检测速度快、正则化能力强且防止过拟合效果好,但学习的特征图信息量不足,对复杂模式的学习能力不足。为提高IDSTD-YOLO对红外弱小目标的特征提取能力,将YOLOv4-Tiny模型的激活函数由Leaky ReLU替换为SiLU函数。
SiLU函数是一个基于强化学习的近似函数,定义如下:
σk(s)=zkσ(zk),
(8)
式中,s为输入向量;zk为第k个隐藏层的输入。
第k个隐藏层的输入可描述为:
(9)
式中,bk为第k个神经层的偏置;wik为第k层第i个神经元的连接权重。
SiLU函数与ReLU函数曲线如图7所示,SiLU函数能提取红外图像的细节视觉信息,可提高对红外弱小目标的检测能力。
图7 SiLU函数与ReLU函数的曲线Fig.7 Curves of SiLU and ReLU function
2 实验结果与讨论
实验计算机的硬件为Intel Core i7处理器,其主频为2.5 GHz,内存容量为16 GB;显卡为NVIDIA GeForce GTX 1660,显存容量为6 GB;操作系统为Ubuntu16.04,神经网络的训练环境为TensorFlow框架。
2.1 红外序列特点
为了观察本文方法对不同场景的兼容性,选取4个不同场景的红外图像数据集,第1个序列来自于https:∥github.com/YimianDai/sirst,第2~4个序列来自于中国科学数据库。红外弱小目标检测实验的图像样本如图8所示。红外实验序列的相关特点如表1所示。观察图中红外弱小目标的样本可看出,这些目标既昏暗又渺小,同时背景纹理复杂且成像质量低下。实验中将每个序列帧按80%,10%,10%随机分成训练集、验证集与测试集,采用labelImg工具对红外序列1进行标注,红外序列2~4采用数据集作者提供的标注数据。
(a)红外序列1
(b)红外序列2
(c)红外序列3
(d)红外序列4
表1 红外实验序列的相关特点Tab.1 Relative characters of infrared experimental sequences
2.2 性能评价标准
实验将IoU重叠率大于50%视为命中目标,选取检测精度(P)、召回率(R)及受试者工作特征(Receiver Operating Characteristic, ROC)曲线客观评价红外弱小目标检测的性能。
P的计算如下:
(10)
式中,TP为真阳性样本数量;FP为假阳性样本数量。
R的计算如下:
(11)
式中,FN为假阴性样本数量。
ROC曲线的横坐标为召回率R,纵坐标为虚警率F。虚警率的计算如下:
(12)
式中,TN为真阴性样本数量。ROC曲线下方的面积越大,目标检测性能越好。
2.3 神经网络训练
IDSTD-YOLO训练的实验结果如图9所示。
(a)IDSTD-YOLO训练阶段的目标检测性能
(b)IDSTD-YOLO训练阶段的CIoU损失曲线图9 IDSTD-YOLO训练的实验结果Fig.9 Experimental results of IDSTD-YOLO training
深度学习算法在TensorFlow框架与Keras深度学习库上编程实现,非深度学习算法在Mablab 2019B上编程实现。IDSTD-YOLO的输入图像大小统一为256 pixel×256 pixel,batch大小为16,训练动量为0.9,衰减率为0.5,学习率为0.031。神经网络训练过程中最大epoch次数为500,YOLO的IoU阈值设为50%,分类的置信度阈值为0.48。
IDSTD-YOLO训练的平均精度与平均召回率曲线如图9(a)所示,观察图中曲线可知,检测精度与召回率大约经过300次epoch达到收敛。IDSTD-YOLO训练的CIoU损失曲线如图9(b)所示,观察图中曲线可知,YOLO的损失函数大约经过300次epoch达到收敛,与图9(a)的结论一致。
2.4 对比实验与结果分析
本文提出的IDSTD-YOLO模型对YOLOv4-Tiny的骨干网络进行了修改,以期提高红外弱小目标的检测能力。在此将IDSTD-YOLO模型与YOLOv4-Tiny模型在4个红外序列上的检测效果进行比较,评估本文工作的有效性。YOLOv4-Tiny模型与IDSTD-YOLO模型的训练环境与参数配置相同,如2.3节所示。
为了进一步验证本文方法的优劣,实验选择了5个同类型算法作为对比方法,包括引言部分讨论的SELU_YOLOv3[18],FL_YOLOv3[19]以及3DModel[21],AttLCNet[22],MultiScaleNet[23],上述对比方法的参数值选取原作者的推荐值。3DModel是一种基于三维信息抽取模型的红外弱小目标检测方法,该方法引入粒子群优化算法搜索三维信息抽取模型的最佳参数值,以提高对红外弱小目标的特征学习能力。AttLCNet与MultiScaleNet是2种基于深度神经网络的红外弱小目标检测方法,分别通过注意力机制与多尺度特征提取机制增强对红外弱小目标的细节捕捉能力与判别能力。
2.4.1 视觉效果实验
图10(a)~(g)分别为YOLOv4-Tiny,SELU_YOLOv3,FL_YOLOv3,3DModel,AttLCNet,MultiScaleNet以及IDSTD-YOLO模型在序列1上的检测视觉样本,IoU重叠率分别为78%,66%,72%,75%,88%,79%,86%。该红外图像中背景简单且红外弱小目标较突出,通过视觉可直观发现红外弱小目标。各检测算法均成功发现红外弱小目标,且达到了较高IoU重叠率。
图10 序列1的红外弱小目标检测视觉效果Fig.10 Visual effect of infrared dim and small target detection of sequence 1
图11(a)~(g)分别为YOLOv4-Tiny,SELU_YOLOv3,FL_YOLOv3,3DModel,AttLCNet,MultiScaleNet以及IDSTD-YOLO模型在序列4上的检测样本。YOLOv4-Tiny,SELU_YOLOv3,FL_YOLOv3以及IDSTD-YOLO成功检测出红外弱小目标,IoU重叠率分别为53%,62%,68%,70%。该红外图像中背景复杂,大量树木与复杂地面环境对红外弱小目标造成了极大的干扰,导致3DModel发生虚警,而AttLCNet与MultiScaleNet发生漏检。
图11 序列4的红外弱小目标检测视觉效果Fig.11 Visual effect of infrared dim and small target detection of sequence 4
总体而言,红外序列中高亮度边缘与杂波对于红外弱小目标检测产生严重干扰,导致一些目标检测算法发生虚警与漏检。本文通过对YOLOv4-Tiny模型的特征提取部分进行修改,增加卷积层数与卷积核尺寸来增加红外图像特征提取的信息量,避免忽略弱小目标的有用信息。通过上述视觉实验结果可证明本文方法的有效性。
2.4.2 量化实验分析
为定量评估红外弱小目标检测的性能,总结了各检测算法在4个测试序列上的平均精度与召回率结果,如表2所示。将表中YOLOv4-Tiny模型与IDSTD-YOLO模型的检测精度与召回率结果进行对比,本文对YOLOv4-Tiny模型的特征提取部分进行修改,通过增加卷积层数与卷积核尺寸来增加红外图像特征提取的信息量,IDSTD-YOLO模型在4个红外序列上的检测精度与召回率均明显高于YOLOv4-Tiny模型。
表2 红外弱小目标检测的量化评价结果Tab.2 Quantitative evaluation results of infrared dim and small target detection
因序列1的背景较简单,目标面积较大,因此SELU_YOLOv3,FL_YOLOv3,3DModel,AttLCNet与MultiScaleNet等检测算法均取得了较高的检测精度与召回率。序列2~4的背景复杂,目标面积较小,SELU_YOLOv3,FL_YOLOv3,3DModel,AttLCNet与MultiScaleNet等检测算法的检测精度与召回率均有所下降。总体而言,本文IDSTD-YOLO模型在4个红外序列上的目标检测能力优于其他6个对比方法。
各检测算法在4个红外序列上的ROC曲线如图12所示。
(a)红外序列1
(b)红外序列2
(c)红外序列3
(d)红外序列4图12 红外弱小目标检测的ROC曲线Fig.12 ROC curves of infrared dim and small target detection
图12(a)显示各检测算法在红外序列1的ROC曲线均较好,说明检测性能较高。观察图12(c)~(d)可知,3DModel的AUC值较小,但依然大于0.5。因为深度学习技术是属于数据驱动型技术,在训练数据充足的情况下具有较好的鲁棒性,因此SELU_YOLOv3,FL_YOLOv3,AttLCNet与MultiScaleNet四个基于神经网络的检测算法达到了较稳定的性能。总体而言,本文IDSTD-YOLO模型在4个红外序列上的AUC值优于其他6个对比方法,该结论与检测精度、召回率的结果一致。
3 结论
本文提出一种单阶段的目标检测模型IDSTD-YOLO,该模型对YOLOv4-Tiny模型的特征提取部分进行修改,通过增加卷积层数与卷积核尺寸来增加红外图像特征提取的信息量,避免忽略弱小目标的有用信息。此外,将YOLOv4-Tiny模型的激活函数替换为SiLU激活函数,以提高对弱小目标的细节学习能力。对比实验结果表明,该检测模型的目标检测精度、召回率与视觉效果均取得了较好的结果。